Airy_brn 0 26 октября, 2015 Опубликовано 26 октября, 2015 · Жалоба Здравствуйте! Реализую проект с PCI Express x8 на Virtex-6. При конфигурации ядра ставлю MAX_TLP_SIZE = 512 байт. После загрузки системы MAX_TLP_SIZE в конфигурационном пространстве PCI_e установлен 128 байт. В таком режиме все работает красиво: данные из платы в машину по DMA идут исправно. Если пытаюсь перезаписать значение MAX_TLP_SIZE (с помощью API-функций WinDriver) и слать TLP c длиной 512 байт, то система перестает работать. А именно: если смотреть на Flow Control значения, то видим такую картину: CREDITS_CONSUMED значение увеличивается, а CREDIT_LIMIT - нет. Подскажите, в чем может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RKOB 0 27 октября, 2015 Опубликовано 27 октября, 2015 · Жалоба Я еще не встречал системы, которая бы позволяла отправлять пакеты 512, максимум 256 и это на серверных материнках. Вы уверены, что ваша система поддерживает такие TLP? Если мы говорим о запросе чтения, то можно и 4kB слать запрос, но пакеты вам притут кусками максимального размера TLP, которая поддерживает система. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Airy_brn 0 27 октября, 2015 Опубликовано 27 октября, 2015 · Жалоба К сожалению, не уверена :( С размером пакета 256 байт происходит такая же история... За время от создания темы до текущего момента уже начала подозревать, что дело именно в этом. А как можно узнать какой максимальный TLP поддерживается данной материнкой? надо искать документацию на конкретную микросхему или, может, тесты какие есть? Нашла в документации - MAX_PAYLOAD_SIZE 128 байт :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 27 октября, 2015 Опубликовано 27 октября, 2015 · Жалоба для интела поискать можно тут: http://ark.intel.com оттуда по ссылкам можно дойти например сюда, если у вас десктопная платформа: http://www.intel.com/content/www/us/en/pro...-resources.html в Datasheet, Vol. 2 есть намёки на то, что max TLP size задается BIOS-ом через write-once регистры. всякие тестилки могут показывать текущее значение, да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Airy_brn 0 27 октября, 2015 Опубликовано 27 октября, 2015 · Жалоба 2 RKOB, 2 krux Спасибо за ответы. Для продолжения работы придется искать правильную серверную машину :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться