From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Courbot Subject: DSI panel not working on -next Date: Fri, 13 Feb 2015 15:29:09 +0900 Message-ID: <54DD99B5.2080504@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Return-path: Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thierry Reding , "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: linux-tegra@vger.kernel.org Hi Thierry, I noticed that the DSI panel of SHIELD (tegra114-roth) was not brought up on -next. I have bisected the following commit as introducing that behavior: commit f4c5cf88fbd50e4779042268947b2e2f90c20484 Author: Thierry Reding Date: Thu Dec 18 15:29:14 2014 +0100 gpu: host1x: Provide a proper struct bus_type With and without this patch, the DSI panel is probed, but the stack trace in the probe() function is different: Working case: [ 2.045189] [] (panel_simple_probe) from [] (panel_simple_dsi_probe+0x2c/0x64) [ 2.054159] [] (panel_simple_dsi_probe) from [] (driver_probe_device+0x108/0x23c) [ 2.063413] [] (driver_probe_device) from [] (bus_for_each_drv+0x64/0x98) [ 2.072027] [] (bus_for_each_drv) from [] (device_attach+0x74/0x88) [ 2.080126] [] (device_attach) from [] (bus_probe_device+0x84/0xa8) [ 2.088227] [] (bus_probe_device) from [] (device_add+0x398/0x520) [ 2.096248] [] (device_add) from [] (mipi_dsi_host_register+0xb8/0x198) [ 2.104698] [] (mipi_dsi_host_register) from [] (tegra_dsi_probe+0x2dc/0x4d4) [ 2.113611] [] (tegra_dsi_probe) from [] (platform_drv_probe+0x44/0xa4) [ 2.122031] [] (platform_drv_probe) from [] (driver_probe_device+0x108/0x23c) [ 2.130991] [] (driver_probe_device) from [] (bus_for_each_drv+0x64/0x98) [ 2.139608] [] (bus_for_each_drv) from [] (device_attach+0x74/0x88) [ 2.147706] [] (device_attach) from [] (bus_probe_device+0x84/0xa8) [ 2.155806] [] (bus_probe_device) from [] (deferred_probe_work_func+0x64/0x94) [ 2.164863] [] (deferred_probe_work_func) from [] (process_one_work+0x120/0x330) [ 2.174033] [] (process_one_work) from [] (worker_thread+0x4c/0x474) [ 2.182193] [] (worker_thread) from [] (kthread+0xdc/0xf4) [ 2.189505] [] (kthread) from [] (ret_from_fork+0x14/0x34) Failure case: [ 1.540582] [] (panel_simple_probe) from [] (panel_simple_dsi_probe+0x2c/0x64) [ 1.549731] [] (panel_simple_dsi_probe) from [] (driver_probe_device+0x108/0x23c) [ 1.559145] [] (driver_probe_device) from [] (__driver_attach+0x8c/0x90) [ 1.567763] [] (__driver_attach) from [] (bus_for_each_dev+0x6c/0xa0) [ 1.576122] [] (bus_for_each_dev) from [] (bus_add_driver+0x148/0x1f0) [ 1.584565] [] (bus_add_driver) from [] (driver_register+0x78/0xf8) [ 1.592723] [] (driver_register) from [] (panel_simple_init+0x28/0x34) [ 1.601160] [] (panel_simple_init) from [] (do_one_initcall+0x8c/0x1d4) [ 1.609697] [] (do_one_initcall) from [] (kernel_init_freeable+0x144/0x1e4) [ 1.618577] [] (kernel_init_freeable) from [] (kernel_init+0x8/0xe8) [ 1.626850] [] (kernel_init) from [] (ret_from_fork+0x14/0x34) i.e. with f4c5cf88fbd, the panel is not probed from tegra_dsi_probe() anymore, which means DSI remains without a valid connector: [ 1.378513] [drm] Initialized drm 1.1.0 20060810 [ 1.384564] 54300000.dsi supply avdd-dsi-csi not found, using dummy regulator [ 1.396394] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 1.403021] [drm] No driver support for vblank timestamp query. [ 1.409080] drm drm: No connectors reported connected with modes [ 1.415128] [drm] Cannot find any crtc or sizes - going 1024x768 Are you aware of this? Does it affect other DSI panels? Does SHIELD's DT need an update of some sort? Cheers, Alex.