2017-01-27 18:43 GMT-02:00 Marek Vasut <ma...@denx.de>: > > On 01/27/2017 09:40 PM, Marek Vasut wrote: > > 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. > >
Good to know > >> 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; > > } > > > Rationale behind the patch: > > IFF you use some odd bindings or your of-graph panel bindings are > missing from the DT , THEN the for_each_endpoint_of_node() body > is never executed, thus mxsfb->panel remains NULL and yet the > function returns 0/success . mxsfb_load() therefore doesn't detect > this failure and calls drm_panel_attach() with mxsfb->panel = NULL, > thus the crash. > Thanks for the explanation, I'm going to try with this patch and figure out how to implement it on imx6sx-sdb.dtsi. > -- > Best regards, > Marek Vasut Best Regards, Breno Matheus Lima
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel