Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает MSI pci-express под linux
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
sp1
Здравствуйте. Работаю с китом sp605 (Spartan-6), xapp1052, Fedora 13. Хочу сделать, чтобы мой Endpoint (sp605) отправлял прерывания MSI PCIe.

В проекте использую ядро pcie ipcore 1.4 (xilinx). Модуль запроса прерывания написал свой на Verilog (ибо тот, что идет в xapp1052, написан далеко не лучшим образом) в соответствии с документацией ug654 (документация на ipcore pcie 1.4). Мой модуль раз в секунду посылает запрос на генерацию ip-ядром прерывания MSI (все диаграммы по ug654). На каждый свой запрос генерации я получаю ответ от ядра, что прерывание отправлено. Программист написал драйвер, который устанавливает бит MSI_Enable в конфигурационном пространстве. При запуске драйвера идет инициализация Endpoint и программист "подписывается" на прерывание выделенное моему устройству. Однако, программист говорит, что до обработчика не дошло ни одного прерывания MSI.

Если делаем с прерываниями legacy, то прерывания идут, но еще периодически проскакивают какие-то "лишние" прерывания видимо не от моего устройства. Полагаем, что "лишние" прерывания возникают из-за того, что при legacy на одном прерывании может сидеть несколько устройств. Поэтому от legacy хотим отказаться.

Собственно вопрос: поднимал ли кто-нибудь MSI прерывания PCIe и что для этого нужно со стороны linux? Со стороны sp605 генератор прерываний сделан по документации на ipcore 1.4...

С уважением, Игорь.
Kuzmi4
2 sp1
Обычно когда используют "legacy", делают специальный регистр в железяке, куда лезут смотреть когда случилось прерывание - если прерывание от нашей желзяки, то там 1, и значит пора что то делать, если не от нашей, то там 0 и ничего не делаем.
Делали как то пару раз железяки, прогеры тоже хотели MSI, но потом забодались и перешли на "legacy".
(если у вас останется желание и получится использовать MSI стабильно и без проблем - отпишитесь пожалуйста, очень интересно что реально делать надо)
sp1
Описанный Вами вариант с "legacy" и статусным регистром рассматриваем, как запасной. Хотелось бы его избежать. sm.gif

Если получится - отпишусь. Написал сюда, т.к. уже кучу всяких настроек перепробовали, форумов перечитали, а толку - ноль.
Kuzmi4
2 sp1
как долгоиграющий вариант - попробуйте авторам книжки "Linux Device Drivers" написать, они вроде бы даже отвечают.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.