Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Apr 2018 00:19:57 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 227403] [ACPI] [nvidia] [drm] NVRM: rm_init_adapter() failed
Message-ID:  <bug-227403-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D227403

            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@FreeBSD.org
          Reporter: kjcamannlists@gmail.com

I am testing FreeBSD on a new model of ThinkPad (T480) that was just releas=
ed
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 wo=
rks,
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 p=
ast
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=3D0x8086 device=3D0x5917 subvendor=3D0x17aa
subdevice=3D0x225e class=3D0x030000 at slot=3D2 function=3D0 dbsf=3Dpci0:0:=
2:0
handle=3D\_SB_.PCI.GFX0

nvidia) vgapci1 pnpinfo vendor=3D0x10de device=3D0x1d10 device=3D0x17aa
subvendor=3D0x17aa subdevice=3D0x225e class0x030200 at slot=3D0 funcition=
=3D0
dbsf=3Dpci0:1:0:0 handle=3D\_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 a=
nd
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 t=
his
but I find ACPI completely bewildering.

Please let me know what other information to attach to this report.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227403-227>