Page MenuHomeFreeBSD

graphics/nvidia-drm-510-kmod: Fix compilation with 550
ClosedPublic

Authored by ashafer_badland.io on Mar 11 2024, 5:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jun 14, 8:50 PM
Unknown Object (File)
Fri, Jun 7, 11:26 PM
Unknown Object (File)
Sat, Jun 1, 7:25 AM
Unknown Object (File)
Thu, May 23, 8:58 PM
Unknown Object (File)
Thu, May 23, 1:37 PM
Unknown Object (File)
May 13 2024, 5:15 PM
Unknown Object (File)
May 13 2024, 2:45 AM
Unknown Object (File)
May 4 2024, 5:15 PM
Subscribers
None

Details

Summary

This adds a patch to remove an extra version check around the Linux
LIST macros which has caused some compilation failures.

Diff Detail

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

Event Timeline

ashafer_badland.io created this revision.

I guess, no need to bump PORTREVISION?

I don't think so? The 550 build has been broken because of this so no actual version has been "released" for nvidia-drm-510-kmod with 550, so it doesn't seem like bumping the revision would do anything? I can if needed though

This revision is now accepted and ready to land.Mar 11 2024, 6:06 PM

On FreeBSD 13 this results in

In file included from nvidia-drm.c:23:
In file included from ./nvidia-drm.h:26:
In file included from ./nvidia-drm-conftest.h:102:
../common/inc/nv-mm.h:110:31: error: too many arguments to function call, expected 5, have 8
                              force, pages, NULL);
                              ^~~~~~~~~~~~~~~~~~

On FreeBSD 13 this results in
../common/inc/nv-mm.h:110:31: error: too many arguments to function call, expected 5, have 8

This is actually a problem with 13.2: the get_user_pages function incorrectly defines the gup_flags argument as an "int" instead of as an "unsigned int". 13.3 and onward have this problem fixed.

Not sure the best way to handle this? I guess we could have an extra patch applied in the "<= 13.2" case that makes the get_user_pages in conftest.sh use an "int gup_flags" so that it matches? That would work but do we normally do gross-ish workarounds like that now that 13.3 is out?

13.2 is officially supported for the 13.3-RELEASE date + 3 months. So, it'd be good if you can fix the port to work on 13.2

If this is too much work, then we should place a conditional IGNORE= not supported on 13.2 knob in the ports Makefile.

Updated to handle 13.2 by patching conftest.sh

This revision now requires review to proceed.Mar 14 2024, 6:41 PM
This revision is now accepted and ready to land.Mar 16 2024, 1:48 AM