From: <ash@ai0.uk>
To: <jinpu.wang@cloud.ionos.com>
Cc: <linux-scsi@vger.kernel.org>
Subject: [REGRESSION] pm8001: Adaptec 6805H fails to initialize after v5.10.0
Date: Fri, 19 Mar 2021 11:16:01 -0000 [thread overview]
Message-ID: <009d01d71cb1$3fbd5200$bf37f600$@ai0.uk> (raw)
From kernel version 5.10 onwards, none of the drives attached to an Adaptec
6805H HBA appear.
Building and installing the mainline kernel (5.12-rc3) does not fix the
issue, neither does the latest longterm (5.10.24).
'dmesg | grep pm8' shows:
[ 0.810874] pm80xx 0000:01:00.0: pm80xx: driver version 0.1.40
[ 0.811542] pm80xx 0000:01:00.0: enabling device (0000 -> 0002)
[ 0.812309] :: pm8001_pci_alloc 525:Setting link rate to default value
[ 3.239584] pm80xx0:: pm8001_pci_probe 1112:chip_init failed [ret: -16]
[ 3.262231] pm80xx: probe of 0000:01:00.0 failed with error -16
A bisection reveals the issue appears with the commit show below, with this
commit reverted, the drives attached to a 6805H appear once again.
> commit 05c6c029a44d9f43715577e33e95eba87f44d285
> Author: Viswas G <Viswas.G@microchip.com>
> Date: Mon Oct 5 20:20:08 2020 +0530
>
> scsi: pm80xx: Increase number of supported queues
>
> Current driver uses fixed number of Inbound and Outbound queues and
all of
> the I/O, TMF and internal requests are submitted through those. A
global
> spin lock is used to control the shared access. This can create a lock
> contention and it is real bottleneck in the I/O path.
>
> To avoid this, the number of supported Inbound and Outbound queues is
> increased to 64, and the number of queues used is decided based on
number
> of CPU cores online and number of MSI-X vectors allocated. Also add
locks
> per queue instead of using the global lock.
>
> Link:
https://lore.kernel.org/r/20201005145011.23674-2-Viswas.G@microchip.com.com
> Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com>
> Signed-off-by: Viswas G <Viswas.G@microchip.com>
> Signed-off-by: Ruksar Devadi <Ruksar.devadi@microchip.com>
> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
'lspci -vvv' on working kernel:
> 01:00.0 Serial Attached SCSI controller: Adaptec PMC-Sierra PM8001 SAS HBA
[Series 6H] (rev 05)
> Subsystem: Adaptec PMC-Sierra PM8001 SAS HBA [Series 6H]
> 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-
> Latency: 0, Cache Line Size: 64 bytes
> Interrupt: pin A routed to IRQ 16
> Region 0: Memory at f7d60000 (64-bit, non-prefetchable) [size=64K]
> Region 2: Memory at f7d50000 (64-bit, non-prefetchable) [size=64K]
> Region 4: Memory at f7d40000 (32-bit, non-prefetchable) [size=64K]
> Region 5: Memory at f7d00000 (32-bit, non-prefetchable)
[size=256K]
> Expansion ROM at f7c00000 [disabled] [size=1M]
> Capabilities: [40] Power Management version 3
> Flags: PMEClk- DSI- D1+ D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot-,D3cold-)
> Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
> Address: 0000000000000000 Data: 0000
> Capabilities: [70] Express (v2) Endpoint, MSI 00
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<1us, L1 <8us
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
SlotPowerLimit 0.000W
> DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
> MaxPayload 128 bytes, MaxReadReq 512 bytes
> DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr-
TransPend-
> LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s L1, Exit
Latency L0s <512ns, L1 <64us
> ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
> LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 5GT/s (ok), Width x4 (downgraded)
> TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> DevCap2: Completion Timeout: Not Supported, TimeoutDis+
NROPrPrP- LTR-
> 10BitTagComp- 10BitTagReq- OBFF Not Supported,
ExtFmt- EETLPPrefix-
> EmergencyPowerReduction Not Supported,
EmergencyPowerReductionInit-
> FRS- TPHComp- ExtTPHComp-
> AtomicOpsCap: 32bit- 64bit- 128bitCAS-
> DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LTR- OBFF Disabled,
> AtomicOpsCtl: ReqEn-
> LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance-
SpeedDis-
> Transmit Margin: Normal Operating Range,
EnterModifiedCompliance- ComplianceSOS-
> Compliance De-emphasis: -6dB
> LnkSta2: Current De-emphasis Level: -3.5dB,
EqualizationComplete- EqualizationPhase1-
> EqualizationPhase2- EqualizationPhase3-
LinkEqualizationRequest-
> Retimer- 2Retimers- CrosslinkRes: unsupported
> Capabilities: [ac] MSI-X: Enable+ Count=16 Masked-
> Vector table: BAR=0 offset=00002000
> PBA: BAR=0 offset=00004000
> Capabilities: [100 v1] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt-
RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
AdvNonFatalErr-
> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
AdvNonFatalErr+
> AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn-
ECRCChkCap+ ECRCChkEn-
> MultHdrRecCap- MultHdrRecEn- TLPPfxPres-
HdrLogCap-
> HeaderLog: 00000000 00000000 00000000 00000000
> Kernel driver in use: pm80xx
> Kernel modules: pm80xx
'lspci -vvv' on non-working kernel (5.12-rc3):
> 01:00.0 Serial Attached SCSI controller: Adaptec PMC-Sierra PM8001 SAS HBA
[Series 6H] (rev 05)
> Subsystem: Adaptec PMC-Sierra PM8001 SAS HBA [Series 6H]
> 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 16
> Region 0: Memory at f7d60000 (64-bit, non-prefetchable) [size=64K]
> Region 2: Memory at f7d50000 (64-bit, non-prefetchable) [size=64K]
> Region 4: Memory at f7d40000 (32-bit, non-prefetchable) [size=64K]
> Region 5: Memory at f7d00000 (32-bit, non-prefetchable)
[size=256K]
> Expansion ROM at f7c00000 [disabled] [size=1M]
> Capabilities: [40] Power Management version 3
> Flags: PMEClk- DSI- D1+ D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot-,D3cold-)
> Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
> Address: 0000000000000000 Data: 0000
> Capabilities: [70] Express (v2) Endpoint, MSI 00
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<1us, L1 <8us
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
SlotPowerLimit 116.000W
> DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
> MaxPayload 128 bytes, MaxReadReq 512 bytes
> DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr-
TransPend-
> LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s L1, Exit
Latency L0s <512ns, L1 <64us
> ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
> LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 5GT/s (ok), Width x4 (downgraded)
> TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> DevCap2: Completion Timeout: Not Supported, TimeoutDis+
NROPrPrP- LTR-
> 10BitTagComp- 10BitTagReq- OBFF Not Supported,
ExtFmt- EETLPPrefix-
> EmergencyPowerReduction Not Supported,
EmergencyPowerReductionInit-
> FRS- TPHComp- ExtTPHComp-
> AtomicOpsCap: 32bit- 64bit- 128bitCAS-
> DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LTR- OBFF Disabled,
> AtomicOpsCtl: ReqEn-
> LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance-
SpeedDis-
> Transmit Margin: Normal Operating Range,
EnterModifiedCompliance- ComplianceSOS-
> Compliance De-emphasis: -6dB
> LnkSta2: Current De-emphasis Level: -3.5dB,
EqualizationComplete- EqualizationPhase1-
> EqualizationPhase2- EqualizationPhase3-
LinkEqualizationRequest-
> Retimer- 2Retimers- CrosslinkRes: unsupported
> Capabilities: [ac] MSI-X: Enable+ Count=16 Masked-
> Vector table: BAR=0 offset=00002000
> PBA: BAR=0 offset=00004000
> Capabilities: [100 v1] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt-
RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
AdvNonFatalErr-
> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
AdvNonFatalErr+
> AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn-
ECRCChkCap+ ECRCChkEn-
> MultHdrRecCap- MultHdrRecEn- TLPPfxPres-
HdrLogCap-
> HeaderLog: 00000000 00000000 00000000 00000000
> Kernel modules: pm80xx
next reply other threads:[~2021-03-19 11:22 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-19 11:16 ash [this message]
2021-03-19 11:30 ` [REGRESSION] pm8001: Adaptec 6805H fails to initialize after v5.10.0 Jinpu Wang
2021-03-19 16:54 ` Viswas.G
2021-03-24 18:06 ` Viswas.G
2021-03-24 21:46 ` Ash Izat
2021-03-25 6:04 ` Jinpu Wang
2021-04-01 3:36 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='009d01d71cb1$3fbd5200$bf37f600$@ai0.uk' \
--to=ash@ai0.uk \
--cc=jinpu.wang@cloud.ionos.com \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox