Date: Wed, 30 Dec 2020 21:04:12 -0800 From: Neel Chauhan <neel@neelc.org> To: Chuck Tuffli <ctuffli@gmail.com> Cc: FreeBSD-Current <freebsd-current@freebsd.org> Subject: Re: Intel TigerLake NVMe vmd: Adding Support & Debugging a Patch Message-ID: <75d6b956e227249774978dc09cd26c3f@neelc.org> In-Reply-To: <CAKAYmMLn8rO-dJd%2BVYPguM9KmcXbkBiPnBu3bygRHBNpNn%2BS5w@mail.gmail.com> References: <eeab20a1316335317d3ff8cbf68c1cf1@neelc.org> <CAKAYmMLn8rO-dJd%2BVYPguM9KmcXbkBiPnBu3bygRHBNpNn%2BS5w@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
I think I found the issue: This PCIe controller is not detected: 10000:e0:1d.0 PCI bridge [0604]: Intel Corporation Tiger Lake-LP PCI Express Root Port #9 [8086:a0b0] (rev 20) SI I believe the above PCIe controller is exposed by VMD (as it is on Linux), but FreeBSD vmd/vmd_bus is unable to attach this controller. It is likely because VMD uses PCI domain above 0x10000 but we aren't looking at this. Source: https://github.com/torvalds/linux/blob/master/drivers/pci/controller/vmd.c#L437 Don't yet have a patch though. Sorry for the number of emails earlier. -Neel On 2020-12-30 10:04, Chuck Tuffli wrote: > On Tue, Dec 29, 2020 at 6:30 PM Neel Chauhan <neel@neelc.org> wrote: >> >> Hi freebsd-hackers@, CC'd freebsd-current@, >> >> I hope you all had a wonderful holiday season. >> >> I recently got a HP Spectre x360 13t-aw200 which is an Intel >> TigerLake-based laptop. It has the Intel "Evo" branding and an >> "Optane" >> SSD which I disabled (so I can get a "second" SSD). >> >> On the Spectre, the NVMe is not detected: https://imgur.com/a/ighTwHQ >> >> I don't know if it is HP or Intel, but the VMD IDs device id is >> 8086:9a0b. I'm guessing Intel since Dell laptops (XPS, Vostro) also >> have >> this device ID [1]. >> >> Sadly, NVMe RAID is forced on this laptop. >> >> I wrote a rough patch to add the device IDs, and the patch is below: > > FWIW, that is the same change I would have made. Peeking at the Linux > vmd driver, it doesn't appear to do anything special for 8086:9a0b as > compared to the 8086:2a0c device the FreeBSD driver already supports. > That said, the Linux driver reads a capability register to determine > the bus number start (vmd_bus_number_start()) which I don't see in the > FreeBSD driver. This is curious because, looking at the "lspci all" > output from the XPS link you provided, the NVMe device shows up in PCI > domain 0x1000 (i.e. not 0x0000). Which (and I have no direct > experience with this device or code) only happens if the bus number > start function returns 0x0. > > What is the output from > # pciconf -rb pci0:0:14:0 0x40:0x48 > > --chuck > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org"help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?75d6b956e227249774978dc09cd26c3f>
