int amdgpu_device_mode1_reset(struct amdgpu_device *adev);
 int amdgpu_device_link_reset(struct amdgpu_device *adev);
-bool amdgpu_device_supports_atpx(struct drm_device *dev);
-bool amdgpu_device_supports_px(struct drm_device *dev);
-bool amdgpu_device_supports_boco(struct drm_device *dev);
-bool amdgpu_device_supports_smart_shift(struct drm_device *dev);
-int amdgpu_device_supports_baco(struct drm_device *dev);
+bool amdgpu_device_supports_atpx(struct amdgpu_device *adev);
+bool amdgpu_device_supports_px(struct amdgpu_device *adev);
+bool amdgpu_device_supports_boco(struct amdgpu_device *adev);
+bool amdgpu_device_supports_smart_shift(struct amdgpu_device *adev);
+int amdgpu_device_supports_baco(struct amdgpu_device *adev);
 void amdgpu_device_detect_runtime_pm_mode(struct amdgpu_device *adev);
 bool amdgpu_device_is_peer_accessible(struct amdgpu_device *adev,
                                      struct amdgpu_device *peer_adev);
-int amdgpu_device_baco_enter(struct drm_device *dev);
-int amdgpu_device_baco_exit(struct drm_device *dev);
+int amdgpu_device_baco_enter(struct amdgpu_device *adev);
+int amdgpu_device_baco_exit(struct amdgpu_device *adev);
 
 void amdgpu_device_flush_hdp(struct amdgpu_device *adev,
                struct amdgpu_ring *ring);
                                                u8 perf_req, bool advertise);
 int amdgpu_acpi_power_shift_control(struct amdgpu_device *adev,
                                    u8 dev_state, bool drv_state);
-int amdgpu_acpi_smart_shift_update(struct drm_device *dev, enum amdgpu_ss ss_state);
+int amdgpu_acpi_smart_shift_update(struct amdgpu_device *adev,
+                                  enum amdgpu_ss ss_state);
 int amdgpu_acpi_pcie_notify_device_ready(struct amdgpu_device *adev);
 int amdgpu_acpi_get_tmr_info(struct amdgpu_device *adev, u64 *tmr_offset,
                             u64 *tmr_size);
 static inline bool amdgpu_acpi_is_power_shift_control_supported(void) { return false; }
 static inline int amdgpu_acpi_power_shift_control(struct amdgpu_device *adev,
                                                  u8 dev_state, bool drv_state) { return 0; }
-static inline int amdgpu_acpi_smart_shift_update(struct drm_device *dev,
-                                                enum amdgpu_ss ss_state) { return 0; }
+static inline int amdgpu_acpi_smart_shift_update(struct amdgpu_device *adev,
+                                                enum amdgpu_ss ss_state)
+{
+       return 0;
+}
 static inline void amdgpu_acpi_get_backlight_caps(struct amdgpu_dm_backlight_caps *caps) { }
 #endif
 
 
 
 static void amdgpu_device_get_pcie_info(struct amdgpu_device *adev);
 
-
 /**
  * amdgpu_device_supports_px - Is the device a dGPU with ATPX power control
  *
- * @dev: drm_device pointer
+ * @adev: amdgpu device pointer
  *
  * Returns true if the device is a dGPU with ATPX power control,
  * otherwise return false.
  */
-bool amdgpu_device_supports_px(struct drm_device *dev)
+bool amdgpu_device_supports_px(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = drm_to_adev(dev);
-
        if ((adev->flags & AMD_IS_PX) && !amdgpu_is_atpx_hybrid())
                return true;
        return false;
 /**
  * amdgpu_device_supports_boco - Is the device a dGPU with ACPI power resources
  *
- * @dev: drm_device pointer
+ * @adev: amdgpu device pointer
  *
  * Returns true if the device is a dGPU with ACPI power control,
  * otherwise return false.
  */
-bool amdgpu_device_supports_boco(struct drm_device *dev)
+bool amdgpu_device_supports_boco(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = drm_to_adev(dev);
-
        if (!IS_ENABLED(CONFIG_HOTPLUG_PCI_PCIE))
                return false;
 
 /**
  * amdgpu_device_supports_baco - Does the device support BACO
  *
- * @dev: drm_device pointer
+ * @adev: amdgpu device pointer
  *
  * Return:
  * 1 if the device supports BACO;
  * 3 if the device supports MACO (only works if BACO is supported)
  * otherwise return 0.
  */
-int amdgpu_device_supports_baco(struct drm_device *dev)
+int amdgpu_device_supports_baco(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = drm_to_adev(dev);
-
        return amdgpu_asic_supports_baco(adev);
 }
 
 void amdgpu_device_detect_runtime_pm_mode(struct amdgpu_device *adev)
 {
-       struct drm_device *dev;
        int bamaco_support;
 
-       dev = adev_to_drm(adev);
-
        adev->pm.rpm_mode = AMDGPU_RUNPM_NONE;
-       bamaco_support = amdgpu_device_supports_baco(dev);
+       bamaco_support = amdgpu_device_supports_baco(adev);
 
        switch (amdgpu_runtime_pm) {
        case 2:
                break;
        case -1:
        case -2:
-               if (amdgpu_device_supports_px(dev)) { /* enable PX as runtime mode */
+               if (amdgpu_device_supports_px(adev)) {
+                       /* enable PX as runtime mode */
                        adev->pm.rpm_mode = AMDGPU_RUNPM_PX;
                        dev_info(adev->dev, "Using ATPX for runtime pm\n");
-               } else if (amdgpu_device_supports_boco(dev)) { /* enable boco as runtime mode */
+               } else if (amdgpu_device_supports_boco(adev)) {
+                       /* enable boco as runtime mode */
                        adev->pm.rpm_mode = AMDGPU_RUNPM_BOCO;
                        dev_info(adev->dev, "Using BOCO for runtime pm\n");
                } else {
  * amdgpu_device_supports_smart_shift - Is the device dGPU with
  * smart shift support
  *
- * @dev: drm_device pointer
+ * @adev: amdgpu device pointer
  *
  * Returns true if the device is a dGPU with Smart Shift support,
  * otherwise returns false.
  */
-bool amdgpu_device_supports_smart_shift(struct drm_device *dev)
+bool amdgpu_device_supports_smart_shift(struct amdgpu_device *adev)
 {
-       return (amdgpu_device_supports_boco(dev) &&
+       return (amdgpu_device_supports_boco(adev) &&
                amdgpu_acpi_is_power_shift_control_supported());
 }
 
        struct drm_device *dev = pci_get_drvdata(pdev);
        int r;
 
-       if (amdgpu_device_supports_px(dev) && state == VGA_SWITCHEROO_OFF)
+       if (amdgpu_device_supports_px(drm_to_adev(dev)) &&
+           state == VGA_SWITCHEROO_OFF)
                return;
 
        if (state == VGA_SWITCHEROO_ON) {
        if (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO) {
 
                task_barrier_enter(&hive->tb);
-               adev->asic_reset_res = amdgpu_device_baco_enter(adev_to_drm(adev));
+               adev->asic_reset_res = amdgpu_device_baco_enter(adev);
 
                if (adev->asic_reset_res)
                        goto fail;
 
                task_barrier_exit(&hive->tb);
-               adev->asic_reset_res = amdgpu_device_baco_exit(adev_to_drm(adev));
+               adev->asic_reset_res = amdgpu_device_baco_exit(adev);
 
                if (adev->asic_reset_res)
                        goto fail;
 int amdgpu_device_init(struct amdgpu_device *adev,
                       uint32_t flags)
 {
-       struct drm_device *ddev = adev_to_drm(adev);
        struct pci_dev *pdev = adev->pdev;
        int r, i;
        bool px = false;
        if ((adev->pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA)
                vga_client_register(adev->pdev, amdgpu_device_vga_set_decode);
 
-       px = amdgpu_device_supports_px(ddev);
+       px = amdgpu_device_supports_px(adev);
 
        if (px || (!dev_is_removable(&adev->pdev->dev) &&
                                apple_gmux_detect(NULL, NULL)))
        kfree(adev->xcp_mgr);
        adev->xcp_mgr = NULL;
 
-       px = amdgpu_device_supports_px(adev_to_drm(adev));
+       px = amdgpu_device_supports_px(adev);
 
        if (px || (!dev_is_removable(&adev->pdev->dev) &&
                                apple_gmux_detect(NULL, NULL)))
                        return r;
        }
 
-       if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DEV_D3))
+       if (amdgpu_acpi_smart_shift_update(adev, AMDGPU_SS_DEV_D3))
                dev_warn(adev->dev, "smart shift update failed\n");
 
        if (notify_clients)
        }
        adev->in_suspend = false;
 
-       if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DEV_D0))
+       if (amdgpu_acpi_smart_shift_update(adev, AMDGPU_SS_DEV_D0))
                dev_warn(adev->dev, "smart shift update failed\n");
 
        return 0;
                        amdgpu_vf_error_put(tmp_adev, AMDGIM_ERROR_VF_GPU_RESET_FAIL, 0, r);
                } else {
                        dev_info(tmp_adev->dev, "GPU reset(%d) succeeded!\n", atomic_read(&tmp_adev->gpu_reset_counter));
-                       if (amdgpu_acpi_smart_shift_update(adev_to_drm(tmp_adev), AMDGPU_SS_DEV_D0))
+                       if (amdgpu_acpi_smart_shift_update(tmp_adev,
+                                                          AMDGPU_SS_DEV_D0))
                                dev_warn(tmp_adev->dev,
                                         "smart shift update failed\n");
                }
 #endif
 }
 
-int amdgpu_device_baco_enter(struct drm_device *dev)
+int amdgpu_device_baco_enter(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_ras *ras = amdgpu_ras_get_context(adev);
 
-       if (!amdgpu_device_supports_baco(dev))
+       if (!amdgpu_device_supports_baco(adev))
                return -ENOTSUPP;
 
        if (ras && adev->ras_enabled &&
        return amdgpu_dpm_baco_enter(adev);
 }
 
-int amdgpu_device_baco_exit(struct drm_device *dev)
+int amdgpu_device_baco_exit(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_ras *ras = amdgpu_ras_get_context(adev);
        int ret = 0;
 
-       if (!amdgpu_device_supports_baco(dev))
+       if (!amdgpu_device_supports_baco(adev))
                return -ENOTSUPP;
 
        ret = amdgpu_dpm_baco_exit(adev);
 
 
        if (adev->pm.rpm_mode != AMDGPU_RUNPM_NONE) {
                /* only need to skip on ATPX */
-               if (amdgpu_device_supports_px(ddev))
+               if (amdgpu_device_supports_px(adev))
                        dev_pm_set_driver_flags(ddev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
                /* we want direct complete for BOCO */
-               if (amdgpu_device_supports_boco(ddev))
+               if (amdgpu_device_supports_boco(adev))
                        dev_pm_set_driver_flags(ddev->dev, DPM_FLAG_SMART_PREPARE |
                                                DPM_FLAG_SMART_SUSPEND |
                                                DPM_FLAG_MAY_SKIP_RESUME);
                 * into D0 state. Then there will be a PMFW-aware D-state
                 * transition(D0->D3) on runpm suspend.
                 */
-               if (amdgpu_device_supports_baco(ddev) &&
+               if (amdgpu_device_supports_baco(adev) &&
                    !(adev->flags & AMD_IS_APU) &&
-                   (adev->asic_type >= CHIP_NAVI10))
+                   adev->asic_type >= CHIP_NAVI10)
                        amdgpu_get_secondary_funcs(adev);
        }
 
        /* Return a positive number here so
         * DPM_FLAG_SMART_SUSPEND works properly
         */
-       if (amdgpu_device_supports_boco(drm_dev) &&
-           pm_runtime_suspended(dev))
+       if (amdgpu_device_supports_boco(adev) && pm_runtime_suspended(dev))
                return 1;
 
        /* if we will not support s3 or s2i for the device
                /* nothing to do */
        } else if ((adev->pm.rpm_mode == AMDGPU_RUNPM_BACO) ||
                        (adev->pm.rpm_mode == AMDGPU_RUNPM_BAMACO)) {
-               amdgpu_device_baco_enter(drm_dev);
+               amdgpu_device_baco_enter(adev);
        }
 
        dev_dbg(&pdev->dev, "asic/device is runtime suspended\n");
                pci_set_master(pdev);
        } else if ((adev->pm.rpm_mode == AMDGPU_RUNPM_BACO) ||
                        (adev->pm.rpm_mode == AMDGPU_RUNPM_BAMACO)) {
-               amdgpu_device_baco_exit(drm_dev);
+               amdgpu_device_baco_exit(adev);
        }
        ret = amdgpu_device_resume(drm_dev, false);
        if (ret) {