mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
drm/amdgpu: don't use pci_is_thunderbolt_attached()
It's only valid on Intel systems with the Intel VSEC. Use dev_is_removable() instead. This should do the right thing regardless of the platform. Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2925 Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
432e664e7c
commit
7b1c6263ea
@ -41,6 +41,7 @@
|
|||||||
#include <drm/drm_fb_helper.h>
|
#include <drm/drm_fb_helper.h>
|
||||||
#include <drm/drm_probe_helper.h>
|
#include <drm/drm_probe_helper.h>
|
||||||
#include <drm/amdgpu_drm.h>
|
#include <drm/amdgpu_drm.h>
|
||||||
|
#include <linux/device.h>
|
||||||
#include <linux/vgaarb.h>
|
#include <linux/vgaarb.h>
|
||||||
#include <linux/vga_switcheroo.h>
|
#include <linux/vga_switcheroo.h>
|
||||||
#include <linux/efi.h>
|
#include <linux/efi.h>
|
||||||
@ -2223,7 +2224,6 @@ out:
|
|||||||
*/
|
*/
|
||||||
static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
|
static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = adev_to_drm(adev);
|
|
||||||
struct pci_dev *parent;
|
struct pci_dev *parent;
|
||||||
int i, r;
|
int i, r;
|
||||||
bool total;
|
bool total;
|
||||||
@ -2294,7 +2294,7 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
|
|||||||
(amdgpu_is_atpx_hybrid() ||
|
(amdgpu_is_atpx_hybrid() ||
|
||||||
amdgpu_has_atpx_dgpu_power_cntl()) &&
|
amdgpu_has_atpx_dgpu_power_cntl()) &&
|
||||||
((adev->flags & AMD_IS_APU) == 0) &&
|
((adev->flags & AMD_IS_APU) == 0) &&
|
||||||
!pci_is_thunderbolt_attached(to_pci_dev(dev->dev)))
|
!dev_is_removable(&adev->pdev->dev))
|
||||||
adev->flags |= AMD_IS_PX;
|
adev->flags |= AMD_IS_PX;
|
||||||
|
|
||||||
if (!(adev->flags & AMD_IS_APU)) {
|
if (!(adev->flags & AMD_IS_APU)) {
|
||||||
@ -4142,7 +4142,7 @@ fence_driver_init:
|
|||||||
|
|
||||||
px = amdgpu_device_supports_px(ddev);
|
px = amdgpu_device_supports_px(ddev);
|
||||||
|
|
||||||
if (px || (!pci_is_thunderbolt_attached(adev->pdev) &&
|
if (px || (!dev_is_removable(&adev->pdev->dev) &&
|
||||||
apple_gmux_detect(NULL, NULL)))
|
apple_gmux_detect(NULL, NULL)))
|
||||||
vga_switcheroo_register_client(adev->pdev,
|
vga_switcheroo_register_client(adev->pdev,
|
||||||
&amdgpu_switcheroo_ops, px);
|
&amdgpu_switcheroo_ops, px);
|
||||||
@ -4292,7 +4292,7 @@ void amdgpu_device_fini_sw(struct amdgpu_device *adev)
|
|||||||
|
|
||||||
px = amdgpu_device_supports_px(adev_to_drm(adev));
|
px = amdgpu_device_supports_px(adev_to_drm(adev));
|
||||||
|
|
||||||
if (px || (!pci_is_thunderbolt_attached(adev->pdev) &&
|
if (px || (!dev_is_removable(&adev->pdev->dev) &&
|
||||||
apple_gmux_detect(NULL, NULL)))
|
apple_gmux_detect(NULL, NULL)))
|
||||||
vga_switcheroo_unregister_client(adev->pdev);
|
vga_switcheroo_unregister_client(adev->pdev);
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "nbio/nbio_2_3_offset.h"
|
#include "nbio/nbio_2_3_offset.h"
|
||||||
#include "nbio/nbio_2_3_sh_mask.h"
|
#include "nbio/nbio_2_3_sh_mask.h"
|
||||||
#include <uapi/linux/kfd_ioctl.h>
|
#include <uapi/linux/kfd_ioctl.h>
|
||||||
|
#include <linux/device.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
#define smnPCIE_CONFIG_CNTL 0x11180044
|
#define smnPCIE_CONFIG_CNTL 0x11180044
|
||||||
@ -361,7 +362,7 @@ static void nbio_v2_3_enable_aspm(struct amdgpu_device *adev,
|
|||||||
|
|
||||||
data |= NAVI10_PCIE__LC_L0S_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L0S_INACTIVITY__SHIFT;
|
data |= NAVI10_PCIE__LC_L0S_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L0S_INACTIVITY__SHIFT;
|
||||||
|
|
||||||
if (pci_is_thunderbolt_attached(adev->pdev))
|
if (dev_is_removable(&adev->pdev->dev))
|
||||||
data |= NAVI10_PCIE__LC_L1_INACTIVITY_TBT_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
data |= NAVI10_PCIE__LC_L1_INACTIVITY_TBT_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
||||||
else
|
else
|
||||||
data |= NAVI10_PCIE__LC_L1_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
data |= NAVI10_PCIE__LC_L1_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
||||||
@ -480,7 +481,7 @@ static void nbio_v2_3_program_aspm(struct amdgpu_device *adev)
|
|||||||
|
|
||||||
def = data = RREG32_PCIE(smnPCIE_LC_CNTL);
|
def = data = RREG32_PCIE(smnPCIE_LC_CNTL);
|
||||||
data |= NAVI10_PCIE__LC_L0S_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L0S_INACTIVITY__SHIFT;
|
data |= NAVI10_PCIE__LC_L0S_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L0S_INACTIVITY__SHIFT;
|
||||||
if (pci_is_thunderbolt_attached(adev->pdev))
|
if (dev_is_removable(&adev->pdev->dev))
|
||||||
data |= NAVI10_PCIE__LC_L1_INACTIVITY_TBT_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
data |= NAVI10_PCIE__LC_L1_INACTIVITY_TBT_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
||||||
else
|
else
|
||||||
data |= NAVI10_PCIE__LC_L1_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
data |= NAVI10_PCIE__LC_L1_INACTIVITY_DEFAULT << PCIE_LC_CNTL__LC_L1_INACTIVITY__SHIFT;
|
||||||
|
Loading…
Reference in New Issue
Block a user