реклама на сайте
подробности

 
 
> Не работает MSI pci-express под linux
sp1
сообщение Nov 6 2014, 09:42
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 28-10-10
Пользователь №: 60 495



Здравствуйте. Работаю с китом 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...

С уважением, Игорь.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 02:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01342 секунд с 7
ELECTRONIX ©2004-2016