On Mon, Feb 28, 2022 at 1:55 AM Dave Airlie <airlied@xxxxxxxxx> wrote: > > On Sat, 26 Feb 2022 at 04:35, Alex Deucher <alexander.deucher@xxxxxxx> wrote: > > > > Hi Dave, Daniel, > > > > New stuff for 5.18. > > > > The following changes since commit b63c54d978236dd6014cf2ffba96d626e97c915c: > > > > drm/amdkfd: Use proper enum in pm_unmap_queues_v9() (2022-02-17 15:59:06 -0500) > > > > are available in the Git repository at: > > > > https://gitlab.freedesktop.org/agd5f/linux.git tags/amd-drm-next-5.18-2022-02-25 > > > > for you to fetch changes up to 111aeed25ec6bf4d5b4a7b4cb5654f002ba9f795: > > > > drm/amdgpu: add gfxoff support for smu 13.0.5 (2022-02-25 11:51:18 -0500) > > > > ---------------------------------------------------------------- > > amd-drm-next-5.18-2022-02-25: > > > > amdgpu: > > - Raven2 suspend/resume fix > > - SDMA 5.2.6 updates > > - VCN 3.1.2 updates > > - SMU 13.0.5 updates > > - DCN 3.1.5 updates > > - Virtual display fixes > > - SMU code cleanup > > - Harvest fixes > > - Expose benchmark tests via debugfs > > - Drop no longer relevant gart aperture tests > > - More RAS restructuring > > - W=1 fixes > > - PSR rework > > - DP/VGA adapter fixes > > - DP MST fixes > > - GPUVM eviction fix > > - GPU reset debugfs register dumping support > > (this time keeping cc). > > ^ this seems to conflict with the removal of reset_sem or something in > that area. > > Can you trial merge this to drm-next and send a fixup patch I should > apply with it? reset_sem moved from adev->reset_sem to adev->reset_domain->sem. See the attached diff. I also pushed a sample merge if that is helpful: https://gitlab.freedesktop.org/agd5f/linux/-/commits/drm-next-amd-drm-next-merge-5.18 Thanks! Alex > > Dave.
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c index dfeed6410f79..426b63e4f1f6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c @@ -1651,23 +1651,23 @@ static ssize_t amdgpu_reset_dump_register_list_read(struct file *f, return 0; memset(reg_offset, 0, 12); - ret = down_read_killable(&adev->reset_sem); + ret = down_read_killable(&adev->reset_domain->sem); if (ret) return ret; for (i = 0; i < adev->num_regs; i++) { sprintf(reg_offset, "0x%x\n", adev->reset_dump_reg_list[i]); - up_read(&adev->reset_sem); + up_read(&adev->reset_domain->sem); if (copy_to_user(buf + len, reg_offset, strlen(reg_offset))) return -EFAULT; len += strlen(reg_offset); - ret = down_read_killable(&adev->reset_sem); + ret = down_read_killable(&adev->reset_domain->sem); if (ret) return ret; } - up_read(&adev->reset_sem); + up_read(&adev->reset_domain->sem); *pos += len; return len; @@ -1699,13 +1699,13 @@ static ssize_t amdgpu_reset_dump_register_list_write(struct file *f, i++; } while (len < size); - ret = down_write_killable(&adev->reset_sem); + ret = down_write_killable(&adev->reset_domain->sem); if (ret) goto error_free; swap(adev->reset_dump_reg_list, tmp); adev->num_regs = i; - up_write(&adev->reset_sem); + up_write(&adev->reset_domain->sem); ret = size; error_free: diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 5396a9f1865f..ca854626a108 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4721,7 +4721,7 @@ static int amdgpu_reset_reg_dumps(struct amdgpu_device *adev) uint32_t reg_value; int i; - lockdep_assert_held(&adev->reset_sem); + lockdep_assert_held(&adev->reset_domain->sem); dump_stack(); for (i = 0; i < adev->num_regs; i++) {