Page MenuHomeFreeBSD

KMS firmware port
ClosedPublic

Authored by jmd on Mar 9 2017, 12:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, May 3, 4:42 PM
Unknown Object (File)
Sun, Apr 28, 5:14 AM
Unknown Object (File)
Apr 2 2024, 9:00 AM
Unknown Object (File)
Apr 2 2024, 9:00 AM
Unknown Object (File)
Apr 2 2024, 8:56 AM
Unknown Object (File)
Apr 2 2024, 8:56 AM
Unknown Object (File)
Apr 2 2024, 8:56 AM
Unknown Object (File)
Apr 2 2024, 8:56 AM
Subscribers

Details

Summary

This is the first of two KMS ports: the firmware port for i915, amdgpu, and radeon.

Having this as its own port properly reflects the different development speeds of the actual KMS code and the firmware blobs (and decouples blobs from code for branching).

Restricted to amd64 on recent HEAD, as the actual KMS port will also only work on that configuration for the foreseeable future. Restriction will be lifted once this is all more established.

Test Plan

portlint -Aac passes, poudriere on amd64 HEAD passes

Dogfooding successfully on FreeBSDDesktop drmless w/ amdgpu on Carrizo.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

rene requested changes to this revision.Mar 9 2017, 12:30 PM
rene added inline comments.
graphics/kms-firmware/Makefile
10 ↗(On Diff #26095)

I wonder how long the module will be 'new'

12 ↗(On Diff #26095)

I don't see the FIRMWARE license listed in Mk/bsd.licenses.db.mk ?

graphics/kms-firmware/pkg-descr
7 ↗(On Diff #26095)

I would make the sentences more proper English, with capital letters and full stops.

This revision now requires changes to proceed.Mar 9 2017, 12:30 PM
jmd edited edge metadata.

Some comments addressed.

graphics/kms-firmware/Makefile
10 ↗(On Diff #26095)

unfortunately this may take some time to become old ;-) I'll change to "linuxkpi-based KMS components", OK?

12 ↗(On Diff #26095)

No, these are unfortunately something else. Also, Intel and AMD use different licenses which I cat'd together into a LICENSE file. Would you prefer something else?

graphics/kms-firmware/pkg-descr
7 ↗(On Diff #26095)

OK, will do.

graphics/kms-firmware/Makefile
10 ↗(On Diff #26095)

Yes

12 ↗(On Diff #26095)

I haven't checked if an existing license would do, otherwise feel free to add a FIRMWARE license (perhaps one for Intel and one for AMD)

Added a FIRMWAREAMD and FIRMWAREINTEL license. These are adjusted BSD licenses that grant some patent rights but explicitly disallow disassembling. Selling permission is unclear to me, hence I left it out.

From the licenses file I understand eadler@ should be added as reviewer? Correct?

Update to latest firmware versions and add new firmware modules.

graphics/kms-firmware/Makefile
23 ↗(On Diff #26343)

There should be a blank line above this.

jmd marked 9 inline comments as done.

After discussion with swills@, delay sorting out the licensing. Mark all the done items so.

Add radeon firmware files.

jmd edited the summary of this revision. (Show Details)
jmd edited the test plan for this revision. (Show Details)
jmd added a reviewer: x11.

Rename port to gpu-firmware-kmod. Everything else same. Add note about it running successfully. Add x11 as reviewers.

Is there any reason to include the radeon r100-r700 firmware that is already available in base?

I saw some discussion about license in earlier comments, but I see no LICENSE lines in the Makefile. What happened to all that?

radeon files: two reasons, 1) these files are the latest and complete update as available in linux-firmware, 2) once ports DRM is more stable, the logical next step is to disable radeon (and i915) in base for amd64, including radeonkms. i915 is only available for i386 otherwise, radeon also for ppc, these will need to be tested and likely require more work to get going before the actual code can be purged from HEAD (final step). What I am trying to say: having this firmware in ports makes sense.

LICENSE: as discussed here, the firmware licenses are different derivative "3-clause BSD"-ish licenses, both include explicit language to disallow disassembling/reverse engineering. After talking to @swills, he decided that we should get this port in first and sort out the licensing (including changes to Mk and remaining legal questions) later.

This revision now requires changes to proceed.Apr 7 2017, 5:33 PM
This revision is now accepted and ready to land.Apr 7 2017, 5:56 PM
This revision was automatically updated to reflect the committed changes.