Artikel-ID: 000088369 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 13.04.2023

Warum schlägt dmatest fehl, wenn test_buf_size auf einen größeren Wert geändert wird, wenn Intel® Stratix® 10-SoC-FPGA oder Intel Agilex® 7-SoC-FPGA verwendet wird?

Umgebung

    Intel® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Bei der Ausführung von dmatest für D STANDBY in Intel® Stratix® 10 SoC-FPGA oder Intel Agilex® 7 SoC-FPGA wird der folgende Fehler angezeigt, wenn die test_buf_size auf einen größeren Wert geändert wird (der Standardwert von test_buf_size beträgt 16 KB):

root@agilex:~# echo 1 > /sys/module/dmatest/parameters/run

[ 149.931113] dmatest: Keine Kanäle konfiguriert, mit beliebigen fortfahren

[ 149.937236] dmatest: 1 Threads mit dma0chan0 hinzugefügt

[ 149.942349] dmatest: 1 Threads mit dma0chan0 gestartet

root@agilex:~# [ 149.963288] dma-pl330 ffda0000.pdma: swiotlb-Puffer ist voll (2097152 Byte), insgesamt 32768 (Steckplätze), verwendet 1024 (Steckplätze)

[ 149.974096] dma-pl330 ffda0000.pdma: overflow 0x00000003ebc00000+2097152 der DMA-Mask ffffffffff bus mask 0

[ 149.983622] ------------[ hier durchtrennt ]------------

Lösung

Die Ursache ist, dass DSDS 330 nur eine 32-Bit-Adressbreite hat; die Standardpuffergröße SWIOTLB reicht für DSDS 330 nicht aus, um auf die gesamte Ddr-Palette zuzugreifen.

Um dieses Problem zu beheben, können Sie eine der folgenden Lösungen verwenden:

  1. Konfigurieren Linux verwendet nur die ersten 2 GB DDR; D kann auf den 2-GB-Speicherbereich mit einer Adresse mit 32-Bit-Breite zugreifen, damit der SWIOTLB-Puffer nicht erhöht werden muss.
  2. Ändern Sie die Kernel-Quelle und die U-Boot-Befehlszeile, um den SWIOTLB-Puffer größer zu machen:

Ändern Sie in /include/linux/swiotlb.h IO_TLB_SEGSIZE in eine größere Zahl (sollte eine Leistung von2 sein); zum Beispiel #define IO_TLB_SEGSIZE 1024

Ändern Sie die U-Boot-Umgebung, um einen angepassten Swiotlb-Wert hinzuzufügen; zum Beispiel setenv bootargs earlycon console=ttyPS0,115200 swiotlb=32768

Zugehörige Produkte

Dieser Artikel bezieht sich auf 2 Produkte

Intel® Agilex™ FPGAs und SoC FPGAs
Intel® Stratix® 10 FPGAs und SoC FPGAs

1

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.