All of lore.kernel.org
 help / color / mirror / Atom feed
* [REGRESSION] pm8001: Adaptec 6805H fails to initialize after v5.10.0
@ 2021-03-19 11:16 ash
  2021-03-19 11:30 ` Jinpu Wang
  0 siblings, 1 reply; 7+ messages in thread
From: ash @ 2021-03-19 11:16 UTC (permalink / raw)
  To: jinpu.wang; +Cc: linux-scsi

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-04-01  3:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19 11:16 [REGRESSION] pm8001: Adaptec 6805H fails to initialize after v5.10.0 ash
2021-03-19 11:30 ` 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

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.