Re: drm: mxsfb: Kernel panic on 4.10.0-rc5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/27/2017 05:04 PM, Breno Matheus Lima wrote:
> Hi,

Hi,

> I'm trying to use kernel 4.10.0-rc5 and DRM_MXS driver on a i.MX6SX SabreSD
> Rev A, but it crashes during the boot, I'm also disabling the FB_MXS driver
> to avoid any conflict. By using the driver FB_MXS the board boots normally
> and the display is working as well.

OK

> I would like to know if is possible to use the DRM_MXS driver with the
> deprecated bindings as according to the documentation located at
> Documentation/devicetree/bindings/display/mxsfb.txt, or if is just possible
> to
> use the DRM driver with the new bindings.

No, the deprecated bindings are deprecated and DO NOT WORK with this
driver. Use the new of-graph stuff.

> Please find below the log:
> 
> [    1.076530] [drm] Initialized
> [    1.086305] etnaviv gpu-subsystem: bound 1800000.gpu (ops gpu_ops)
> [    1.092590] etnaviv-gpu 1800000.gpu: model: GC400, revision: 4645
> [    1.098703] etnaviv-gpu 1800000.gpu: Need to move linear window on
> MC1.0, disabling TS
> [    1.154691] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    1.161425] [drm] No driver support for vblank timestamp query.
> [    1.167799] OF: graph: no port node found in /soc/aips-bus@02200000
> /spba-bus@02200000/lcdif@02220000
> [    1.177132] Unable to handle kernel NULL pointer dereference at virtual
> address 00000004

Try with this patch please:

diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c
b/drivers/gpu/drm/mxsfb/mxsfb_out.c
index fa8d17399407..b8e81422d4e2 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_out.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c
@@ -112,6 +112,7 @@ static int mxsfb_attach_endpoint(struct drm_device *drm,

 int mxsfb_create_output(struct drm_device *drm)
 {
+       struct mxsfb_drm_private *mxsfb = drm->dev_private;
        struct device_node *ep_np = NULL;
        struct of_endpoint ep;
        int ret;
@@ -127,5 +128,8 @@ int mxsfb_create_output(struct drm_device *drm)
                }
        }

+       if (!mxsfb->panel)
+               return -EPROBE_DEFER;
+
        return 0;
 }

-- 
Best regards,
Marek Vasut
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c
index fa8d17399407..b8e81422d4e2 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_out.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c
@@ -112,6 +112,7 @@ static int mxsfb_attach_endpoint(struct drm_device *drm,
 
 int mxsfb_create_output(struct drm_device *drm)
 {
+	struct mxsfb_drm_private *mxsfb = drm->dev_private;
 	struct device_node *ep_np = NULL;
 	struct of_endpoint ep;
 	int ret;
@@ -127,5 +128,8 @@ int mxsfb_create_output(struct drm_device *drm)
 		}
 	}
 
+	if (!mxsfb->panel)
+		return -EPROBE_DEFER;
+
 	return 0;
 }
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux