|
@@ -30,6 +30,7 @@
|
|
|
#include <drm/drmP.h>
|
|
|
#include <drm/drm_crtc_helper.h>
|
|
|
#include <drm/radeon_drm.h>
|
|
|
+#include <linux/pm_runtime.h>
|
|
|
#include <linux/vgaarb.h>
|
|
|
#include <linux/vga_switcheroo.h>
|
|
|
#include <linux/efi.h>
|
|
@@ -1505,6 +1506,9 @@ int radeon_device_init(struct radeon_device *rdev,
|
|
|
return 0;
|
|
|
|
|
|
failed:
|
|
|
+ /* balance pm_runtime_get_sync() in radeon_driver_unload_kms() */
|
|
|
+ if (radeon_is_px(ddev))
|
|
|
+ pm_runtime_put_noidle(ddev->dev);
|
|
|
if (runtime)
|
|
|
vga_switcheroo_fini_domain_pm_ops(rdev->dev);
|
|
|
return r;
|