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

 
 
 
Reply to this topicStart new topic
> PCIe-to -PCI мост, PCI устройства "за мостом" не генерируют прерывания
Bios71
сообщение Jun 20 2012, 05:31
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 21-02-08
Из: Мюнхен
Пользователь №: 35 249



то есть может и генерируют но они не проходят сквозь мост в PIC режиме, в APIC проходят (Линукс)

может это и нормально? ведь PCIe пропускает только MSI прерывания сквозь себя, а PIC о MSI "не в курсе" !?

если при "раздаче прерываний" раздать "как нибудь", то и в APIC-режиме прерывания не доходят до системы
и помогает только "irqpoll" как параметр при старте линукса

кто нибудь в этом разбирается? все обьяснения в литературе не опускаются до нюансов прерываний в мостах PCIe2PCI crying.gif


--------------------
я не волшебник, я только учусь ...
Go to the top of the page
 
+Quote Post
dsmv
сообщение Jun 25 2012, 15:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Цитата(Bios71 @ Jun 20 2012, 08:31) *
кто нибудь в этом разбирается? все обьяснения в литературе не опускаются до нюансов прерываний в мостах PCIe2PCI crying.gif


Похоже что у меня такая же проблема. Сегодня обнаружил.

Мост PEX8114. Не проходят прерывания от PCI Express на PCI. Буду разбираться.


Go to the top of the page
 
+Quote Post
Victor®
сообщение Jun 25 2012, 18:10
Сообщение #3


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(dsmv @ Jun 25 2012, 18:49) *
Похоже что у меня такая же проблема. Сегодня обнаружил.

Мост PEX8114. Не проходят прерывания от PCI Express на PCI. Буду разбираться.


С конкретно этим не помогу,
но может Тундру поставить взамен.
Посмотрите тут
http://www.analogzone.com/iop_052107.htm

Еще мелькала информация что TSI384 значительно "быстроходнее"...


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
dsmv
сообщение Jun 26 2012, 15:08
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Цитата(Victor® @ Jun 25 2012, 21:10) *
но может Тундру поставить взамен.

Тундру уже нельзя поставить.

Я разобрался в чём дело. На модуле такая цепочка: EP-SWITCH-BRIDGE-HOST


EP( Endpoint, Virtex6) формирует прерывание INTA

SWITCH( PEX8619 ) смещает INTA в INTC в соответствии с номером порта к которому подключен EP

BRIDGE получает сообщение об установке INTC и формирует INTC на шине PCI

Но вот тут к сожалению закралась ошибка в схемотехнике модуля. На разъём PCI выведен только INTA, остальные висят в воздухе. Это получилось из-за неправильного понимания документа. В описании 8114 сказано, что он может формировать только INTA по своим внутренним событиям, а из-за этого решили что другие прерывания вообще не формируются.

Попробую использовать MSI.




Go to the top of the page
 
+Quote Post
dsmv
сообщение Jun 28 2012, 13:44
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Проблему решил. Прерывания появилис. Я сформировал в EP прерывание INTC, после switch оно превратилось в INTA и попало в компьютер.

Заодно выяснил, что Virtex6 неправильно формирует прерывание INTC (а возможно и INTD, INTB). Ядро которое сформировал корегенератор правильно сформировало регистр INTERRUPT PIN, но пакеты получались для INTA. Пришлось пакеты для установки и сброса прерываний формировать самостоятельно.


Исходный код выложен в subversion на ds-dev.ru




Go to the top of the page
 
+Quote Post
xxxmatrixxx
сообщение Jul 6 2012, 11:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-03-12
Из: Санкт-Петербург
Пользователь №: 71 050



Цитата(dsmv @ Jun 28 2012, 17:44) *
Проблему решил. Прерывания появилис. Я сформировал в EP прерывание INTC, после switch оно превратилось в INTA и попало в компьютер.

Заодно выяснил, что Virtex6 неправильно формирует прерывание INTC (а возможно и INTD, INTB). Ядро которое сформировал корегенератор правильно сформировало регистр INTERRUPT PIN, но пакеты получались для INTA. Пришлось пакеты для установки и сброса прерываний формировать самостоятельно.


Исходный код выложен в subversion на ds-dev.ru


А я по-другому решил эту проблему...

Я сам генил прерывание и не пропускал его через кору... а так реально кора все прерывания не пропускала, не понимал почему и не стал в этом разбираться....
Go to the top of the page
 
+Quote Post
1234567890
сообщение Mar 22 2013, 13:45
Сообщение #7





Группа: Участник
Сообщений: 12
Регистрация: 11-03-12
Из: Москва
Пользователь №: 70 721



Помогите решить проблему с мостом построенным на Pi179x111sl, подключаю звуковую карту, все определяется, но звук слышно еле еле с учетом активных колонок и к тому же с помехами, включаю в обычный PCI все работает без нареканий!?!?!?!
Go to the top of the page
 
+Quote Post
hw-store
сообщение Feb 22 2016, 10:08
Сообщение #8





Группа: Участник
Сообщений: 11
Регистрация: 19-03-14
Пользователь №: 80 991



Есть подозрение, что проблема в отсутствии в схеме моста одного из каналов питания, скорее всего -12V, который нередко используется звуковыми картами и берётся с разъема PCI.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 23:18
Рейтинг@Mail.ru


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