Message ID | 1689185779-25648-1-git-send-email-sanju.mehta@amd.com |
---|---|
State | Superseded |
Headers | show |
Series | [V2] thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards | expand |
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
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);