<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/amd/amdgpu, branch v5.17</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.17</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.17'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2022-03-02T23:36:43Z</updated>
<entry>
<title>drm/amdgpu: fix suspend/resume hang regression</title>
<updated>2022-03-02T23:36:43Z</updated>
<author>
<name>Qiang Yu</name>
<email>qiang.yu@amd.com</email>
</author>
<published>2022-03-01T06:11:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f1ef17011c765495c876fa75435e59eecfdc1ee4'/>
<id>urn:sha1:f1ef17011c765495c876fa75435e59eecfdc1ee4</id>
<content type='text'>
Regression has been reported that suspend/resume may hang with
the previous vm ready check commit.

So bring back the evicted list check as a temp fix.

Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1922
Fixes: c1a66c3bc425 ("drm/amdgpu: check vm ready by amdgpu_vm-&gt;evicting flag")
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Qiang Yu &lt;qiang.yu@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: check vm ready by amdgpu_vm-&gt;evicting flag</title>
<updated>2022-02-23T21:31:06Z</updated>
<author>
<name>Qiang Yu</name>
<email>qiang.yu@amd.com</email>
</author>
<published>2022-02-21T09:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c1a66c3bc425ff93774fb2f6eefa67b83170dd7e'/>
<id>urn:sha1:c1a66c3bc425ff93774fb2f6eefa67b83170dd7e</id>
<content type='text'>
Workstation application ANSA/META v21.1.4 get this error dmesg when
running CI test suite provided by ANSA/META:
[drm:amdgpu_gem_va_ioctl [amdgpu]] *ERROR* Couldn't update BO_VA (-16)

This is caused by:
1. create a 256MB buffer in invisible VRAM
2. CPU map the buffer and access it causes vm_fault and try to move
   it to visible VRAM
3. force visible VRAM space and traverse all VRAM bos to check if
   evicting this bo is valuable
4. when checking a VM bo (in invisible VRAM), amdgpu_vm_evictable()
   will set amdgpu_vm-&gt;evicting, but latter due to not in visible
   VRAM, won't really evict it so not add it to amdgpu_vm-&gt;evicted
5. before next CS to clear the amdgpu_vm-&gt;evicting, user VM ops
   ioctl will pass amdgpu_vm_ready() (check amdgpu_vm-&gt;evicted)
   but fail in amdgpu_vm_bo_update_mapping() (check
   amdgpu_vm-&gt;evicting) and get this error log

This error won't affect functionality as next CS will finish the
waiting VM ops. But we'd better clear the error log by checking
the amdgpu_vm-&gt;evicting flag in amdgpu_vm_ready() to stop calling
amdgpu_vm_bo_update_mapping() later.

Another reason is amdgpu_vm-&gt;evicted list holds all BOs (both
user buffer and page table), but only page table BOs' eviction
prevent VM ops. amdgpu_vm-&gt;evicting flag is set only for page
table BOs, so we should use evicting flag instead of evicted list
in amdgpu_vm_ready().

The side effect of this change is: previously blocked VM op (user
buffer in "evicted" list but no page table in it) gets done
immediately.

v2: update commit comments.

Acked-by: Paul Menzel &lt;pmenzel@molgen.mpg.de&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Qiang Yu &lt;qiang.yu@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/amdgpu: bypass tiling flag check in virtual display case (v2)</title>
<updated>2022-02-23T21:31:06Z</updated>
<author>
<name>Guchun Chen</name>
<email>guchun.chen@amd.com</email>
</author>
<published>2022-02-18T05:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e2b993302f40c4eb714ecf896dd9e1c5be7d4cd7'/>
<id>urn:sha1:e2b993302f40c4eb714ecf896dd9e1c5be7d4cd7</id>
<content type='text'>
vkms leverages common amdgpu framebuffer creation, and
also as it does not support FB modifier, there is no need
to check tiling flags when initing framebuffer when virtual
display is enabled.

This can fix below calltrace:

amdgpu 0000:00:08.0: GFX9+ requires FB check based on format modifier
WARNING: CPU: 0 PID: 1023 at drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:1150 amdgpu_display_framebuffer_init+0x8e7/0xb40 [amdgpu]

v2: check adev-&gt;enable_virtual_display instead as vkms can be
	enabled in bare metal as well.

Signed-off-by: Leslie Shi &lt;Yuliang.Shi@amd.com&gt;
Signed-off-by: Guchun Chen &lt;guchun.chen@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>Revert "drm/amdgpu: add modifiers in amdgpu_vkms_plane_init()"</title>
<updated>2022-02-23T21:31:06Z</updated>
<author>
<name>Guchun Chen</name>
<email>guchun.chen@amd.com</email>
</author>
<published>2022-02-18T04:57:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=97c61e0b7c596cc5f683da30289f92c2e1b4b799'/>
<id>urn:sha1:97c61e0b7c596cc5f683da30289f92c2e1b4b799</id>
<content type='text'>
This reverts commit 4046afcebfc3c8c0dd5666c2671b2c192b344f78.

No need to support modifier in virtual kms, otherwise, in SRIOV
mode, when lanuching X server, set crtc will fail due to mismatch
between primary plane modifier and framebuffer modifier.

Signed-off-by: Guchun Chen &lt;guchun.chen@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: do not enable asic reset for raven2</title>
<updated>2022-02-23T21:31:06Z</updated>
<author>
<name>Chen Gong</name>
<email>curry.gong@amd.com</email>
</author>
<published>2022-02-17T07:29:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1e2be869c8a7247a7253ef4f461f85e2f5931b95'/>
<id>urn:sha1:1e2be869c8a7247a7253ef4f461f85e2f5931b95</id>
<content type='text'>
The GPU reset function of raven2 is not maintained or tested, so it should be
very unstable.

Now the amdgpu_asic_reset function is added to amdgpu_pmops_suspend, which
causes the S3 test of raven2 to fail, so the asic_reset of raven2 is ignored
here.

Fixes: daf8de0874ab5b ("drm/amdgpu: always reset the asic in suspend (v2)")
Signed-off-by: Chen Gong &lt;curry.gong@amd.com&gt;
Acked-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/amd: Check if ASPM is enabled from PCIe subsystem</title>
<updated>2022-02-23T21:31:06Z</updated>
<author>
<name>Mario Limonciello</name>
<email>mario.limonciello@amd.com</email>
</author>
<published>2022-02-01T16:26:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7294863a6f01248d72b61d38478978d638641bee'/>
<id>urn:sha1:7294863a6f01248d72b61d38478978d638641bee</id>
<content type='text'>
commit 0064b0ce85bb ("drm/amd/pm: enable ASPM by default") enabled ASPM
by default but a variety of hardware configurations it turns out that this
caused a regression.

* PPC64LE hardware does not support ASPM at a hardware level.
  CONFIG_PCIEASPM is often disabled on these architectures.
* Some dGPUs on ALD platforms don't work with ASPM enabled and PCIe subsystem
  disables it

Check with the PCIe subsystem to see that ASPM has been enabled
or not.

Fixes: 0064b0ce85bb ("drm/amd/pm: enable ASPM by default")
Link: https://wiki.raptorcs.com/w/images/a/ad/P9_PHB_version1.0_27July2018_pub.pdf
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1723
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1739
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1885
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1907
Tested-by: koba.ko@canonical.com
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/amdgpu: disable MMHUB PG for Picasso</title>
<updated>2022-02-21T22:55:17Z</updated>
<author>
<name>Evan Quan</name>
<email>evan.quan@amd.com</email>
</author>
<published>2022-01-20T08:15:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f626dd0ff05043e5a7154770cc7cda66acee33a3'/>
<id>urn:sha1:f626dd0ff05043e5a7154770cc7cda66acee33a3</id>
<content type='text'>
MMHUB PG needs to be disabled for Picasso for stability reasons.

Signed-off-by: Evan Quan &lt;evan.quan@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix.</title>
<updated>2022-02-14T19:59:46Z</updated>
<author>
<name>Rajib Mahapatra</name>
<email>rajib.mahapatra@amd.com</email>
</author>
<published>2022-02-10T13:16:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f8f4e2a518347063179def4e64580b2d28233d03'/>
<id>urn:sha1:f8f4e2a518347063179def4e64580b2d28233d03</id>
<content type='text'>
[Why]
SDMA ring buffer test failed if suspend is aborted during
S0i3 resume.

[How]
If suspend is aborted for some reason during S0i3 resume
cycle, it follows SDMA ring test failing and errors in amdgpu
resume. For RN/CZN/Picasso, SMU saves and restores SDMA
registers during S0ix cycle. So, skipping SDMA suspend and
resume from driver solves the issue. This time, the system
is able to resume gracefully even the suspend is aborted.

Reviewed-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Rajib Mahapatra &lt;rajib.mahapatra@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>drm/amdgpu: add utcl2_harvest to gc 10.3.1</title>
<updated>2022-02-09T20:08:05Z</updated>
<author>
<name>Aaron Liu</name>
<email>aaron.liu@amd.com</email>
</author>
<published>2022-01-29T01:21:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a072312f43c33ea02ad88bff3375f650684a6f24'/>
<id>urn:sha1:a072312f43c33ea02ad88bff3375f650684a6f24</id>
<content type='text'>
Confirmed with hardware team, there is harvesting for gc 10.3.1.

Signed-off-by: Aaron Liu &lt;aaron.liu@amd.com&gt;
Reviewed-by: Huang Rui &lt;ray.huang@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amdgpu: fix logic inversion in check</title>
<updated>2022-02-02T23:35:00Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2022-01-28T12:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e8ae38720e1a685fd98cfa5ae118c9d07b45ca79'/>
<id>urn:sha1:e8ae38720e1a685fd98cfa5ae118c9d07b45ca79</id>
<content type='text'>
We probably never trigger this, but the logic inside the check is
inverted.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Felix Kuehling &lt;Felix.Kuehling@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
</feed>
