Re: [PATCH] drm/amdgpu: rework resume handling for display (v2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Sasha's backport helper bot ]

Hi,

Found matching upstream commit: 73dae652dcac776296890da215ee7dec357a1032


Status in newer kernel trees:
6.12.y | Not found

Note: The patch differs from the upstream commit:
---
1:  73dae652dcac7 ! 1:  bcf8cb2c1f830 drm/amdgpu: rework resume handling for display (v2)
    @@ Commit message
     
         v2: fix fence irq resume ordering
     
    +    Backport to 6.12 and older kernels
    +
         Reviewed-by: Christian König <christian.koenig@xxxxxxx>
         Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
         Cc: stable@xxxxxxxxxxxxxxx # 6.11.x
    +    (cherry picked from commit 73dae652dcac776296890da215ee7dec357a1032)
     
      ## drivers/gpu/drm/amd/amdgpu/amdgpu_device.c ##
     @@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: static int amdgpu_device_ip_resume_phase1(struct amdgpu_device *adev)
    @@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: static int amdgpu_device_ip_resume_p
     +		    adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE ||
      		    adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP)
      			continue;
    - 		r = amdgpu_ip_block_resume(&adev->ip_blocks[i]);
    + 		r = adev->ip_blocks[i].version->funcs->resume(adev);
     @@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: static int amdgpu_device_ip_resume_phase2(struct amdgpu_device *adev)
      	return 0;
      }
    @@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: static int amdgpu_device_ip_resume_p
     +		if (!adev->ip_blocks[i].status.valid || adev->ip_blocks[i].status.hw)
     +			continue;
     +		if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE) {
    -+			r = amdgpu_ip_block_resume(&adev->ip_blocks[i]);
    ++			r = adev->ip_blocks[i].version->funcs->resume(adev);
     +			if (r)
     +				return r;
     +		}
    @@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: static int amdgpu_device_ip_resume(s
      	return r;
      }
      
    -@@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: int amdgpu_device_resume(struct drm_device *dev, bool notify_clients)
    +@@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: int amdgpu_device_resume(struct drm_device *dev, bool fbcon)
      		dev_err(adev->dev, "amdgpu_device_ip_resume failed (%d).\n", r);
      		goto exit;
      	}
    @@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: int amdgpu_device_resume(struct drm_
      
      	if (!adev->in_s0ix) {
      		r = amdgpu_amdkfd_resume(adev, adev->in_runpm);
    -@@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: int amdgpu_device_reinit_after_reset(struct amdgpu_reset_context *reset_context)
    +@@ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: int amdgpu_do_asic_reset(struct list_head *device_list_handle,
      				if (tmp_adev->mman.buffer_funcs_ring->sched.ready)
      					amdgpu_ttm_set_buffer_funcs_status(tmp_adev, true);
      
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.12.y       |  Success    |  Success   |
| stable/linux-6.6.y        |  Failed     |  N/A       |
| stable/linux-6.1.y        |  Failed     |  N/A       |
| stable/linux-5.15.y       |  Failed     |  N/A       |
| stable/linux-5.10.y       |  Failed     |  N/A       |
| stable/linux-5.4.y        |  Failed     |  N/A       |




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux