UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 69066

Zynq UltraScale+ MPSoC Controller for PCI Express (Vivado 2017.1) - 「Error: hwirq 0x4 is too large for dummy」というエラー メッセージが表示される

説明

レガシの INT-D を使用するマルチファンクションデバイスを使用している場合、カーネルで次のようなエラー メッセージが表示されます。

[    2.441684] error: hwirq 0x4 is too large for dummy

現在のカーネルインフラストラクチャでは、hwirq 範囲がゼロから開始するようになります。

このため、ドライバーが IRQ を 4 つリクエストする場合、最大の有効な IRQ 値は 0x3 (0x0 から 0x3) だとサブシステムが判断します。 

ただし PCI の場合、レガシ割り込みの範囲は 0x1 から 0x4 です。 

この差があるため、IRQ 番号 0x4 をレジスタするときにエラーが発生し、上記のエラー メッセージが表示されます。

ソリューション

これは既知の問題で、カーネル PCI サブシステムでの修正が必要です。 

この問題の詳細は、次のリンクを参照してください。

https://patchwork.kernel.org/patch/9305303/

回避策として、次の手順に従って、このアンサーに添付されているパッチをインストールしてください。

git clone git://github.com/Xilinx/linux-xlnx.git
cd linux-xlnx
git checkout xilinx-v2017.1.01
git am0001-PCI-Xilinx-NWL-PCIe-Fix-Error-for-multi-function-dev.patch

パッチにより、drivers/pci/host/pcie-xilinx-nwl.c が次のように変更されます。

変更前:

pcie->legacy_irq_domain = irq_domain_add_linear(legacy_intc_node,
                                                        INTX_NUM,
                                                        &legacy_domain_ops,
                                                        pcie);

変更後:

pcie->legacy_irq_domain = irq_domain_add_linear(legacy_intc_node,
                                                        INTX_NUM + 1,
                                                        &legacy_domain_ops,
                                                        pcie);

改訂履歴

2017/11/22 - 初版

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
0001-PCI-Xilinx-NWL-PCIe-Fix-Error-for-multi-function-dev.patch 1 KB PATCH
AR# 69066
日付 11/22/2017
ステータス アクティブ
種類 既知の問題
IP
このページをブックマークに追加