2022-01-14 06:52:58

by Lukas Fink

[permalink] [raw]
Subject: [PATCH] drm/amdgpu: Fix rejecting Tahiti GPUs

eb4fd29afd4a ("drm/amdgpu: bind to any 0x1002 PCI diplay class device") added
generic bindings to amdgpu so that that it binds to all display class devices
with VID 0x1002 and then rejects those in amdgpu_pci_probe.

Unfortunately it reuses a driver_data value of 0 to detect those new bindings,
which is already used to denote CHIP_TAHITI ASICs.

The driver_data value given to those new bindings was changed in
dd0761fd24ea1 ("drm/amdgpu: set CHIP_IP_DISCOVERY as the asic type by default")
to CHIP_IP_DISCOVERY (=36), but it seems that the check in amdgpu_pci_probe
was forgotten to be changed. Therefore, it still rejects Tahiti GPUs.

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1860
Fixes: eb4fd29afd4a ("drm/amdgpu: bind to any 0x1002 PCI diplay class device")

Signed-off-by: Lukas Fink <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 9ec58bf74012..224d073022ac 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -1903,7 +1903,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
return -ENODEV;
}

- if (flags == 0) {
+ if (flags == CHIP_IP_DISCOVERY) {
DRM_INFO("Unsupported asic. Remove me when IP discovery init is in place.\n");
return -ENODEV;
}
--
2.34.1



2022-01-14 21:34:21

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] drm/amdgpu: Fix rejecting Tahiti GPUs

On Fri, Jan 14, 2022 at 3:27 AM Lukas Fink <[email protected]> wrote:
>
> eb4fd29afd4a ("drm/amdgpu: bind to any 0x1002 PCI diplay class device") added
> generic bindings to amdgpu so that that it binds to all display class devices
> with VID 0x1002 and then rejects those in amdgpu_pci_probe.
>
> Unfortunately it reuses a driver_data value of 0 to detect those new bindings,
> which is already used to denote CHIP_TAHITI ASICs.
>
> The driver_data value given to those new bindings was changed in
> dd0761fd24ea1 ("drm/amdgpu: set CHIP_IP_DISCOVERY as the asic type by default")
> to CHIP_IP_DISCOVERY (=36), but it seems that the check in amdgpu_pci_probe
> was forgotten to be changed. Therefore, it still rejects Tahiti GPUs.
>
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1860
> Fixes: eb4fd29afd4a ("drm/amdgpu: bind to any 0x1002 PCI diplay class device")
>
> Signed-off-by: Lukas Fink <[email protected]>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 9ec58bf74012..224d073022ac 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -1903,7 +1903,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
> return -ENODEV;
> }
>
> - if (flags == 0) {
> + if (flags == CHIP_IP_DISCOVERY) {
> DRM_INFO("Unsupported asic. Remove me when IP discovery init is in place.\n");
> return -ENODEV;
> }

Thanks. Actually this entire check can be removed at this point. The
IP discovery support is in place. I'll send a patch.

Alex


> --
> 2.34.1
>

2022-01-14 21:34:37

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] drm/amdgpu: Fix rejecting Tahiti GPUs

On Fri, Jan 14, 2022 at 9:56 AM Alex Deucher <[email protected]> wrote:
>
> On Fri, Jan 14, 2022 at 3:27 AM Lukas Fink <[email protected]> wrote:
> >
> > eb4fd29afd4a ("drm/amdgpu: bind to any 0x1002 PCI diplay class device") added
> > generic bindings to amdgpu so that that it binds to all display class devices
> > with VID 0x1002 and then rejects those in amdgpu_pci_probe.
> >
> > Unfortunately it reuses a driver_data value of 0 to detect those new bindings,
> > which is already used to denote CHIP_TAHITI ASICs.
> >
> > The driver_data value given to those new bindings was changed in
> > dd0761fd24ea1 ("drm/amdgpu: set CHIP_IP_DISCOVERY as the asic type by default")
> > to CHIP_IP_DISCOVERY (=36), but it seems that the check in amdgpu_pci_probe
> > was forgotten to be changed. Therefore, it still rejects Tahiti GPUs.
> >
> > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1860
> > Fixes: eb4fd29afd4a ("drm/amdgpu: bind to any 0x1002 PCI diplay class device")
> >
> > Signed-off-by: Lukas Fink <[email protected]>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> > index 9ec58bf74012..224d073022ac 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> > @@ -1903,7 +1903,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
> > return -ENODEV;
> > }
> >
> > - if (flags == 0) {
> > + if (flags == CHIP_IP_DISCOVERY) {
> > DRM_INFO("Unsupported asic. Remove me when IP discovery init is in place.\n");
> > return -ENODEV;
> > }
>
> Thanks. Actually this entire check can be removed at this point. The
> IP discovery support is in place. I'll send a patch.

Actually, I'll take this patch and then send a patch to remove it on
top of that. Thanks for fixing this.

Alex

>
> Alex
>
>
> > --
> > 2.34.1
> >