* drm: mxsfb: Kernel panic on 4.10.0-rc5
@ 2017-01-27 16:04 Breno Matheus Lima
2017-01-27 20:40 ` Marek Vasut
0 siblings, 1 reply; 5+ messages in thread
From: Breno Matheus Lima @ 2017-01-27 16:04 UTC (permalink / raw)
To: marex, airlied; +Cc: Breno Matheus Lima, fabio.estevam, dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 6447 bytes --]
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.
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.
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
[ 1.185298] pgd = c0004000
[ 1.188014] [00000004] *pgd=00000000
[ 1.191640] Internal error: Oops: 5 [#1] SMP ARM
[ 1.196265] Modules linked in:
[ 1.199333] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-rc5 #30
[ 1.205691] Hardware name: Freescale i.MX6 SoloX (Device Tree)
[ 1.211529] task: ef060000 task.stack: ef05e000
[ 1.216072] PC is at drm_panel_attach+0xc/0x2c
[ 1.220526] LR is at mxsfb_probe+0x214/0x3f0
[ 1.224803] pc : [<c0501800>] lr : [<c0513800>] psr: 60000013
[ 1.224803] sp : ef05fda0 ip : ef05fdb0 fp : ef05fdac
[ 1.236286] r10: c0d00618 r9 : ef037698 r8 : ef152800
[ 1.241516] r7 : ef152810 r6 : ef037010 r5 : ef36c800 r4 : 00000000
[ 1.248048] r3 : ef037698 r2 : 00000082 r1 : ef037698 r0 : 00000000
[ 1.254581] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment
none
[ 1.261721] Control: 10c5387d Table: 8000404a DAC: 00000051
[ 1.267471] Process swapper/0 (pid: 1, stack limit = 0xef05e210)
[ 1.273482] Stack: (0xef05fda0 to 0xef060000)
[ 1.277851] fda0: ef05fddc ef05fdb0 c0513800 c0501800 00000002 ef037698
ef152810 ef152810
[ 1.286037] fdc0: c0e3aab8 fffffdfb 00000000 00000000 ef05fdfc ef05fde0
c05280f8 c05135f8
[ 1.294223] fde0: ef152810 c16637d8 00000000 c0e3aab8 ef05fe24 ef05fe00
c0526424 c05280b0
[ 1.302409] fe00: ef152810 c0e3aab8 ef152844 00000000 00000000 c0d5f858
ef05fe44 ef05fe28
[ 1.310594] fe20: c05265c0 c0526228 00000000 c0e3aab8 c05264f8 00000000
ef05fe6c ef05fe48
[ 1.318780] fe40: c05246d4 c0526504 ef00aaa4 ef1338d0 ef00aad4 c0e3aab8
ef38b580 c0e3b5a0
[ 1.326965] fe60: ef05fe7c ef05fe70 c0525ddc c052466c ef05fea4 ef05fe80
c0525988 c0525dc8
[ 1.335151] fe80: c0c4c764 ef05fe90 c0e3aab8 c0d45548 c0d5f850 c0cf285c
ef05febc ef05fea8
[ 1.343336] fea0: c0526f4c c0525804 ffffe000 c0d45548 ef05fecc ef05fec0
c052804c c0526ed8
[ 1.351522] fec0: ef05fedc ef05fed0 c0d45560 c0528020 ef05ff4c ef05fee0
c0101934 c0d45554
[ 1.359708] fee0: c0146c20 c0408180 efffcb00 c0a21f04 ef05ff4c ef05ff00
c0146f14 c0d00624
[ 1.367893] ff00: 00000000 00000000 00000006 00000006 00000000 c0cf285c
c0c6d1cc 00000000
[ 1.376079] ff20: c0e1932c 00000006 c0e79000 c0d71840 c0e79000 c0d5f850
c0cf285c 000000ed
[ 1.384264] ff40: ef05ff94 ef05ff50 c0d00e74 c01018fc 00000006 00000006
00000000 c0d00618
[ 1.392449] ff60: ca42e624 00000007 c098078c 00000000 c098078c 00000000
00000000 00000000
[ 1.400635] ff80: 00000000 00000000 ef05ffac ef05ff98 c098079c c0d00d58
00000000 c098078c
[ 1.408821] ffa0: 00000000 ef05ffb0 c0107df0 c0980798 00000000 00000000
00000000 00000000
[ 1.417005] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
[ 1.425191] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
f1519808 97c10985
[ 1.433369] Backtrace:
[ 1.435832] [<c05017f4>] (drm_panel_attach) from [<c0513800>]
(mxsfb_probe+0x214/0x3f0)
[ 1.443848] [<c05135ec>] (mxsfb_probe) from [<c05280f8>]
(platform_drv_probe+0x54/0xb8)
[ 1.451861] r9:00000000 r8:00000000 r7:fffffdfb r6:c0e3aab8 r5:ef152810
r4:ef152810
[ 1.459620] [<c05280a4>] (platform_drv_probe) from [<c0526424>]
(driver_probe_device+0x208/0x2dc)
[ 1.468498] r7:c0e3aab8 r6:00000000 r5:c16637d8 r4:ef152810
[ 1.474170] [<c052621c>] (driver_probe_device) from [<c05265c0>]
(__driver_attach+0xc8/0xcc)
[ 1.482616] r9:c0d5f858 r8:00000000 r7:00000000 r6:ef152844 r5:c0e3aab8
r4:ef152810
[ 1.490371] [<c05264f8>] (__driver_attach) from [<c05246d4>]
(bus_for_each_dev+0x74/0xa8)
[ 1.498554] r7:00000000 r6:c05264f8 r5:c0e3aab8 r4:00000000
[ 1.504225] [<c0524660>] (bus_for_each_dev) from [<c0525ddc>]
(driver_attach+0x20/0x28)
[ 1.512234] r6:c0e3b5a0 r5:ef38b580 r4:c0e3aab8
[ 1.516862] [<c0525dbc>] (driver_attach) from [<c0525988>]
(bus_add_driver+0x190/0x218)
[ 1.524877] [<c05257f8>] (bus_add_driver) from [<c0526f4c>]
(driver_register+0x80/0x100)
[ 1.532974] r7:c0cf285c r6:c0d5f850 r5:c0d45548 r4:c0e3aab8
[ 1.538643] [<c0526ecc>] (driver_register) from [<c052804c>]
(__platform_driver_register+0x38/0x4c)
[ 1.547693] r5:c0d45548 r4:ffffe000
[ 1.551285] [<c0528014>] (__platform_driver_register) from [<c0d45560>]
(mxsfb_platform_driver_init+0x18/0x20)
[ 1.561298] [<c0d45548>] (mxsfb_platform_driver_init) from [<c0101934>]
(do_one_initcall+0x44/0x17c)
[ 1.570442] [<c01018f0>] (do_one_initcall) from [<c0d00e74>]
(kernel_init_freeable+0x128/0x1ec)
[ 1.579148] r8:000000ed r7:c0cf285c r6:c0d5f850 r5:c0e79000 r4:c0d71840
[ 1.585862] [<c0d00d4c>] (kernel_init_freeable) from [<c098079c>]
(kernel_init+0x10/0x11c)
[ 1.594134] r10:00000000 r9:00000000 r8:00000000 r7:00000000
r6:00000000 r5:c098078c
[ 1.601967] r4:00000000
[ 1.604513] [<c098078c>] (kernel_init) from [<c0107df0>]
(ret_from_fork+0x14/0x24)
[ 1.612087] r5:c098078c r4:00000000
[ 1.615672] Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5903004)
[ 1.621859] ---[ end trace 862e67af8f858054 ]---
[ 1.626598] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b
[ 1.626598]
[ 1.635754] ---[ end Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b
[ 1.635754]
[ 1.971026] random: fast init done
Thanks
Best Regards,
--
Breno Matheus Lima
[-- Attachment #1.2: Type: text/html, Size: 7139 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: drm: mxsfb: Kernel panic on 4.10.0-rc5
2017-01-27 16:04 drm: mxsfb: Kernel panic on 4.10.0-rc5 Breno Matheus Lima
@ 2017-01-27 20:40 ` Marek Vasut
2017-01-27 20:43 ` Marek Vasut
0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2017-01-27 20:40 UTC (permalink / raw)
To: Breno Matheus Lima, airlied; +Cc: Breno Matheus Lima, fabio.estevam, dri-devel
[-- Attachment #1: Type: text/plain, Size: 2096 bytes --]
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
[-- Attachment #2: diff.diff --]
[-- Type: text/diff, Size: 602 bytes --]
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;
}
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: drm: mxsfb: Kernel panic on 4.10.0-rc5
2017-01-27 20:40 ` Marek Vasut
@ 2017-01-27 20:43 ` Marek Vasut
2017-01-28 12:46 ` Breno Matheus Lima
0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2017-01-27 20:43 UTC (permalink / raw)
To: Breno Matheus Lima, airlied; +Cc: Breno Matheus Lima, fabio.estevam, dri-devel
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.
>
>> 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.
--
Best regards,
Marek Vasut
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: drm: mxsfb: Kernel panic on 4.10.0-rc5
2017-01-27 20:43 ` Marek Vasut
@ 2017-01-28 12:46 ` Breno Matheus Lima
2017-01-28 16:19 ` Marek Vasut
0 siblings, 1 reply; 5+ messages in thread
From: Breno Matheus Lima @ 2017-01-28 12:46 UTC (permalink / raw)
To: Marek Vasut; +Cc: Breno Matheus Lima, fabio.estevam, dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 2965 bytes --]
2017-01-27 18:43 GMT-02:00 Marek Vasut <marex@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
[-- Attachment #1.2: Type: text/html, Size: 3843 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: drm: mxsfb: Kernel panic on 4.10.0-rc5
2017-01-28 12:46 ` Breno Matheus Lima
@ 2017-01-28 16:19 ` Marek Vasut
0 siblings, 0 replies; 5+ messages in thread
From: Marek Vasut @ 2017-01-28 16:19 UTC (permalink / raw)
To: Breno Matheus Lima; +Cc: Breno Matheus Lima, fabio.estevam, dri-devel
On 01/28/2017 01:46 PM, Breno Matheus Lima wrote:
> 2017-01-27 18:43 GMT-02:00 Marek Vasut <marex@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.
patch -Np1 -i file.patch
Then rebuild the kernel, boot, see if it still crashes.
--
Best regards,
Marek Vasut
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-28 16:19 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-27 16:04 drm: mxsfb: Kernel panic on 4.10.0-rc5 Breno Matheus Lima
2017-01-27 20:40 ` Marek Vasut
2017-01-27 20:43 ` Marek Vasut
2017-01-28 12:46 ` Breno Matheus Lima
2017-01-28 16:19 ` Marek Vasut
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.