freebsd-src icon indicating copy to clipboard operation
freebsd-src copied to clipboard

fwget: Add device IDs and firmwares to pci_video_amd & pci_video_intel

Open levelad opened this issue 7 months ago • 8 comments

Add GPU names as comments to the latest GPU device IDs as the kernel modules are segmented now.

Names taken from:

https://devicehunt.com/view/type/pci/vendor/1002/device/744C https://devicehunt.com/view/type/pci/vendor/1002/device/15BF https://devicehunt.com/view/type/pci/vendor/1002/device/15C8 https://devicehunt.com/view/type/pci/vendor/1002/device/164E

More references:

https://www.techpowerup.com/gpu-specs/amd-navi-31.g998 https://www.techpowerup.com/gpu-specs/amd-phoenix.g1024 https://www.techpowerup.com/gpu-specs/amd-raphael.g1021

levelad avatar May 18 '25 14:05 levelad

Thank you for taking the time to contribute to FreeBSD! There is an issue that needs to be fixed:

  • Missing Signed-off-by lines (bc0f7b939c59d0ee918d795040aa4f27713eae63)

Please review CONTRIBUTING.md, then update and push your branch again.

github-actions[bot] avatar May 30 '25 21:05 github-actions[bot]

Can you rebase this, since there's a conflict? I like the '*' -> '?'. However, the commit messages need to be more specific as to what they do and why.

bsdimp avatar Jul 25 '25 17:07 bsdimp

Conflict with Bugzilla PR: 287441 is resolved. I cannot edit commit messages on GitHub. Should I do a new commit without any changes and add the message there?

The Cannon Lake issue in pci_video_intel needs to be reviewed by evadot.

levelad avatar Jul 26 '25 15:07 levelad

OK. I'll hold off until @evadot can comment. Usually, you can just do a git rebase -i with the 'reword' option for each of the commits to update them, then do a force push and github will update everything.

bsdimp avatar Jul 26 '25 16:07 bsdimp

@bsdimp iGPU for Cannon Lake was factory disabled, see https://en.wikipedia.org/wiki/Cannon_Lake_(microprocessor).

So I don't get why a firmware is loaded for it, should I just remove it completely as it interferes with Apollo Lake (Broxton)? Or anybody else knows why it is here? @evadot?

Broxton was also a cancelled but the firmware seems to be used for Apollo Lake, see https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures.

levelad avatar Aug 01 '25 15:08 levelad

@bsdimp I resolved a 2nd conflict now with Differential Revision D52312 Maybe it would be best if Bjoern A. Zeeb looked over my changes before a new conflict arises. He doesn't seem to be on GitHub so I can't mention him here. Some of his changes in his DR were already in my commit.

I just wanted to contribute a litte improvement to this code and I really would like to close this before I get stuck in this conflict nightmare. :)

levelad avatar Nov 15 '25 13:11 levelad

Given I was asked in email to look:

  • Can the amd changes be split up into two changes: (1) changes to firmware and IDs and (2) all the asterisk to question mark bits. That way the actual changes are visible. Note: I do not like any of the globbing but I for 0xXXXn I still prefer the * than the ?; it reads better, sticks out more; less confusing with numbers and the PCI IDs can never be longer anyway.
  • The "Cannon Lake Issue" is not new; I had the same finding when I extracted them from the driver doing a first cut of the lua match script: https://reviews.freebsd.org/D52325#inline-318188
  • I wonder how your expanded IDs match what I have in the above lua review where I manually kept the globs from the shell script and added the more specifics from the driver (at that time) which likely is not the full set either...

bzfbd avatar Nov 16 '25 12:11 bzfbd

I put all the changes into the commit descriptions. I completely removed the Cannon Lake firmware now.

I checked the existing IDs with devicehunt and PCILookup and expanded them when they did also cover non-GPU devices. Some IDs still have some non-GPU devices so your explicit ID definitions could prevent unnecessary firmware loading.

levelad avatar Nov 16 '25 19:11 levelad