diff mbox series

[V3,SRU,J/OEM-5.17] drm/amd/display: No display after resume from WB/CB

Message ID 20230103142518.73974-1-koba.ko@canonical.com
State New
Headers show
Series [V3,SRU,J/OEM-5.17] drm/amd/display: No display after resume from WB/CB | expand

Commit Message

Koba Ko Jan. 3, 2023, 2:25 p.m. UTC
From: Tsung-hua Lin <Tsung-hua.Lin@amd.com>

BugLink: https://bugs.launchpad.net/bugs/1999836

[why]
First MST sideband message returns AUX_RET_ERROR_HPD_DISCON
on certain intel platform. Aux transaction considered failure
if HPD unexpected pulled low. The actual aux transaction success
in such case, hence do not return error.

[how]
Not returning error when AUX_RET_ERROR_HPD_DISCON detected
on the first sideband message.

v2: squash in fix (Alex)

Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
Acked-by: Brian Chang <Brian.Chang@amd.com>
Signed-off-by: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 503dc81c32b7138b55133ea2146a6b850155098d)
Signed-off-by: Koba Ko <koba.ko@canonical.com>
~~~
V3: clean cherry-pick for J/OEM-5.17
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 +++++++++++++++++++
 1 file changed, 36 insertions(+)

Comments

Timo Aaltonen Jan. 3, 2023, 2:38 p.m. UTC | #1
Koba Ko kirjoitti 3.1.2023 klo 16.25:
> From: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1999836
> 
> [why]
> First MST sideband message returns AUX_RET_ERROR_HPD_DISCON
> on certain intel platform. Aux transaction considered failure
> if HPD unexpected pulled low. The actual aux transaction success
> in such case, hence do not return error.
> 
> [how]
> Not returning error when AUX_RET_ERROR_HPD_DISCON detected
> on the first sideband message.
> 
> v2: squash in fix (Alex)
> 
> Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
> Acked-by: Brian Chang <Brian.Chang@amd.com>
> Signed-off-by: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> (cherry picked from commit 503dc81c32b7138b55133ea2146a6b850155098d)
> Signed-off-by: Koba Ko <koba.ko@canonical.com>
> ~~~
> V3: clean cherry-pick for J/OEM-5.17
> ---
>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 +++++++++++++++++++
>   1 file changed, 36 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 023ab596c6ba7..b7875c6c28c8f 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1299,6 +1299,42 @@ static const struct dmi_system_id hpd_disconnect_quirk_table[] = {
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
>   		},
>   	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
> +		},
> +	},
>   	{}
>   };
>   

as replied on the other thread already, this is essentially what I 
applied manually
Stefan Bader Jan. 12, 2023, 8:16 a.m. UTC | #2
On 03.01.23 15:25, Koba Ko wrote:
> From: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1999836
> 
> [why]
> First MST sideband message returns AUX_RET_ERROR_HPD_DISCON
> on certain intel platform. Aux transaction considered failure
> if HPD unexpected pulled low. The actual aux transaction success
> in such case, hence do not return error.
> 
> [how]
> Not returning error when AUX_RET_ERROR_HPD_DISCON detected
> on the first sideband message.
> 
> v2: squash in fix (Alex)
> 
> Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
> Acked-by: Brian Chang <Brian.Chang@amd.com>
> Signed-off-by: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> (cherry picked from commit 503dc81c32b7138b55133ea2146a6b850155098d)
> Signed-off-by: Koba Ko <koba.ko@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> ~~~
> V3: clean cherry-pick for J/OEM-5.17
> ---

Note that this will potentially be missed by others since it is rather unclear 
whether you meant jammy:linux-oem-5.17 or jammy:linux AND jammy:linux-oem-5.17...

-Stefan

>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 +++++++++++++++++++
>   1 file changed, 36 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 023ab596c6ba7..b7875c6c28c8f 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1299,6 +1299,42 @@ static const struct dmi_system_id hpd_disconnect_quirk_table[] = {
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
>   		},
>   	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
> +		},
> +	},
>   	{}
>   };
>
Koba Ko Jan. 12, 2023, 8:38 a.m. UTC | #3
On Thu, Jan 12, 2023 at 4:17 PM Stefan Bader <stefan.bader@canonical.com> wrote:
>
> On 03.01.23 15:25, Koba Ko wrote:
> > From: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> >
> > BugLink: https://bugs.launchpad.net/bugs/1999836
> >
> > [why]
> > First MST sideband message returns AUX_RET_ERROR_HPD_DISCON
> > on certain intel platform. Aux transaction considered failure
> > if HPD unexpected pulled low. The actual aux transaction success
> > in such case, hence do not return error.
> >
> > [how]
> > Not returning error when AUX_RET_ERROR_HPD_DISCON detected
> > on the first sideband message.
> >
> > v2: squash in fix (Alex)
> >
> > Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
> > Acked-by: Brian Chang <Brian.Chang@amd.com>
> > Signed-off-by: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> > Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> > Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> > (cherry picked from commit 503dc81c32b7138b55133ea2146a6b850155098d)
> > Signed-off-by: Koba Ko <koba.ko@canonical.com>
> Acked-by: Stefan Bader <stefan.bader@canonical.com>
> > ~~~
> > V3: clean cherry-pick for J/OEM-5.17
> > ---
>
> Note that this will potentially be missed by others since it is rather unclear
> whether you meant jammy:linux-oem-5.17 or jammy:linux AND jammy:linux-oem-5.17...
I meant Jammy:linux and Jammy:OEM-5.17.
next time, i will write the full name, e.g. Jammy and OEM-5.17.
> -Stefan
>
> >   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 +++++++++++++++++++
> >   1 file changed, 36 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > index 023ab596c6ba7..b7875c6c28c8f 100644
> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > @@ -1299,6 +1299,42 @@ static const struct dmi_system_id hpd_disconnect_quirk_table[] = {
> >                       DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
> >               },
> >       },
> > +     {
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"),
> > +             },
> > +     },
> > +     {
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
> > +             },
> > +     },
> > +     {
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"),
> > +             },
> > +     },
> > +     {
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
> > +             },
> > +     },
> > +     {
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"),
> > +             },
> > +     },
> > +     {
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
> > +             },
> > +     },
> >       {}
> >   };
> >
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Luke Nowakowski-Krijger Jan. 17, 2023, 9:30 p.m. UTC | #4
Assuming this is the v3 for this patch from the
"[PATCH 0/4 V2][SRU][K/J/OEM-6.0/OEM-5.17] Fix SUT can't displayed after
resume from WB/CB with dGFX installed(FR:6/10)[RX6300][RX6500]"
patch series.

Acked-by: Luke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com>

On Tue, Jan 3, 2023 at 6:25 AM Koba Ko <koba.ko@canonical.com> wrote:

> From: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
>
> BugLink: https://bugs.launchpad.net/bugs/1999836
>
> [why]
> First MST sideband message returns AUX_RET_ERROR_HPD_DISCON
> on certain intel platform. Aux transaction considered failure
> if HPD unexpected pulled low. The actual aux transaction success
> in such case, hence do not return error.
>
> [how]
> Not returning error when AUX_RET_ERROR_HPD_DISCON detected
> on the first sideband message.
>
> v2: squash in fix (Alex)
>
> Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
> Acked-by: Brian Chang <Brian.Chang@amd.com>
> Signed-off-by: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> (cherry picked from commit 503dc81c32b7138b55133ea2146a6b850155098d)
> Signed-off-by: Koba Ko <koba.ko@canonical.com>
> ~~~
> V3: clean cherry-pick for J/OEM-5.17
> ---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 +++++++++++++++++++
>  1 file changed, 36 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 023ab596c6ba7..b7875c6c28c8f 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1299,6 +1299,42 @@ static const struct dmi_system_id
> hpd_disconnect_quirk_table[] = {
>                         DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
>                 },
>         },
> +       {
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus
> 7010"),
> +               },
> +       },
> +       {
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
> +               },
> +       },
> +       {
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus
> 7010"),
> +               },
> +       },
> +       {
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
> +               },
> +       },
> +       {
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus
> 7010"),
> +               },
> +       },
> +       {
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
> +               },
> +       },
>         {}
>  };
>
> --
> 2.25.1
>
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
Stefan Bader Jan. 30, 2023, 4:01 p.m. UTC | #5
On 03.01.23 15:25, Koba Ko wrote:
> From: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1999836
> 
> [why]
> First MST sideband message returns AUX_RET_ERROR_HPD_DISCON
> on certain intel platform. Aux transaction considered failure
> if HPD unexpected pulled low. The actual aux transaction success
> in such case, hence do not return error.
> 
> [how]
> Not returning error when AUX_RET_ERROR_HPD_DISCON detected
> on the first sideband message.
> 
> v2: squash in fix (Alex)
> 
> Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
> Acked-by: Brian Chang <Brian.Chang@amd.com>
> Signed-off-by: Tsung-hua Lin <Tsung-hua.Lin@amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> (cherry picked from commit 503dc81c32b7138b55133ea2146a6b850155098d)
> Signed-off-by: Koba Ko <koba.ko@canonical.com>
> ~~~
> V3: clean cherry-pick for J/OEM-5.17
> ---

Not sure how people managed to do this but this commit seems to appear in the 
upstream log history twice:

503dc81c32b7 drm/amd/display: No display after resume from WB/CB
a6e1775da04a drm/amd/display: No display after resume from WB/CB

It is now already applied via stable referring to the a6... SHA1. Also there was 
a v2 which first was NACKed and then ACKed again which makes this even more 
confusing.

-Stefan

>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 +++++++++++++++++++
>   1 file changed, 36 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 023ab596c6ba7..b7875c6c28c8f 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1299,6 +1299,42 @@ static const struct dmi_system_id hpd_disconnect_quirk_table[] = {
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
>   		},
>   	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"),
> +		},
> +	},
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
> +		},
> +	},
>   	{}
>   };
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 023ab596c6ba7..b7875c6c28c8f 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -1299,6 +1299,42 @@  static const struct dmi_system_id hpd_disconnect_quirk_table[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
 		},
 	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"),
+		},
+	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
+		},
+	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"),
+		},
+	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
+		},
+	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"),
+		},
+	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
+		},
+	},
 	{}
 };