* [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
@ 2023-07-12 18:16 Sanjay R Mehta
2023-07-31 11:15 ` Mika Westerberg
0 siblings, 1 reply; 5+ messages in thread
From: Sanjay R Mehta @ 2023-07-12 18:16 UTC (permalink / raw)
To: mika.westerberg, andreas.noever, michael.jamet, YehezkelShB
Cc: linux-usb, Sanjay R Mehta, Sanath S
Previously, on unplug events, the TMU mode was disabled first
followed by the Time Synchronization Handshake, irrespective of
whether the tb_switch_tmu_rate_write() API was successful or not.
However, this caused a problem with Thunderbolt 3 (TBT3)
devices, as the TSPacketInterval bits were always enabled by default,
leading the host router to assume that the device router's TMU was
already enabled and preventing it from initiating the Time
Synchronization Handshake. As a result, TBT3 monitors experienced
display flickering from the second hot plug onwards.
To address this issue, we have modified the code to only disable the
Time Synchronization Handshake during TMU disable if the
tb_switch_tmu_rate_write() function is successful. This ensures that
the TBT3 devices function correctly and eliminates the display
flickering issue.
Co-developed-by: Sanath S <Sanath.S@amd.com>
Signed-off-by: Sanath S <Sanath.S@amd.com>
Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
---
V2:
Corrected the signed-off-by ordering as per Greg's comment.
---
drivers/thunderbolt/tmu.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/thunderbolt/tmu.c b/drivers/thunderbolt/tmu.c
index 626aca3..49146f9 100644
--- a/drivers/thunderbolt/tmu.c
+++ b/drivers/thunderbolt/tmu.c
@@ -415,7 +415,9 @@ int tb_switch_tmu_disable(struct tb_switch *sw)
* uni-directional mode and we don't want to change it's TMU
* mode.
*/
- tb_switch_tmu_rate_write(sw, TB_SWITCH_TMU_RATE_OFF);
+ ret = tb_switch_tmu_rate_write(sw, TB_SWITCH_TMU_RATE_OFF);
+ if (ret)
+ return ret;
tb_port_tmu_time_sync_disable(up);
ret = tb_port_tmu_time_sync_disable(down);
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
2023-07-12 18:16 [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards Sanjay R Mehta
@ 2023-07-31 11:15 ` Mika Westerberg
2023-07-31 13:07 ` Sanjay R Mehta
0 siblings, 1 reply; 5+ messages in thread
From: Mika Westerberg @ 2023-07-31 11:15 UTC (permalink / raw)
To: Sanjay R Mehta
Cc: andreas.noever, michael.jamet, YehezkelShB, linux-usb, Sanath S
On Wed, Jul 12, 2023 at 01:16:19PM -0500, Sanjay R Mehta wrote:
> Previously, on unplug events, the TMU mode was disabled first
> followed by the Time Synchronization Handshake, irrespective of
> whether the tb_switch_tmu_rate_write() API was successful or not.
>
> However, this caused a problem with Thunderbolt 3 (TBT3)
> devices, as the TSPacketInterval bits were always enabled by default,
> leading the host router to assume that the device router's TMU was
> already enabled and preventing it from initiating the Time
> Synchronization Handshake. As a result, TBT3 monitors experienced
> display flickering from the second hot plug onwards.
>
> To address this issue, we have modified the code to only disable the
> Time Synchronization Handshake during TMU disable if the
> tb_switch_tmu_rate_write() function is successful. This ensures that
> the TBT3 devices function correctly and eliminates the display
> flickering issue.
>
> Co-developed-by: Sanath S <Sanath.S@amd.com>
> Signed-off-by: Sanath S <Sanath.S@amd.com>
> Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
Looks good.
I suppose you want this in -stable too, right?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
2023-07-31 11:15 ` Mika Westerberg
@ 2023-07-31 13:07 ` Sanjay R Mehta
2023-07-31 14:54 ` Mika Westerberg
0 siblings, 1 reply; 5+ messages in thread
From: Sanjay R Mehta @ 2023-07-31 13:07 UTC (permalink / raw)
To: Mika Westerberg, Sanjay R Mehta
Cc: andreas.noever, michael.jamet, YehezkelShB, linux-usb, Sanath S
On 7/31/2023 4:45 PM, Mika Westerberg wrote:
> On Wed, Jul 12, 2023 at 01:16:19PM -0500, Sanjay R Mehta wrote:
>> Previously, on unplug events, the TMU mode was disabled first
>> followed by the Time Synchronization Handshake, irrespective of
>> whether the tb_switch_tmu_rate_write() API was successful or not.
>>
>> However, this caused a problem with Thunderbolt 3 (TBT3)
>> devices, as the TSPacketInterval bits were always enabled by default,
>> leading the host router to assume that the device router's TMU was
>> already enabled and preventing it from initiating the Time
>> Synchronization Handshake. As a result, TBT3 monitors experienced
>> display flickering from the second hot plug onwards.
>>
>> To address this issue, we have modified the code to only disable the
>> Time Synchronization Handshake during TMU disable if the
>> tb_switch_tmu_rate_write() function is successful. This ensures that
>> the TBT3 devices function correctly and eliminates the display
>> flickering issue.
>>
>> Co-developed-by: Sanath S <Sanath.S@amd.com>
>> Signed-off-by: Sanath S <Sanath.S@amd.com>
>> Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
>
> Looks good.
>
> I suppose you want this in -stable too, right?
Thanks. Yes Mika.
- Sanjay
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
2023-07-31 13:07 ` Sanjay R Mehta
@ 2023-07-31 14:54 ` Mika Westerberg
2023-08-01 5:35 ` Sanjay R Mehta
0 siblings, 1 reply; 5+ messages in thread
From: Mika Westerberg @ 2023-07-31 14:54 UTC (permalink / raw)
To: Sanjay R Mehta
Cc: Sanjay R Mehta, andreas.noever, michael.jamet, YehezkelShB,
linux-usb, Sanath S
On Mon, Jul 31, 2023 at 06:37:16PM +0530, Sanjay R Mehta wrote:
>
>
> On 7/31/2023 4:45 PM, Mika Westerberg wrote:
> > On Wed, Jul 12, 2023 at 01:16:19PM -0500, Sanjay R Mehta wrote:
> >> Previously, on unplug events, the TMU mode was disabled first
> >> followed by the Time Synchronization Handshake, irrespective of
> >> whether the tb_switch_tmu_rate_write() API was successful or not.
> >>
> >> However, this caused a problem with Thunderbolt 3 (TBT3)
> >> devices, as the TSPacketInterval bits were always enabled by default,
> >> leading the host router to assume that the device router's TMU was
> >> already enabled and preventing it from initiating the Time
> >> Synchronization Handshake. As a result, TBT3 monitors experienced
> >> display flickering from the second hot plug onwards.
> >>
> >> To address this issue, we have modified the code to only disable the
> >> Time Synchronization Handshake during TMU disable if the
> >> tb_switch_tmu_rate_write() function is successful. This ensures that
> >> the TBT3 devices function correctly and eliminates the display
> >> flickering issue.
> >>
> >> Co-developed-by: Sanath S <Sanath.S@amd.com>
> >> Signed-off-by: Sanath S <Sanath.S@amd.com>
> >> Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
> >
> > Looks good.
> >
> > I suppose you want this in -stable too, right?
>
> Thanks. Yes Mika.
Hm, I get:
Applying: thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
error: patch failed: drivers/thunderbolt/tmu.c:415
error: drivers/thunderbolt/tmu.c: patch does not apply
Patch failed at 0001 thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
Is this based on v6.5-rcX or something else?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
2023-07-31 14:54 ` Mika Westerberg
@ 2023-08-01 5:35 ` Sanjay R Mehta
0 siblings, 0 replies; 5+ messages in thread
From: Sanjay R Mehta @ 2023-08-01 5:35 UTC (permalink / raw)
To: Mika Westerberg
Cc: Sanjay R Mehta, andreas.noever, michael.jamet, YehezkelShB,
linux-usb, Sanath S
On 7/31/2023 8:24 PM, Mika Westerberg wrote:
> On Mon, Jul 31, 2023 at 06:37:16PM +0530, Sanjay R Mehta wrote:
>>
>>
>> On 7/31/2023 4:45 PM, Mika Westerberg wrote:
>>> On Wed, Jul 12, 2023 at 01:16:19PM -0500, Sanjay R Mehta wrote:
>>>> Previously, on unplug events, the TMU mode was disabled first
>>>> followed by the Time Synchronization Handshake, irrespective of
>>>> whether the tb_switch_tmu_rate_write() API was successful or not.
>>>>
>>>> However, this caused a problem with Thunderbolt 3 (TBT3)
>>>> devices, as the TSPacketInterval bits were always enabled by default,
>>>> leading the host router to assume that the device router's TMU was
>>>> already enabled and preventing it from initiating the Time
>>>> Synchronization Handshake. As a result, TBT3 monitors experienced
>>>> display flickering from the second hot plug onwards.
>>>>
>>>> To address this issue, we have modified the code to only disable the
>>>> Time Synchronization Handshake during TMU disable if the
>>>> tb_switch_tmu_rate_write() function is successful. This ensures that
>>>> the TBT3 devices function correctly and eliminates the display
>>>> flickering issue.
>>>>
>>>> Co-developed-by: Sanath S <Sanath.S@amd.com>
>>>> Signed-off-by: Sanath S <Sanath.S@amd.com>
>>>> Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
>>>
>>> Looks good.
>>>
>>> I suppose you want this in -stable too, right?
>>
>> Thanks. Yes Mika.
>
> Hm, I get:
>
> Applying: thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
> error: patch failed: drivers/thunderbolt/tmu.c:415
> error: drivers/thunderbolt/tmu.c: patch does not apply
> Patch failed at 0001 thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
>
> Is this based on v6.5-rcX or something else?
Hi Mika, This patch was tested a month ago and built on top of 6.4..
I'll resend based on latest. Apologies for the inconvenience..
- Sanjay
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-08-01 5:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-12 18:16 [PATCH V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards Sanjay R Mehta
2023-07-31 11:15 ` Mika Westerberg
2023-07-31 13:07 ` Sanjay R Mehta
2023-07-31 14:54 ` Mika Westerberg
2023-08-01 5:35 ` Sanjay R Mehta
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox