From: andrew@lunn.ch (Andrew Lunn) Date: Fri, 25 Sep 2015 00:23:22 +0200 Subject: [PATCH 2/6] pci: mvebu: generate proper configuration access cycles In-Reply-To: References: <20150923171706.GL21084@n2100.arm.linux.org.uk> Message-ID: <20150924222322.GF20825@lunn.ch> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org > Testing with an ASM1062 PCIe to SATA mini-PCIe card on Armada 388. > PCIe capability at 0x80, DevCtl at 0x88, DevSta at 0x8a. > > Before: > /# setpci -s 1:0.0 0x88.l - DevSta: CorrErr+ > 00012810 > /# setpci -s 1:0.0 0x88.w=0x2810 - Write DevCtl only > /# setpci -s 1:0.0 0x88.l - CorrErr cleared - FAIL > 00002810 > > After: > /# setpci -s 1:0.0 0x88.l - DevSta: CorrErr+ > 00012810 > /# setpci -s 1:0.0 0x88.w=0x2810 - check DevCtl only write > /# setpci -s 1:0.0 0x88.l - CorErr remains set > 00012810 > /# setpci -s 1:0.0 0x88.w=0x281f - check DevCtl write works > /# setpci -s 1:0.0 0x88.l - devctl field updated > 0001281f > /# setpci -s 1:0.0 0x8a.w=0xffff - clear DevSta > /# setpci -s 1:0.0 0x88.l - CorrErr now cleared > 0000281f > /# setpci -s 1:0.0 0x88.w=0x2810 - restore DevCtl > /# setpci -s 1:0.0 0x88.l - check > 00002810 Hi Russell Can you give me some hints how to test this in my Kirkwood board. root at dir665:~# lspci -nvvvv 00:01.0 0604: 11ab:6281 (rev 02) (prog-if 00 [Normal decode]) Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- 01:00.0 0200: 11ab:2a40 Subsystem: 11ab:2a40 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-