Bug 77069

Summary: Use semantic naming for microcode files
Product: DRI Reporter: Nathan Schulte <nmschulte>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: minor    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Nathan Schulte 2014-04-04 20:52:14 UTC
This is a rather trivial request, but it would help the uninitiated and long term maintenance.

It would be nice if the microcode was more semantically named, rather than how it exists now.

For example, I currently have an issue with UVD on a Radeon HD 8970M, which is "Neptune XT" based (which is "Pitcairn" based), and I receive the following logging:

[   15.942210] [drm] Loading PITCAIRN Microcode
[   15.966837] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/PITCAIRN_pfp.bin
[   15.976695] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/PITCAIRN_me.bin
[   15.996448] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/PITCAIRN_ce.bin
[   16.015403] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/PITCAIRN_rlc.bin
[   16.016529] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/PITCAIRN_mc.bin
[   16.026910] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/PITCAIRN_smc.bin
[   16.045744] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/TAHITI_uvd.bin

....

[   65.525470] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   66.537637] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   67.549797] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   68.561967] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   69.574142] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   70.586334] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   71.598533] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   72.610705] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   73.622877] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   74.635068] [drm:uvd_v1_0_start] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   74.654938] [drm:uvd_v1_0_start] *ERROR* UVD not responding, giving up!!!
[   74.654955] [drm:si_startup] *ERROR* radeon: failed initializing UVD (-1).

At first glance, I'm thinking: well clearly TAHITI_uvd.bin is incorrect for PITCAIRN Microcode, but that's not quite how things work.  It would be nice to name the UVD microcode after the actual version of the platform the code is targeting.  Perhaps this is simply a naming collision issue and the UVD microcode naming is semantic within the context (that is: my Radeon HD 8970M card really does run the TAHITI version of UVD), but that's doubtful and I would suggest the names change to be more meaningful, :).

Another proposition is to skip the "fully semantic naming" idea above and just use symlinks to bridge the two namespaces.
Comment 1 Martin Peres 2019-11-19 08:48:00 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/486.

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.