From: Thierry Reding <treding@xxxxxxxxxx> Hi, this is an alternative proposal to fix panel support on Venice 2 and Nyan. Dmitry had proposed a different solution that involved reverting the I2C/DDC registration order and would complicate things by breaking the encapsulation of the driver by introducing a global (though locally scoped) variable[0]. This set of patches avoids that by using the recently introduced DP AUX bus infrastructure. The result is that the changes are actually less intrusive and not a step back. Instead they nicely remove the circular dependency that previously existed and caused these issues in the first place. To be fair, this is not perfect either because it requires a device tree change and hence isn't technically backwards-compatible. However, given that the original device tree was badly broken in the first place, I think we can make an exception, especially since it is not generally a problem to update device trees on the affected devices. Secondly, this relies on infrastructure that was introduced in v5.15 and therefore will be difficult to backport beyond that. However, since this functionality has been broken since v5.13 and all of the kernel versions between that and v5.15 are EOL anyway, there isn't much that we can do to fix the interim versions anyway. Adding Doug and Laurent since they originally designed the AUX bus patches in case they see anything in here that would be objectionable. Thierry [0]: https://lore.kernel.org/dri-devel/20211130230957.30213-1-digetx@xxxxxxxxx/ Thierry Reding (2): drm/tegra: dpaux: Populate AUX bus ARM: tegra: Move panels to AUX bus arch/arm/boot/dts/tegra124-nyan-big.dts | 15 +++++++++------ arch/arm/boot/dts/tegra124-nyan-blaze.dts | 15 +++++++++------ arch/arm/boot/dts/tegra124-venice2.dts | 14 +++++++------- drivers/gpu/drm/tegra/Kconfig | 1 + drivers/gpu/drm/tegra/dpaux.c | 7 +++++++ 5 files changed, 33 insertions(+), 19 deletions(-) -- 2.34.1