vilkin 0 5 февраля, 2015 Опубликовано 5 февраля, 2015 · Жалоба Здравствуйте. Взяв за основу кит sp605 (Spartan-6) сделано собственное железо. Отлажена работа под Linux на большом компьютере с PCIex1 разъемом. Сделал переходник на разъем mini-PCIe и столкнулся с тем, что с моей платы драйвер не получает запросы на прерывания. Устройство регистрируется, BAR читаются пишутся, а IRQ не проходят. На PCIe работает, а на mini-PCIe нет... куда смотреть? Подключил к разъему на ноутбуке, тоже не работает. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vilkin 0 6 февраля, 2015 Опубликовано 6 февраля, 2015 · Жалоба Для того что бы однозначно убедиться в том, что проблема где-то в железной реализации mini-PCIe и быть уверенным в настройках софта просто переставил винчестер с большого компьютера с PCIe на котором все работает на маленький компьютер (Intel NUC D34010WYK) с mini-PCIe ну и переткнул туда свою железку. В итоге проблема с прерываниями не ушла все работает кроме прерываний. Прерывания ни с какими больше устройствами не шарятся. Для проверки в драйвере жестко задал свободное прерывание ret = request_irq (14, mydevice_isr, "mydevice", dev); В выводе cat /proc/interupts вижу назначенное прерывание CPU0 CPU1 CPU2 CPU3 14: 0 0 0 0 IO-APIC-edge mydevice Создаю воздействие на мою железку - жму кнопку, что бы возникло прерывание. Но ни одной сработки прерываний не происходит... Функция static irqreturn_t mydevice_isr(int irq, void * devdata ) вообще не вызывается ни разу даже при инициализации драйвера. Обмен данными через BAR продолжает нормально работать... Переставляю винчестер и мой девайс на плату с большим PCIe - там все продолжает работать наряду с прерываниями... Как хоть отследить где это прерывание теряется? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vilkin 0 11 февраля, 2015 Опубликовано 11 февраля, 2015 · Жалоба Вроде разобрался, теперь работает и на PCIe и на mini-PCIe. Спасибо, вопрос снят! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться