Re: [PATCH RESEND v10 0/4] Support DRM bridges on NVIDIA Tegra

From: Thierry Reding
Date: Thu Sep 17 2020 - 06:34:01 EST


On Fri, Aug 14, 2020 at 01:06:52AM +0300, Dmitry Osipenko wrote:
> 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. In particular this series is needed in order to
> light up display panels of recently merged Acer A500 and Nexus 7 devices.
>
> Changelog:
>
> v10: - No changes. Patches missed v5.9 kernel, re-sending for v5.10.
> @Thierry, please pick up this series into linux-next or let me
> know what needs to be changed, thanks in advance!
>
> v9: - Dropped the of-graph/drm-of patches from this series because they
> are now factored out into a standalone series [1].
>
> [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=186813
>
> - The "drm/panel-simple: Add missing connector type for some panels"
> patch of v8 was already applied.
>
> v8: - The new of_graph_get_local_port() helper is replaced with the
> of_graph_presents(), which simply checks the graph presence in a
> given DT node. Thank to Laurent Pinchart for the suggestion!
>
> - The of_graph_get_local_port() is still there, but now it isn't a public
> function anymore. In the review to v7 Laurent Pinchart suggested that
> the function's doc-comments and name could be improved and I implemented
> these suggestions in v8.
>
> - A day ago I discovered that devm_drm_panel_bridge_add() requires
> panel to have connector type to be properly set, otherwise function
> rejects panels with the incomplete description. So, I checked what
> LVDS panels are used on Tegra and fixed the missing connector types
> in this new patch:
>
> drm/panel-simple: Add missing connector type for some panels
>
> v7: - Removed the obscure unused structs (which GCC doesn't detect, but CLANG
> does) in the patch "Wrap directly-connected panel into DRM bridge",
> which was reported by kernel test robot for v6.
>
> v6: - Added r-b and acks from Rob Herring and Sam Ravnborg.
>
> - Rebased on a recent linux-next, patches now apply without fuzz.
>
> 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.
>
>
> Dmitry Osipenko (4):
> 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/tegra/drm.h | 2 +
> drivers/gpu/drm/tegra/output.c | 21 +++++--
> drivers/gpu/drm/tegra/rgb.c | 102 +++++++++++++++++----------------
> 3 files changed, 72 insertions(+), 53 deletions(-)

Applied to drm/tegra/for-next, thanks.

Thierry

Attachment: signature.asc
Description: PGP signature