Re: [PATCH 3/3] drm/amdgpu: use pci_dev_is_disconnected

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

 




On 2023-01-26 04:20, Christian König wrote:
Am 25.01.23 um 18:16 schrieb vitaly.prosyak@xxxxxxx:
From: Vitaly Prosyak <vitaly.prosyak@xxxxxxx>

Added condition for pci_dev_is_disconnected and keeps
drm_dev_is_unplugged to check whether we should unmap MMIO.
Suggested by Alex regarding pci_dev_is_disconnected.
Suggested by Christian keeping drm_dev_is_unplugged.

Signed-off-by: Vitaly Prosyak <vitaly.prosyak@xxxxxxx>
Reviewed-by Alex Deucher <alexander.deucher@xxxxxxx>
Reviewed-by Christian Koenig <christian.coenig@xxxxxxx>

Did I gave my rb with this include path below???
Explicitly there was no RB, but there was a private thread which does not include this include.

Change-Id: I618c471cd398437d4ed6dec6d22be78e12683ae6
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index a10b627c8357..d3568e1ded23 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -78,6 +78,8 @@
    #include <drm/drm_drv.h>
  +#include "../../../../pci/pci.h"

That include path looks more than suspicious.

If we want to use pci_dev_is_disconnected() outside of the pci subsystem we should probably move it to include/linux/pci.h

Alright, I would drop this patch until the  It would be a separate patch to create a new:

include/linux/pci.h  with the following content:
#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_PCI)
bool pci_dev_is_disconnected(const struct pci_dev *dev)
{
    return dev->error_state == pci_channel_io_perm_failure;
}
#else
bool pci_dev_is_disconnected(const struct pci_dev *dev)
{
    return true;
}

#endif

I am not sure about enablement  of amdgpu when PCI is off in the config, but this is related to move pci_dev_is_disconnected into separate file and receive review from PCI system/.


Regards,
Christian.

+
  MODULE_FIRMWARE("amdgpu/vega10_gpu_info.bin");
  MODULE_FIRMWARE("amdgpu/vega12_gpu_info.bin");
  MODULE_FIRMWARE("amdgpu/raven_gpu_info.bin");
@@ -4031,7 +4033,8 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)
        amdgpu_gart_dummy_page_fini(adev);
  -    if (drm_dev_is_unplugged(adev_to_drm(adev)))
+    if (pci_dev_is_disconnected(adev->pdev) &&
+        drm_dev_is_unplugged(adev_to_drm(adev)))
          amdgpu_device_unmap_mmio(adev);
    }




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

  Powered by Linux