ID บทความ: 000088371 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 09/02/2022

ทําไมฉันจึงเห็น HPS EMAC ค้างกับบัฟเฟอร์ RX เต็มที่ในการออกแบบ Cyclone® V SoC ของฉัน

สิ่งแวดล้อม

Linux-socfpga

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

เนื่องจากปัญหาในเคอร์เนล Linux-socfpga เวอร์ชั่น 5.4 และใหม่กว่า HPS EMAC อาจค้างหรือค้างในบางสถานการณ์

ปัญหานี้เกิดจากการตั้งค่าที่ไม่ถูกต้องในโครงสร้างอุปกรณ์ Cyclone® V SoC Linux

  • ต้องเปิดใช้งานบิต Shared Enable Override ในแคชคอนโทรลเลอร์ L2C-310
  • ควรตั้งค่าขีดจํากัดธุรกรรมการอ่านและเขียนที่ค้างอยู่เป็น 0xfบน EMAC DMA
วิธีแก้ไข

หากต้องการแก้ไขปัญหานี้ ให้ทําตามขั้นตอนต่อไปนี้:


1. ตรวจสอบให้แน่ใจว่า โหนดแผนผังอุปกรณ์ L2C-310 ตั้งค่าบิต Enable Override ที่ใช้ร่วมกันโดยการแก้ไข arch/arm/boot/dts/socfpga.dtsi

       L2: แคช-controller@fffef000 {

เข้ากันได้ = "arm,pl310-cache";

reg = <0xfffef000 0x1000>;

การขัดจังหวะ = <0 38 0x04>;

การรวมแคช

ระดับแคช = <2>;

arm, แท็ก-ความหน่วงแฝง = <1 1>;

arm, ข้อมูล-ความหน่วงแฝง = <2 1>;

ข้อมูล prefetch = <1>;

prefetch-instr = <1>;

arm, shared-override;   # ตรวจสอบว่ามีอยู่

arm, double-linefill = <1>;

arm, double-linefill-incr = <0>;

arm, double-linefill-wrap = <1>;

arm, prefetch-drop = <0>;

arm, prefetch-offset = <7>;

};

2. แก้ไข โหนดอีเธอร์เน็ตเพื่อเพิ่มการอ้างอิงสําหรับ snps,axi-config และ เพิ่ม โหนดสําหรับ snps,axi-config ใน arch/arm/boot/dts/socfpga.dtsi

ตัวอย่างสําหรับ GMAC0:

diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi

ดัชนี e404220. 100644 90a0560

--- a/arch/arm/boot/dts/socfpga.dtsi

+++ b/arch/arm/boot/dts/socfpga.dtsi

@@ -560,10 +560,16 @@

ชื่อรีเซ็ต = "stmmaceth";

snps, multicast-filter-bins = <256>;

snps, perfect-filter-entries = <128>;

+ snps, axi-config = ;

tx-fifo-depth = <4096>;

rx-fifo-depth = <4096>;

สถานะ = "ปิดใช้งาน";

};

+

+ stmmac_axi_setup_0: stmmac-axi-config_0 {

+ snps, wr_osr_lmt = <0xf>;

+ snps, rd_osr_lmt = <0xf>;

+    };

ปัญหานี้ได้รับการกําหนดให้แก้ไขในเคอร์เนล Linux-Socfpga ในอนาคต

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 3 ผลิตภัณฑ์

Cyclone® V ST SoC FPGA
Cyclone® V SX SoC FPGA
Cyclone® V SE SoC FPGA

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้