LINUX.ORG.RU

История изменений

Исправление I-Love-Microsoft, (текущая версия) :

Да. Только будь готов, что completionов будет много на один запрос и они будут разного размера, вплоть до 64 байт. Root complex нашинкует как ему удобнее. Если запускать несколько запросов (с разным tag) то completionы будут перемешаны.

Да, спасибо, чем то таким меня пугали товарищи плисоводы, а я до сих пор не вижу в этом сложности. Да они перемешаются, но адреса то я в ПЛИС сам буду разбирать и отдавать данные. Вижу гемор, но непреодолимой ее не считаю.

P.S. Пока борюсь с тем что pcie-ядро прерывания принимает и подтверждает ack, а в Linux у драйвера /etc/interrupts все нули. У меня есть старые наработки дров, разницы вроде нет, но ни ISR обработчик не срабатывает, и вообще всё падает. Число зарегистрированных прерываний пока ноль...

DMA осилил. Это я сейчас MSI-прерывания на Xilinx натягиваю. Legacy interrupts пробовал тоже, разница какая то мутная у них в этом месте. На Altera/Lattice как то проще было, там сразу заработало, а у Xilinx застрял чето, падает драйвер, затем ядро глючит.

Исправление I-Love-Microsoft, :

Да. Только будь готов, что completionов будет много на один запрос и они будут разного размера, вплоть до 64 байт. Root complex нашинкует как ему удобнее. Если запускать несколько запросов (с разным tag) то completionы будут перемешаны.

Да, спасибо, чем то таким меня пугали товарищи плисоводы, а я до сих пор не вижу в этом сложности. Да они перемешаются, но адреса то я в ПЛИС сам буду разбирать и отдавать данные. Вижу гемор, но непреодолимой ее не считаю.

P.S. Пока борюсь с тем что pcie-ядро прерывания принимает и подтверждает ack, а в Linux у драйвера /etc/interrupts все нули. У меня есть старые наработки дров, разницы вроде нет, но ни ISR обработчик не срабатывает, и вообще всё падает. Число зарегистрированных прерываний пока ноль...

DMA осилил. Это я сейчас MSI-прерывания на Xilinx натягиваю. Legacy interrupts пробовал тоже, разница какая то мутная у них в этом месте.

Исправление I-Love-Microsoft, :

Да. Только будь готов, что completionов будет много на один запрос и они будут разного размера, вплоть до 64 байт. Root complex нашинкует как ему удобнее. Если запускать несколько запросов (с разным tag) то completionы будут перемешаны.

Да, спасибо, чем то таким меня пугали товарищи плисоводы, а я до сих пор не вижу в этом сложности. Да они перемешаются, но адреса то я в ПЛИС сам буду разбирать и отдавать данные. Вижу гемор, но непреодолимой ее не считаю.

P.S. Пока борюсь с тем что pcie-ядро прерывания принимает и подтверждает ack, а в Linux у драйвера /etc/interrupts все нули. У меня есть старые наработки дров, разницы вроде нет, но ни ISR обработчик не срабатывает, и вообще всё падает. Число зарегистрированных прерываний пока ноль...

Исходная версия I-Love-Microsoft, :

Да. Только будь готов, что completionов будет много на один запрос и они будут разного размера, вплоть до 64 байт. Root complex нашинкует как ему удобнее. Если запускать несколько запросов (с разным tag) то completionы будут перемешаны.

Да, спасибо, чем то таким меня пугали товарищи плисоводы, а я до сих пор не вижу в этом сложности. Да они перемешаются, но адреса то я в ПЛИС сам буду разбирать и отдавать данные. Вижу гемор, но непреодолимой ее не считаю.