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

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.