Как получить хостовый (родительский) мост PCIe моего устройства PCIe?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как получить хостовый (родительский) мост PCIe моего устройства PCIe?

Сообщение Anonymous »

У меня есть самописный драйвер ядра устройства NVMe. Он отлично работает для моих целей. Но кроме того, мне нужно знать, поддерживает ли верхний хост-мост PCIe (родительский) мост какие-то возможности или нет. И главный вопрос: если у меня есть struct pci_dev моего NVMe-устройства, как получить struct pci_dev верхнего хост-моста PCIe?
Другими словами, если я наберу в оболочке:

Код: Выделить всё

alexander@asus-b760m-plus-wifi:~$ lspci -PP
...
00:1a.0 PCI bridge: Intel Corporation Device 7a48 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 7a38 (rev 11)
00:1c.2 PCI bridge: Intel Corporation Device 7a3a (rev 11)
00:1c.4 PCI bridge: Intel Corporation Device 7a3c (rev 11)
00:1d.0 PCI bridge: Intel Corporation Device 7a36 (rev 11)
...
00:1c.4/04:00.0 Non-Volatile memory controller: Solid State Storage Technology Corporation Device 9100 (rev 03)
Адрес моего устройства NVMe — 04:00.0, и оно подключено к мосту PCIe с адресом 00:1c.4. Как найти или получить структуру pci_dev этого моста?
Что я уже пытался сделать:

Код: Выделить всё

static int device_probe(struct pci_dev *pMyDev, const struct pci_device_id *pId)
{
...
struct pci_host_bridge *pHostBridge = pci_find_host_bridge(pPciDev->bus);
struct pci_dev *pBridgeDevA = host->bus->self; // always returns NULL
struct pci_dev *pBridgeDevB = pPciDev->bus->parent->self; // returns NULL too
...
}
Есть идеи? Спасибо большое за совет!

Подробнее здесь: https://stackoverflow.com/questions/792 ... cie-device
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»