是否有Buildroot选项可以防止ACPI报告的冲突阻止i801_smbus驱动程序加载?

时间:2016-11-03 18:06:49

标签: linux pci acpi

当我的计算机模块(Adlink comExpressBT)引导Linux 4.4.3时,我收到以下错误,该错误对应于阻止SMBus驱动程序加载的PnP故障:(仅供参考 - 在I2C接口上使用SMBus)

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然后失败了我们正在使用的定制PCIe FPGA,它映射RAM。未正确读取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-

似乎我必须在某种程度上启用ACPI才能让PnP-PCI发现正常工作。有任何想法吗?提前致谢。 -Ross R。

0 个答案:

没有答案