mbox series

[v5,0/6] Support DRM bridges on NVIDIA Tegra

Message ID 20200418170703.1583-1-digetx@gmail.com (mailing list archive)
Headers show
Series Support DRM bridges on NVIDIA Tegra | expand

Message

Dmitry Osipenko April 18, 2020, 5:06 p.m. UTC
Hello,

This series adds initial support for the DRM bridges to NVIDIA Tegra DRM
driver. This is required by newer device-trees where we model the LVDS
encoder bridge properly.

Changelog:

v5: - Added new patches that make drm_of_find_panel_or_bridge() more usable
      if graph isn't defined in a device-tree:

        of_graph: add of_graph_get_local_port()
        drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence

    - Updated "Support DRM bridges" patch to use drm_of_find_panel_or_bridge()
      directly and added WARN_ON(output->panel || output->bridge) sanity-check.

    - Added new "Wrap directly-connected panel into DRM bridge" patch, as
      was suggested by Laurent Pinchart.

v4: - Following review comments that were made by Laurent Pinchart to the v3,
      we now create and use the "bridge connector".

v3: - Following recommendation from Sam Ravnborg, the new bridge attachment
      model is now being used, i.e. we ask bridge to *not* create a connector
      using the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.

    - The bridge is now created only for the RGB (LVDS) output, and only
      when necessary. For now we don't need bridges for HDMI or DSI outputs.

    - I noticed that we're leaking OF node in the panel's error code path,
      this is fixed now by the new patch "Don't leak OF node on error".

v2: - Added the new "rgb: Don't register connector if bridge is used"
      patch, which hides the unused connector provided by the Tegra DRM
      driver when bridge is used, since bridge provides its own connector
      to us.

    - Please notice that the first "Support DRM bridges" patch was previously
      sent out as a standalone v1 change.

Dmitry Osipenko (6):
  of_graph: add of_graph_get_local_port()
  drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence
  drm/tegra: output: Don't leak OF node on error
  drm/tegra: output: Support DRM bridges
  drm/tegra: output: rgb: Support LVDS encoder bridge
  drm/tegra: output: rgb: Wrap directly-connected panel into DRM bridge

 drivers/gpu/drm/drm_of.c       | 13 +++++-
 drivers/gpu/drm/tegra/drm.h    |  2 +
 drivers/gpu/drm/tegra/output.c | 21 +++++++--
 drivers/gpu/drm/tegra/rgb.c    | 85 +++++++++++++++++++++-------------
 drivers/of/property.c          | 32 +++++++++----
 include/linux/of_graph.h       |  7 +++
 6 files changed, 114 insertions(+), 46 deletions(-)

Comments

Dmitry Osipenko May 24, 2020, 6:41 p.m. UTC | #1
18.04.2020 20:06, Dmitry Osipenko пишет:
> Hello,
> 
> This series adds initial support for the DRM bridges to NVIDIA Tegra DRM
> driver. This is required by newer device-trees where we model the LVDS
> encoder bridge properly.
> 
> Changelog:
> 
> v5: - Added new patches that make drm_of_find_panel_or_bridge() more usable
>       if graph isn't defined in a device-tree:
> 
>         of_graph: add of_graph_get_local_port()
>         drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence
> 
>     - Updated "Support DRM bridges" patch to use drm_of_find_panel_or_bridge()
>       directly and added WARN_ON(output->panel || output->bridge) sanity-check.
> 
>     - Added new "Wrap directly-connected panel into DRM bridge" patch, as
>       was suggested by Laurent Pinchart.
> 
> v4: - Following review comments that were made by Laurent Pinchart to the v3,
>       we now create and use the "bridge connector".
> 
> v3: - Following recommendation from Sam Ravnborg, the new bridge attachment
>       model is now being used, i.e. we ask bridge to *not* create a connector
>       using the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
> 
>     - The bridge is now created only for the RGB (LVDS) output, and only
>       when necessary. For now we don't need bridges for HDMI or DSI outputs.
> 
>     - I noticed that we're leaking OF node in the panel's error code path,
>       this is fixed now by the new patch "Don't leak OF node on error".
> 
> v2: - Added the new "rgb: Don't register connector if bridge is used"
>       patch, which hides the unused connector provided by the Tegra DRM
>       driver when bridge is used, since bridge provides its own connector
>       to us.
> 
>     - Please notice that the first "Support DRM bridges" patch was previously
>       sent out as a standalone v1 change.
> 
> Dmitry Osipenko (6):
>   of_graph: add of_graph_get_local_port()
>   drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence
>   drm/tegra: output: Don't leak OF node on error
>   drm/tegra: output: Support DRM bridges
>   drm/tegra: output: rgb: Support LVDS encoder bridge
>   drm/tegra: output: rgb: Wrap directly-connected panel into DRM bridge
> 
>  drivers/gpu/drm/drm_of.c       | 13 +++++-
>  drivers/gpu/drm/tegra/drm.h    |  2 +
>  drivers/gpu/drm/tegra/output.c | 21 +++++++--
>  drivers/gpu/drm/tegra/rgb.c    | 85 +++++++++++++++++++++-------------
>  drivers/of/property.c          | 32 +++++++++----
>  include/linux/of_graph.h       |  7 +++
>  6 files changed, 114 insertions(+), 46 deletions(-)
> 

Hello Thierry,

Do you you have any objections to this series?