GuC loading
Port minimum needed to get the GuC firmware to authenticate and load on XE. TGL and DG1 can both auth + load the GuC.
Series is a bit jumbled from patch to patch (1 patch does something, subsequent will move it / rename it, etc...) but since we don't care about history, not all that big of deal and didn't care to clean up. When reviewing I'd go through every patch briefly reading the commit message, then just look at the full diff. In the end I think it looks pretty good. Most important thing that needs to be reviewed is object layout / abstraction layer and common functions.
I included 3 patches from Lucas that update the dma-buf-map header. These are currently on the list and may or may not get accepted. Something to keep an eye on and refactor as needed. https://patchwork.freedesktop.org/series/99378/
Assuming this looks good I have a few more things I'd like to go after in no particular order before trying to add a GuC submission backend:
- Add xe_gt object abstraction
- Add basic debugfs infrastructure
- Bring GuC CTB channel + auth HuC
- Add *_types.h headers for all existing objects
- Replace all printfs /w drm_* print functions
- What else I am missing?