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