Как убедиться, что предварительно загружаемый BAR MMIO access PCIE не будет оптимизирован в ядре Linux - PullRequest
0 голосов
/ 24 августа 2018

Я сталкиваюсь с некоторыми проблемами, связанными с предварительно выбираемым доступом PCIE к BAR в ядре Linux на платформе x86_64. Для моего устройства PCIE BAR 2 является предварительно выбираемой, а BAR5 - предварительно не выбираемой, и оба они являются IORESOURCE_MEM. Я использовал ioremap для сопоставления обеих полос и доступа к ним с помощью writel.

Странно то, что использование writel для записи BAR2 (с возможностью предварительной выборки) иногда будет потеряно, но запись BAR5 будет в порядке. Частота записи в два бара одинакова и очень высока.

Хотел бы кто-нибудь дать несколько советов? Есть ли что-то особенное в ядре Linux, когда вы пытаетесь отобразить и получить доступ к предварительно выбираемой PCIE BAR? Является ли ioremap лучшим API для отображения предварительно выбираемого PCIE BAR?

...