mbox series

[0/2,V2,SRU,U/J/OEM-5.14/OEM-5.17] UBUNTU: SAUCE: Fix WD22TB4 suspend and resume, two external monitor can not output

Message ID 20220621053401.22009-1-koba.ko@canonical.com
Headers show
Series UBUNTU: SAUCE: Fix WD22TB4 suspend and resume, two external monitor can not output | expand

Message

Koba Ko June 21, 2022, 5:33 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1979267

[Impact]
Resume SUT from suspend mode, found external monitors can not output, but display setting can recognize external monitors.

[Fix]
The WD22TB4 Thunderbolt dock at least will revert its DP_MAX_LINK_RATE
from HBR3 to HBR2 after system suspend/resume if the DP_DP13_DPCD_REV
registers are not read subsequently also as required.

Fix this by reading DP_DP13_DPCD_REV registers as well, matching what is
done during connector detection. While at it also fix up the same call
in drm_dp_mst_dump_topology().

[Test Case]
1. Connect two 4K external monitor to WD22TB4.
2. Put SUT into suspend mode and wait 30sec
3. Resume SUT from suspend mode, found external monitors can not output.

[Where problems could occur]
low

V2: Add "UBUNTU: SAUCE:"

Imre Deak (1):
  drm/dp/mst: Read the extended DPCD capabilities during system resume

 drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Tim Gardner June 21, 2022, 2 p.m. UTC | #1
On 6/20/22 23:33, Koba Ko wrote:
> BugLink: https://bugs.launchpad.net/bugs/1979267
> 
> [Impact]
> Resume SUT from suspend mode, found external monitors can not output, but display setting can recognize external monitors.
> 
> [Fix]
> The WD22TB4 Thunderbolt dock at least will revert its DP_MAX_LINK_RATE
> from HBR3 to HBR2 after system suspend/resume if the DP_DP13_DPCD_REV
> registers are not read subsequently also as required.
> 
> Fix this by reading DP_DP13_DPCD_REV registers as well, matching what is
> done during connector detection. While at it also fix up the same call
> in drm_dp_mst_dump_topology().
> 
> [Test Case]
> 1. Connect two 4K external monitor to WD22TB4.
> 2. Put SUT into suspend mode and wait 30sec
> 3. Resume SUT from suspend mode, found external monitors can not output.
> 
> [Where problems could occur]
> low
> 
> V2: Add "UBUNTU: SAUCE:"
> 
> Imre Deak (1):
>    drm/dp/mst: Read the extended DPCD capabilities during system resume
> 
>   drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
> 

For Jammy/linux I think we ought to wait until these patches are at 
least merged to linux-next.

rtg
Timo Aaltonen July 1, 2022, 1:30 p.m. UTC | #2
Koba Ko kirjoitti 21.6.2022 klo 8.33:
> BugLink: https://bugs.launchpad.net/bugs/1979267
> 
> [Impact]
> Resume SUT from suspend mode, found external monitors can not output, but display setting can recognize external monitors.
> 
> [Fix]
> The WD22TB4 Thunderbolt dock at least will revert its DP_MAX_LINK_RATE
> from HBR3 to HBR2 after system suspend/resume if the DP_DP13_DPCD_REV
> registers are not read subsequently also as required.
> 
> Fix this by reading DP_DP13_DPCD_REV registers as well, matching what is
> done during connector detection. While at it also fix up the same call
> in drm_dp_mst_dump_topology().
> 
> [Test Case]
> 1. Connect two 4K external monitor to WD22TB4.
> 2. Put SUT into suspend mode and wait 30sec
> 3. Resume SUT from suspend mode, found external monitors can not output.
> 
> [Where problems could occur]
> low
> 
> V2: Add "UBUNTU: SAUCE:"
> 
> Imre Deak (1):
>    drm/dp/mst: Read the extended DPCD capabilities during system resume
> 
>   drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
> 
applied to oem-kernels, thanks
Timo Aaltonen July 1, 2022, 1:35 p.m. UTC | #3
Timo Aaltonen kirjoitti 1.7.2022 klo 16.30:
> Koba Ko kirjoitti 21.6.2022 klo 8.33:
>> BugLink: https://bugs.launchpad.net/bugs/1979267
>>
>> [Impact]
>> Resume SUT from suspend mode, found external monitors can not output, 
>> but display setting can recognize external monitors.
>>
>> [Fix]
>> The WD22TB4 Thunderbolt dock at least will revert its DP_MAX_LINK_RATE
>> from HBR3 to HBR2 after system suspend/resume if the DP_DP13_DPCD_REV
>> registers are not read subsequently also as required.
>>
>> Fix this by reading DP_DP13_DPCD_REV registers as well, matching what is
>> done during connector detection. While at it also fix up the same call
>> in drm_dp_mst_dump_topology().
>>
>> [Test Case]
>> 1. Connect two 4K external monitor to WD22TB4.
>> 2. Put SUT into suspend mode and wait 30sec
>> 3. Resume SUT from suspend mode, found external monitors can not output.
>>
>> [Where problems could occur]
>> low
>>
>> V2: Add "UBUNTU: SAUCE:"
>>
>> Imre Deak (1):
>>    drm/dp/mst: Read the extended DPCD capabilities during system resume
>>
>>   drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++-----
>>   1 file changed, 2 insertions(+), 5 deletions(-)
>>
> applied to oem-kernels, thanks
> 

and now with a fixed Subject
Koba Ko July 7, 2022, 5:29 a.m. UTC | #4
On Tue, Jun 21, 2022 at 10:00 PM Tim Gardner <tim.gardner@canonical.com> wrote:
>
> On 6/20/22 23:33, Koba Ko wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1979267
> >
> > [Impact]
> > Resume SUT from suspend mode, found external monitors can not output, but display setting can recognize external monitors.
> >
> > [Fix]
> > The WD22TB4 Thunderbolt dock at least will revert its DP_MAX_LINK_RATE
> > from HBR3 to HBR2 after system suspend/resume if the DP_DP13_DPCD_REV
> > registers are not read subsequently also as required.
> >
> > Fix this by reading DP_DP13_DPCD_REV registers as well, matching what is
> > done during connector detection. While at it also fix up the same call
> > in drm_dp_mst_dump_topology().
> >
> > [Test Case]
> > 1. Connect two 4K external monitor to WD22TB4.
> > 2. Put SUT into suspend mode and wait 30sec
> > 3. Resume SUT from suspend mode, found external monitors can not output.
> >
> > [Where problems could occur]
> > low
> >
> > V2: Add "UBUNTU: SAUCE:"
> >
> > Imre Deak (1):
> >    drm/dp/mst: Read the extended DPCD capabilities during system resume
> >
> >   drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++-----
> >   1 file changed, 2 insertions(+), 5 deletions(-)
> >
>
> For Jammy/linux I think we ought to wait until these patches are at
> least merged to linux-next.
It has landed on linux-next
7a710a8bc909313951eb9252d8419924c771d7c2) drm/dp/mst: Read the
extended DPCD capabilities during system resume

Should I re-SRU?

>
> rtg
>
> --
> -----------
> Tim Gardner
> Canonical, Inc
Tim Gardner July 7, 2022, 1 p.m. UTC | #5
On 7/6/22 23:29, Koba Ko wrote:
> On Tue, Jun 21, 2022 at 10:00 PM Tim Gardner <tim.gardner@canonical.com> wrote:
>>
>> On 6/20/22 23:33, Koba Ko wrote:
>>> BugLink: https://bugs.launchpad.net/bugs/1979267
>>>
>>> [Impact]
>>> Resume SUT from suspend mode, found external monitors can not output, but display setting can recognize external monitors.
>>>
>>> [Fix]
>>> The WD22TB4 Thunderbolt dock at least will revert its DP_MAX_LINK_RATE
>>> from HBR3 to HBR2 after system suspend/resume if the DP_DP13_DPCD_REV
>>> registers are not read subsequently also as required.
>>>
>>> Fix this by reading DP_DP13_DPCD_REV registers as well, matching what is
>>> done during connector detection. While at it also fix up the same call
>>> in drm_dp_mst_dump_topology().
>>>
>>> [Test Case]
>>> 1. Connect two 4K external monitor to WD22TB4.
>>> 2. Put SUT into suspend mode and wait 30sec
>>> 3. Resume SUT from suspend mode, found external monitors can not output.
>>>
>>> [Where problems could occur]
>>> low
>>>
>>> V2: Add "UBUNTU: SAUCE:"
>>>
>>> Imre Deak (1):
>>>     drm/dp/mst: Read the extended DPCD capabilities during system resume
>>>
>>>    drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++-----
>>>    1 file changed, 2 insertions(+), 5 deletions(-)
>>>
>>
>> For Jammy/linux I think we ought to wait until these patches are at
>> least merged to linux-next.
> It has landed on linux-next
> 7a710a8bc909313951eb9252d8419924c771d7c2) drm/dp/mst: Read the
> extended DPCD capabilities during system resume
> 
> Should I re-SRU?
> 
>>
>> rtg
>>
>> --
>> -----------
>> Tim Gardner
>> Canonical, Inc
Acked-by: Tim Gardner <tim.gardner@canonical.com>