[DragonFlyBSD - Bug #3455] drm: pci_set_dma_mask() always fails ("Can't set DMA mask/consistent mask (-5)")
sigttou
bugtracker-admin at leaf.dragonflybsd.org
Thu Oct 22 03:26:05 PDT 2026
Issue #3455 has been updated by sigttou.
In FreeBSD the mask ends up in a busdma tag and is enforced, for us the return value is the only thing the driver can act on.
Whenever installed memory fits under the mask, which is almost every machine, this behaves exactly like an unconditional `return 0`. It only differs where physical memory extends above the mask: more than 512GB for i915's 39-bit mask, more than 1TB for the 40-bit masks.
----------------------------------------
Bug #3455: drm: pci_set_dma_mask() always fails ("Can't set DMA mask/consistent mask (-5)")
http://bugs.dragonflybsd.org/issues/3455#change-14895
* Author: sigttou
* Status: New
* Priority: Normal
* Category: Driver
* Target version: 6.6
* Start date: 2026-10-22
----------------------------------------
The drm compat functions @pci_set_dma_mask()@ and @pci_set_consistent_dma_mask()@ return @-EIO@ unconditionally. Every boot with i915
on gen8+ logs @[drm:gen8_gmch_probe] ERROR Can't set DMA mask/consistent mask (-5)@.
Accept a requested mask when it covers the installed memory (@ptoa(Maxmem)@) and, for the consistent mask, when it is at least 32 bits.
Otherwise return @-EIO@ as before, so drivers still get an error on machines whose memory exceeds what the device can address.
---Files--------------------------------
0001-drm-implement-pci_set_dma_mask-and-pci_set_consisten.patch (1.8 KB)
--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
More information about the Bugs
mailing list