Re: [PATCH] amdgpu: don't treat BAR resize failure due to unsupported requested size as an error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 09.12.20 um 19:55 schrieb Darren Salt:
On the resize attempt failing with -EINVAL, instead report an informational
message indicating that the requested BAR size is not listed as supported by
the VBIOS.

Without this, as I have an RX 5600 XT which lists only 256MB, 512MB and
1024MB as supported, I see
     [drm:amdgpu_device_resize_fb_bar] *ERROR* Problem resizing BAR0 (-22).

Well NAK, we just recently discussed that internally and the key point is that we should not have tried to resize things in the first place since that means a lot of churn for the PCIe subsystem.

So this is really an error and we should try to avoid it.

But the fact that you run into this in the first place is really interesting, I thought we haven't sold hardware with that configuration yet.

Regards,
Christian.


Signed-off-by: Darren Salt <devspam@xxxxxxxxxxxxxxxxx>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 355fa0057c26..d80ba03913a7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1136,6 +1136,8 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device *adev)
  	r = pci_resize_resource(adev->pdev, 0, rbar_size);
  	if (r == -ENOSPC)
  		DRM_INFO("Not enough PCI address space for a large BAR.");
+	else if (r == -EINVAL)
+		DRM_INFO("VBIOS does not support exposing all VRAM via a large BAR.");
  	else if (r && r != -ENOTSUPP)
  		DRM_ERROR("Problem resizing BAR0 (%d).", r);

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux