Commit 5a90c24a authored by Alex Deucher's avatar Alex Deucher
Browse files

Revert "drm/amdgpu: disable runpm if we are the primary adapter"



This reverts commit b95dc06a.

This workaround is no longer necessary.  We have a better workaround
in commit f95af4a9 ("drm/amdgpu: don't runtime suspend if there are displays attached (v3)").

Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 98bae896
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1005,7 +1005,6 @@ struct amdgpu_device {
	bool                            runpm;
	bool                            in_runpm;
	bool                            has_pr3;
	bool                            is_fw_fb;

	bool                            pm_sysfs_en;
	bool                            ucode_sysfs_en;
+0 −28
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@
#include <linux/mmu_notifier.h>
#include <linux/suspend.h>
#include <linux/cc_platform.h>
#include <linux/fb.h>

#include "amdgpu.h"
#include "amdgpu_irq.h"
@@ -1960,26 +1959,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist);

static const struct drm_driver amdgpu_kms_driver;

static bool amdgpu_is_fw_framebuffer(resource_size_t base,
				     resource_size_t size)
{
	bool found = false;
#if IS_REACHABLE(CONFIG_FB)
	struct apertures_struct *a;

	a = alloc_apertures(1);
	if (!a)
		return false;

	a->ranges[0].base = base;
	a->ranges[0].size = size;

	found = is_firmware_framebuffer(a);
	kfree(a);
#endif
	return found;
}

static void amdgpu_get_secondary_funcs(struct amdgpu_device *adev)
{
	struct pci_dev *p = NULL;
@@ -2010,8 +1989,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
	unsigned long flags = ent->driver_data;
	int ret, retry = 0, i;
	bool supports_atomic = false;
	bool is_fw_fb;
	resource_size_t base, size;

	/* skip devices which are owned by radeon */
	for (i = 0; i < ARRAY_SIZE(amdgpu_unsupported_pciidlist); i++) {
@@ -2078,10 +2055,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
	}
#endif

	base = pci_resource_start(pdev, 0);
	size = pci_resource_len(pdev, 0);
	is_fw_fb = amdgpu_is_fw_framebuffer(base, size);

	/* Get rid of things like offb */
	ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, &amdgpu_kms_driver);
	if (ret)
@@ -2094,7 +2067,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
	adev->dev  = &pdev->dev;
	adev->pdev = pdev;
	ddev = adev_to_drm(adev);
	adev->is_fw_fb = is_fw_fb;

	if (!supports_atomic)
		ddev->driver_features &= ~DRIVER_ATOMIC;
+0 −6
Original line number Diff line number Diff line
@@ -185,12 +185,6 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
			adev->runpm = true;
			break;
		}
		/* XXX: disable runtime pm if we are the primary adapter
		 * to avoid displays being re-enabled after DPMS.
		 * This needs to be sorted out and fixed properly.
		 */
		if (adev->is_fw_fb)
			adev->runpm = false;

		amdgpu_runtime_pm_quirk(adev);