MT7621 Soc Crypto Engine - IRQ не отображается
Я использую последнюю версию прошивки магистрали Openwrt (ядро 4.3) и успешно скомпилировал драйвер для своего CryptoEngine, внутреннего ускорителя ipsec MT7621 Soc (который, насколько я понял, находится на внутренней шине под названием AMBA / APB).
Похоже, драйвер работает (CryptoEngine успешно настраивается путем отправки и получения пакетов, поэтому он "реагирует" на регистры с отображением в памяти).
Однако драйвер не может подключить IRQ (поэтому он работает только в режиме опроса), потому что request_irq всегда завершается ошибкой с кодом ошибки 89 (требуется адрес назначения EDESTADDRREQ) на IRQ 19 (журнал драйверов не выдает никакой ошибки раньше), и я могу не понимаю, почему (я не эксперт по драйверам устройств Linux, просто базовое понимание, скажем, мне удалось перекомпилировать драйвер).
Есть идеи, почему это происходит? Может ли быть проблема с файлом dts на плате? Далее следует журнал dmesg и ссылка на используемые файлы dts ( журнал Dmesg слишком длинный, чтобы включить его, Soc dtsi (dev.openwrt.org/browser/trunk/target/linux/ramips/dts/mt7621.dtsi) и Board dts))
Карта памяти CryptoEngine 0x1E004000-0x1E004FFF
root @ OpenWrt: / # lspci
00: 00.0 Мост PCI: устройство 0e8d:0801 (версия 01)
00: 01.0 Мост PCI: устройство 0e8d:0801 (версия 01)
00: 02.0 Мост PCI: устройство 0e8d:0801 (версия 01)
01: 00.0 Сетевой контроллер: MEDIATEK Corp. MT7662E 802.11ac PCI Express Беспроводной сетевой адаптер
02: 00.0 Сетевой контроллер: MEDIATEK Corp. MT7662E 802.11ac PCI Express Беспроводной сетевой адаптер
03: 00.0 Контроллер SATA: ASMedia Technology Inc. Контроллер Serial ATA ASM1062 (версия 01)
root @ OpenWrt: / # cat / proc / interrupts
CPU0 CPU1 CPU2 CPU3
8: 63126 63253 63143 63987 MIPS GIC Local 1 таймер
10: 1513 0 0 0 MIPS GIC 10 1e100000.ethernet
11:20 0 MIPS GIC 11 mt76pci
29:00 0 0 0 MIPS GIC 29 xhci-hcd: usb1
31:20 0 MIPS GIC 31 mt76pci
33: 7976 0 0 0 MIPS GIC 33 serial
63: 1178 0 0 0 MIPS GIC 63 IPI вызов
64: 0 1305 0 0 MIPS GIC 64 IPI вызов
65: 0 0 1257 0 MIPS GIC 65 IPI вызов
66:0 0 1087 MIPS GIC 66 IPI вызов
67: 144709 0 0 0 MIPS GIC 67 IPI восстановлен
68: 0 25822 0 0 MIPS GIC 68 IPI
69: 0 0 97134 0 MIPS GIC 69 IPI переделал
70:00 03030 MIPS GIC 70 IPI
root @ OpenWrt: / # cat / proc / ioports
ffffffff-ffffffff: / pcie @ 1e140000