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: stable@vger.kernel.org
Signed-off-by: Louis Chauvet louis.chauvet@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