[Bug 227403] [ACPI] [nvidia] [drm] NVRM: rm_init_adapter() failed
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Apr 10 00:20:00 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227403
Bug ID: 227403
Summary: [ACPI] [nvidia] [drm] NVRM: rm_init_adapter() failed
Product: Base System
Version: CURRENT
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: kjcamannlists at gmail.com
I am testing FreeBSD on a new model of ThinkPad (T480) that was just released
three months ago.
Some variants of this model (and the similar T480s) have only Kaby Lake
integrated graphics, whereas others include a GeForce MX150.
The two GPUs in my system are:
- Integrated UHD Graphics 620 (on the i7-8650U, in my case)
- NVIDIA GeForce MX150 [reports as Lenovo GP108M]
I am using:
FreeBSD-12.0-CURRENT-amd64-20180322-r331345 snapshot (GENERIC kernel)
drm-next-kmod from ports for Intel driver
nvidia-driver-390 from ports
Both video drivers successfully attach to their devices. The i915 device works,
but the nvidia device does not. Whenever the adapter is initialized for any
reason (e.g., by `nvidia-xconfig --query-gpu-info` or `nvidia-debugdump -l`)
this appears in dmesg:
NVRM: failed to copy vbios to system memory.
NVRM: RmInitAdapter failed! (0x30:0xffff:662)
nvidia1: NVRM: rm_init_adapter() failed!
I filed this under ACPI because this error has appeared many times in the past
in both Linux and FreeBSD, and the resolution often has something to do with
the ACPI, and something looks "off" with ACPI here well.
devinfo -v shows the devices like this:
intel) vgapci0 pnpinfo vendor=0x8086 device=0x5917 subvendor=0x17aa
subdevice=0x225e class=0x030000 at slot=2 function=0 dbsf=pci0:0:2:0
handle=\_SB_.PCI.GFX0
nvidia) vgapci1 pnpinfo vendor=0x10de device=0x1d10 device=0x17aa
subvendor=0x17aa subdevice=0x225e class0x030200 at slot=0 funcition=0
dbsf=pci0:1:0:0 handle=\_SB_.PCI0.RP01.PXSX
Note that nvidia card's ACPI bus location is listed as `\_SB_PCI0.RP01.PXSX`.
In an Arch Linux system I dual-boot with, the NVIDIA card works correctly and
the ACPI firmware node is reported as `\_SB_.PCI0.RP01.PEGP` (where I guess
PEGP means something like PCI-Express Graphics Port). By "firmware node", I
mean the sysfs value defined here:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-firmware_node
Is the problem that the system is "using" the wrong ACPI object to poke at the
vbios area? These two ACPI objects (PXSX and PEGP) appear in two different SSDT
tables -- PXSX appears in the table that occurs first in an acpidump. The
second one (PEGP) is incredibly more complex, and so probably contains most of
the interesting functionality. I tried to do more research before posting this
but I find ACPI completely bewildering.
Please let me know what other information to attach to this report.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list