ID Artikel: 000088371 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 16/08/2023

Mengapa saya melihat HPS EMAC hang dengan buffer RX penuh pada desain Cyclone® V SoC saya?

Lingkungan

Linux-socfpga

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Deskripsi

Karena masalah di kernel Linux-socfpga versi 5.4 dan yang lebih baru, HPS EMAC mungkin macet atau macet dalam beberapa keadaan.

Masalah ini disebabkan oleh pengaturan yang salah di pohon perangkat Cyclone® V SoC Linux

  • Bit Shared Enable Override harus diaktifkan pada L2C-310 Cache Controller
  • Batas Transaksi Terutang Baca dan Tulis harus diatur ke 0xf pada DMA EMAC
Resolusi

Untuk mengatasi masalah ini, lakukan langkah-langkah berikut ini:


1. Pastikan node pohon perangkat L2C-310 mengatur bit Enable Override bersama, dengan mengedit arch/arm/boot/dts/socfpga.dtsi

L2: cache-controller@fffef000 {

kompatibel = "lengan, pl310-cache";

reg = <0xfffef000 0x1000>;

interupsi = <0 38 0x04>;

cache-terpadu;

tingkat cache = <2>;

lengan,tag-latensi = <1 1 1>;

lengan,latensi data = <2 1 1>;

prefetch-data = <1>;

prefetch-instr = <1>;

lengan, penggantian bersama; # Periksa ini ada

lengan, linefill ganda = <1>;

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

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

lengan,prefetch-drop = <0>;

lengan,prefetch-offset = <7>;

};

2. Edit node ethernet untuk menambahkan referensi untuk snps, axi-config, dan tambahkan node untuk snps, axi-config di arch / arm / boot / dts / socfpga.dtsi

Contoh untuk GMAC0:

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

Indeks E404220.. 90a0560 100644

--- a/lengkungan/lengan/boot/dts/socfpga.dtsi

+++ b / lengkungan / lengan / boot / dts / socfpga.dtsi

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

reset-names = "stmmaceth";

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

snps,entri filter sempurna = <128>;

+ snps,axi-config = <&stmmac_axi_setup_0>;

kedalaman tx-fifo = <4096>;

kedalaman rx-fifo = <4096>;

status = "dinonaktifkan";

};

+

+ stmmac_axi_setup_0: stmmac-axi-config_0 {

+ SNPS,wr_osr_lmt = <0xf>;

+ SNPS,rd_osr_lmt = <0xf>;

+ };

Masalah ini telah diperbaiki dimulai dengan cabang linux-socfpga-5.10.120-lts dan linux-socfpga-5.15.30-lts

Produk Terkait

Artikel ini berlaku untuk 3 produk

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

1

Konten pada halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten asli berbahasa Inggris. Konten ini disediakan untuk kenyamanan Anda dan hanya untuk informasi umum dan tidak boleh dianggap lengkap atau akurat. Jika ada kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris yang akan mengatur dan mengendalikan. Lihat versi bahasa Inggris halaman ini.