Le 11/08/2025 à 09:56, Tomi Valkeinen a écrit :
Hi,
On 08/08/2025 16:24, devarsh wrote:
Hi Tomi, Louis,
On 07/08/25 18:51, Tomi Valkeinen wrote:
Hi,
On 30/07/2025 20:02, Louis Chauvet wrote:
Currently the driver only configure the data edge sampling partially. The
AM62 require it to be configured in two distincts registers: one in tidss
and one in the general device registers.
Introduce a new dt property to link the proper syscon node from the main
device registers into the tidss driver.
Fixes: 32a1795f57ee ("drm/tidss: New driver for TI Keystone platform Display
SubSystem")
---
Cc: sta...@vger.kernel.org
Signed-off-by: Louis Chauvet <louis.chau...@bootlin.com>
I understand why you call this a fix, but I think this is not really a
fix. From looking at the patches, my understanding is that for DPI
outputs we have always only supported certain clock/data edge.
I don't think driver makes a distinction between supported/unsupported
or errors out in case it is run with "different" clock/data edge panel
(for e.g DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE is set per the panel
configuration). Instead it tries to program the VP registers per the
DRM_BUS_FLAG* getting passed by framework per the connected panel and
gives an incorrect behavior if those are different than defaults since
those settings are not sufficient for these displays and instead extra
MMR register settings are also required.
Well, this gets into the meaning of "fix". I didn't right away see an
explicit definition in the kernel docs.
When the tidss driver was added, neither AM62x nor AM62A existed. Yet
this series "fixes" the original tidss commit for AM62x and AM62A? And
the patch proposes that this series is to be backported to stable
kernels going back to the original tidss commit?
I overlooked the initial commit, I agree this should be limited to
ad2ac9dc9426 ("drm/tidss: Add support for AM625 DSS").
When AM62x and AM62A support was added to the tidss, this feature was
not in the driver. So this is clearly also not a regression. Missing
this feature causes no crashes or other system level misbehavior. It
only causes the panels (that have never been supported with tidss on
AM62x and AM62A) to show garbage.
For me the driver explicitly support different data sampling edge from
the start, but when the AM625 was added, the implementation missed this
quirk, so we have a broken driver for this platform.
So we have a driver, to which support for new SoCs was added at some
later point, and at that point we did not add support for all kinds of
panels. Is adding support for those panels a new feature or a bug fix?
Should it be backported to stable kernels?
Documentation/process/stable-kernel-rules.rst has some guidelines. Maybe
one could argue that this is a "hardware quirk" mentioned there, or
perhaps "add a device ID" (of sorts).
For me this clearly falls in the "hardware quirk" category, as we need
this quirk on some platforms.
I might agree, if this was an
easily backportable, totally non-controversial, one-liner style patch
with no chance of regressions. Maybe the next version will be, but this
one is not.
Ack, we will see how the v2 will be. If the v2 is not too complex, I
will keep the fixes tag (on the proper commit).
Thanks,
Louis Chauvet
Tomi
--
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com