Bug 110929 - sw_init of IP block <vega10_ih> failed -12 when using Secure Memory Encryption (SME) with Vega 64
Summary: sw_init of IP block <vega10_ih> failed -12 when using Secure Memory Encryptio...
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) All
: medium major
Assignee: Default DRI bug account
QA Contact:
Depends on:
Reported: 2019-06-17 22:21 UTC by Nick Sarnie
Modified: 2019-11-19 09:31 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

dmesg_sme (76.88 KB, text/plain)
2019-06-17 22:21 UTC, Nick Sarnie
no flags Details

Description Nick Sarnie 2019-06-17 22:21:50 UTC
Created attachment 144574 [details]

Hi all,

If I turn on SME for my Ryzen 2700x CPU, I get the following error during boot:

[   19.998488] [drm:amdgpu_device_init.cold [amdgpu]] *ERROR* sw_init of IP block <vega10_ih> failed -12
[   19.998490] amdgpu 0000:0c:00.0: amdgpu_device_ip_init failed
[   19.998492] amdgpu 0000:0c:00.0: Fatal error during GPU init
[   19.998493] [drm] amdgpu: finishing device.
[   19.998601] [drm] amdgpu: ttm finalized

I've attached the full dmesg.

I am using a Vega 64, Gentoo, Mesa/DRI* git, and kernel 5.1.x.

I can test any patches or provide any more information.

Comment 1 John Bridgman 2019-06-27 23:50:09 UTC
How are you enabling SME - transparent mode (via SBIOS I think) where all pages are encrypted, or <whatever you call the other mode> via OS where only pages with PA bit 47 set are encrypted ? 

I would not expect the first option to work since anything written from CPU to GPU will get garbled by the encryption, but the second should work as long as no buffers passed to or allocated by GPU driver are encrypted. 

I haven't used SME so not sure about options - wasn't aware we even enabled it on Ryzen parts, thought it was Epyc only.
Comment 2 Nick Sarnie 2019-06-27 23:52:21 UTC
Thanks for the response John. I'm pretty sure it is the second case: through the OS. I am not changing any BIOS options, I am only passing mem_encrypt=on to the kernel command line.
Comment 3 Martin Peres 2019-11-19 09:31:32 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/832.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.