1

コンピューター オン モジュール (Adlink comExpressBT) が Linux 4.4.3 を起動すると、SMBus ドライバーの読み込みを妨げる PnP 障害に対応する次のエラーが表示されます: (FYI - SMBus は I2C インターフェイスで使用されます)

Oct 27 01:22:28 buildroot kern.info kernel: [    5.701720] i2c /dev entries driver
Oct 27 01:22:28 buildroot kern.warn kernel: [    5.709082] ACPI Warning: SystemIO range 0x000000000000E000-0x000000000000E01F conflicts with OpRegion 0x000000000000E000-0x000000000000E00F (\_SB_.PCI0.SBUS.SMBI) (20150930/utaddress-254)
Oct 27 01:22:28 buildroot kern.info kernel: [    5.742765] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

Buildroot から ACPI (および acpid) を削除し、SMBus ドライバーをロードしました。ただし、PnP は、RAM をマップするために使用しているカスタム PCIe FPGA で失敗しました。MSI 機能が正しく読み取られなかったために、次のことが発生しました。

Oct 31 22:06:25 buildroot kern.crit kernel: [  478.997584] /dev/dcb: initialising
Oct 31 22:06:25 buildroot kern.warn kernel: [  479.007245] pci_drv_DCB 0000:01:00.0: using bridge 0000:00:1c.0 INT A to get IRQ 16
Oct 31 22:06:25 buildroot kern.info kernel: [  479.025554] pci_drv_DCB 0000:01:00.0: PCI->APIC IRQ transform: INT A -> IRQ 16
Oct 31 22:06:25 buildroot kern.info kernel: [  479.043131] pci_drv_DCB 0000:01:00.0: enabling device (0000 -> 0002)
Oct 31 22:06:25 buildroot kern.crit kernel: [  479.059059] pci_DCB: memstart=0x0, memlen=0x0
Oct 31 22:06:25 buildroot kern.err kernel: [  479.070813] Memory address conflict for device "0000:01:00.0", request_mem_region( memstart=0x0, memlen=0x0 ) failed.
Oct 31 22:06:25 buildroot kern.warn kernel: [  479.095176] Unable to request memory for device.
Oct 31 22:06:25 buildroot kern.warn kernel: [  479.107604] pci_drv_DCB: probe of 0000:01:00.0 failed with error -12**

領域アドレスは良さそうに見えますが、MSI 機能が正しく読み取られません: (「lspci -vvv」より)

01:00.0 RAM memory: Xilinx Corporation Default PCIe endpoint ID
    Subsystem: Xilinx Corporation Default PCIe endpoint ID
    Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Interrupt: pin A routed to IRQ 0
    Region 0: Memory at b0700000 (64-bit, non-prefetchable) [size=64K]
    Expansion ROM at b0600000 [disabled] [size=1M]
    Capabilities: [40] Power Management version 3
            Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot-,D3cold-)
            Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME
    Capabilities: [48] MSI: Enable- Count=1/1 Maskable+ 64bit+
            Address: 0000000000000000  Data: 0000
            Masking: 00000000  Pending: 00000000**
    Capabilities: [60] Express (v1) Endpoint, MSI 00
            DevCap: MaxPayload 512 bytes, PhantFunc 1, Latency L0s unlimited, L1 unlimited
                    ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 10.000W
            DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                    RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
                    MaxPayload 128 bytes, MaxReadReq 512 bytes
            DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
            LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Exit Latency L0s unlimited, L1 unlimited
                    ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
            LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                    ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
            LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

PnP-PCI ディスカバリーを正しく機能させるには、ACPI をある程度有効にする必要があるようです。何か案は?前もって感謝します。-ロス R.

4

0 に答える 0