[Letux-kernel] LetuxOS: Kernel: bisect result for Pyra display not working since v5.7-rc1

David Shah dave at ds0.me
Sat Aug 1 19:40:57 CEST 2020


Thanks for working this one out! Seems like the "panel" bridge driver might be what we want?

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/bridge/panel.c


Haven't looked in detail though. I can confirm that HDMI was working fine on the uEVM with v5.7, so it is definitely a DSI-panel-specific problem.

Best

David

On Sat, 2020-08-01 at 14:51 +0200, H. Nikolaus Schaller wrote:
> Hi,
> thanks to David's reboot patch I was finally able to bisect the v5.7-rc1 display problem (no display, no /dev/fb0), because the Pyra can now run (almost) automatically and reboot unattended.
> 
> Well it still needs quite some time to make a setup. The reason is that we have to cherry-pick a minimal set of private patches on top of any bisect base commit (from linus/master) that is to be
> tested. And there are API changes to be tracked and worked around which influence our patch set.
> 
> Automatic bisecting also needs a script that can determine a good or bad kernel. Fortunately this is easy here since /dev/fb0 either exists or does not. so a simple ssh into the Pyra and checking
> for /dev/fb0 gives a "good" or "bad".
> 
> Only, if all that is set up and works properly for both, the bad and the good end, the bisect session can start.
> 
> Now, the bisect result between v5.6-rc1 and v5.7-rc1 for the display issue is:
> 
> e7e67d9a2f1dd2f938adcc219b3769f5cc3f0df7 is the first bad commit
> commit e7e67d9a2f1dd2f938adcc219b3769f5cc3f0df7
> Author: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Date:   Wed Feb 26 13:24:59 2020 +0200
> 
>     drm/omap: Switch the HDMI and VENC outputs to drm_bridge
>     
>     The TPD12S015, OPA362 and analog and HDMI connectors are now supported
>     by DRM bridge drivers, and the omapdrm HDMI and VENC outputs can be
>     handled through the drm_bridge API. Switch the outputs to drm_bridge by
>     making the next bridge mandatory and removing the related
>     omapdrm-specific display drivers.
>     
>     Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>     Reviewed-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
>     Tested-by: Sebastian Reichel <sebastian.reichel at collabora.com>
>     Reviewed-by: Sebastian Reichel <sebastian.reichel at collabora.com>
>     Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
>     Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-40-laurent.pinchart@ideasonboard.com
> 
>  arch/arm/configs/omap2plus_defconfig               |   7 +-
>  drivers/gpu/drm/omapdrm/displays/Kconfig           |  22 ---
>  drivers/gpu/drm/omapdrm/displays/Makefile          |   4 -
>  .../gpu/drm/omapdrm/displays/connector-analog-tv.c |  97 ---------
>  drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  | 183 -----------------
>  drivers/gpu/drm/omapdrm/displays/encoder-opa362.c  | 137 -------------
>  .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c   | 217 ---------------------
>  drivers/gpu/drm/omapdrm/dss/hdmi4.c                |   4 +-
>  drivers/gpu/drm/omapdrm/dss/hdmi5.c                |   4 +-
>  drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c    |   5 -
>  drivers/gpu/drm/omapdrm/dss/output.c               |   5 +
>  drivers/gpu/drm/omapdrm/dss/venc.c                 |   4 +-
>  12 files changed, 14 insertions(+), 675 deletions(-)
>  delete mode 100644 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
>  delete mode 100644 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
>  delete mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
>  delete mode 100644 drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c
> 
> Better readable:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=e7e67d9a2f1dd2f938adcc219b3769f5cc3f0df7
> 
> Unfortunately it is not obvious how this breaks our MIPI DSI panel driver.
> 
> Only some files are related to this at all. Our letux_defconfig includes
> all changes done to omap2plus_defconfig. Kconfig&Makefile are certainly not
> the issue. drm/omapdrm/displays/* have just been removed.
> 
> So it might be a change to omapdss-boot-init.c, hdmi*.c output.c or venc.c
> which requires our display driver to be updated. Changes to hdmi* and venc.c
> do not look influencing MIPI DSI...
> 
> My first guess now is that the change to output.c now reqires out->bridge to
> be !NULL. This may not be the case for our MIPI DSI panel and probing
> is therefore deferred forever. Which is consistent with that the boe driver
> is not loaded.
> 
> This would mean that a simple DSI bridge driver is missing. Maybe a stub bridge
> can already help.
> 
> Room for further study in the coming days...
> 
> BR,
> Nikolaus
> 
> _______________________________________________
> Kernel mailing list
> Kernel at pyra-handheld.com
> http://pyra-handheld.com/cgi-bin/mailman/listinfo/kernel



More information about the Letux-kernel mailing list