Hi Tomi, On Mon, Aug 26, 2019 at 03:15:23PM +0300, Tomi Valkeinen wrote: > On 20/08/2019 04:16, Laurent Pinchart wrote: > > > The patches can be found at > > > > git://linuxtv.org/pinchartl/media.git omapdrm/bridge/devel > > I took your branch, booted AM5 EVM (I see you had the hack dts patch in your branch), and: > > insmod nfs/work/linux/drivers/media/cec/cec.ko > insmod nfs/work/linux/drivers/video/fbdev/core/cfbcopyarea.ko > insmod nfs/work/linux/drivers/video/fbdev/core/cfbimgblt.ko > insmod nfs/work/linux/drivers/video/fbdev/core/cfbfillrect.ko > insmod nfs/work/linux/drivers/gpu/drm/drm_panel_orientation_quirks.ko > insmod nfs/work/linux/drivers/gpu/drm/drm.ko > insmod nfs/work/linux/drivers/gpu/drm/drm_kms_helper.ko > insmod nfs/work/linux/drivers/gpu/drm/bridge/ti-tfp410.ko > insmod nfs/work/linux/drivers/gpu/drm/bridge/sii902x.ko > insmod nfs/work/linux/drivers/gpu/drm/bridge/tc358767.ko > insmod nfs/work/linux/drivers/gpu/drm/panel/panel-simple.ko > [ 25.487002] panel-simple display: display supply power not found, using dummy regulator > [ 25.495241] ------------[ cut here ]------------ > [ 25.499900] WARNING: CPU: 0 PID: 303 at drivers/gpu/drm/panel/panel-simple.c:378 panel_simple_probe+0x34c/0x3b4 [panel_simple] How am I expected to sneak patches in if you test them ? :-) This has been introduced by a recent rebase, and I've only tested the series on the pandaboard since then. It looks like the problem comes from commit b8a2948fa2b3a5a6da67fd57aa01c7318d795125 Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Thu Jul 11 13:34:53 2019 -0700 drm/panel: simple: Add ability to override typical timing which breaks our out-of-tree DT. As a short term fix I can simply drop the panel timings from DT, but I think this issue can affect more boards, and should thus probably be addressed on the kernel side. One option is to patch osddisplays_osd070t1718_19ts to specify timings instead of a fixed mode, but I don't have access to the panel's datasheet. I'm also concerned this wouldn't scale. Another option is to avoid the WARN_ON() if the timings parsed from DT are identifical to the timings in the panel-simple driver. Sean, what's your opinion ? > [ 25.511691] Modules linked in: panel_simple(+) tc358767 sii902x ti_tfp410 drm_kms_helper drm drm_panel_orientation_quirks cfbfillrect cfbimgblt cfbcopyarea cec > [ 25.526341] CPU: 0 PID: 303 Comm: insmod Tainted: G W 5.3.0-rc3-01400-g27515343445e #1 > [ 25.535602] Hardware name: Generic DRA74X (Flattened Device Tree) > [ 25.541740] [<c01139b4>] (unwind_backtrace) from [<c010da68>] (show_stack+0x10/0x14) > [ 25.549526] [<c010da68>] (show_stack) from [<c0941138>] (dump_stack+0xa8/0xc4) > [ 25.556789] [<c0941138>] (dump_stack) from [<c013a57c>] (__warn.part.3+0xa8/0xd4) > [ 25.564309] [<c013a57c>] (__warn.part.3) from [<c013a700>] (warn_slowpath_null+0x40/0x4c) > [ 25.572540] [<c013a700>] (warn_slowpath_null) from [<bf0b86f0>] (panel_simple_probe+0x34c/0x3b4 [panel_simple]) > [ 25.582699] [<bf0b86f0>] (panel_simple_probe [panel_simple]) from [<c05f845c>] (platform_drv_probe+0x48/0x98) > [ 25.592664] [<c05f845c>] (platform_drv_probe) from [<c05f5f4c>] (really_probe+0x100/0x410) > [ 25.600969] [<c05f5f4c>] (really_probe) from [<c05f6428>] (driver_probe_device+0x6c/0x1b4) > [ 25.609273] [<c05f6428>] (driver_probe_device) from [<c05f67c0>] (device_driver_attach+0x58/0x60) > [ 25.618188] [<c05f67c0>] (device_driver_attach) from [<c05f686c>] (__driver_attach+0xa4/0x148) > [ 25.626843] [<c05f686c>] (__driver_attach) from [<c05f3f24>] (bus_for_each_dev+0x70/0xb4) > [ 25.635060] [<c05f3f24>] (bus_for_each_dev) from [<c05f5268>] (bus_add_driver+0x1a8/0x200) > [ 25.643365] [<c05f5268>] (bus_add_driver) from [<c05f7414>] (driver_register+0x74/0x108) > [ 25.651506] [<c05f7414>] (driver_register) from [<bf0aa010>] (panel_simple_init+0x10/0x1000 [panel_simple]) > [ 25.661634] ---[ end trace 1bb774fc77a9c1a2 ]--- > [ 25.666414] panel-simple display: Reject override mode: panel has a fixed mode > insmod nfs/work/linux/drivers/gpu/drm/omapdrm/dss/omapdss-base.ko > insmod nfs/work/linux/drivers/gpu/drm/omapdrm/dss/omapdss.ko > [ 25.846736] DSS: OMAP DSS rev 6.1 > insmod nfs/work/linux/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.ko > insmod nfs/work/linux/drivers/gpu/drm/omapdrm/omapdrm.ko > [ 26.274382] dmm 4e000000.dmm: workaround for errata i878 in use > [ 26.281981] dmm 4e000000.dmm: initialized all PAT entries > [ 26.289408] ------------[ cut here ]------------ > [ 26.294298] WARNING: CPU: 1 PID: 64 at lib/list_debug.c:28 __list_add_valid+0x74/0xb0 > [ 26.302166] list_add corruption. prev->next should be next (bf0692bc), but was 6b6b6b6b. (prev=eadcd384). > [ 26.314711] Modules linked in: omapdrm panel_dsi_cm omapdss omapdss_base panel_simple tc358767 sii902x ti_tfp410 drm_kms_helper drm drm_panel_orientation_quirks cfbf > illrect cfbimgblt cfbcopyarea cec > # [ 26.332661] CPU: 1 PID: 64 Comm: kworker/1:1 Tainted: G W 5.3.0-rc3-01400-g27515343445e #1 > [ 26.342354] Hardware name: Generic DRA74X (Flattened Device Tree) > [ 26.348483] Workqueue: events deferred_probe_work_func > [ 26.353658] [<c01139b4>] (unwind_backtrace) from [<c010da68>] (show_stack+0x10/0x14) > [ 26.361445] [<c010da68>] (show_stack) from [<c0941138>] (dump_stack+0xa8/0xc4) > [ 26.368707] [<c0941138>] (dump_stack) from [<c013a57c>] (__warn.part.3+0xa8/0xd4) > [ 26.376229] [<c013a57c>] (__warn.part.3) from [<c013a604>] (warn_slowpath_fmt+0x5c/0x88) > [ 26.384360] [<c013a604>] (warn_slowpath_fmt) from [<c04e5ef4>] (__list_add_valid+0x74/0xb0) > [ 26.392806] [<c04e5ef4>] (__list_add_valid) from [<bf037c34>] (drm_bridge_add+0x40/0x6c [drm]) > [ 26.401545] [<bf037c34>] (drm_bridge_add [drm]) from [<bf0e2a0c>] (hdmi5_probe+0x17c/0x264 [omapdss]) > [ 26.410845] [<bf0e2a0c>] (hdmi5_probe [omapdss]) from [<c05f845c>] (platform_drv_probe+0x48/0x98) > [ 26.419762] [<c05f845c>] (platform_drv_probe) from [<c05f5f4c>] (really_probe+0x100/0x410) > [ 26.428068] [<c05f5f4c>] (really_probe) from [<c05f6428>] (driver_probe_device+0x6c/0x1b4) > [ 26.436373] [<c05f6428>] (driver_probe_device) from [<c05f3ff8>] (bus_for_each_drv+0x7c/0xc4) > [ 26.444938] [<c05f3ff8>] (bus_for_each_drv) from [<c05f5da4>] (__device_attach+0xc8/0x168) > [ 26.453243] [<c05f5da4>] (__device_attach) from [<c05f4f80>] (bus_probe_device+0x84/0x8c) > [ 26.461458] [<c05f4f80>] (bus_probe_device) from [<c05f54cc>] (deferred_probe_work_func+0x84/0xcc) > [ 26.470463] [<c05f54cc>] (deferred_probe_work_func) from [<c0155c98>] (process_one_work+0x184/0x504) > [ 26.479641] [<c0155c98>] (process_one_work) from [<c015691c>] (worker_thread+0x2c/0x51c) > [ 26.487773] [<c015691c>] (worker_thread) from [<c015bd04>] (kthread+0x140/0x158) > [ 26.495205] [<c015bd04>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c) > [ 26.502461] Exception stack(0xeaba3fb0 to 0xeaba3ff8) > [ 26.507536] 3fa0: 00000000 00000000 00000000 00000000 > [ 26.515750] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > [ 26.523964] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > [ 26.531766] ---[ end trace 1bb774fc77a9c1a3 ]--- > [ 26.536482] 8<--- cut here --- > [ 26.539550] Unable to handle kernel paging request at virtual address 6b6b6b67 > [ 26.546845] pgd = e9e66080 > [ 26.549651] [6b6b6b67] *pgd=00000000 > [ 26.553249] Internal error: Oops: 5 [#1] PREEMPT SMP ARM > [ 26.558584] Modules linked in: omapdrm panel_dsi_cm omapdss omapdss_base panel_simple tc358767 sii902x ti_tfp410 drm_kms_helper drm drm_panel_orientation_quirks cfbf > illrect cfbimgblt cfbcopyarea cec > [ 26.576327] CPU: 1 PID: 64 Comm: kworker/1:1 Tainted: G W 5.3.0-rc3-01400-g27515343445e #1 > [ 26.585933] Hardware name: Generic DRA74X (Flattened Device Tree) > [ 26.592057] Workqueue: events deferred_probe_work_func > [ 26.597270] PC is at of_drm_find_bridge+0x38/0x7c [drm] > [ 26.602519] LR is at 0x0 > [ 26.605063] pc : [<bf037bb0>] lr : [<00000000>] psr: 900b0013 > [ 26.611356] sp : eaba3de0 ip : eaba2000 fp : 00000013 > [ 26.616604] r10: c0ebcc98 r9 : bf0e83c8 r8 : eaf69120 > [ 26.621852] r7 : eaf69174 r6 : eaf69174 r5 : efde6760 r4 : 6b6b6b5b > [ 26.628406] r3 : 6b6b6b6b r2 : 00000000 r1 : 00000000 r0 : bf0692bc > [ 26.634964] Flags: NzcV IRQs on FIQs on Mode SVC_32 ISA ARM Segment none > [ 26.642132] Control: 10c5387d Table: aafa806a DAC: 00000051 > [ 26.647904] Process kworker/1:1 (pid: 64, stack limit = 0xef0d19b6) > [ 26.654195] Stack: (0xeaba3de0 to 0xeaba4000) > [ 26.658575] 3de0: eaf69120 efde6760 eaf69174 bf0aab64 eaf69000 ea0e8810 00000000 bf0e2a54 > [ 26.666790] 3e00: 00002000 bf0f02fc eaf69000 ea0e8810 c0f13054 ea0e8810 00000000 bf0f2220 > [ 26.675005] 3e20: 00000000 00000000 bf0f2220 c05f845c ea0e8810 c0f13054 c0f13058 00000000 > [ 26.683219] 3e40: 00000000 c05f5f4c c05f666c ea0e8810 c0b95478 ea0e8810 bf0f2220 c05f666c > [ 26.691432] 3e60: c0e05148 00000001 c0ebcc98 c0ebcc98 c0b95478 c05f6428 00000001 c05f6638 > [ 26.699647] 3e80: bf0f2220 00000000 eaba3ecc c05f666c c0e05148 00000001 c0ebcc98 c05f3ff8 > [ 26.707862] 3ea0: c0b95478 eb8e0b6c eafda3b8 db20362b ea0e8810 ea0e8810 ea0e8854 c0e05148 > [ 26.716076] 3ec0: c0e88e78 c05f5da4 ea0e8810 ea0e8810 00000001 db20362b eafda2d4 ea0e8810 > [ 26.724291] 3ee0: c0e89100 c0e88e78 c0e88e8c c05f4f80 eafda2d4 ea0e8810 c0e88e78 c05f54cc > [ 26.732505] 3f00: c05f5448 c0e88ea0 ea884780 efd8ef80 efd92300 00000000 c0eb30b0 00000000 > [ 26.740719] 3f20: ffffe000 c0155c98 ea869800 efd8ef80 00000008 ea884780 ea884794 efd8ef80 > [ 26.748934] 3f40: 00000008 efd8ef98 c0e03d00 efd8ef80 ffffe000 c015691c eaaeca9c c095f020 > [ 26.757150] 3f60: eaaeca9c 00000000 eaaeca80 eaaecac0 eaba2000 ea884780 c01568f0 eb91feb4 > [ 26.765365] 3f80: eaaeca9c c015bd04 00000000 eaaecac0 c015bbc4 00000000 00000000 00000000 > [ 26.773580] 3fa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000 > [ 26.781794] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > [ 26.790009] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 > [ 26.798278] [<bf037bb0>] (of_drm_find_bridge [drm]) from [<bf0aab64>] (omapdss_device_init_output+0x38/0x4d4 [omapdss_base]) > [ 26.809583] [<bf0aab64>] (omapdss_device_init_output [omapdss_base]) from [<bf0e2a54>] (hdmi5_probe+0x1c4/0x264 [omapdss]) > [ 26.820709] [<bf0e2a54>] (hdmi5_probe [omapdss]) from [<c05f845c>] (platform_drv_probe+0x48/0x98) > [ 26.829627] [<c05f845c>] (platform_drv_probe) from [<c05f5f4c>] (really_probe+0x100/0x410) > [ 26.837932] [<c05f5f4c>] (really_probe) from [<c05f6428>] (driver_probe_device+0x6c/0x1b4) > [ 26.846236] [<c05f6428>] (driver_probe_device) from [<c05f3ff8>] (bus_for_each_drv+0x7c/0xc4) > [ 26.854802] [<c05f3ff8>] (bus_for_each_drv) from [<c05f5da4>] (__device_attach+0xc8/0x168) > [ 26.863106] [<c05f5da4>] (__device_attach) from [<c05f4f80>] (bus_probe_device+0x84/0x8c) > [ 26.871323] [<c05f4f80>] (bus_probe_device) from [<c05f54cc>] (deferred_probe_work_func+0x84/0xcc) > [ 26.880326] [<c05f54cc>] (deferred_probe_work_func) from [<c0155c98>] (process_one_work+0x184/0x504) > [ 26.889503] [<c0155c98>] (process_one_work) from [<c015691c>] (worker_thread+0x2c/0x51c) > [ 26.897634] [<c015691c>] (worker_thread) from [<c015bd04>] (kthread+0x140/0x158) > [ 26.905065] [<c015bd04>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c) > [ 26.912318] Exception stack(0xeaba3fb0 to 0xeaba3ff8) > [ 26.917393] 3fa0: 00000000 00000000 00000000 00000000 > [ 26.925607] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > [ 26.933821] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > [ 26.940469] Code: e5133004 e1550003 1a000003 ea00000b (e5133004) > [ 26.946649] ---[ end trace 1bb774fc77a9c1a4 ]--- -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel