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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.