Page MenuHomeFreeBSD

ashafer_badland.io (Austin Shafer)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 2 2019, 3:06 PM (246 w, 4 d)

Recent Activity

Yesterday

ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Instead, it should be only resolved locally, causing undefined symbol error if attempt is made to reference it from kld without the module symbol (section ?).

Tue, Apr 23, 1:34 PM

Mon, Apr 22

ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

So what is the expected use of THIS_MODULE in Linux? Determine that current module is not that module, or something else?

Mon, Apr 22, 5:37 PM
ashafer_badland.io updated the diff for D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Updated with KLD_DPF debug statement.

Mon, Apr 22, 5:34 PM
ashafer_badland.io updated the diff for D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Updated to be generic. I changed the name to this_linker_file to better represent
what the variable points at. On linux
this_module points at a struct module, so
for us we point at a linker_file_t.

Mon, Apr 22, 2:30 PM

Sat, Apr 20

ashafer_badland.io updated the diff for D44865: linuxkpi: Allow ida_destroy and idr_destroy to be called multiple times.

Updated with style, thanks.

Sat, Apr 20, 4:04 PM

Fri, Apr 19

ashafer_badland.io updated the diff for D44865: linuxkpi: Allow ida_destroy and idr_destroy to be called multiple times.

There isn't a PR, this has been a longstanding issue with nvidia-drm that I'm
finally getting around to solving.

Fri, Apr 19, 6:33 PM
ashafer_badland.io updated the diff for D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Thanks for all the suggestions! I've implemented it by doing the special
casing in linker_file_lookup_symbol_internal as suggested. It looks like
this does work, I can see different owner fields populated in nvidia-drm
and drm. Also confirmed multiple usages of THIS_MODULE in drm.ko point to
the same thing.

Fri, Apr 19, 6:27 PM
ashafer_badland.io requested review of D44865: linuxkpi: Allow ida_destroy and idr_destroy to be called multiple times.
Fri, Apr 19, 2:48 PM

Wed, Apr 10

ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

It sounds like linux has insmod set up the __this_module variable when a module is loaded. If you're asking about doing something equivalent then I don't have a good estimate for how hard that would be. I don't know the details though.

Wed, Apr 10, 2:12 AM

Tue, Apr 9

ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

That's a promising idea. I wonder if instead of having an unusual inline function we could instead make it part of the build setup. Something like setting KBUILD_MODNAME_HASH to whatever sha1 -s "$KBUILD_MODNAME" returns as part of the Makefile? That seems like it might be a little cleaner and easier to debug. Only downside is we have to update all of the makefiles that use KBUILD_MODNAME, I can't think of a way to automate it off the top of my head.

Tue, Apr 9, 9:32 PM

Wed, Apr 3

ashafer_badland.io updated the diff for D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Bump __FreeBSD_version for drm-kmod

Wed, Apr 3, 5:36 PM
ashafer_badland.io updated the diff for D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Since there were no comments I've gone ahead with the strategy I
outlined in my last comment: Have drm-kmod create a global variable
during LKPI_DRIVER_MODULE and point THIS_MODULE at it.

Wed, Apr 3, 2:52 PM

Mar 19 2024

ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

Maybe an interesting solution would be to do something a bit more DRM specific using LKPI_DRIVER_MODULE. Afaict only the DRM drivers will run into the issue that motivated this change. There's no reason we couldn't do something like this in base or just move the bits I mentioned into base.

Mar 19 2024, 6:26 PM
ashafer_badland.io updated the diff for D44432: x11/nvidia-driver-470: Backport fix for nvidia-modeset panic.

Yes sorry, bumped PORTREVISION

Mar 19 2024, 6:17 PM
ashafer_badland.io retitled D44432: x11/nvidia-driver-470: Backport fix for nvidia-modeset panic from x11/nvidia-driver/470: Backport fix for nvidia-modeset panic to x11/nvidia-driver-470: Backport fix for nvidia-modeset panic.
Mar 19 2024, 6:17 PM
ashafer_badland.io added a reviewer for D44432: x11/nvidia-driver-470: Backport fix for nvidia-modeset panic: arrowd.

This has been tested by @grahamperrin

Mar 19 2024, 2:13 PM
ashafer_badland.io requested review of D44432: x11/nvidia-driver-470: Backport fix for nvidia-modeset panic.
Mar 19 2024, 2:13 PM

Mar 18 2024

ashafer_badland.io updated the diff for D44308: graphics/nvidia-drm-kmod: fix build depends and linuxkpi registration.

Moved BUILD_DEPENDS to before as suggested.

Mar 18 2024, 3:13 PM
ashafer_badland.io added a reviewer for D44308: graphics/nvidia-drm-kmod: fix build depends and linuxkpi registration: arrowd.
Mar 18 2024, 2:55 PM

Mar 15 2024

ashafer_badland.io added inline comments to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.
Mar 15 2024, 8:06 PM
ashafer_badland.io added inline comments to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.
Mar 15 2024, 6:57 PM

Mar 14 2024

ashafer_badland.io updated the diff for D44305: graphics/nvidia-drm-510-kmod: Fix compilation with 550.

Updated to handle 13.2 by patching conftest.sh

Mar 14 2024, 6:41 PM

Mar 13 2024

ashafer_badland.io updated the diff for D44308: graphics/nvidia-drm-kmod: fix build depends and linuxkpi registration.

Updated to add back in RUN_DEPENDS

Mar 13 2024, 3:00 PM

Mar 12 2024

ashafer_badland.io added inline comments to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.
Mar 12 2024, 3:20 PM
ashafer_badland.io added a comment to D44305: graphics/nvidia-drm-510-kmod: Fix compilation with 550.

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

Mar 12 2024, 3:53 AM

Mar 11 2024

ashafer_badland.io requested review of D44308: graphics/nvidia-drm-kmod: fix build depends and linuxkpi registration.
Mar 11 2024, 7:18 PM
ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

That's for struct class though, right? I'm talking about struct module, and struct file_operations. Here's an example usage from nvidia-drm: https://github.com/amshafer/nvidia-driver/blob/535.98/nvidia/src/nvidia-drm/nvidia-drm-gem.c#L156. Iirc there's a couple similar ones in other drivers in base.

Mar 11 2024, 7:04 PM
ashafer_badland.io added a comment to D44305: graphics/nvidia-drm-510-kmod: Fix compilation with 550.

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

Mar 11 2024, 6:03 PM
ashafer_badland.io added a comment to D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.

I'm open to other suggestions about how we can do this. We definitely want THIS_MODULE to be non-zero, but having it be an opaque pointer that isn't a struct module isn't that great. Barring fully implementing module in linuxkpi I think something like this could make sense to allow emulated code to check if devices/dmabufs/etc come from the same module?

Mar 11 2024, 5:57 PM
ashafer_badland.io requested review of D44306: linuxkpi: Provide a non-NULL value for THIS_MODULE.
Mar 11 2024, 5:55 PM
ashafer_badland.io added a reviewer for D44305: graphics/nvidia-drm-510-kmod: Fix compilation with 550: arrowd.
Mar 11 2024, 5:55 PM
ashafer_badland.io requested review of D44305: graphics/nvidia-drm-510-kmod: Fix compilation with 550.
Mar 11 2024, 5:54 PM

Feb 26 2024

ashafer_badland.io added a comment to D44073: nvidia-drm-kmod: Update to 550.54.14.

I think you need to update to a more recent CURRENT, that was added at the end of december I think.

Feb 26 2024, 7:50 PM
ashafer_badland.io updated the diff for D44073: nvidia-drm-kmod: Update to 550.54.14.

Odd I hadn't seen that warning. I removed the PORTVERSIONS and also reset PORTREVISION.

Feb 26 2024, 7:03 PM
ashafer_badland.io updated the diff for D44073: nvidia-drm-kmod: Update to 550.54.14.

Update to add a pkg-message warning about the new modesetting sysctl

Feb 26 2024, 6:48 PM
ashafer_badland.io added inline comments to D44073: nvidia-drm-kmod: Update to 550.54.14.
Feb 26 2024, 6:17 PM
ashafer_badland.io updated the diff for D44073: nvidia-drm-kmod: Update to 550.54.14.

Rebase on latest main

Feb 26 2024, 4:06 PM

Feb 24 2024

ashafer_badland.io added a reviewer for D44073: nvidia-drm-kmod: Update to 550.54.14: arrowd.

Note that this shouldn't be merged until after PR 277028

Feb 24 2024, 10:34 PM
ashafer_badland.io requested review of D44073: nvidia-drm-kmod: Update to 550.54.14.
Feb 24 2024, 10:33 PM

Feb 20 2024

ashafer_badland.io added a reviewer for D43987: graphics/nvidia-drm-61-kmod: new port: arrowd.

Motivated by reports such as: https://github.com/amshafer/nvidia-driver/issues/21

Feb 20 2024, 3:57 PM
ashafer_badland.io requested review of D43987: graphics/nvidia-drm-61-kmod: new port.
Feb 20 2024, 3:55 PM

Dec 29 2023

ashafer_badland.io added a comment to D43234: nvidia-drm-515-kmod: Fix build on CURRENT with iosys-map.h.

It doesn't build, I got notified of this by a failing build: https://pkg-status.freebsd.org/beefy18/data/main-amd64-default/p384f6f077a9c_s1ff41cad71/logs/nvidia-drm-515-kmod-535.104.05_2.log

Dec 29 2023, 7:25 PM
ashafer_badland.io added reviewers for D43234: nvidia-drm-515-kmod: Fix build on CURRENT with iosys-map.h: manu, arrowd.

I know there's a lot of updates to the DRM infrastructure (terrific btw!) happening so feel free to ping me if there's anything you think might break nvidia-drm and you want me to test. I've verified 6.1-lts builds with nvidia-drm fine and I plan on testing that on my machines at some point soon.

Dec 29 2023, 7:20 PM
ashafer_badland.io requested review of D43234: nvidia-drm-515-kmod: Fix build on CURRENT with iosys-map.h.
Dec 29 2023, 7:15 PM

Nov 6 2023

ashafer_badland.io added a reviewer for D42484: graphics/nvidia-drm-515-kmod: Remove dependency on linuxkpi_gplv2.ko: arrowd.
Nov 6 2023, 8:00 PM
ashafer_badland.io requested review of D42484: graphics/nvidia-drm-515-kmod: Remove dependency on linuxkpi_gplv2.ko.
Nov 6 2023, 7:59 PM

Oct 17 2023

ashafer_badland.io added a reviewer for D42267: nvidia-drm: update checksum for drm-kmod 5.15.118: arrowd.

This should fix recent package build failures. Tested building locally.

Oct 17 2023, 3:46 PM
ashafer_badland.io requested review of D42267: nvidia-drm: update checksum for drm-kmod 5.15.118.
Oct 17 2023, 3:46 PM

Sep 6 2023

ashafer_badland.io added a comment to D41574: linuxkpi: Fix iteration in __sg_alloc_table_from_pages again.

Off the top of my head I thought I tested with GENERIC but because that KASSERT didn't fire I'm assuming I had GENERIC-NODEBUG installed, which I normally do on half my machines.

Sep 6 2023, 1:38 PM

Aug 25 2023

ashafer_badland.io added a comment to D41591: nvidia-drm-kmod: Update with fix for PRIME.

haha that certainly looks a bit more complicated :)

Aug 25 2023, 3:45 PM
ashafer_badland.io added a comment to D41591: nvidia-drm-kmod: Update with fix for PRIME.

Using PKGNAME lets me include the PORTREVISION in addition to the previous fields. That way it will look for tags such as nvidia-drm-515-kmod-535.98_1 instead of nvidia-drm-515-kmod-535.98. This seemed like the easiest way to do this.

Aug 25 2023, 1:19 PM
ashafer_badland.io updated the diff for D41574: linuxkpi: Fix iteration in __sg_alloc_table_from_pages again.

Fixed styling

Aug 25 2023, 1:17 PM

Aug 24 2023

ashafer_badland.io updated subscribers of D41591: nvidia-drm-kmod: Update with fix for PRIME.
Aug 24 2023, 8:16 PM
ashafer_badland.io requested review of D41591: nvidia-drm-kmod: Update with fix for PRIME.
Aug 24 2023, 8:16 PM
ashafer_badland.io added a comment to D41574: linuxkpi: Fix iteration in __sg_alloc_table_from_pages again.

This is part of a fix for https://github.com/amshafer/nvidia-driver/issues/20

Aug 24 2023, 1:52 PM
ashafer_badland.io requested review of D41574: linuxkpi: Fix iteration in __sg_alloc_table_from_pages again.
Aug 24 2023, 1:51 PM

Aug 18 2023

ashafer_badland.io added a comment to D41497: Add nvidia-drm-kmod port.

The code is still NVIDIA code, I've just modified it for compatability. The nvidia-drm-kmod port's Makefile is mine though, is that what you're referring to? I think the license of nvidia-drm-kmod should match the child ports to avoid anyone getting confused and thinking nvidia-drm.ko is BSD licensed.

Aug 18 2023, 5:12 PM
ashafer_badland.io added a comment to D41497: Add nvidia-drm-kmod port.

Setting LICENSE_FILE= ${WRKSRC}/nvidia/doc/license.txt in Makefile.common should be fine for the child ports, but for the metaport I'm not sure the best way to include that? For nvidia-drm-kmod should I just copy that license file in the directory and reference that in LICENSE_FILE?

Aug 18 2023, 3:04 PM
ashafer_badland.io added a comment to D41497: Add nvidia-drm-kmod port.

It's documented here: https://github.com/amshafer/nvidia-driver/blob/535.86.05/UPDATING.md

Aug 18 2023, 2:17 PM

Aug 17 2023

ashafer_badland.io added a comment to D41497: Add nvidia-drm-kmod port.

One thing of interest to reviewers here: how should we (meaning me) best coordinate matching updates of nvidia-drm-kmod with updates to nvidia-driver? nvidia-drm-kmod isn't as simple as bumping a version number since I have to populate a driver branch in github for a particular version.

Aug 17 2023, 9:50 PM
ashafer_badland.io updated the diff for D41497: Add nvidia-drm-kmod port.

Fixed 515 to actually be 515, reworked RUN_DEPENDS, I think I got the pre/post.mk stuff you recommended correct but let me know if not.

Aug 17 2023, 9:43 PM
ashafer_badland.io requested review of D41497: Add nvidia-drm-kmod port.
Aug 17 2023, 9:16 PM

Aug 16 2023

ashafer_badland.io added a comment to D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.

I originally added NVIDIA_DISTVERSION since we will need to have multiple nvidia-drm-kmod ports which match the different versions of drm-kmod. For now basically nvidia-drm-510-kmod and nvidia-drm-515-kmod. It seemed easiest to have one Makefile.version in nvidia-driver which defines the version number to avoid having to update it by hand in all the ports that depend on nvidia-drm, instead you'd only have to update the distinfos. I added something similar to drm-kmod a bit ago. My goal was make one common nvidia-drm-kmod Makefile.common which uses NVIDIA_DISTVERSION, NVIDIA_GH_TAGNAME, and DRM_KMOD_GH_TAGNAME to select the versions of everything, and each nvidia-drm-*-kmod port imports the Makefile.versions it wants to reference.

Aug 16 2023, 7:03 PM

Aug 13 2023

ashafer_badland.io updated the diff for D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.

Bump version to 535.86.05

Aug 13 2023, 9:26 PM

Jul 12 2023

ashafer_badland.io updated the summary of D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.
Jul 12 2023, 7:26 PM
ashafer_badland.io updated the diff for D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.

Updating this review to only add Makefile.version instead of updating the
nvidia-driver version now that it is at 535.54.03.

Jul 12 2023, 7:26 PM
ashafer_badland.io retitled D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm from x11/nvidia-driver: Add Makefile.version and update to 530.41.03 to x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.
Jul 12 2023, 7:24 PM

May 22 2023

ashafer_badland.io updated the diff for D40167: security/openconnect: update to 9.12.

Updated to 9.12, switched to https, fixed a warning about requiring
libp11-kit that make stage-qa threw.

May 22 2023, 3:22 PM
ashafer_badland.io retitled D40167: security/openconnect: update to 9.12 from security/openconnect: update to 9.10 to security/openconnect: update to 9.12.
May 22 2023, 3:20 PM

May 20 2023

ashafer_badland.io updated the diff for D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.

Fixed linux-nvidia-libs distinfo

May 20 2023, 4:50 PM
ashafer_badland.io added a comment to D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271523

May 20 2023, 12:16 AM

May 19 2023

ashafer_badland.io updated the diff for D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.

Adding missing linux-nvidia-libs bits

May 19 2023, 10:01 PM
ashafer_badland.io requested review of D40168: x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.
May 19 2023, 9:44 PM
ashafer_badland.io requested review of D40167: security/openconnect: update to 9.12.
May 19 2023, 9:39 PM

May 6 2023

ashafer_badland.io added a comment to D39886: x11-servers/xorg-server: add missing features for PRIME.

Here's the rundown of my testing: on my three laptops things look to be working as I expected. I don't replicate anything like what you're seeing on the single-GPU system but I'll get to that later and maybe we can figure out what your issue is. Here's what I see:

  • On my single-GPU Intel laptop it starts properly with no xorg.conf or 20-intel.conf.
  • On my Intel+NVIDIA PRIME laptop it works with no xorg.conf.
    • 20-intel.conf is not required if nvidia-drm.ko is loaded, the 20-nvidia-drm-outputclass.conf from the blog post is however.
    • If nvidia-drm.ko is not loaded, then the X server sees two devices and isn't sure which one to use, so it bails and tells you to specify frambuffer busIDs. This is where 20-intel.conf will fix things, as it tells X which one to use. I'll have to check out on Linux if this is the same behavior. I wouldn't be surprised if it is since they usually expect nvidia-drm to be present therefore avoiding the issue, but we'll see.
  • On my Intel+NVIDIA PRIME laptop your skeleton xorg.conf from your last comment works fine.
  • On my AMD+NVIDIA PRIME laptop it works with no xorg.conf, configs from the blog post.
May 6 2023, 8:19 PM
ashafer_badland.io added a comment to D39886: x11-servers/xorg-server: add missing features for PRIME.

Or for the single-GPU system a normal xorg.conf

May 6 2023, 1:40 PM
ashafer_badland.io added a comment to D39886: x11-servers/xorg-server: add missing features for PRIME.

I think it's because you're missing the files in xorg.conf.d? You need something like this:

May 6 2023, 1:40 PM

May 3 2023

ashafer_badland.io abandoned D39887: x11-servers/xorg-server: Add DRM platform for BSD.

Abandoning since this was included in D39886

May 3 2023, 3:13 PM

May 2 2023

ashafer_badland.io retitled D39886: x11-servers/xorg-server: add missing features for PRIME from x11-servers/xorg-server: Define udev in build to x11-servers/xorg-server: add missing features for PRIME.
May 2 2023, 2:22 PM
ashafer_badland.io updated the diff for D39886: x11-servers/xorg-server: add missing features for PRIME.

Updated to merge in D39887 and bump PORTREVISION

May 2 2023, 2:21 PM

Apr 30 2023

ashafer_badland.io added a reviewer for D39887: x11-servers/xorg-server: Add DRM platform for BSD: x11.
Apr 30 2023, 4:17 PM
ashafer_badland.io requested review of D39887: x11-servers/xorg-server: Add DRM platform for BSD.
Apr 30 2023, 4:16 PM
ashafer_badland.io retitled D39886: x11-servers/xorg-server: add missing features for PRIME from xorg-server: Define udev in build to x11-servers/xorg-server: Define udev in build.
Apr 30 2023, 4:16 PM
ashafer_badland.io requested review of D39886: x11-servers/xorg-server: add missing features for PRIME.
Apr 30 2023, 4:07 PM
ashafer_badland.io updated the summary of D39885: drm-51*-kmod: Add Makefile.version.
Apr 30 2023, 4:05 PM
ashafer_badland.io requested review of D39885: drm-51*-kmod: Add Makefile.version.
Apr 30 2023, 4:03 PM

Apr 18 2023

ashafer_badland.io added inline comments to D39628: linuxkpi: Fix __sg_alloc_table_from_pages loop.
Apr 18 2023, 2:17 PM

Apr 17 2023

ashafer_badland.io requested review of D39628: linuxkpi: Fix __sg_alloc_table_from_pages loop.
Apr 17 2023, 8:17 PM

Feb 5 2023

ashafer_badland.io closed D37611: linuxkpi: Fix return value of dma_map_sgtable.

Closing this since it was already submitted in 4085bde9fa2e

Feb 5 2023, 10:23 PM

Dec 6 2022

ashafer_badland.io added a comment to D37611: linuxkpi: Fix return value of dma_map_sgtable.

Here's the github PR handling this for older versions before we moved this function into base: https://github.com/freebsd/drm-kmod/pull/218

Dec 6 2022, 5:30 AM
ashafer_badland.io requested review of D37611: linuxkpi: Fix return value of dma_map_sgtable.
Dec 6 2022, 5:23 AM

Jun 2 2021

ashafer_badland.io updated the diff for D24740: mmc: Ignore BADCRC errors in CMD13 when switching to HS200.

Updated and stole @imp's comment

Jun 2 2021, 6:57 AM

May 25 2021

ashafer_badland.io requested review of D30449: taskqueue: Add missing comma to TASKQUEUE_FAST_DEFINE_THREAD.
May 25 2021, 12:18 AM

Jul 28 2020

ashafer_badland.io added a reviewer for D24740: mmc: Ignore BADCRC errors in CMD13 when switching to HS200: manu.
Jul 28 2020, 3:46 AM

Jun 23 2020

ashafer_badland.io requested review of D24798: linuxkpi: add synchronize_srcu_expedited.
Jun 23 2020, 3:17 AM
ashafer_badland.io updated the diff for D24796: linuxkpi: add pci_dev_present and an srcu function for drm5.2.

Sorry my style habits are taking a little while to form.

Jun 23 2020, 3:17 AM

May 10 2020

ashafer_badland.io added reviewers for D24798: linuxkpi: add synchronize_srcu_expedited: hselasky, manu.
May 10 2020, 5:13 PM
ashafer_badland.io requested review of D24796: linuxkpi: add pci_dev_present and an srcu function for drm5.2.
May 10 2020, 2:20 PM

May 6 2020

ashafer_badland.io requested review of D24740: mmc: Ignore BADCRC errors in CMD13 when switching to HS200.
May 6 2020, 9:46 PM

May 1 2020

ashafer_badland.io added inline comments to D24611: Update linuxkpi with changes needed for drm-v5.1.
May 1 2020, 11:24 PM