On Mon, 2018-03-19 at 17:52 +0100, Thierry Reding wrote: > On Mon, Mar 19, 2018 at 02:32:08PM +0000, Marcel Ziswiler wrote: > > Hi Thierry > > > > On Mon, 2018-03-19 at 10:59 +0100, Thierry Reding wrote: > > > Hi Dave, > > > > > > The following changes since commit > > > 7928b2cbe55b2a410a0f5c1f154610059c57b1b2: > > > > > > Linux 4.16-rc1 (2018-02-11 15:04:29 -0800) > > > > > > are available in the Git repository at: > > > > > > git://anongit.freedesktop.org/tegra/linux tags/drm/tegra/for- > > > 4.17- > > > rc1 > > > > > > for you to fetch changes up to > > > 27e92f1f1600c214bf649daddb9b88b68330a8d1: > > > > > > drm/tegra: prime: Implement ->{begin,end}_cpu_access() (2018- > > > 03-17 > > > 00:04:20 +0100) > > > > > > Apologies for the delay. I originally wanted to send this out on > > > Friday > > > but then ran into a pair of bugs that I thought might be caused > > > by > > > this > > > branch. Turns out that they were both already broken in v4.16-rc1 > > > and > > > I > > > just hadn't tested for the corner case, so I caught them only > > > very > > > late > > > in the release cycle. > > > > > > Anyway, the fixes for that are on the drm/tegra/fixes branch for > > > which > > > I sent an updated pull request earlier. The stuff here's fairly > > > trivial > > > and incremental improvements. > > > > Both linux-next as of Friday and today as well as your > > tags/drm/tegra/for-4.17-rc1 fail for me on TK1 as follows: > > > > [ 3.609146] +V1.05_AVDD_HDMI_PLL: supplied by +V1.05 > > [ 3.614294] +V3.3_AVDD_HDMI: supplied by +V1.05 > > [ 3.622078] ------------[ cut here ]------------ > > [ 3.626719] WARNING: CPU: 2 PID: 87 at > > /run/media/zim/Build/Sources/linux- > > tegra.git/drivers/gpu/drm/drm_fourcc.c:204 > > drm_format_info+0x48/0x50 > > [ 3.639588] Modules linked in: > > [ 3.642673] CPU: 2 PID: 87 Comm: kworker/2:1 Not tainted 4.16.0- > > rc1 > > #2 > > [ 3.649213] Hardware name: NVIDIA Tegra SoC (Flattened Device > > Tree) > > [ 3.655495] Workqueue: events deferred_probe_work_func > > [ 3.660672] [<c01117e4>] (unwind_backtrace) from [<c010c9fc>] > > (show_stack+0x10/0x14) > > [ 3.668430] [<c010c9fc>] (show_stack) from [<c09d39d8>] > > (dump_stack+0x8c/0xa0) > > [ 3.675684] [<c09d39d8>] (dump_stack) from [<c0122b50>] > > (__warn+0xe0/0xf8) > > [ 3.682587] [<c0122b50>] (__warn) from [<c0122c80>] > > (warn_slowpath_null+0x40/0x48) > > [ 3.690189] [<c0122c80>] (warn_slowpath_null) from [<c0505438>] > > (drm_format_info+0x48/0x50) > > [ 3.698551] [<c0505438>] (drm_format_info) from [<c0529fd0>] > > (tegra_plane_format_mod_supported+0x14/0x30) > > [ 3.708150] [<c0529fd0>] (tegra_plane_format_mod_supported) from > > [<c05186cc>] (drm_universal_plane_init+0x2ec/0x59c) > > [ 3.718703] [<c05186cc>] (drm_universal_plane_init) from > > [<c052c36c>] (tegra_dc_init+0x1b8/0x510) > > [ 3.727611] [<c052c36c>] (tegra_dc_init) from [<c04d8b5c>] > > (host1x_device_init+0x44/0xd0) > > [ 3.735821] [<c04d8b5c>] (host1x_device_init) from [<c0523ef4>] > > (tegra_drm_load+0x228/0x308) > > [ 3.744291] [<c0523ef4>] (tegra_drm_load) from [<c0501024>] > > (drm_dev_register+0x138/0x1d0) > > [ 3.752588] [<c0501024>] (drm_dev_register) from [<c0523a30>] > > (host1x_drm_probe+0x34/0x58) > > [ 3.760883] [<c0523a30>] (host1x_drm_probe) from [<c05570f8>] > > (driver_probe_device+0x254/0x32c) > > [ 3.769612] [<c05570f8>] (driver_probe_device) from [<c0555578>] > > (bus_for_each_drv+0x58/0xb8) > > [ 3.778145] [<c0555578>] (bus_for_each_drv) from [<c0556dc0>] > > (__device_attach+0xd0/0x138) > > [ 3.786436] [<c0556dc0>] (__device_attach) from [<c05562f4>] > > (bus_probe_device+0x84/0x8c) > > [ 3.794645] [<c05562f4>] (bus_probe_device) from [<c05545cc>] > > (device_add+0x3b4/0x5b8) > > [ 3.802599] [<c05545cc>] (device_add) from [<c04d908c>] > > (host1x_subdev_register+0xac/0xd4) > > [ 3.810897] [<c04d908c>] (host1x_subdev_register) from > > [<c04d958c>] > > (host1x_client_register+0x108/0x128) > > [ 3.820412] [<c04d958c>] (host1x_client_register) from > > [<c05380d0>] > > (tegra_hdmi_probe+0x1e4/0x2d0) > > [ 3.829406] [<c05380d0>] (tegra_hdmi_probe) from [<c0558d00>] > > (platform_drv_probe+0x50/0xac) > > [ 3.837855] [<c0558d00>] (platform_drv_probe) from [<c05570f8>] > > (driver_probe_device+0x254/0x32c) > > [ 3.846756] [<c05570f8>] (driver_probe_device) from [<c0555578>] > > (bus_for_each_drv+0x58/0xb8) > > [ 3.855309] [<c0555578>] (bus_for_each_drv) from [<c0556dc0>] > > (__device_attach+0xd0/0x138) > > [ 3.863603] [<c0556dc0>] (__device_attach) from [<c05562f4>] > > (bus_probe_device+0x84/0x8c) > > [ 3.871809] [<c05562f4>] (bus_probe_device) from [<c0556780>] > > (deferred_probe_work_func+0x4c/0x148) > > [ 3.880885] [<c0556780>] (deferred_probe_work_func) from > > [<c013c6e0>] (process_one_work+0x1ec/0x55c) > > [ 3.890047] [<c013c6e0>] (process_one_work) from [<c013d830>] > > (worker_thread+0x29c/0x598) > > [ 3.898237] [<c013d830>] (worker_thread) from [<c0142414>] > > (kthread+0x14c/0x154) > > [ 3.905662] [<c0142414>] (kthread) from [<c01010e8>] > > (ret_from_fork+0x14/0x2c) > > [ 3.912901] Exception stack(0xee2b1fb0 to 0xee2b1ff8) > > [ 3.917958] 1fa0: 00000000 > > 00000000 00000000 00000000 > > [ 3.926153] 1fc0: 00000000 00000000 00000000 00000000 00000000 > > 00000000 00000000 00000000 > > [ 3.934348] 1fe0: 00000000 00000000 00000000 00000000 00000013 > > 00000000 > > [ 3.941050] ---[ end trace f2913c9fb893aca6 ]--- > > ... > > [ 4.594476] Unable to handle kernel NULL pointer dereference at > > virtual address 00000005 > > [ 4.602584] pgd = b237c3d6 > > [ 4.605293] [00000005] *pgd=00000000 > > [ 4.608895] Internal error: Oops: 5 [#1] PREEMPT SMP ARM > > [ 4.614209] Modules linked in: > > [ 4.617274] CPU: 2 PID: 87 Comm: kworker/2:1 Tainted: > > G W 4.16.0-rc1 #2 > > [ 4.625105] Hardware name: NVIDIA Tegra SoC (Flattened Device > > Tree) > > [ 4.631376] Workqueue: events deferred_probe_work_func > > [ 4.636525] PC is at tegra_plane_format_mod_supported+0x18/0x30 > > [ 4.642448] LR is at warn_slowpath_null+0x40/0x48 > > [ 4.647153] pc : [<c0529fd4>] lr : [<c0122c80>] psr: > > 20000113 > > [ 4.653419] sp : ee2b1be0 ip : 00000000 fp : 00000001 > > [ 4.658644] r10: 00000001 r9 : 00000008 r8 : c0e04c48 > > [ 4.663870] r7 : c0529fbc r6 : eda9bac4 r5 : 03000000 r4 : > > 00000010 > > [ 4.670396] r3 : 03000010 r2 : 00000200 r1 : c0ec2540 r0 : > > 00000000 > > [ 4.676925] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA > > ARM Segment none > > [ 4.684060] Control: 10c5387d Table: 8000406a DAC: 00000051 > > [ 4.689806] Process kworker/2:1 (pid: 87, stack limit = > > 0x62aacce7) > > [ 4.696072] Stack: (0xee2b1be0 to 0xee2b2000) > > ... > > [ 4.970477] [<c0529fd4>] (tegra_plane_format_mod_supported) from > > [<c05186cc>] (drm_universal_plane_init+0x2ec/0x59c) > > [ 4.981009] [<c05186cc>] (drm_universal_plane_init) from > > [<c052c36c>] (tegra_dc_init+0x1b8/0x510) > > [ 4.989891] [<c052c36c>] (tegra_dc_init) from [<c04d8b5c>] > > (host1x_device_init+0x44/0xd0) > > [ 4.998076] [<c04d8b5c>] (host1x_device_init) from [<c0523ef4>] > > (tegra_drm_load+0x228/0x308) > > [ 5.006523] [<c0523ef4>] (tegra_drm_load) from [<c0501024>] > > (drm_dev_register+0x138/0x1d0) > > [ 5.014795] [<c0501024>] (drm_dev_register) from [<c0523a30>] > > (host1x_drm_probe+0x34/0x58) > > [ 5.023067] [<c0523a30>] (host1x_drm_probe) from [<c05570f8>] > > (driver_probe_device+0x254/0x32c) > > [ 5.031773] [<c05570f8>] (driver_probe_device) from [<c0555578>] > > (bus_for_each_drv+0x58/0xb8) > > [ 5.040303] [<c0555578>] (bus_for_each_drv) from [<c0556dc0>] > > (__device_attach+0xd0/0x138) > > [ 5.048572] [<c0556dc0>] (__device_attach) from [<c05562f4>] > > (bus_probe_device+0x84/0x8c) > > [ 5.056761] [<c05562f4>] (bus_probe_device) from [<c05545cc>] > > (device_add+0x3b4/0x5b8) > > [ 5.064688] [<c05545cc>] (device_add) from [<c04d908c>] > > (host1x_subdev_register+0xac/0xd4) > > [ 5.072962] [<c04d908c>] (host1x_subdev_register) from > > [<c04d958c>] > > (host1x_client_register+0x108/0x128) > > [ 5.082450] [<c04d958c>] (host1x_client_register) from > > [<c05380d0>] > > (tegra_hdmi_probe+0x1e4/0x2d0) > > [ 5.091418] [<c05380d0>] (tegra_hdmi_probe) from [<c0558d00>] > > (platform_drv_probe+0x50/0xac) > > [ 5.099862] [<c0558d00>] (platform_drv_probe) from [<c05570f8>] > > (driver_probe_device+0x254/0x32c) > > [ 5.108739] [<c05570f8>] (driver_probe_device) from [<c0555578>] > > (bus_for_each_drv+0x58/0xb8) > > [ 5.117268] [<c0555578>] (bus_for_each_drv) from [<c0556dc0>] > > (__device_attach+0xd0/0x138) > > [ 5.125537] [<c0556dc0>] (__device_attach) from [<c05562f4>] > > (bus_probe_device+0x84/0x8c) > > [ 5.133720] [<c05562f4>] (bus_probe_device) from [<c0556780>] > > (deferred_probe_work_func+0x4c/0x148) > > [ 5.142774] [<c0556780>] (deferred_probe_work_func) from > > [<c013c6e0>] (process_one_work+0x1ec/0x55c) > > [ 5.151913] [<c013c6e0>] (process_one_work) from [<c013d830>] > > (worker_thread+0x29c/0x598) > > [ 5.160100] [<c013d830>] (worker_thread) from [<c0142414>] > > (kthread+0x14c/0x154) > > [ 5.167504] [<c0142414>] (kthread) from [<c01010e8>] > > (ret_from_fork+0x14/0x2c) > > [ 5.174727] Exception stack(0xee2b1fb0 to 0xee2b1ff8) > > [ 5.179784] 1fa0: 00000000 > > 00000000 00000000 00000000 > > [ 5.187965] 1fc0: 00000000 00000000 00000000 00000000 00000000 > > 00000000 00000000 00000000 > > [ 5.196147] 1fe0: 00000000 00000000 00000000 00000000 00000013 > > 00000000 > > [ 5.202768] Code: e1a04002 e1a05003 ebff6d07 e1943005 > > (15d00005) > > [ 5.208926] ---[ end trace f2913c9fb893aca9 ]--- > > > > Is this something your drm/tegra/fixes address or do you know what > > might be the issue? > > This looks like an issue with the format modifier patch in > drm/tegra/for-next, and I'm somewhat surprised to see that because it > means you're trying to set a format that's not supported by the > drm_format_info() function. It should be easy to fix that, though. No, it turns out it was just the bug Stefan by chance stumbled upon and already sent a fix for: [PATCH] drm/tegra: dc: use correct format array for Tegra124. However as that one did not apply on top of today's next I will send a re-based version with my ACK. > Can you find out which format is missing from the table? Something > like > the patch below should show which one is missing. > > Thanks, > Thierry > > --- >8 --- > diff --git a/drivers/gpu/drm/drm_fourcc.c > b/drivers/gpu/drm/drm_fourcc.c > index 5ca6395cd4d3..07abfc383ae3 100644 > --- a/drivers/gpu/drm/drm_fourcc.c > +++ b/drivers/gpu/drm/drm_fourcc.c > @@ -174,7 +174,7 @@ const struct drm_format_info > *__drm_format_info(u32 format) > { .format = DRM_FORMAT_VYUY, .depth = > 0, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 }, > { .format = DRM_FORMAT_AYUV, .depth = > 0, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, > .has_alpha = true }, > }; > - > + struct drm_format_name_buf buf; > unsigned int i; > > for (i = 0; i < ARRAY_SIZE(formats); ++i) { > @@ -182,6 +182,7 @@ const struct drm_format_info > *__drm_format_info(u32 format) > return &formats[i]; > } > > + WARN(1, "format %s not supported\n", > drm_get_format_name(format, &buf)); > return NULL; > } _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel