Reputation: 123
i have device with two xilinx PCI cards connected to PCIe and the device architecture is PowerPC. I can switch the kernel version by making symlink in the /boot directory.
On 3.14 kernel lspci produces:
0000:00:00.0 Class 0604: Device 1957:0070 (rev 21)
0000:01:00.0 Class 0200: Device 1234:0045 (rev 78)
0001:02:00.0 Class 0604: Device 1957:0070 (rev 21)
0001:03:00.0 Class 0200: Device 1234:0100 (rev 63)
And on 4.9 kernel lspci produces:
9000:00:00.0 Class 0604: Device 1957:0070 (rev 21)
9000:01:00.0 Class 0200: Device 1234:0045 (rev 78)
a000:02:00.0 Class 0604: Device 1957:0070 (rev 21)
a000:03:00.0 Class 0200: Device 1234:0100 (rev 63)
lspci output corresponds to /sys/bus/pci/devices/ directory content. My question is why somwehere between kernel 3.14 and 4.9 pci device naming has changed? For both kernels we have same hardware, dtb device tree and everything else common.
Upvotes: 0
Views: 309
Reputation: 1176
Re-doing my comment as an answer, since their was no response to my comment. The question is why the reported domain parts of the PCI Ids which were 0 and 1 with Linux 3.19 are 0x9000 and 0xa000 with Linux 4.9. Commit 63a72284 in Linux 4.7 changes the values assigned to domains to be predictable values based on the device tree information instead of consecutive numbers starting at 0. I think it is a safe assumption that this commit is the reason for the change.
Upvotes: 0
Reputation: 350
I would assume that there are other PCI devices on your system. If indeed so, do you see difference with other PCI devices in context of output of lspci between these two kernels ?
Rami Rosen
Upvotes: 0