bool                            in_s4;
        bool                            in_s0ix;
 
-       atomic_t                        in_gpu_reset;
        enum pp_mp1_state               mp1_state;
        struct amdgpu_doorbell_index doorbell_index;
 
        return adev->gmc.tmz_enabled;
 }
 
-static inline int amdgpu_in_reset(struct amdgpu_device *adev)
-{
-       return atomic_read(&adev->in_gpu_reset);
-}
+int amdgpu_in_reset(struct amdgpu_device *adev);
+
 #endif
 
        mutex_init(&adev->mn_lock);
        mutex_init(&adev->virt.vf_errors.lock);
        hash_init(adev->mn_hash);
-       atomic_set(&adev->in_gpu_reset, 0);
        mutex_init(&adev->psp.mutex);
        mutex_init(&adev->notifier_lock);
 
 static void amdgpu_device_lock_adev(struct amdgpu_device *adev,
                                struct amdgpu_hive_info *hive)
 {
-       atomic_set(&adev->in_gpu_reset, 1);
+       atomic_set(&adev->reset_domain->in_gpu_reset, 1);
 
        if (hive) {
                down_write_nest_lock(&adev->reset_domain->sem, &hive->hive_lock);
 {
        amdgpu_vf_error_trans_all(adev);
        adev->mp1_state = PP_MP1_STATE_NONE;
-       atomic_set(&adev->in_gpu_reset, 0);
+       atomic_set(&adev->reset_domain->in_gpu_reset, 0);
        up_write(&adev->reset_domain->sem);
 }
 
        amdgpu_asic_invalidate_hdp(adev, ring);
 }
 
+int amdgpu_in_reset(struct amdgpu_device *adev)
+{
+       return atomic_read(&adev->reset_domain->in_gpu_reset);
+       }
+       
 /**
  * amdgpu_device_halt() - bring hardware to some kind of halt state
  *
 
 
        }
 
+       atomic_set(&reset_domain->in_gpu_reset, 0);
        init_rwsem(&reset_domain->sem);
 
        return reset_domain;
 
        struct workqueue_struct *wq;
        enum amdgpu_reset_domain_type type;
        struct rw_semaphore sem;
+       atomic_t in_gpu_reset;
 };
 
 
 
         * otherwise the mailbox msg will be ruined/reseted by
         * the VF FLR.
         */
-       if (atomic_cmpxchg(&adev->in_gpu_reset, 0, 1) != 0)
+       if (atomic_cmpxchg(&adev->reset_domain->in_gpu_reset, 0, 1) != 0)
                return;
 
        down_write(&adev->reset_domain->sem);
        } while (timeout > 1);
 
 flr_done:
-       atomic_set(&adev->in_gpu_reset, 0);
+       atomic_set(&adev->reset_domain->in_gpu_reset, 0);
        up_write(&adev->reset_domain->sem);
 
        /* Trigger recovery for world switch failure if no TDR */
 
         * otherwise the mailbox msg will be ruined/reseted by
         * the VF FLR.
         */
-       if (atomic_cmpxchg(&adev->in_gpu_reset, 0, 1) != 0)
+       if (atomic_cmpxchg(&adev->reset_domain->in_gpu_reset, 0, 1) != 0)
                return;
 
        down_write(&adev->reset_domain->sem);
        } while (timeout > 1);
 
 flr_done:
-       atomic_set(&adev->in_gpu_reset, 0);
+       atomic_set(&adev->reset_domain->in_gpu_reset, 0);
        up_write(&adev->reset_domain->sem);
 
        /* Trigger recovery for world switch failure if no TDR */