All of lore.kernel.org
 help / color / mirror / Atom feed
* Bug report for ahci-mvebu driver
@ 2022-11-01 19:21 Dinu Marius
  2022-11-06  7:05 ` Damien Le Moal
                   ` (3 more replies)
  0 siblings, 4 replies; 67+ messages in thread
From: Dinu Marius @ 2022-11-01 19:21 UTC (permalink / raw)
  To: damien.lemoal; +Cc: linux-ide

Hello.

I'm contacting you because your email is listed in www.kernel.org/doc/linux/MAINTAINERS
I encountered a problem with the ahci-mvebu driver. I think it's a bug.

Hardware:
Areca ARC-5040 RAID enclosure (DAS), eSATA port, 8 SATA drive bays with 1x 500GB HDD stand-alone and 7x 2TB HDDs in RAID5.
Linksys WRT-1900ACS v2 router, Marvell Armada 385 (88F6820), one eSATAp using ahci-mvebu driver with port-multiplier support.
The router runs OpenWrt with kernel version 5.15.

Problem encountered:
Areca DAS is not detected properly. When I connect it, I get these repeating errors in kernel log:

[--- from boot log ---]
<4>[    1.490840] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
<4>[    1.498512] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
<4>[    1.506053] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
<6>[    1.513896] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
<6>[    1.522994] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
<6>[    1.532212] scsi host0: ahci-mvebu
<6>[    1.535848] scsi host1: ahci-mvebu
<6>[    1.539353] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 49
<6>[    1.547313] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 49

[--- Areca connected ---]
<6>[  742.795979] ata2: SATA link down (SStatus 100 SControl 300)
<3>[  745.465974] ata2: COMRESET failed (errno=-32)
<4>[  745.470361] ata2: reset failed (errno=-32), retrying in 8 secs
<3>[  755.365973] ata2: COMRESET failed (errno=-32)
<4>[  755.370361] ata2: reset failed (errno=-32), retrying in 8 secs
<6>[  764.655979] ata2: SATA link down (SStatus 100 SControl 300)
<6>[  766.045984] ata2: SATA link down (SStatus 101 SControl 300)
<6>[  767.576004] ata2: SATA link down (SStatus 100 SControl 300)
<6>[  768.325978] ata2: SATA link down (SStatus 100 SControl 300)
<3>[  770.865973] ata2: COMRESET failed (errno=-32)
<4>[  770.870360] ata2: reset failed (errno=-32), retrying in 8 secs
<6>[  779.515985] ata2: SATA link down (SStatus 101 SControl 300)
<6>[  780.275979] ata2: SATA link down (SStatus 100 SControl 300)

The same errors appear if I leave it connected during reboot.
I tried to limit SATA speed to 150 and to disable NCQ from Areca admin interface. It didn't work.
I found no way of making it work.

The same router works perfectly when I connect a laptop HDD.
The same DAS, including the same eSATA cable, works perfectly when connected to an older 
Linksys WRT-1900AC v1 with Marvell Armada XP (MV78230), using sata-mv driver. 
This is the kernel log from the older router:

[--- from boot log ---]
<7>[    1.612541] sata_mv f10a0000.sata: version 1.28
<6>[    1.612652] sata_mv f10a0000.sata: slots 32 ports 1
<6>[    1.618121] scsi host0: sata_mv
<6>[    1.621486] ata1: SATA max UDMA/133 irq 36

[--- Areca connected ---]
<6>[88761.966331] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
<6>[88761.975472] ata1.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
<6>[88764.670933] ata1.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
<6>[88764.677860] ata1.00: 976773168 sectors, multi 0: LBA48
<6>[88764.683599] ata1.00: configured for UDMA/133
<6>[88764.688391] ata1.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
<6>[88764.694596] ata1.01: 23437498368 sectors, multi 0: LBA48
<6>[88764.700779] ata1.01: configured for UDMA/133
<5>[88764.705557] scsi 0:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a PQ: 0 ANSI: 5
<5>[88764.714802] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
<5>[88764.722521] sd 0:0:0:0: [sda] Write Protect is off
<7>[88764.727558] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
<5>[88764.727915] scsi 0:1:0:0: Direct-Access     ATA      Areca   Archive  n/a PQ: 0 ANSI: 5
<5>[88764.728706] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
<5>[88764.745574] sd 0:1:0:0: [sdb] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
<5>[88764.753819] sd 0:1:0:0: [sdb] Write Protect is off
<7>[88764.758886] sd 0:1:0:0: [sdb] Mode Sense: 00 3a 00 00
<5>[88764.759101] sd 0:1:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
<5>[88764.760537] sd 0:0:0:0: [sda] Attached SCSI disk
<5>[88764.772600] sd 0:1:0:0: [sdb] Attached SCSI disk

I'm not currently using the new router, so it's available for tests.
Thanks.
Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-11-01 19:21 Bug report for ahci-mvebu driver Dinu Marius
@ 2022-11-06  7:05 ` Damien Le Moal
  2022-11-07  9:22 ` marius
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-11-06  7:05 UTC (permalink / raw)
  To: Dinu Marius; +Cc: linux-ide

On 11/2/22 04:21, Dinu Marius wrote:
> Hello.
> 
> I'm contacting you because your email is listed in www.kernel.org/doc/linux/MAINTAINERS
> I encountered a problem with the ahci-mvebu driver. I think it's a bug.
> 
> Hardware:
> Areca ARC-5040 RAID enclosure (DAS), eSATA port, 8 SATA drive bays with 1x 500GB HDD stand-alone and 7x 2TB HDDs in RAID5.
> Linksys WRT-1900ACS v2 router, Marvell Armada 385 (88F6820), one eSATAp using ahci-mvebu driver with port-multiplier support.
> The router runs OpenWrt with kernel version 5.15.

Can you try current mainline 6.1-rc kernel ? Not going to debug 5.15.
Debugging should be done on the latest kernel and any bug fix backported.

> 
> Problem encountered:
> Areca DAS is not detected properly. When I connect it, I get these repeating errors in kernel log:
> 
> [--- from boot log ---]
> <4>[    1.490840] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
> <4>[    1.498512] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
> <4>[    1.506053] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
> <6>[    1.513896] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
> <6>[    1.522994] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
> <6>[    1.532212] scsi host0: ahci-mvebu
> <6>[    1.535848] scsi host1: ahci-mvebu
> <6>[    1.539353] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 49
> <6>[    1.547313] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 49
> 
> [--- Areca connected ---]
> <6>[  742.795979] ata2: SATA link down (SStatus 100 SControl 300)
> <3>[  745.465974] ata2: COMRESET failed (errno=-32)
> <4>[  745.470361] ata2: reset failed (errno=-32), retrying in 8 secs
> <3>[  755.365973] ata2: COMRESET failed (errno=-32)
> <4>[  755.370361] ata2: reset failed (errno=-32), retrying in 8 secs
> <6>[  764.655979] ata2: SATA link down (SStatus 100 SControl 300)
> <6>[  766.045984] ata2: SATA link down (SStatus 101 SControl 300)
> <6>[  767.576004] ata2: SATA link down (SStatus 100 SControl 300)
> <6>[  768.325978] ata2: SATA link down (SStatus 100 SControl 300)
> <3>[  770.865973] ata2: COMRESET failed (errno=-32)
> <4>[  770.870360] ata2: reset failed (errno=-32), retrying in 8 secs
> <6>[  779.515985] ata2: SATA link down (SStatus 101 SControl 300)
> <6>[  780.275979] ata2: SATA link down (SStatus 100 SControl 300)
> 
> The same errors appear if I leave it connected during reboot.
> I tried to limit SATA speed to 150 and to disable NCQ from Areca admin interface. It didn't work.
> I found no way of making it work.
> 
> The same router works perfectly when I connect a laptop HDD.

You mean an external single HDD connected with an eSATA port ?

> The same DAS, including the same eSATA cable, works perfectly when connected to an older 
> Linksys WRT-1900AC v1 with Marvell Armada XP (MV78230), using sata-mv driver. 

What kernel version is running on that older Linksys box ?

> This is the kernel log from the older router:
> 
> [--- from boot log ---]
> <7>[    1.612541] sata_mv f10a0000.sata: version 1.28
> <6>[    1.612652] sata_mv f10a0000.sata: slots 32 ports 1
> <6>[    1.618121] scsi host0: sata_mv
> <6>[    1.621486] ata1: SATA max UDMA/133 irq 36
> 
> [--- Areca connected ---]
> <6>[88761.966331] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
> <6>[88761.975472] ata1.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f

This one seems OK with the PHY detection and it links up. Let me know the
kernel version and we can see what changed between the older kernel and
5.15. But you should still try latest 6.1-rc if possible.

> <6>[88764.670933] ata1.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
> <6>[88764.677860] ata1.00: 976773168 sectors, multi 0: LBA48
> <6>[88764.683599] ata1.00: configured for UDMA/133
> <6>[88764.688391] ata1.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
> <6>[88764.694596] ata1.01: 23437498368 sectors, multi 0: LBA48
> <6>[88764.700779] ata1.01: configured for UDMA/133
> <5>[88764.705557] scsi 0:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a PQ: 0 ANSI: 5
> <5>[88764.714802] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
> <5>[88764.722521] sd 0:0:0:0: [sda] Write Protect is off
> <7>[88764.727558] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
> <5>[88764.727915] scsi 0:1:0:0: Direct-Access     ATA      Areca   Archive  n/a PQ: 0 ANSI: 5
> <5>[88764.728706] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> <5>[88764.745574] sd 0:1:0:0: [sdb] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
> <5>[88764.753819] sd 0:1:0:0: [sdb] Write Protect is off
> <7>[88764.758886] sd 0:1:0:0: [sdb] Mode Sense: 00 3a 00 00
> <5>[88764.759101] sd 0:1:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> <5>[88764.760537] sd 0:0:0:0: [sda] Attached SCSI disk
> <5>[88764.772600] sd 0:1:0:0: [sdb] Attached SCSI disk
> 
> I'm not currently using the new router, so it's available for tests.
> Thanks.
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-01 19:21 Bug report for ahci-mvebu driver Dinu Marius
  2022-11-06  7:05 ` Damien Le Moal
@ 2022-11-07  9:22 ` marius
  2022-11-08  6:27   ` Damien Le Moal
                     ` (2 more replies)
  2022-11-26 14:26 ` Bug report for ahci-mvebu driver Pali Rohár
  2023-01-23  9:10 ` Hajo Noerenberg
  3 siblings, 3 replies; 67+ messages in thread
From: marius @ 2022-11-07  9:22 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

[-- Attachment #1: Type: text/plain, Size: 1387 bytes --]

November 6, 2022 9:05 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> Can you try current mainline 6.1-rc kernel ? Not going to debug 5.15.
> Debugging should be done on the latest kernel and any bug fix backported.
 
OK. I have a bootable kernel v6.1-rc3, but no rootfs yet. I load it via tftp. I built it from github.com/torvalds/linux using OpenWrt toolchain. Bootlog is attached. At 17 seconds I connect the DAS.

>> The same router works perfectly when I connect a laptop HDD.
> 
> You mean an external single HDD connected with an eSATA port ?

Yes, to show that the hardware is not defective.

> What kernel version is running on that older Linksys box ?

5.10

>> [--- Areca connected ---]
>> <6>[88761.966331] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
>> <6>[88761.975472] ata1.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
> 
> This one seems OK with the PHY detection and it links up. Let me know the
> kernel version and we can see what changed between the older kernel and
> 5.15. But you should still try latest 6.1-rc if possible.

I don't think there is a change in kernel. It's just a diferent driver in use: ahci-mvebu vs. sata-mv.
BTW, is sata-mv compatible with this hardware? It won't auto-load instead of ahci-mvebu if ahci-mvebu is missing.

Thank you for your reply.
Marius Dinu

[-- Attachment #2: serial2.txt --]
[-- Type: text/plain, Size: 75947 bytes --]

\0\0\0\0\0
\rBootROM - 1.73
\rBooting from NAND flash

\rGeneral initialization - Version: 1.0.0
\rDetected Device ID 6820
\rHigh speed PHY - Version: 2.0

\rInit RD NAS topology Serdes Lane 3 is USB3
\rSerdes Lane 4 is SGMII
\rboard SerDes lanes topology details:
\r | Lane #  | Speed |  Type       |
\r --------------------------------
\r |   0    |  06   |  SATA0	|
\r |   1    |  05   |  PCIe0	|
\r |   2    |  06   |  SATA1	|
\r |   3    |  05   |  USB3 HOST1	|
\r |   4    |  05   |  PCIe1	|
\r |   5    |  00   |  SGMII2	|
\r --------------------------------
\r:** Link is Gen1, check the EP capability 
\rPCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities 
\r:** Link is Gen1, check the EP capability 
\rPCIe, Idx 1: remains Gen1
\rHigh speed PHY - Ended Successfully
\rDDR3 Training Sequence - Ver TIP-1.26.0
\rmvSysEnvGetTopologyUpdateInfo: TWSI Read failed
\rDDR3 Training Sequence - Switching XBAR Window to FastPath Window 
\rDDR3 Training Sequence - Ended Successfully
\rNot detected suspend to RAM indication
\rBootROM: Image checksum verification PASSED

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_ 
        | | | |___|  _ \ / _ \ / _ \| __| 
        | |_| |___| |_) | (_) | (_) | |_ 
         \___/    |____/ \___/ \___/ \__| 
 ** LOADER **


U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6

Boot version : v1.0.13

Board: RD-NAS-88F6820-DDR3
SoC:   MV88F6820 Rev A0
       running 2 CPUs
CPU:   ARM Cortex A9 MPCore (Rev 1) LE
       CPU 0
       CPU    @ 1600 [MHz]
       L2     @ 800 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 800 [MHz]
       DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM:  512 MiB

Map:   Code:			0x1fea9000:0x1ff7632c
       BSS:			0x1ffef6b4
       Stack:			0x1f9a8f20
       Heap:			0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
       U-Boot Environment:	0x00200000:0x00220000 (NAND)

NAND:  128 MiB
MMC:   mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000


#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == 2
[u_env] get boot_part_ready == 3
auto_recovery enabled:1, boot_part:2, boot_part_ready:3 

S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64 
[boot_count_read_record] boot_count:1, next_record:33

[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x250800

Updating boot_count ... 
[boot_count_write] offset:0x250800 , length:2048
done

PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init 
Net:   
|  port  | Interface | PHY address  |
|--------|-----------|--------------|
| egiga0 |   RGMII   |     0x01     |
| egiga1 |   SGMII   |     0x00     |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run altnandboot 
Hit any key to stop autoboot:  3 \b\b\b 0
Marvell>>      \b \b\b \b\b \b\b \b\b \brun cmd\b \b\b \b\b \bbootcmd_tftp
Using egiga0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'uImage'.
Load address: 0x2000000
Loading: *\bT #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 ################################
	 119.1 KiB/s
done
Bytes transferred = 4272040 (412fa8 hex)
Using egiga0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'armada-38x-modular.dtb'.
Load address: 0x1000000
Loading: *\b##
	 137.7 KiB/s
done
Bytes transferred = 20015 (4e2f hex)
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x01000000
   Loading Device Tree to 00ff8000, end 00fffe2e ... OK

   Starting Device Tree update ('fdt_skip_update' = no)
Updating device tree failed

Starting kernel ...

[    0.000000][    T0] Booting Linux on physical CPU 0x0
[    0.000000][    T0] Linux version 6.1.0-rc3M95D-test (marius95@GRAPHIM) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 12.2.0 r20954+11-cb24be47ff) 12.2.0, GNU ld (GNU Binutils) 2.38) #1 SMP Sun Nov  6 22:29:22 EET 2022
[    0.000000][    T0] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000][    T0] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000][    T0] OF: fdt: Machine model: Linksys WRT1900ACv2
[    0.000000][    T0] Memory policy: Data cache writealloc
[    0.000000][    T0] Zone ranges:
[    0.000000][    T0]   Normal   [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000][    T0] Movable zone start for each node
[    0.000000][    T0] Early memory node ranges
[    0.000000][    T0]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000][    T0] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000][    T0] percpu: Embedded 8 pages/cpu s9424 r0 d23344 u32768
[    0.000000][    T0] pcpu-alloc: s9424 r0 d23344 u32768 alloc=8*4096
[    0.000000][    T0] pcpu-alloc: [0] 0 [0] 1 
[    0.000000][    T0] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000][    T0] Kernel command line: console=ttyS0,115200 earlyprintk nfcConfig=4bitecc mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/sda rootdelay=60
[    0.000000][    T0] Unknown kernel command line parameters "earlyprintk nfcConfig=4bitecc", will be passed to user space.
[    0.000000][    T0] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000][    T0] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000][    T0] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000][    T0] Memory: 509052K/524288K available (6088K kernel code, 1024K rwdata, 1628K rodata, 1024K init, 327K bss, 15236K reserved, 0K cma-reserved)
[    0.000000][    T0] rcu: Hierarchical RCU implementation.
[    0.000000][    T0] rcu: 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000][    T0] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000][    T0] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000][    T0] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000][    T0] L2C: DT/platform modifies aux control register: 0x06070000 -> 0x16070000
[    0.000000][    T0] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000][    T0] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000][    T0] L2C-310 D prefetch enabled, offset 1 lines
[    0.000000][    T0] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000][    T0] L2C-310 Coherent cache controller enabled, 16 ways, 1024 kB
[    0.000000][    T0] L2C-310 Coherent: CACHE_ID 0x410054c9, AUX_CTRL 0x56070001
[    0.000000][    T0] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000001][    T0] sched_clock: 64 bits at 400MHz, resolution 2ns, wraps every 4398046511103ns
[    0.000012][    T0] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x5c4093a7d1, max_idle_ns: 440795210635 ns
[    0.000026][    T0] Switching to timer-based delay loop, resolution 2ns
[    0.000158][    T0] Ignoring duplicate/late registration of read_current_timer delay
[    0.000162][    T0] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
[    0.000287][    T0] Calibrating delay loop (skipped), value calculated using timer frequency.. 800.00 BogoMIPS (lpj=4000000)
[    0.000294][    T0] pid_max: default: 32768 minimum: 301
[    0.000315][    T0] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000321][    T0] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000529][    T0] CPU: Testing write buffer coherency: ok
[    0.000541][    T0] Spectre V2: workarounds disabled by configuration
[    0.000760][    T1] Setting up static identity map for 0x100000 - 0x100060
[    0.000834][    T1] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
[    0.000908][    T1] mvebu-pmsu: Initializing Power Management Service Unit
[    0.000965][    T1] rcu: Hierarchical SRCU implementation.
[    0.000967][    T1] rcu: 	Max phase no-delay instances is 1000.
[    0.001297][    T1] smp: Bringing up secondary CPUs ...
[    0.001430][    T1] Booting CPU 1
[    0.001588][    T1] smp: Brought up 1 node, 2 CPUs
[    0.001591][    T1] SMP: Total of 2 processors activated (1600.00 BogoMIPS).
[    0.001595][    T1] CPU: All CPU(s) started in SVC mode.
[    0.001773][    T1] devtmpfs: initialized
[    0.008109][    T1] device: 'platform': device_add
[    0.008141][    T1] bus: 'platform': registered
[    0.008158][    T1] bus: 'cpu': registered
[    0.008162][    T1] device: 'cpu': device_add
[    0.008299][    T1] bus: 'container': registered
[    0.008306][    T1] device: 'container': device_add
[    0.008848][    T1] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.008984][    T1] bus: 'workqueue': registered
[    0.008988][    T1] device: 'workqueue': device_add
[    0.009005][    T1] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.009014][    T1] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.009055][    T1] pinctrl core: initialized pinctrl subsystem
[    0.009321][    T1] bus: 'gpio': registered
[    0.009325][    T1] bus: 'gpio': add driver gpio_stub_drv
[    0.009343][    T1] device class 'regulator': registering
[    0.009363][    T1] Registering platform device 'reg-dummy'. Parent at platform
[    0.009367][    T1] device: 'reg-dummy': device_add
[    0.009373][    T1] bus: 'platform': add device reg-dummy
[    0.009391][    T1] bus: 'platform': add driver reg-dummy
[    0.009397][    T1] bus: 'platform': __driver_probe_device: matched device reg-dummy with driver reg-dummy
[    0.009402][    T1] bus: 'platform': really_probe: probing driver reg-dummy with device reg-dummy
[    0.009411][    T1] reg-dummy reg-dummy: no default pinctrl state
[    0.009440][    T1] regulator-dummy: no parameters, enabled
[    0.009551][    T1] device: 'regulator.0': device_add
[    0.009595][    T1] driver: 'reg-dummy': driver_bound: bound to device 'reg-dummy'
[    0.009607][    T1] bus: 'platform': really_probe: bound device reg-dummy to driver reg-dummy
[    0.009637][    T1] bus: 'soc': registered
[    0.010126][    T1] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.010261][    T1] device: 'soc0': device_add
[    0.010273][    T1] bus: 'soc': add device soc0
[    0.011284][    T1] device class 'bdi': registering
[    0.011407][    T1] bus: 'platform': add driver ramoops
[    0.011422][    T1] device class 'pci_bus': registering
[    0.011443][    T1] bus: 'pci': registered
[    0.011458][    T1] bus: 'pci_express': registered
[    0.011460][    T1] device class 'tty': registering
[    0.011468][    T1] device class 'devlink': registering
[    0.011483][    T1] bus: 'platform': add driver sram
[    0.011716][    T1] bus: 'spi': registered
[    0.011718][    T1] device class 'spi_master': registering
[    0.011739][    T1] bus: 'i2c': registered
[    0.011741][    T1] bus: 'i2c': add driver dummy
[    0.011754][    T1] thermal_sys: Registered thermal governor 'step_wise'
[    0.011756][    T1] device class 'thermal': registering
[    0.011887][    T1] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
[    0.011891][    T1] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
[    0.011913][    T1] device class 'dma': registering
[    0.012063][    T1] bus: 'platform': add driver mvebu-uart-clock
[    0.012079][    T1] bus: 'platform': add driver mvebu-uart
[    0.012253][    T1] device: 'pmu': device_add
[    0.012264][    T1] bus: 'platform': add device pmu
[    0.012320][    T1] device: 'soc': device_add
[    0.012445][    T1] bus: 'platform': add device soc
[    0.012575][    T1] i2c@11000 Linked as a fwnode consumer to pinctrl@18000
[    0.013477][    T1] device: 'fff00000.bootrom': device_add
[    0.013487][    T1] bus: 'platform': add device fff00000.bootrom
[    0.013527][    T1] device: 'soc:internal-regs': device_add
[    0.013536][    T1] bus: 'platform': add device soc:internal-regs
[    0.013684][    T1] device: 'f1001400.sdramc': device_add
[    0.013806][    T1] bus: 'platform': add device f1001400.sdramc
[    0.013858][    T1] device: 'f1008000.cache-controller': device_add
[    0.013866][    T1] bus: 'platform': add device f1008000.cache-controller
[    0.013912][    T1] device: 'f100c000.scu': device_add
[    0.013920][    T1] bus: 'platform': add device f100c000.scu
[    0.013967][    T1] device: 'f100c200.timer': device_add
[    0.014082][    T1] bus: 'platform': add device f100c200.timer
[    0.014131][    T1] device: 'f100c600.timer': device_add
[    0.014139][    T1] bus: 'platform': add device f100c600.timer
[    0.014187][    T1] device: 'f1011000.i2c': device_add
[    0.014196][    T1] bus: 'platform': add device f1011000.i2c
[    0.014262][    T1] device: 'f1012000.serial': device_add
[    0.014377][    T1] bus: 'platform': add device f1012000.serial
[    0.014431][    T1] device: 'f1018000.pinctrl': device_add
[    0.014439][    T1] bus: 'platform': add device f1018000.pinctrl
[    0.014473][    T1] device: 'platform:f1018000.pinctrl--platform:f1011000.i2c': device_add
[    0.014613][    T1] devices_kset: Moving f1011000.i2c to end of list
[    0.014617][    T1] platform f1011000.i2c: Linked as a consumer to f1018000.pinctrl
[    0.014621][    T1] i2c@11000 Dropping the fwnode link to pinctrl@18000
[    0.014678][    T1] device: 'f1018100.gpio': device_add
[    0.014686][    T1] bus: 'platform': add device f1018100.gpio
[    0.014751][    T1] device: 'f1018140.gpio': device_add
[    0.014759][    T1] bus: 'platform': add device f1018140.gpio
[    0.014811][    T1] device: 'f1018200.system-controller': device_add
[    0.014820][    T1] bus: 'platform': add device f1018200.system-controller
[    0.015104][    T1] device: 'f1018300.phy': device_add
[    0.015113][    T1] bus: 'platform': add device f1018300.phy
[    0.015191][    T1] device: 'f1020000.mbus-controller': device_add
[    0.015200][    T1] bus: 'platform': add device f1020000.mbus-controller
[    0.015265][    T1] device: 'f1020300.timer': device_add
[    0.015274][    T1] bus: 'platform': add device f1020300.timer
[    0.015457][    T1] device: 'f1020300.watchdog': device_add
[    0.015465][    T1] bus: 'platform': add device f1020300.watchdog
[    0.015512][    T1] device: 'f1020800.cpurst': device_add
[    0.015521][    T1] bus: 'platform': add device f1020800.cpurst
[    0.015568][    T1] device: 'f1020d20.mpcore-soc-ctrl': device_add
[    0.015576][    T1] bus: 'platform': add device f1020d20.mpcore-soc-ctrl
[    0.015734][    T1] device: 'f1021010.coherency-fabric': device_add
[    0.015742][    T1] bus: 'platform': add device f1021010.coherency-fabric
[    0.015790][    T1] device: 'f1022000.pmsu': device_add
[    0.015798][    T1] bus: 'platform': add device f1022000.pmsu
[    0.015847][    T1] device: 'f1070000.ethernet': device_add
[    0.015856][    T1] bus: 'platform': add device f1070000.ethernet
[    0.016020][    T1] device: 'f1034000.ethernet': device_add
[    0.016028][    T1] bus: 'platform': add device f1034000.ethernet
[    0.016082][    T1] device: 'f1058000.usb': device_add
[    0.016091][    T1] bus: 'platform': add device f1058000.usb
[    0.016149][    T1] device: 'f1060800.xor': device_add
[    0.016158][    T1] bus: 'platform': add device f1060800.xor
[    0.016333][    T1] device: 'f1060900.xor': device_add
[    0.016341][    T1] bus: 'platform': add device f1060900.xor
[    0.016392][    T1] device: 'f1072004.mdio': device_add
[    0.016400][    T1] bus: 'platform': add device f1072004.mdio
[    0.016456][    T1] device: 'f1090000.crypto': device_add
[    0.016465][    T1] bus: 'platform': add device f1090000.crypto
[    0.016626][    T1] device: 'f10a8000.sata': device_add
[    0.016635][    T1] bus: 'platform': add device f10a8000.sata
[    0.016682][    T1] device: 'f10c8000.bm': device_add
[    0.016690][    T1] bus: 'platform': add device f10c8000.bm
[    0.016750][    T1] device: 'f10e4078.thermal': device_add
[    0.016758][    T1] bus: 'platform': add device f10e4078.thermal
[    0.016930][    T1] device: 'f10d0000.nand-controller': device_add
[    0.016938][    T1] bus: 'platform': add device f10d0000.nand-controller
[    0.017011][    T1] device: 'f10f8000.usb3': device_add
[    0.017020][    T1] bus: 'platform': add device f10f8000.usb3
[    0.017065][    T1] device: 'f1100000.sa-sram0': device_add
[    0.017187][    T1] bus: 'platform': add device f1100000.sa-sram0
[    0.017210][    T1] bus: 'platform': __driver_probe_device: matched device f1100000.sa-sram0 with driver sram
[    0.017214][    T1] bus: 'platform': really_probe: probing driver sram with device f1100000.sa-sram0
[    0.017223][    T1] sram f1100000.sa-sram0: no pinctrl handle
[    0.017264][    T1] driver: 'sram': driver_bound: bound to device 'f1100000.sa-sram0'
[    0.017286][    T1] bus: 'platform': really_probe: bound device f1100000.sa-sram0 to driver sram
[    0.017313][    T1] device: 'f1110000.sa-sram1': device_add
[    0.017323][    T1] bus: 'platform': add device f1110000.sa-sram1
[    0.017467][    T1] bus: 'platform': __driver_probe_device: matched device f1110000.sa-sram1 with driver sram
[    0.017471][    T1] bus: 'platform': really_probe: probing driver sram with device f1110000.sa-sram1
[    0.017478][    T1] sram f1110000.sa-sram1: no pinctrl handle
[    0.017506][    T1] driver: 'sram': driver_bound: bound to device 'f1110000.sa-sram1'
[    0.017526][    T1] bus: 'platform': really_probe: bound device f1110000.sa-sram1 to driver sram
[    0.017553][    T1] device: 'f1200000.bm-bppi': device_add
[    0.017562][    T1] bus: 'platform': add device f1200000.bm-bppi
[    0.017587][    T1] bus: 'platform': __driver_probe_device: matched device f1200000.bm-bppi with driver sram
[    0.017591][    T1] bus: 'platform': really_probe: probing driver sram with device f1200000.bm-bppi
[    0.017715][    T1] sram f1200000.bm-bppi: no pinctrl handle
[    0.017862][    T1] driver: 'sram': driver_bound: bound to device 'f1200000.bm-bppi'
[    0.017882][    T1] bus: 'platform': really_probe: bound device f1200000.bm-bppi to driver sram
[    0.017901][    T1] device: 'soc:pcie': device_add
[    0.017911][    T1] bus: 'platform': add device soc:pcie
[    0.017953][    T1] device: 'usb3_1-phy': device_add
[    0.017962][    T1] bus: 'platform': add device usb3_1-phy
[    0.018107][    T1] usb3_1-phy Linked as a fwnode consumer to usb3_1-vbus
[    0.018127][    T1] device: 'usb3_1-vbus': device_add
[    0.018135][    T1] bus: 'platform': add device usb3_1-vbus
[    0.018160][    T1] usb3_1-vbus Linked as a fwnode consumer to pinctrl@18000
[    0.018174][    T1] usb3_1-vbus Linked as a fwnode consumer to gpio@18140
[    0.018190][    T1] device: 'platform:usb3_1-vbus--platform:usb3_1-phy': device_add
[    0.018220][    T1] devices_kset: Moving usb3_1-phy to end of list
[    0.018224][    T1] platform usb3_1-phy: Linked as a consumer to usb3_1-vbus
[    0.018227][    T1] usb3_1-phy Dropping the fwnode link to usb3_1-vbus
[    0.018234][    T1] device: 'platform:f1018140.gpio--platform:usb3_1-vbus': device_add
[    0.018377][    T1] devices_kset: Moving usb3_1-vbus to end of list
[    0.018380][    T1] devices_kset: Moving usb3_1-phy to end of list
[    0.018383][    T1] platform usb3_1-vbus: Linked as a consumer to f1018140.gpio
[    0.018386][    T1] usb3_1-vbus Dropping the fwnode link to gpio@18140
[    0.018393][    T1] device: 'platform:f1018000.pinctrl--platform:usb3_1-vbus': device_add
[    0.018419][    T1] devices_kset: Moving usb3_1-vbus to end of list
[    0.018422][    T1] devices_kset: Moving usb3_1-phy to end of list
[    0.018425][    T1] platform usb3_1-vbus: Linked as a consumer to f1018000.pinctrl
[    0.018428][    T1] usb3_1-vbus Dropping the fwnode link to pinctrl@18000
[    0.018454][    T1] device: 'gpio-keys': device_add
[    0.018464][    T1] bus: 'platform': add device gpio-keys
[    0.018607][    T1] gpio-keys Linked as a fwnode consumer to pinctrl@18000
[    0.018621][    T1] button-wps Linked as a fwnode consumer to gpio@18100
[    0.018632][    T1] button-reset Linked as a fwnode consumer to gpio@18100
[    0.018640][    T1] device: 'platform:f1018000.pinctrl--platform:gpio-keys': device_add
[    0.018669][    T1] devices_kset: Moving gpio-keys to end of list
[    0.018672][    T1] platform gpio-keys: Linked as a consumer to f1018000.pinctrl
[    0.018675][    T1] gpio-keys Dropping the fwnode link to pinctrl@18000
[    0.018692][    T1] device: 'platform:f1018100.gpio--platform:gpio-keys': device_add
[    0.018837][    T1] platform gpio-keys: Linked as a sync state only consumer to f1018100.gpio
[    0.018853][    T1] device: 'gpio-leds': device_add
[    0.018861][    T1] bus: 'platform': add device gpio-leds
[    0.018885][    T1] gpio-leds Linked as a fwnode consumer to pinctrl@18000
[    0.018896][    T1] power Linked as a fwnode consumer to gpio@18140
[    0.018907][    T1] sata Linked as a fwnode consumer to gpio@18140
[    0.018919][    T1] device: 'platform:f1018000.pinctrl--platform:gpio-leds': device_add
[    0.018949][    T1] devices_kset: Moving gpio-leds to end of list
[    0.018952][    T1] platform gpio-leds: Linked as a consumer to f1018000.pinctrl
[    0.018955][    T1] gpio-leds Dropping the fwnode link to pinctrl@18000
[    0.019094][    T1] device: 'platform:f1018140.gpio--platform:gpio-leds': device_add
[    0.019122][    T1] platform gpio-leds: Linked as a sync state only consumer to f1018140.gpio
[    0.019158][    T1] device: 'cpu0': device_add
[    0.019167][    T1] bus: 'cpu': add device cpu0
[    0.019196][    T1] device: 'cpu1': device_add
[    0.019204][    T1] bus: 'cpu': add device cpu1
[    0.025998][    T1] device: 'writeback': device_add
[    0.026009][    T1] bus: 'workqueue': add device writeback
[    0.026274][    T1] cryptd: max_cpu_qlen set to 1000
[    0.026341][    T1] device class 'block': registering
[    0.026585][    T1] raid6: skipped pq benchmark and selected neonx8
[    0.026588][    T1] raid6: using neon recovery algorithm
[    0.026621][    T1] bus: 'platform': add driver reg-fixed-voltage
[    0.026677][    T1] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
[    0.026687][    T1] platform usb3_1-vbus: error -EPROBE_DEFER: supplier f1018140.gpio not ready
[    0.026693][    T1] platform usb3_1-vbus: Added to deferred list
[    0.026716][    T1] device class 'misc': registering
[    0.027630][    T1] device class 'scsi_host': registering
[    0.027666][    T1] bus: 'scsi': registered
[    0.027669][    T1] device class 'scsi_device': registering
[    0.027811][    T1] SCSI subsystem initialized
[    0.027856][    T1] device class 'ata_link': registering
[    0.027869][    T1] device class 'ata_port': registering
[    0.027878][    T1] device class 'ata_device': registering
[    0.027893][    T1] libata version 3.00 loaded.
[    0.027917][    T1] bus: 'ulpi': registered
[    0.027936][    T1] bus: 'usb': registered
[    0.027941][    T1] bus: 'usb': add driver usbfs
[    0.028233][    T1] usbcore: registered new interface driver usbfs
[    0.028238][    T1] bus: 'usb': add driver hub
[    0.028253][    T1] usbcore: registered new interface driver hub
[    0.028260][    T1] bus: 'usb': add driver usb
[    0.028273][    T1] usbcore: registered new device driver usb
[    0.028276][    T1] bus: 'platform': add driver usb_phy_generic
[    0.028308][    T1] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
[    0.028316][    T1] platform usb3_1-phy: error -EPROBE_DEFER: supplier usb3_1-vbus not ready
[    0.028320][    T1] platform usb3_1-phy: Added to deferred list
[    0.028335][    T1] device class 'udc': registering
[    0.028358][    T1] bus: 'gadget': registered
[    0.028509][    T1] bus: 'typec': registered
[    0.028512][    T1] device class 'typec_mux': registering
[    0.028522][    T1] device class 'retimer': registering
[    0.028531][    T1] device class 'typec': registering
[    0.028547][    T1] device class 'usb_power_delivery': registering
[    0.028556][    T1] device class 'usb_role': registering
[    0.028571][    T1] device class 'hwmon': registering
[    0.028579][    T1] EDAC MC: Ver: 3.0.0
[    0.028591][    T1] bus: 'edac': registered
[    0.028595][    T1] device: 'edac': device_add
[    0.028604][    T1] device: 'mc': device_add
[    0.028608][    T1] bus: 'edac': add device mc
[    0.028661][    T1] device class 'leds': registering
[    0.028983][    T1] bus: 'nvmem': registered
[    0.029025][    T1] device class 'watchdog': registering
[    0.029106][    T1] clocksource: Switched to clocksource arm_global_timer
[    0.029824][    T1] device class 'mem': registering
[    0.029841][    T1] device: 'mem': device_add
[    0.029906][    T1] device: 'null': device_add
[    0.029948][    T1] device: 'port': device_add
[    0.029994][    T1] device: 'zero': device_add
[    0.030342][    T1] device: 'full': device_add
[    0.030378][    T1] device: 'random': device_add
[    0.030414][    T1] device: 'urandom': device_add
[    0.030450][    T1] device: 'kmsg': device_add
[    0.030638][    T1] device: 'tty': device_add
[    0.030679][    T1] device: 'console': device_add
[    0.030716][    T1] PCI: CLS 0 bytes, default 64
[    0.030994][    T1] bus: 'clocksource': registered
[    0.030999][    T1] device: 'clocksource': device_add
[    0.031007][    T1] device: 'clocksource0': device_add
[    0.031016][    T1] bus: 'clocksource': add device clocksource0
[    0.031034][    T1] bus: 'platform': add driver alarmtimer
[    0.031215][    T1] bus: 'clockevents': registered
[    0.031219][    T1] device: 'clockevents': device_add
[    0.031227][    T1] device: 'clockevent0': device_add
[    0.031232][    T1] bus: 'clockevents': add device clockevent0
[    0.031249][    T1] device: 'clockevent1': device_add
[    0.031255][    T1] bus: 'clockevents': add device clockevent1
[    0.031408][    T1] device: 'broadcast': device_add
[    0.031413][    T1] bus: 'clockevents': add device broadcast
[    0.031518][    T1] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.032144][    T1] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.077283][    T1] xor: measuring software checksum speed
[    0.081065][    T1]    arm4regs        :  2610 MB/sec
[    0.085993][    T1]    8regs           :  1996 MB/sec
[    0.090922][    T1]    32regs          :  1996 MB/sec
[    0.095928][    T1]    neon            :  1964 MB/sec
[    0.095930][    T1] xor: using function: arm4regs (2610 MB/sec)
[    0.096211][    T1] bus: 'platform': add driver simple-pm-bus
[    0.096229][    T1] bus: 'platform': __driver_probe_device: matched device soc with driver simple-pm-bus
[    0.096234][    T1] bus: 'platform': really_probe: probing driver simple-pm-bus with device soc
[    0.096244][    T1] simple-pm-bus soc: no pinctrl handle
[    0.096261][    T1] simple-pm-bus: probe of soc rejects match -19
[    0.096273][    T1] bus: 'platform': __driver_probe_device: matched device soc:internal-regs with driver simple-pm-bus
[    0.096277][    T1] bus: 'platform': really_probe: probing driver simple-pm-bus with device soc:internal-regs
[    0.096284][    T1] simple-pm-bus soc:internal-regs: no pinctrl handle
[    0.096296][    T1] driver: 'simple-pm-bus': driver_bound: bound to device 'soc:internal-regs'
[    0.096366][    T1] bus: 'platform': really_probe: bound device soc:internal-regs to driver simple-pm-bus
[    0.096445][    T1] device class 'phy': registering
[    0.096461][    T1] bus: 'platform': add driver mvebu-a3700-comphy
[    0.096505][    T1] bus: 'platform': add driver mvebu-a3700-utmi-phy
[    0.096759][    T1] bus: 'platform': add driver armada-38x-comphy
[    0.096776][    T1] bus: 'platform': __driver_probe_device: matched device f1018300.phy with driver armada-38x-comphy
[    0.096781][    T1] bus: 'platform': really_probe: probing driver armada-38x-comphy with device f1018300.phy
[    0.096791][    T1] armada-38x-comphy f1018300.phy: no pinctrl handle
[    0.097002][    T1] phy phy-f1018300.phy.0: Looking up phy-supply from device tree
[    0.097008][    T1] phy phy-f1018300.phy.0: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@0 failed
[    0.097021][    T1] device: 'phy-f1018300.phy.0': device_add
[    0.097063][    T1] phy phy-f1018300.phy.1: Looking up phy-supply from device tree
[    0.097068][    T1] phy phy-f1018300.phy.1: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@1 failed
[    0.097079][    T1] device: 'phy-f1018300.phy.1': device_add
[    0.097413][    T1] phy phy-f1018300.phy.2: Looking up phy-supply from device tree
[    0.097418][    T1] phy phy-f1018300.phy.2: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@2 failed
[    0.097426][    T1] device: 'phy-f1018300.phy.2': device_add
[    0.097466][    T1] phy phy-f1018300.phy.3: Looking up phy-supply from device tree
[    0.097470][    T1] phy phy-f1018300.phy.3: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@3 failed
[    0.097479][    T1] device: 'phy-f1018300.phy.3': device_add
[    0.097804][    T1] phy phy-f1018300.phy.4: Looking up phy-supply from device tree
[    0.097808][    T1] phy phy-f1018300.phy.4: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@4 failed
[    0.097817][    T1] device: 'phy-f1018300.phy.4': device_add
[    0.097846][    T1] phy phy-f1018300.phy.5: Looking up phy-supply from device tree
[    0.097850][    T1] phy phy-f1018300.phy.5: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@5 failed
[    0.097858][    T1] device: 'phy-f1018300.phy.5': device_add
[    0.097886][    T1] driver: 'armada-38x-comphy': driver_bound: bound to device 'f1018300.phy'
[    0.097917][    T1] bus: 'platform': really_probe: bound device f1018300.phy to driver armada-38x-comphy
[    0.097962][    T1] bus: 'platform': add driver mvebu-comphy
[    0.098009][    T1] bus: 'platform': add driver mvebu-cp110-utmi-phy
[    0.098231][    T1] bus: 'platform': add driver mv-hsic-phy
[    0.098456][    T1] bus: 'platform': add driver mv-usb2-phy
[    0.098503][    T1] bus: 'platform': add driver armada-38x-pinctrl
[    0.098523][    T1] bus: 'platform': __driver_probe_device: matched device f1018000.pinctrl with driver armada-38x-pinctrl
[    0.098528][    T1] bus: 'platform': really_probe: probing driver armada-38x-pinctrl with device f1018000.pinctrl
[    0.098538][    T1] armada-38x-pinctrl f1018000.pinctrl: no pinctrl handle
[    0.100558][    T1] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
[    0.100564][    T1] driver: 'armada-38x-pinctrl': driver_bound: bound to device 'f1018000.pinctrl'
[    0.100610][    T1] bus: 'platform': really_probe: bound device f1018000.pinctrl to driver armada-38x-pinctrl
[    0.100676][    T1] bus: 'platform': add driver basic-mmio-gpio
[    0.100737][    T1] bus: 'platform': add driver mvebu-gpio
[    0.100764][    T1] bus: 'platform': __driver_probe_device: matched device f1018100.gpio with driver mvebu-gpio
[    0.100769][    T1] bus: 'platform': really_probe: probing driver mvebu-gpio with device f1018100.gpio
[    0.101086][    T1] mvebu-gpio f1018100.gpio: no pinctrl handle
[    0.101273][    T1] device: 'gpiochip0': device_add
[    0.101286][    T1] bus: 'gpio': add device gpiochip0
[    0.101580][    T1] driver: 'mvebu-gpio': driver_bound: bound to device 'f1018100.gpio'
[    0.101608][    T1] bus: 'platform': really_probe: bound device f1018100.gpio to driver mvebu-gpio
[    0.101618][    T1] bus: 'platform': __driver_probe_device: matched device f1018140.gpio with driver mvebu-gpio
[    0.101622][    T1] bus: 'platform': really_probe: probing driver mvebu-gpio with device f1018140.gpio
[    0.101635][    T1] mvebu-gpio f1018140.gpio: no pinctrl handle
[    0.102321][    T1] device: 'gpiochip1': device_add
[    0.102333][    T1] bus: 'gpio': add device gpiochip1
[    0.102424][    T1] driver: 'mvebu-gpio': driver_bound: bound to device 'f1018140.gpio'
[    0.102456][    T1] bus: 'platform': really_probe: bound device f1018140.gpio to driver mvebu-gpio
[    0.102717][    T1] bus: 'pci_express': add driver aer
[    0.102738][    T1] bus: 'pci': add driver pcieport
[    0.102765][    T1] bus: 'platform': add driver mvebu-pcie
[    0.102835][    T1] bus: 'platform': __driver_probe_device: matched device soc:pcie with driver mvebu-pcie
[    0.102839][    T1] bus: 'platform': really_probe: probing driver mvebu-pcie with device soc:pcie
[    0.103031][    T1] mvebu-pcie soc:pcie: no pinctrl handle
[    0.103048][    T1] mvebu-pcie soc:pcie: host bridge /soc/pcie ranges:
[    0.103070][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1080000..0x00f1081fff -> 0x0000080000
[    0.103084][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1040000..0x00f1041fff -> 0x0000040000
[    0.103096][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1044000..0x00f1045fff -> 0x0000044000
[    0.103107][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1048000..0x00f1049fff -> 0x0000048000
[    0.103118][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    0.103129][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    0.103139][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    0.103148][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    0.103158][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
[    0.103168][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
[    0.103177][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
[    0.103184][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
[    0.103856][    T1] device: 'pci0000:00': device_add
[    0.103872][    T1] device: '0000:00': device_add
[    0.104079][    T1] mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
[    0.104084][    T1] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.104091][    T1] pci_bus 0000:00: root bus resource [mem 0xf1080000-0xf1081fff] (bus address [0x00080000-0x00081fff])
[    0.104097][    T1] pci_bus 0000:00: root bus resource [mem 0xf1040000-0xf1041fff] (bus address [0x00040000-0x00041fff])
[    0.104108][    T1] pci_bus 0000:00: root bus resource [mem 0xf1044000-0xf1045fff] (bus address [0x00044000-0x00045fff])
[    0.104113][    T1] pci_bus 0000:00: root bus resource [mem 0xf1048000-0xf1049fff] (bus address [0x00048000-0x00049fff])
[    0.104117][    T1] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
[    0.104128][    T1] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
[    0.104204][    T1] pci 0000:00:01.0: [11ab:6820] type 01 class 0x060400
[    0.104257][    T1] device: '0000:00:01.0': device_add
[    0.104291][    T1] bus: 'pci': add device 0000:00:01.0
[    0.104705][    T1] pci 0000:00:02.0: [11ab:6820] type 01 class 0x060400
[    0.104751][    T1] device: '0000:00:02.0': device_add
[    0.104782][    T1] bus: 'pci': add device 0000:00:02.0
[    0.105758][    T1] PCI: bus0: Fast back to back transfers disabled
[    0.105763][    T1] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.105770][    T1] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.105786][    T1] device: '0000:01': device_add
[    0.106185][    T1] pci 0000:01:00.0: [11ab:2a55] type 00 class 0x020000
[    0.106202][    T1] pci 0000:01:00.0: reg 0x10: [mem 0x40000000-0x400fffff 64bit pref]
[    0.106215][    T1] pci 0000:01:00.0: reg 0x18: [mem 0x40100000-0x401fffff 64bit pref]
[    0.106289][    T1] pci 0000:01:00.0: supports D1 D2
[    0.106292][    T1] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold
[    0.106327][    T1] device: '0000:01:00.0': device_add
[    0.106348][    T1] bus: 'pci': add device 0000:01:00.0
[    0.106421][    T1] pci 0000:00:01.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[    0.129129][    T1] PCI: bus1: Fast back to back transfers disabled
[    0.129135][    T1] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.129157][    T1] device: '0000:02': device_add
[    0.129221][    T1] pci 0000:02:00.0: [11ab:2a55] type 00 class 0x020000
[    0.129242][    T1] pci 0000:02:00.0: reg 0x10: [mem 0x42000000-0x420fffff 64bit pref]
[    0.129256][    T1] pci 0000:02:00.0: reg 0x18: [mem 0x42100000-0x421fffff 64bit pref]
[    0.129357][    T1] pci 0000:02:00.0: supports D1 D2
[    0.129360][    T1] pci 0000:02:00.0: PME# supported from D0 D1 D3hot D3cold
[    0.129394][    T1] pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:02.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    0.129413][    T1] device: '0000:02:00.0': device_add
[    0.129434][    T1] bus: 'pci': add device 0000:02:00.0
[    0.129692][    T1] pci 0000:00:02.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[    0.159127][    T1] PCI: bus2: Fast back to back transfers disabled
[    0.159132][    T1] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    0.159152][    T1] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe01fffff]
[    0.159159][    T1] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0200000-0xe03fffff]
[    0.159166][    T1] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe00fffff 64bit pref]
[    0.159176][    T1] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0100000-0xe01fffff 64bit pref]
[    0.159186][    T1] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.159191][    T1] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe01fffff]
[    0.159202][    T1] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0200000-0xe02fffff 64bit pref]
[    0.159212][    T1] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0300000-0xe03fffff 64bit pref]
[    0.159220][    T1] pci 0000:00:02.0: PCI bridge to [bus 02]
[    0.159225][    T1] pci 0000:00:02.0:   bridge window [mem 0xe0200000-0xe03fffff]
[    0.159245][    T1] bus: 'pci': __driver_probe_device: matched device 0000:00:01.0 with driver pcieport
[    0.159251][    T1] bus: 'pci': really_probe: probing driver pcieport with device 0000:00:01.0
[    0.159261][    T1] pcieport 0000:00:01.0: no pinctrl handle
[    0.159278][    T1] pcieport 0000:00:01.0: enabling device (0140 -> 0142)
[    0.159291][    T1] pcieport: probe of 0000:00:01.0 rejects match -19
[    0.159301][    T1] pcieport 0000:00:01.0: devm_attr_group_remove: removing group (ptrval)
[    0.159313][    T1] bus: 'pci': __driver_probe_device: matched device 0000:00:02.0 with driver pcieport
[    0.159317][    T1] bus: 'pci': really_probe: probing driver pcieport with device 0000:00:02.0
[    0.159325][    T1] pcieport 0000:00:02.0: no pinctrl handle
[    0.159338][    T1] pcieport 0000:00:02.0: enabling device (0140 -> 0142)
[    0.159348][    T1] pcieport: probe of 0000:00:02.0 rejects match -19
[    0.159355][    T1] pcieport 0000:00:02.0: devm_attr_group_remove: removing group (ptrval)
[    0.159373][    T1] driver: 'mvebu-pcie': driver_bound: bound to device 'soc:pcie'
[    0.159403][    T1] bus: 'platform': really_probe: bound device soc:pcie to driver mvebu-pcie
[    0.159435][    T1] bus: 'platform': add driver of_fixed_factor_clk
[    0.159491][    T1] bus: 'platform': add driver of_fixed_clk
[    0.159530][    T1] bus: 'platform': add driver gpio-clk
[    0.159577][    T1] bus: 'platform': add driver mv_xor
[    0.159619][    T1] bus: 'platform': __driver_probe_device: matched device f1060800.xor with driver mv_xor
[    0.159623][    T1] bus: 'platform': really_probe: probing driver mv_xor with device f1060800.xor
[    0.159662][    T1] mv_xor f1060800.xor: no pinctrl handle
[    0.159676][    T1] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.269928][    T1] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.269951][    T1] device: 'dma0chan0': device_add
[    0.270023][    T1] driver: 'mv_xor': driver_bound: bound to device 'f1060800.xor'
[    0.270072][    T1] bus: 'platform': really_probe: bound device f1060800.xor to driver mv_xor
[    0.270084][    T1] bus: 'platform': __driver_probe_device: matched device f1060900.xor with driver mv_xor
[    0.270090][    T1] bus: 'platform': really_probe: probing driver mv_xor with device f1060900.xor
[    0.270101][    T1] mv_xor f1060900.xor: no pinctrl handle
[    0.270120][    T1] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.379922][    T1] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.379943][    T1] device: 'dma1chan0': device_add
[    0.380008][    T1] driver: 'mv_xor': driver_bound: bound to device 'f1060900.xor'
[    0.380064][    T1] bus: 'platform': really_probe: bound device f1060900.xor to driver mv_xor
[    0.380129][    T1] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    0.380155][    T1] Registering platform device 'serial8250'. Parent at platform
[    0.380159][    T1] device: 'serial8250': device_add
[    0.380166][    T1] bus: 'platform': add device serial8250
[    0.380211][    T1] device: 'ttyS0': device_add
[    0.380373][    T1] bus: 'platform': add driver serial8250
[    0.380620][    T1] bus: 'platform': __driver_probe_device: matched device serial8250 with driver serial8250
[    0.380627][    T1] bus: 'platform': really_probe: probing driver serial8250 with device serial8250
[    0.380679][    T1] serial8250 serial8250: no default pinctrl state
[    0.380692][    T1] driver: 'serial8250': driver_bound: bound to device 'serial8250'
[    0.380711][    T1] bus: 'platform': really_probe: bound device serial8250 to driver serial8250
[    0.380899][    T1] bus: 'platform': add driver of_serial
[    0.380981][    T1] bus: 'platform': __driver_probe_device: matched device f1012000.serial with driver of_serial
[    0.380986][    T1] bus: 'platform': really_probe: probing driver of_serial with device f1012000.serial
[    0.381320][    T1] of_serial f1012000.serial: no pinctrl handle
[    0.381409][    T1] device: 'ttyS0': device_unregister
[    0.381504][    T1] printk: console [ttyS0] disabled
[    0.381558][    T1] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 40, base_baud = 12500000) is a 16550A
[    3.843193][    T1] printk: console [ttyS0] enabled
[    3.848110][    T1] device: 'ttyS0': device_add
[    3.852946][    T1] driver: 'of_serial': driver_bound: bound to device 'f1012000.serial'
[    3.861110][    T1] bus: 'platform': really_probe: bound device f1012000.serial to driver of_serial
[    3.870394][    T1] device: 'loop-control': device_add
[    3.876101][    T1] device: 'loop0': device_add
[    3.881408][    T1] device: '7:0': device_add
[    3.886008][    T1] loop: module loaded
[    3.889882][    T1] device class 'scsi_disk': registering
[    3.895320][    T1] bus: 'scsi': add driver sd
[    3.899807][    T1] bus: 'platform': add driver ahci-mvebu
[    3.905364][    T1] bus: 'platform': __driver_probe_device: matched device f10a8000.sata with driver ahci-mvebu
[    3.915501][    T1] bus: 'platform': really_probe: probing driver ahci-mvebu with device f10a8000.sata
[    3.924859][    T1] ahci-mvebu f10a8000.sata: no pinctrl handle
[    3.930844][    T1] ahci-mvebu f10a8000.sata: Looking up ahci-supply from device tree
[    3.938710][    T1] ahci-mvebu f10a8000.sata: Looking up ahci-supply property in node /soc/internal-regs/sata@a8000 failed
[    3.949816][    T1] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
[    3.958532][    T1] device: 'regulator:regulator.0--platform:f10a8000.sata': device_add
[    3.966612][    T1] devices_kset: Moving f10a8000.sata to end of list
[    3.973088][    T1] ahci-mvebu f10a8000.sata: Linked as a consumer to regulator.0
[    3.980607][    T1] ahci-mvebu f10a8000.sata: Looking up phy-supply from device tree
[    3.988384][    T1] ahci-mvebu f10a8000.sata: Looking up phy-supply property in node /soc/internal-regs/sata@a8000 failed
[    3.999396][    T1] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
[    4.007815][    T1] ahci-mvebu f10a8000.sata: Looking up target-supply from device tree
[    4.015865][    T1] ahci-mvebu f10a8000.sata: Looking up target-supply property in node /soc/internal-regs/sata@a8000 failed
[    4.027138][    T1] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
[    4.035712][    T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    4.045504][    T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    4.055241][    T1] device: 'ata1': device_add
[    4.059723][    T1] device: 'ata1': device_add
[    4.064606][    T1] device: 'link1': device_add
[    4.069173][    T1] device: 'link1': device_add
[    4.073755][    T1] device: 'dev1.0': device_add
[    4.078397][    T1] device: 'dev1.0': device_add
[    4.083072][    T1] device: 'ata2': device_add
[    4.087540][    T1] device: 'ata2': device_add
[    4.092038][    T1] device: 'link2': device_add
[    4.096592][    T1] device: 'link2': device_add
[    4.101531][    T1] device: 'dev2.0': device_add
[    4.106173][    T1] device: 'dev2.0': device_add
[    4.111132][    T1] device: 'scsi_tmf_0': device_add
[    4.116126][    T1] bus: 'workqueue': add device scsi_tmf_0
[    4.121759][    T1] scsi host0: ahci-mvebu
[    4.126273][    T1] device: 'host0': device_add
[    4.130837][    T1] bus: 'scsi': add device host0
[    4.135576][    T1] device: 'host0': device_add
[    4.140632][    T1] device: 'scsi_tmf_1': device_add
[    4.145626][    T1] bus: 'workqueue': add device scsi_tmf_1
[    4.151255][    T1] scsi host1: ahci-mvebu
[    4.155593][    T1] device: 'host1': device_add
[    4.160156][    T1] bus: 'scsi': add device host1
[    4.164898][    T1] device: 'host1': device_add
[    4.169510][    T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 41
[    4.178159][    T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 41
[    4.186816][    T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[    4.194887][    T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
[    4.203926][    T1] bus: 'pci': add driver sata_mv
[    4.208803][    T1] bus: 'platform': add driver sata_mv
[    4.214133][    T1] device class 'mtd': registering
[    4.219058][    T1] device: 'mtd-0': device_add
[    4.224232][    T1] bus: 'platform': add driver marvell-nfc
[    4.229922][    T1] bus: 'platform': __driver_probe_device: matched device f10d0000.nand-controller with driver marvell-nfc
[    4.241105][    T1] bus: 'platform': really_probe: probing driver marvell-nfc with device f10d0000.nand-controller
[    4.251509][    T1] marvell-nfc f10d0000.nand-controller: no pinctrl handle
[    4.258699][    T1] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
[    4.265788][    T1] nand: AMD/Spansion S34ML01G2
[    4.270434][    T1] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    4.278920][    T1] Bad block table found at page 65472, version 0x01
[    4.285723][    T1] Bad block table found at page 65408, version 0x01
[    4.292404][    T1] 10 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    4.300188][    T1] Creating 10 MTD partitions on "pxa3xx_nand-0":
[    4.306401][    T1] 0x000000000000-0x000000200000 : "u-boot"
[    4.312097][    T1] device: 'mtd0': device_add
[    4.317065][    T1] device: 'mtd0': device_add
[    4.321550][    T1] bus: 'nvmem': add device mtd0
[    4.326300][    T1] device: 'mtd0ro': device_add
[    4.331106][    T1] device: 'mtdblock0': device_add
[    4.337165][    T1] device: '31:0': device_add
[    4.341701][    T1] 0x000000200000-0x000000240000 : "u_env"
[    4.347304][    T1] device: 'mtd1': device_add
[    4.352253][    T1] device: 'mtd1': device_add
[    4.356725][    T1] bus: 'nvmem': add device mtd1
[    4.361479][    T1] device: 'mtd1ro': device_add
[    4.366447][    T1] device: 'mtdblock1': device_add
[    4.372130][    T1] device: '31:1': device_add
[    4.376836][    T1] 0x000000240000-0x000000280000 : "s_env"
[    4.382449][    T1] device: 'mtd2': device_add
[    4.387379][    T1] device: 'mtd2': device_add
[    4.391861][    T1] bus: 'nvmem': add device mtd2
[    4.396607][    T1] device: 'mtd2ro': device_add
[    4.401591][    T1] device: 'mtdblock2': device_add
[    4.407298][    T1] device: '31:2': device_add
[    4.412037][    T1] 0x000000900000-0x000000a00000 : "devinfo"
[    4.417815][    T1] device: 'mtd3': device_add
[    4.422578][    T1] device: 'mtd3': device_add
[    4.427050][    T1] bus: 'nvmem': add device mtd3
[    4.432026][    T1] device: 'mtd3ro': device_add
[    4.437366][    T1] device: 'mtdblock3': device_add
[    4.442875][    T1] device: '31:3': device_add
[    4.447594][    T1] 0x000000a00000-0x000003200000 : "kernel1"
[    4.453441][    T1] device: 'mtd4': device_add
[    4.458202][    T1] device: 'mtd4': device_add
[    4.462681][    T1] bus: 'nvmem': add device mtd4
[    4.467426][    T1] device: 'mtd4ro': device_add
[    4.472397][    T1] device: 'mtdblock4': device_add
[    4.478295][    T1] device: '31:4': device_add
[    4.483039][    T1] 0x000001000000-0x000003200000 : "rootfs1"
[    4.488865][    T1] device: 'mtd5': device_add
[    4.493631][    T1] device: 'mtd5': device_add
[    4.498101][    T1] bus: 'nvmem': add device mtd5
[    4.503250][    T1] device: 'mtd5ro': device_add
[    4.508407][    T1] device: 'mtdblock5': device_add
[    4.513922][    T1] device: '31:5': device_add
[    4.518647][    T1] 0x000003200000-0x000005a00000 : "kernel2"
[    4.524491][    T1] device: 'mtd6': device_add
[    4.525252][  T103] ata1: SATA link down (SStatus 0 SControl 300)
[    4.529279][    T1] device: 'mtd6': device_add
[    4.535131][  T108] ata2: SATA link down (SStatus 0 SControl 300)
[    4.539548][    T1] bus: 'nvmem': add device mtd6
[    4.550403][    T1] device: 'mtd6ro': device_add
[    4.555625][    T1] device: 'mtdblock6': device_add
[    4.561595][    T1] device: '31:6': device_add
[    4.566316][    T1] 0x000003800000-0x000005a00000 : "rootfs2"
[    4.572154][    T1] device: 'mtd7': device_add
[    4.577125][    T1] device: 'mtd7': device_add
[    4.581606][    T1] bus: 'nvmem': add device mtd7
[    4.586351][    T1] device: 'mtd7ro': device_add
[    4.591738][    T1] device: 'mtdblock7': device_add
[    4.597304][    T1] device: '31:7': device_add
[    4.602045][    T1] 0x000005a00000-0x000008000000 : "syscfg"
[    4.607788][    T1] device: 'mtd8': device_add
[    4.612561][    T1] device: 'mtd8': device_add
[    4.617036][    T1] bus: 'nvmem': add device mtd8
[    4.622201][    T1] device: 'mtd8ro': device_add
[    4.627381][    T1] device: 'mtdblock8': device_add
[    4.633146][    T1] device: '31:8': device_add
[    4.637689][    T1] 0x000000280000-0x000000900000 : "unused_area"
[    4.643834][    T1] device: 'mtd9': device_add
[    4.648818][    T1] device: 'mtd9': device_add
[    4.653296][    T1] bus: 'nvmem': add device mtd9
[    4.658052][    T1] device: 'mtd9ro': device_add
[    4.663271][    T1] device: 'mtdblock9': device_add
[    4.669254][    T1] device: '31:9': device_add
[    4.673988][    T1] driver: 'marvell-nfc': driver_bound: bound to device 'f10d0000.nand-controller'
[    4.683118][    T1] bus: 'platform': really_probe: bound device f10d0000.nand-controller to driver marvell-nfc
[    4.693210][    T1] bus: 'spi': add driver spi-nand
[    4.698126][    T1] bus: 'spi': add driver spi-nor
[    4.702961][    T1] bus: 'platform': add driver orion_spi
[    4.708505][    T1] bus: 'platform': add driver am335x-control-usb
[    4.714756][    T1] bus: 'platform': add driver am335x-phy-driver
[    4.720916][    T1] bus: 'platform': add driver gpio-vbus
[    4.726360][    T1] bus: 'i2c': add driver isp1301
[    4.731201][    T1] bus: 'pci': add driver ehci-pci
[    4.736131][    T1] bus: 'platform': add driver orion-ehci
[    4.741679][    T1] bus: 'platform': __driver_probe_device: matched device f1058000.usb with driver orion-ehci
[    4.751732][    T1] bus: 'platform': really_probe: probing driver orion-ehci with device f1058000.usb
[    4.761003][    T1] orion-ehci f1058000.usb: no pinctrl handle
[    4.766936][    T1] orion-ehci f1058000.usb: EHCI Host Controller
[    4.773307][    T1] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
[    4.781669][    T1] orion-ehci f1058000.usb: irq 43, io mem 0xf1058000
[    4.809111][    T1] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
[    4.816124][    T1] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    4.825134][    T1] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.833089][    T1] usb usb1: Product: EHCI Host Controller
[    4.838685][    T1] usb usb1: Manufacturer: Linux 6.1.0-rc3M95D-test ehci_hcd
[    4.845854][    T1] usb usb1: SerialNumber: f1058000.usb
[    4.851195][    T1] device: 'usb1': device_add
[    4.855706][    T1] bus: 'usb': add device usb1
[    4.860400][    T1] bus: 'usb': __driver_probe_device: matched device usb1 with driver usb
[    4.868701][    T1] bus: 'usb': really_probe: probing driver usb with device usb1
[    4.876253][    T1] device: '1-0:1.0': device_add
[    4.880998][    T1] bus: 'usb': add device 1-0:1.0
[    4.885835][    T1] bus: 'usb': __driver_probe_device: matched device 1-0:1.0 with driver hub
[    4.894401][    T1] bus: 'usb': really_probe: probing driver hub with device 1-0:1.0
[    4.902248][    T1] hub 1-0:1.0: USB hub found
[    4.907156][    T1] hub 1-0:1.0: 1 port detected
[    4.912435][    T1] device: 'usb1-port1': device_add
[    4.917435][    T1] usb usb1-port1: adding component (ops connector_ops)
[    4.924198][    T1] driver: 'hub': driver_bound: bound to device '1-0:1.0'
[    4.931136][    T1] bus: 'usb': really_probe: bound device 1-0:1.0 to driver hub
[    4.938568][    T1] device: 'ep_81': device_add
[    4.943139][    T1] driver: 'usb': driver_bound: bound to device 'usb1'
[    4.949810][    T1] bus: 'usb': really_probe: bound device usb1 to driver usb
[    4.956980][    T1] device: 'ep_00': device_add
[    4.961547][    T1] driver: 'orion-ehci': driver_bound: bound to device 'f1058000.usb'
[    4.969523][    T1] bus: 'platform': really_probe: bound device f1058000.usb to driver orion-ehci
[    4.978721][    T1] bus: 'pci': add driver xhci_hcd
[    4.983656][    T1] bus: 'platform': add driver xhci-hcd
[    4.989129][    T1] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
[    4.999086][    T1] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
[    5.008268][    T1] xhci-hcd f10f8000.usb3: no pinctrl handle
[    5.014588][    T1] xhci-hcd f10f8000.usb3: Driver xhci-hcd requests probe deferral
[    5.022336][    T1] platform f10f8000.usb3: Added to deferred list
[    5.028583][    T1] bus: 'usb': add driver usb-storage
[    5.033785][    T1] usbcore: registered new interface driver usb-storage
[    5.040552][    T1] bus: 'usb-serial': registered
[    5.045530][    T1] bus: 'usb': add driver ftdi_sio
[    5.050458][    T1] usbcore: registered new interface driver ftdi_sio
[    5.056927][    T1] bus: 'usb-serial': add driver ftdi_sio
[    5.062454][    T1] usbserial: USB Serial support registered for FTDI USB Serial Device
[    5.070519][    T1] bus: 'i2c': add driver usb3503
[    5.075351][    T1] bus: 'platform': add driver usb3503
[    5.080664][    T1] bus: 'platform': add driver onboard-usb-hub
[    5.086688][    T1] bus: 'usb': add driver onboard-usb-hub
[    5.092217][    T1] usbcore: registered new device driver onboard-usb-hub
[    5.099068][    T1] bus: 'platform': add driver snps-udc-plat
[    5.104908][    T1] bus: 'platform': add driver bdc
[    5.110345][    T1] bus: 'i2c': add driver stusb160x
[    5.115349][    T1] i2c_dev: i2c /dev entries driver
[    5.120340][    T1] device class 'i2c-dev': registering
[    5.125604][    T1] bus: 'platform': add driver mv64xxx_i2c
[    5.131230][    T1] bus: 'platform': __driver_probe_device: matched device f1011000.i2c with driver mv64xxx_i2c
[    5.141368][    T1] bus: 'platform': really_probe: probing driver mv64xxx_i2c with device f1011000.i2c
[    5.150990][    T1] mv64xxx_i2c f1011000.i2c: no init pinctrl state
[    5.157653][    T1] device: 'i2c-0': device_add
[    5.162224][    T1] bus: 'i2c': add device i2c-0
[    5.166869][    T1] device: 'i2c-0': device_add
[    5.171831][    T1] device: '0-004c': device_add
[    5.176482][    T1] bus: 'i2c': add device 0-004c
[    5.181251][    T1] device: '0-0068': device_add
[    5.185898][    T1] bus: 'i2c': add device 0-0068
[    5.190668][    T1] driver: 'mv64xxx_i2c': driver_bound: bound to device 'f1011000.i2c'
[    5.198731][    T1] bus: 'platform': really_probe: bound device f1011000.i2c to driver mv64xxx_i2c
[    5.207813][    T1] bus: 'i2c': add driver tmp421
[    5.212549][    T1] bus: 'i2c': __driver_probe_device: matched device 0-004c with driver tmp421
[    5.221290][    T1] bus: 'i2c': really_probe: probing driver tmp421 with device 0-004c
[    5.229253][    T1] tmp421 0-004c: no pinctrl handle
[    5.235424][    T1] device: 'hwmon0': device_add
[    5.240633][    T1] driver: 'tmp421': driver_bound: bound to device '0-004c'
[    5.247736][    T1] bus: 'i2c': really_probe: bound device 0-004c to driver tmp421
[    5.255373][    T1] bus: 'platform': add driver armada_thermal
[    5.261322][    T1] bus: 'platform': __driver_probe_device: matched device f10e4078.thermal with driver armada_thermal
[    5.272069][    T1] bus: 'platform': really_probe: probing driver armada_thermal with device f10e4078.thermal
[    5.282290][    T1] armada_thermal f10e4078.thermal: no pinctrl handle
[    5.289912][    T1] device: 'thermal_zone0': device_add
[    5.295203][    T1] device: 'hwmon1': device_add
[    5.299879][    T1] driver: 'armada_thermal': driver_bound: bound to device 'f10e4078.thermal'
[    5.308555][    T1] bus: 'platform': really_probe: bound device f10e4078.thermal to driver armada_thermal
[    5.318205][    T1] bus: 'platform': add driver orion_wdt
[    5.323675][    T1] bus: 'platform': __driver_probe_device: matched device f1020300.watchdog with driver orion_wdt
[    5.334071][    T1] bus: 'platform': really_probe: probing driver orion_wdt with device f1020300.watchdog
[    5.343688][    T1] orion_wdt f1020300.watchdog: no pinctrl handle
[    5.350814][    T1] device: 'watchdog': device_add
[    5.355698][    T1] device: 'watchdog0': device_add
[    5.360656][    T1] orion_wdt: Initial timeout 171 sec
[    5.365818][    T1] driver: 'orion_wdt': driver_bound: bound to device 'f1020300.watchdog'
[    5.374149][    T1] bus: 'platform': really_probe: bound device f1020300.watchdog to driver orion_wdt
[    5.383483][    T1] bus: 'platform': add driver leds-gpio
[    5.388935][    T1] bus: 'platform': __driver_probe_device: matched device gpio-leds with driver leds-gpio
[    5.398637][    T1] bus: 'platform': really_probe: probing driver leds-gpio with device gpio-leds
[    5.407590][    T1] leds-gpio gpio-leds: no init pinctrl state
[    5.413513][    T1] device: 'cobra:white:power': device_add
[    5.419682][    T1] device: 'cobra:white:sata': device_add
[    5.425221][    T1] driver: 'leds-gpio': driver_bound: bound to device 'gpio-leds'
[    5.432837][    T1] leds-gpio gpio-leds: Dropping the link to f1018140.gpio
[    5.439833][    T1] device: 'platform:f1018140.gpio--platform:gpio-leds': device_unregister
[    5.448276][    T1] bus: 'platform': really_probe: bound device gpio-leds to driver leds-gpio
[    5.456859][    T1] bus: 'i2c': add driver leds-pca963x
[    5.462129][    T1] bus: 'i2c': __driver_probe_device: matched device 0-0068 with driver leds-pca963x
[    5.471397][    T1] bus: 'i2c': really_probe: probing driver leds-pca963x with device 0-0068
[    5.480310][    T1] leds-pca963x 0-0068: no pinctrl handle
[    5.488290][    T1] device: 'pca963x:cobra:amber:wan': device_add
[    5.494462][    T1] device: 'pca963x:cobra:white:wan': device_add
[    5.500660][    T1] device: 'pca963x:cobra:white:wlan_2g': device_add
[    5.507156][    T1] device: 'pca963x:cobra:white:wlan_5g': device_add
[    5.514172][    T1] device: 'pca963x:cobra:white:usb2': device_add
[    5.520420][    T1] device: 'pca963x:cobra:white:usb3_1': device_add
[    5.527080][    T1] device: 'pca963x:cobra:white:usb3_2': device_add
[    5.533501][    T1] device: 'pca963x:cobra:white:wps': device_add
[    5.539656][    T1] device: 'pca963x:cobra:amber:wps': device_add
[    5.545800][    T1] driver: 'leds-pca963x': driver_bound: bound to device '0-0068'
[    5.553439][    T1] bus: 'i2c': really_probe: bound device 0-0068 to driver leds-pca963x
[    5.561666][    T1] ledtrig-cpu: registered to indicate activity on CPUs
[    5.568409][    T1] bus: 'platform': add driver marvell-cesa
[    5.574197][    T1] bus: 'platform': __driver_probe_device: matched device f1090000.crypto with driver marvell-cesa
[    5.584683][    T1] bus: 'platform': really_probe: probing driver marvell-cesa with device f1090000.crypto
[    5.594388][    T1] marvell-cesa f1090000.crypto: no pinctrl handle
[    5.601560][    T1] marvell-cesa f1090000.crypto: CESA device successfully registered
[    5.609438][    T1] driver: 'marvell-cesa': driver_bound: bound to device 'f1090000.crypto'
[    5.617852][    T1] bus: 'platform': really_probe: bound device f1090000.crypto to driver marvell-cesa
[    5.627254][    T1] device class 'extcon': registering
[    5.632442][    T1] bus: 'platform': add driver mvebu-devbus
[    5.638188][    T1] bus: 'platform': add driver rmem
[    5.643477][    T1] bus: 'platform': add driver u_boot_env
[    5.649081][    T1] Registering SWP/SWPB emulation handler
[    5.657890][    T1] device: 'btrfs-control': device_add
[    5.663258][    T1] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=no
[    5.680192][   T28] devices_kset: Moving usb3_1-vbus to end of list
[    5.686499][   T28] devices_kset: Moving usb3_1-phy to end of list
[    5.692753][   T28] platform usb3_1-vbus: Retrying from deferred list
[    5.699240][   T28] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
[    5.709821][   T28] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device usb3_1-vbus
[    5.719639][   T28] reg-fixed-voltage usb3_1-vbus: no init pinctrl state
[    5.726500][   T28] usb3_1-vbus: 5000 mV, disabled
[    5.731326][   T28] device: 'regulator.1': device_add
[    5.736468][   T28] reg-fixed-voltage usb3_1-vbus: usb3_1-vbus supplying 5000000uV
[    5.744078][   T28] driver: 'reg-fixed-voltage': driver_bound: bound to device 'usb3_1-vbus'
[    5.752584][   T28] bus: 'platform': really_probe: bound device usb3_1-vbus to driver reg-fixed-voltage
[    5.762025][   T28] devices_kset: Moving usb3_1-phy to end of list
[    5.768233][   T28] platform usb3_1-phy: Retrying from deferred list
[    5.774623][   T28] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
[    5.784932][   T28] bus: 'platform': really_probe: probing driver usb_phy_generic with device usb3_1-phy
[    5.794464][   T28] usb_phy_generic usb3_1-phy: no pinctrl handle
[    5.800620][   T28] usb_phy_generic usb3_1-phy: Looking up vcc-supply from device tree
[    5.808597][   T28] device: 'regulator:regulator.1--platform:usb3_1-phy': device_add
[    5.816410][   T28] devices_kset: Moving usb3_1-phy to end of list
[    5.822622][   T28] usb_phy_generic usb3_1-phy: Linked as a consumer to regulator.1
[    5.830315][   T28] usb_phy_generic usb3_1-phy: Looking up vbus-supply from device tree
[    5.838352][   T28] usb_phy_generic usb3_1-phy: Looking up vbus-supply property in node /usb3_1-phy failed
[    5.848053][   T28] usb_phy_generic usb3_1-phy: dummy supplies not allowed for exclusive requests
[    5.856970][   T28] driver: 'usb_phy_generic': driver_bound: bound to device 'usb3_1-phy'
[    5.865206][   T28] bus: 'platform': really_probe: bound device usb3_1-phy to driver usb_phy_generic
[    5.874383][   T28] devices_kset: Moving f10f8000.usb3 to end of list
[    5.880855][   T28] platform f10f8000.usb3: Retrying from deferred list
[    5.887548][   T28] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
[    5.897508][   T28] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
[    5.906689][   T28] xhci-hcd f10f8000.usb3: no pinctrl handle
[    5.912539][   T28] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    5.918584][   T28] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 2
[    5.927538][   T28] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[    5.937542][   T28] xhci-hcd f10f8000.usb3: irq 44, io mem 0xf10f8000
[    5.944630][   T28] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    5.950675][   T28] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 3
[    5.958901][   T28] xhci-hcd f10f8000.usb3: Host supports USB 3.0 SuperSpeed
[    5.966068][   T28] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    5.975083][   T28] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.983038][   T28] usb usb2: Product: xHCI Host Controller
[    5.988634][   T28] usb usb2: Manufacturer: Linux 6.1.0-rc3M95D-test xhci-hcd
[    5.995802][   T28] usb usb2: SerialNumber: f10f8000.usb3
[    6.001231][   T28] device: 'usb2': device_add
[    6.005960][   T28] bus: 'usb': add device usb2
[    6.010621][   T28] bus: 'usb': __driver_probe_device: matched device usb2 with driver usb
[    6.018923][   T28] bus: 'usb': really_probe: probing driver usb with device usb2
[    6.026471][   T28] device: '2-0:1.0': device_add
[    6.031223][   T28] bus: 'usb': add device 2-0:1.0
[    6.036059][   T28] bus: 'usb': __driver_probe_device: matched device 2-0:1.0 with driver hub
[    6.044626][   T28] bus: 'usb': really_probe: probing driver hub with device 2-0:1.0
[    6.052411][   T28] hub 2-0:1.0: USB hub found
[    6.056887][   T28] hub 2-0:1.0: 1 port detected
[    6.061552][   T28] device: 'usb2-port1': device_add
[    6.066550][   T28] usb usb2-port1: adding component (ops connector_ops)
[    6.073306][   T28] driver: 'hub': driver_bound: bound to device '2-0:1.0'
[    6.080234][   T28] bus: 'usb': really_probe: bound device 2-0:1.0 to driver hub
[    6.087669][   T28] device: 'ep_81': device_add
[    6.092242][   T28] driver: 'usb': driver_bound: bound to device 'usb2'
[    6.098903][   T28] bus: 'usb': really_probe: bound device usb2 to driver usb
[    6.106080][   T28] device: 'ep_00': device_add
[    6.111646][   T28] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    6.120982][   T28] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    6.129986][   T28] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    6.137937][   T28] usb usb3: Product: xHCI Host Controller
[    6.143535][   T28] usb usb3: Manufacturer: Linux 6.1.0-rc3M95D-test xhci-hcd
[    6.150709][   T28] usb usb3: SerialNumber: f10f8000.usb3
[    6.156134][   T28] device: 'usb3': device_add
[    6.160641][   T28] bus: 'usb': add device usb3
[    6.165739][   T28] bus: 'usb': __driver_probe_device: matched device usb3 with driver usb
[    6.174050][   T28] bus: 'usb': really_probe: probing driver usb with device usb3
[    6.181594][   T28] device: '3-0:1.0': device_add
[    6.186335][   T28] bus: 'usb': add device 3-0:1.0
[    6.191175][   T28] bus: 'usb': __driver_probe_device: matched device 3-0:1.0 with driver hub
[    6.199741][   T28] bus: 'usb': really_probe: probing driver hub with device 3-0:1.0
[    6.207525][   T28] hub 3-0:1.0: USB hub found
[    6.212009][   T28] hub 3-0:1.0: 1 port detected
[    6.216669][   T28] device: 'usb3-port1': device_add
[    6.222156][   T28] usb usb3-port1: adding component (ops connector_ops)
[    6.228913][   T28] driver: 'hub': driver_bound: bound to device '3-0:1.0'
[    6.235847][   T28] bus: 'usb': really_probe: bound device 3-0:1.0 to driver hub
[    6.243283][   T28] device: 'ep_81': device_add
[    6.247847][   T28] driver: 'usb': driver_bound: bound to device 'usb3'
[    6.254512][   T28] bus: 'usb': really_probe: bound device usb3 to driver usb
[    6.261685][   T28] device: 'ep_00': device_add
[    6.266742][   T28] driver: 'xhci-hcd': driver_bound: bound to device 'f10f8000.usb3'
[    6.274637][   T28] bus: 'platform': really_probe: bound device f10f8000.usb3 to driver xhci-hcd
[    6.283484][    T1] device class 'ubi': registering
[    6.288404][    T1] device: 'ubi_ctrl': device_add
[    6.293777][    T1] Waiting 60 sec before mounting root device...
[   17.079104][  T108] ata2: COMRESET failed (errno=-32)
[   17.084180][  T108] ata2: reset failed (errno=-32), retrying in 8 secs
[   25.689107][  T108] ata2: SATA link down (SStatus 100 SControl 300)
[   26.559106][  T108] ata2: SATA link down (SStatus 0 SControl 300)
[   28.969104][  T108] ata2: COMRESET failed (errno=-32)
[   28.974176][  T108] ata2: reset failed (errno=-32), retrying in 8 secs
[   39.249104][  T108] ata2: COMRESET failed (errno=-32)
[   39.254176][  T108] ata2: reset failed (errno=-32), retrying in 8 secs
[   49.599104][  T108] ata2: COMRESET failed (errno=-32)
[   49.604176][  T108] ata2: reset failed (errno=-32), retrying in 33 secs
[   69.609147][    T1] /dev/root: Can't open blockdev
[   69.613962][    T1] VFS: Cannot open root device "sda" or unknown-block(0,0): error -6
[   69.621922][    T1] Please append a correct "root=" boot option; here are the available partitions:
[   69.631012][    T1] 1f00            2048 mtdblock0 
[   69.631017][    T1]  (driver?)
[   69.638979][    T1] 1f01             256 mtdblock1 
[   69.638982][    T1]  (driver?)
[   69.646945][    T1] 1f02             256 mtdblock2 
[   69.646947][    T1]  (driver?)
[   69.654910][    T1] 1f03            1024 mtdblock3 
[   69.654913][    T1]  (driver?)
[   69.662876][    T1] 1f04           40960 mtdblock4 
[   69.662878][    T1]  (driver?)
[   69.670845][    T1] 1f05           34816 mtdblock5 
[   69.670848][    T1]  (driver?)
[   69.678808][    T1] 1f06           40960 mtdblock6 
[   69.678811][    T1]  (driver?)
[   69.686774][    T1] 1f07           34816 mtdblock7 
[   69.686777][    T1]  (driver?)
[   69.694740][    T1] 1f08           38912 mtdblock8 
[   69.694743][    T1]  (driver?)
[   69.702706][    T1] 1f09            6656 mtdblock9 
[   69.702708][    T1]  (driver?)
[   69.710671][    T1] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   69.719668][    T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0-rc3M95D-test #1
[   69.727359][    T1] Hardware name: Marvell Armada 380/385 (Device Tree)
[   69.734004][    T1]  unwind_backtrace from show_stack+0x10/0x14
[   69.739957][    T1]  show_stack from dump_stack_lvl+0x40/0x4c
[   69.745732][    T1]  dump_stack_lvl from panic+0xf4/0x2ec
[   69.751159][    T1]  panic from mount_block_root+0x194/0x22c
[   69.756850][    T1]  mount_block_root from prepare_namespace+0x144/0x180
[   69.763588][    T1]  prepare_namespace from kernel_init+0x18/0x12c
[   69.769800][    T1]  kernel_init from ret_from_fork+0x14/0x1c
[   69.775572][    T1] Exception stack(0xc1033fb0 to 0xc1033ff8)
[   69.781343][    T1] 3fa0:                                     00000000 00000000 00000000 00000000
[   69.790254][    T1] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   69.799163][    T1] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[   69.806502][    C1] CPU1: stopping
[   69.809918][    C1] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.1.0-rc3M95D-test #1
[   69.817609][    C1] Hardware name: Marvell Armada 380/385 (Device Tree)
[   69.824251][    C1]  unwind_backtrace from show_stack+0x10/0x14
[   69.830200][    C1]  show_stack from dump_stack_lvl+0x40/0x4c
[   69.835973][    C1]  dump_stack_lvl from do_handle_IPI+0xf0/0x124
[   69.842095][    C1]  do_handle_IPI from ipi_handler+0x18/0x20
[   69.847866][    C1]  ipi_handler from handle_percpu_devid_irq+0x78/0x134
[   69.854598][    C1]  handle_percpu_devid_irq from generic_handle_domain_irq+0x28/0x38
[   69.862466][    C1]  generic_handle_domain_irq from gic_handle_irq+0x74/0x88
[   69.869552][    C1]  gic_handle_irq from generic_handle_arch_irq+0x34/0x44
[   69.876460][    C1]  generic_handle_arch_irq from call_with_stack+0x18/0x20
[   69.883457][    C1]  call_with_stack from __irq_svc+0x6c/0x7c
[   69.889230][    C1] Exception stack(0xc1049f68 to 0xc1049fb0)
[   69.895001][    C1] 9f60:                   00000005 00000000 0001d2a1 c0111080 c0a04e8c c1029540
[   69.903911][    C1] 9f80: 00000001 c0a04ed4 0000406a 414fc091 00000000 00000000 c1027578 c1049fb8
[   69.912821][    C1] 9fa0: c0107994 c0107998 60000013 ffffffff
[   69.918589][    C1]  __irq_svc from arch_cpu_idle+0x38/0x3c
[   69.924191][    C1]  arch_cpu_idle from default_idle_call+0x24/0x34
[   69.930492][    C1]  default_idle_call from do_idle+0x90/0x104
[   69.936356][    C1]  do_idle from cpu_startup_entry+0x18/0x1c
[   69.942129][    C1]  cpu_startup_entry from secondary_start_kernel+0x120/0x138
[   69.949385][    C1]  secondary_start_kernel from 0x1013b4
[   69.954813][    T1] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
˜HI@IIH\0\x02\x10\0	\0\0\0\0\0\0\0\0\0\0

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

* Re: Bug report for ahci-mvebu driver
  2022-11-07  9:22 ` marius
@ 2022-11-08  6:27   ` Damien Le Moal
  2022-11-09 19:52   ` marius
  2022-11-09 19:55   ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-11-08  6:27 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 11/7/22 18:22, marius@psihoexpert.ro wrote:
> November 6, 2022 9:05 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> Can you try current mainline 6.1-rc kernel ? Not going to debug 5.15.
>> Debugging should be done on the latest kernel and any bug fix backported.
>  
> OK. I have a bootable kernel v6.1-rc3, but no rootfs yet. I load it via tftp. I built it from github.com/torvalds/linux using OpenWrt toolchain. Bootlog is attached. At 17 seconds I connect the DAS.
> 
>>> The same router works perfectly when I connect a laptop HDD.
>>
>> You mean an external single HDD connected with an eSATA port ?
> 
> Yes, to show that the hardware is not defective.

So the adapter & driver are OK for regular ATA devices but they may not
like port-multiplier devices, or one of its flavor. See:
https://en.wikipedia.org/wiki/Port_multiplier for a nice summary. PM
comes with either command-based switching or FIS-based switching. The
adapter may not support the flavor that your PM box uses, while the
sata-mv adapter does.

> 
>> What kernel version is running on that older Linksys box ?
> 
> 5.10
> 
>>> [--- Areca connected ---]
>>> <6>[88761.966331] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
>>> <6>[88761.975472] ata1.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
>>
>> This one seems OK with the PHY detection and it links up. Let me know the
>> kernel version and we can see what changed between the older kernel and
>> 5.15. But you should still try latest 6.1-rc if possible.
> 
> I don't think there is a change in kernel. It's just a diferent driver in use: ahci-mvebu vs. sata-mv.
> BTW, is sata-mv compatible with this hardware? It won't auto-load instead of ahci-mvebu if ahci-mvebu is missing.

Try to check the router SATA adapter specs and your PM box spec and see
what PM flavor they support. If that matches, then this is likely a
driver issue. If they do not match, then nothing we can do. You will not
be able to use that PM box with your router.

> 
> Thank you for your reply.
> Marius Dinu

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-07  9:22 ` marius
  2022-11-08  6:27   ` Damien Le Moal
@ 2022-11-09 19:52   ` marius
  2022-11-09 19:55   ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: marius @ 2022-11-09 19:52 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

November 8, 2022 8:27 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> So the adapter & driver are OK for regular ATA devices but they may not
> like port-multiplier devices, or one of its flavor. See:
> https://en.wikipedia.org/wiki/Port_multiplier for a nice summary. PM
> comes with either command-based switching or FIS-based switching. The
> adapter may not support the flavor that your PM box uses, while the
> sata-mv adapter does.
> 
> Try to check the router SATA adapter specs and your PM box spec and see
> what PM flavor they support. If that matches, then this is likely a
> driver issue. If they do not match, then nothing we can do. You will not
> be able to use that PM box with your router.
> 
> --
> Damien Le Moal
> Western Digital Research

There is a lot of info in Marvell Armada 38x Functional Specifications manual, but I don't
understand it. "FIS" is mentioned.
See https://ulli-kroll.de/Downloads/NAS326/A38x-Functional-Spec-PU0A.pdf , page 241.

From my kernel log:
ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
From https://ata.wiki.kernel.org/index.php/SATA_hardware_features
pmp means "port multiplier"
fbs means "FIS based switching"

Areca didn't write information so detailed in the manual, but it does say it supports NCQ,
so according to Wikipedia article you indicated, it probably isn't command-based switching.
Is there any way to get this info from the working router (sata-mv)? Or if I connect it to a desktop PC?

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-11-07  9:22 ` marius
  2022-11-08  6:27   ` Damien Le Moal
  2022-11-09 19:52   ` marius
@ 2022-11-09 19:55   ` marius
  2022-11-10  2:05     ` Damien Le Moal
  2022-11-11 22:32     ` marius
  2 siblings, 2 replies; 67+ messages in thread
From: marius @ 2022-11-09 19:55 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

November 8, 2022 8:27 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> So the adapter & driver are OK for regular ATA devices but they may not
> like port-multiplier devices, or one of its flavor. See:
> https://en.wikipedia.org/wiki/Port_multiplier for a nice summary. PM
> comes with either command-based switching or FIS-based switching. The
> adapter may not support the flavor that your PM box uses, while the
> sata-mv adapter does.
> 
> Try to check the router SATA adapter specs and your PM box spec and see
> what PM flavor they support. If that matches, then this is likely a
> driver issue. If they do not match, then nothing we can do. You will not
> be able to use that PM box with your router.
> 
> --
> Damien Le Moal
> Western Digital Research

There is a lot of info in Marvell Armada 38x Functional Specifications manual, but I don't
understand it. "FIS" is mentioned.
See https://ulli-kroll.de/Downloads/NAS326/A38x-Functional-Spec-PU0A.pdf , page 241.

From my kernel log:
ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
From kernel sources ahci.h:
pmp means "port multiplier"
fbs means "FIS based switching"

Areca didn't write information so detailed in the manual, but it does say it supports NCQ,
so according to Wikipedia article you indicated, it probably isn't command-based switching.
Is there any way to get this info from the working router (sata-mv)? Or if I connect it to a desktop PC?

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-11-09 19:55   ` marius
@ 2022-11-10  2:05     ` Damien Le Moal
  2022-11-11 22:32     ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-11-10  2:05 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 11/10/22 04:55, marius@psihoexpert.ro wrote:
> November 8, 2022 8:27 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> So the adapter & driver are OK for regular ATA devices but they may not
>> like port-multiplier devices, or one of its flavor. See:
>> https://en.wikipedia.org/wiki/Port_multiplier for a nice summary. PM
>> comes with either command-based switching or FIS-based switching. The
>> adapter may not support the flavor that your PM box uses, while the
>> sata-mv adapter does.
>>
>> Try to check the router SATA adapter specs and your PM box spec and see
>> what PM flavor they support. If that matches, then this is likely a
>> driver issue. If they do not match, then nothing we can do. You will not
>> be able to use that PM box with your router.
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> There is a lot of info in Marvell Armada 38x Functional Specifications manual, but I don't
> understand it. "FIS" is mentioned.
> See https://ulli-kroll.de/Downloads/NAS326/A38x-Functional-Spec-PU0A.pdf , page 241.

Yep, looks like the adapter does support FIS based switching. See table
1291 of that manual.

> From my kernel log:
> ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
> From kernel sources ahci.h:
> pmp means "port multiplier"
> fbs means "FIS based switching"

Yep. So the driver says it does support pmp & fbs, as expected from the
manual info.

> Areca didn't write information so detailed in the manual, but it does say it supports NCQ,
> so according to Wikipedia article you indicated, it probably isn't command-based switching.
> Is there any way to get this info from the working router (sata-mv)? Or if I connect it to a desktop PC?

For the working router, you should also be getting the same message that
you printed above, listing the flags of the adapter. On my test box, for
an Intel C620 series AHCI I have:

ahci 0000:00:11.5: flags: 64bit ncq sntf pm led clo only pio slum part
ems deso sadm sds apst

So no pmp nor fbs support. And for an additional Marvell PCI SATA
adapter on that same box that supports port multiplier, I have:

ahci 0000:61:00.0: flags: 64bit ncq pio

So no pmp nor fbs either. Yet, I have a 4-drive port multiplier box
connected with eSATA to that adapter, some random unknown vendor thing.
And weirdly enough, it works fine.

On a different test machine, an Intel Z170 chipset AHCI says:

ahci 0000:00:17.0: flags: 64bit ncq sntf pm led clo only pio slum part
ems deso sadm sds apst

No pmp/fbs again (No Intel adapter that I know support pmp). And an
ASMedia ASM1062 Serial ATA Controller add-on PCI card says:

ahci 0000:08:00.0: flags: 64bit ncq sntf stag led clo pmp pio slum part
ccc sxs

pmp is supported, but no fbs. I have a Logitech LGB-4BNHEU3 4-drives box
connected which does not seem to support fbs (the manual is useless
about that). It works fine, but when connected to the Marvel adapter on
the other box, it does not...

PMP is a mess and never really stabilized as faster USB interfaces
showed up at about the same time as eSATA tried to spread. That never
happened, and we are left with a bunch of devices that are hit-and-miss.

This of course does not mean that this is not a bug in the ahci-mvebu
driver. We can try digging into that. First thing to try: enable debug
messages in libata and libahci/ahci-mvebu. See
Documentation/admin-guide/dynamic-debug-howto.rst for that. Then connect
your eSATA box and see what it says.



> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-09 19:55   ` marius
  2022-11-10  2:05     ` Damien Le Moal
@ 2022-11-11 22:32     ` marius
  2022-11-12  1:57       ` Damien Le Moal
  2022-11-14 20:52       ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2022-11-11 22:32 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

November 10, 2022 4:06 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> This of course does not mean that this is not a bug in the ahci-mvebu
> driver. We can try digging into that. First thing to try: enable debug
> messages in libata and libahci/ahci-mvebu. See
> Documentation/admin-guide/dynamic-debug-howto.rst for that. Then connect
> your eSATA box and see what it says.
> 
> --
> Damien Le Moal
> Western Digital Research

I used:
cd /proc/dynamic_debug/
echo -n "file *ata* +pflmt" > control
echo -n "file *ahci* +pflmt" > control
echo -n "module ahci_mvebu +pflmt" > control
echo -n "module libata +pflmt" > control

There are no errors running the commands.

Check:
root@(none):/proc/dynamic_debug# grep libata control
include/linux/libata.h:2049 [libata]ata_wait_idle =pmflt "ata%u: abnormal Status 0x%X\n"
drivers/ata/libata-sff.c:2107 [libata]ata_sff_drain_fifo =pmflt "ata%u: drained %d bytes to clear
DRQ\n"
drivers/ata/libata-transport.c:344 [libata]ata_port_classify =pmflt "ata%u: found %s device by
sig\n"
drivers/ata/libata-eh.c:2747 [libata]ata_eh_reset =pmflt "ata%u.%02u: link status unknown, clearing
UNKNOWN to NONE\n"
drivers/ata/libata-eh.c:2742 [libata]ata_eh_reset =pmflt "ata%u.%02u: link offline, clearing class
%d to NONE\n"
drivers/ata/libata-eh.c:2736 [libata]ata_eh_reset =pmflt "ata%u.%02u: link online but device
misclassified\n"
drivers/ata/libata-eh.c:2542 [libata]ata_eh_reset =pmflt "ata%u: port disabled--ignoring\n"
drivers/ata/libata-eh.c:2542 [libata]ata_eh_reset =pmflt "ata%u.%02u: port disabled--ignoring\n"
drivers/ata/libata-scsi.c:4244 [libata]ata_scsi_assign_ofnode =pmflt "found matching device node\n"
drivers/ata/libata-core.c:3344 [libata]ata_dev_set_mode =pmflt "ata%u.%02u: xfer_shift=%u,
xfer_mode=0x%x\n"
drivers/ata/libata-core.c:4305 [libata]ata_dev_set_xfermode =pmflt "ata%u.%02u: set features - xfer
mode\n"
drivers/ata/libata-core.c:2356 [libata]ata_dev_config_trusted =pmflt "ata%u.%02u: Trusted Computing
capability qword not valid!\n"
drivers/ata/libata-core.c:2274 [libata]ata_dev_config_sense_reporting =pmflt "ata%u.%02u: failed to
enable Sense Data Reporting, Emask 0x%x\n"
drivers/ata/libata-core.c:2124 [libata]ata_dev_config_ncq_send_recv =pmflt "ata%u.%02u: disabling
queued TRIM support\n"
drivers/ata/libata-core.c:1363 [libata]ata_dump_id =pmflt "ata%u.%02u: 49==0x%04x 53==0x%04x
63==0x%04x 64==0x%04x 75==0x%04x\n80==0x%04x 81==0x%04x 82==0x%04x 83==0x%04x
84==0x%04x\n88==0x%04x 93==0x%04x\n"
drivers/ata/libata-core.c:2596 [libata]ata_dev_configure =pmflt "ata%u.%02u: %s: cfg 49:%04x
82:%04x 83:%04x 84:%04x 85:%04x 86:%04x 87:%04x 88:%04x\n"
drivers/ata/libata-core.c:2545 [libata]ata_dev_configure =pmflt "ata%u.%02u: no device\n"
drivers/ata/libata-core.c:4391 [libata]ata_dev_init_params =pmflt "ata%u.%02u: init dev params \n"
drivers/ata/libata-core.c:1877 [libata]ata_dev_read_id =pmflt "ata%u.%02u: host indicates ignore
ATA devices, ignored\n"
drivers/ata/libata-core.c:1843 [libata]ata_dev_read_id =pmflt "ata%u.%02u: both IDENTIFYs aborted,
assuming NODEV\n"
drivers/ata/libata-core.c:1811 [libata]ata_dev_read_id =pmflt "ata%u.%02u: NODEV after polling
detection\n"
drivers/ata/libata-core.c:1970 [libata]ata_read_log_page =pmflt "ata%u.%02u: read log page - log
0x%x, page 0x%x\n"
drivers/ata/libata-core.c:4351 [libata]ata_dev_set_feature =pmflt "ata%u.%02u: set features\n"
root@(none):/proc/dynamic_debug# grep ahci control
drivers/ata/libahci.c:1313 [libahci]ahci_init_controller =pmflt "HOST_CTL 0x%x\n"
drivers/ata/libahci.c:1310 [libahci]ahci_init_controller =pmflt "HOST_CTL 0x%x\n"
drivers/ata/libahci.c:1279 [libahci]ahci_port_init =pmflt "PORT_IRQ_STAT 0x%x\n"
drivers/ata/libahci.c:1274 [libahci]ahci_port_init =pmflt "PORT_SCR_ERR 0x%x\n"

I don't see any ahci_mvebu debug strings.

Kernel log:
---- Connect laptop HDD ----
[ 195.229143][ T108] [108] libata:ata_port_classify:344: ata2: found ata device by sig
[ 195.409141][ T108] [108] libata:ata_port_classify:344: ata2: found ata device by sig
[ 195.417008][ T108] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 195.685415][ T108] [108] libata:ata_dev_configure:2596: ata2.00: ata_dev_configure: cfg 49:2f00
82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 88:007f
[ 195.699132][ T108] [108] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 53==0x0007 63==0x0407
64==0x0003 75==0x001f
[ 195.699132][ T108] 80==0x01f0 81==0x0029 82==0x346b 83==0x7d09 84==0x6123
[ 195.699132][ T108] 88==0x007f 93==0x0000
[ 195.721221][ T108] ata2.00: ATA-8: ST9500325AS, 0001SDM1, max UDMA/133
[ 195.727865][ T108] ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 32)
[ 195.735129][ T108] [108] libata:ata_dev_set_xfermode:4305: ata2.00: set features - xfer mode
[ 195.745985][ T108] [108] libata:ata_dev_configure:2596: ata2.00: ata_dev_configure: cfg 49:2f00
82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 88:407f
[ 195.759699][ T108] [108] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 53==0x0007 63==0x0007
64==0x0003 75==0x001f
[ 195.759699][ T108] 80==0x01f0 81==0x0029 82==0x346b 83==0x7d09 84==0x6123
[ 195.759699][ T108] 88==0x407f 93==0x0000
[ 195.781791][ T108] [108] libata:ata_dev_set_mode:3344: ata2.00: xfer_shift=12, xfer_mode=0x46
[ 195.790443][ T108] ata2.00: configured for UDMA/133
[ 195.795640][ T87] scsi 1:0:0:0: Direct-Access ATA ST9500325AS SDM1 PQ: 0 ANSI: 5
[ 195.804660][ T87] device: 'target1:0:0': device_add
[ 195.809750][ T87] bus: 'scsi': add device target1:0:0
[ 195.815024][ T87] device: '1:0:0:0': device_add
[ 195.819805][ T87] bus: 'scsi': add device 1:0:0:0
[ 195.825210][ T87] scsi 1:0:0:0: scheduling asynchronous probe
[ 195.831480][ T28] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
[ 195.831688][ T87] device: '1:0:0:0': device_add
[ 195.840063][ T28] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
[ 195.852567][ T28] sd 1:0:0:0: no default pinctrl state
[ 195.857932][ T28] device: '1:0:0:0': device_add
[ 195.863018][ T28] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 195.871262][ T28] sd 1:0:0:0: [sdb] Write Protect is off
[ 195.876774][ T28] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 195.882593][ T28] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support
DPO or FUA
[ 195.892422][ T28] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[ 195.899336][ T28] device: 'sdb': device_add
[ 195.905171][ T28] device: '8:16': device_add
[ 195.932431][ T28] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[ 195.938644][ T28] driver: 'sd': driver_bound: bound to device '1:0:0:0'
[ 195.945486][ T28] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
[ 195.952927][ T28] sd 1:0:0:0: async probe completed
---- Disconnect HDD ----
[ 243.349142][ T108] ata2: SATA link down (SStatus 0 SControl 300)
[ 248.750304][ T108] ata2: SATA link down (SStatus 0 SControl 300)
[ 254.110303][ T108] ata2: SATA link down (SStatus 0 SControl 300)
[ 254.116424][ T108] ata2.00: disable device
[ 254.120641][ T87] ata2.00: detaching (SCSI 1:0:0:0)
[ 254.125714][ T87] device: '1:0:0:0': device_unregister
[ 254.131477][ T87] bus: 'scsi': remove device 1:0:0:0
[ 254.136793][ T87] device: '8:16': device_unregister
[ 254.141898][ T87] device: '8:16': device_create_release
[ 254.199147][ T87] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[ 254.205047][ T87] sd 1:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=0x04
driverbyte=DRIVER_OK
[ 254.215099][ T87] sd 1:0:0:0: [sdb] Stopping disk
[ 254.220012][ T87] sd 1:0:0:0: [sdb] Start/Stop Unit failed: Result: hostbyte=0x04
driverbyte=DRIVER_OK
[ 254.229591][ T87] bus: 'scsi': remove device target1:0:0
---- Connect Areca DAS ----
[ 385.299142][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 386.979141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 388.109141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 389.999141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 390.879141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 390.885440][ T108] ata2: EH pending after 5 tries, giving up

No more messages appear after this. Not even when I unplug the cable. The laptop HDD that worked before is no longer detected. The port is dead.

After hard reset, with the same dynamic_debug setup:
---- Connect Areca DAS ----
[ 548.949140][ T108] ata2: COMRESET failed (errno=-32)
[ 548.954221][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
[ 559.089139][ T108] ata2: COMRESET failed (errno=-32)
[ 559.094212][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
[ 569.289139][ T108] ata2: COMRESET failed (errno=-32)
[ 569.294211][ T108] ata2: reset failed (errno=-32), retrying in 33 secs
[ 604.339139][ T108] ata2: COMRESET failed (errno=-32)
[ 604.344212][ T108] ata2: reset failed, giving up
[ 606.599139][ T108] ata2: COMRESET failed (errno=-32)
[ 606.604211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
[ 615.799142][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 616.999142][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 619.459139][ T108] ata2: COMRESET failed (errno=-32)
[ 619.464211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
[ 628.809141][ T108] ata2: SATA link down (SStatus 101 SControl 300)
[ 631.059139][ T108] ata2: COMRESET failed (errno=-32)
[ 631.064211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
[ 641.579139][ T108] ata2: COMRESET failed (errno=-32)
[ 641.584211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
[ 651.779139][ T108] ata2: COMRESET failed (errno=-32)
[ 651.784211][ T108] ata2: reset failed (errno=-32), retrying in 33 secs
[ 685.399141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
[ 685.405439][ T108] ata2: EH pending after 5 tries, giving up

After this, the port is dead again. No more messages appear.
Notice there is no COMRESET error if I connect the laptop HDD first.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-11-11 22:32     ` marius
@ 2022-11-12  1:57       ` Damien Le Moal
  2022-11-14 20:52       ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-11-12  1:57 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 11/12/22 07:32, marius@psihoexpert.ro wrote:
> November 10, 2022 4:06 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> This of course does not mean that this is not a bug in the ahci-mvebu
>> driver. We can try digging into that. First thing to try: enable debug
>> messages in libata and libahci/ahci-mvebu. See
>> Documentation/admin-guide/dynamic-debug-howto.rst for that. Then connect
>> your eSATA box and see what it says.
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> I used:
> cd /proc/dynamic_debug/
> echo -n "file *ata* +pflmt" > control
> echo -n "file *ahci* +pflmt" > control
> echo -n "module ahci_mvebu +pflmt" > control
> echo -n "module libata +pflmt" > control
> 
> There are no errors running the commands.
> 
> Check:
> root@(none):/proc/dynamic_debug# grep libata control
> include/linux/libata.h:2049 [libata]ata_wait_idle =pmflt "ata%u: abnormal Status 0x%X\n"
> drivers/ata/libata-sff.c:2107 [libata]ata_sff_drain_fifo =pmflt "ata%u: drained %d bytes to clear
> DRQ\n"
> drivers/ata/libata-transport.c:344 [libata]ata_port_classify =pmflt "ata%u: found %s device by
> sig\n"
> drivers/ata/libata-eh.c:2747 [libata]ata_eh_reset =pmflt "ata%u.%02u: link status unknown, clearing
> UNKNOWN to NONE\n"
> drivers/ata/libata-eh.c:2742 [libata]ata_eh_reset =pmflt "ata%u.%02u: link offline, clearing class
> %d to NONE\n"
> drivers/ata/libata-eh.c:2736 [libata]ata_eh_reset =pmflt "ata%u.%02u: link online but device
> misclassified\n"
> drivers/ata/libata-eh.c:2542 [libata]ata_eh_reset =pmflt "ata%u: port disabled--ignoring\n"
> drivers/ata/libata-eh.c:2542 [libata]ata_eh_reset =pmflt "ata%u.%02u: port disabled--ignoring\n"
> drivers/ata/libata-scsi.c:4244 [libata]ata_scsi_assign_ofnode =pmflt "found matching device node\n"
> drivers/ata/libata-core.c:3344 [libata]ata_dev_set_mode =pmflt "ata%u.%02u: xfer_shift=%u,
> xfer_mode=0x%x\n"
> drivers/ata/libata-core.c:4305 [libata]ata_dev_set_xfermode =pmflt "ata%u.%02u: set features - xfer
> mode\n"
> drivers/ata/libata-core.c:2356 [libata]ata_dev_config_trusted =pmflt "ata%u.%02u: Trusted Computing
> capability qword not valid!\n"
> drivers/ata/libata-core.c:2274 [libata]ata_dev_config_sense_reporting =pmflt "ata%u.%02u: failed to
> enable Sense Data Reporting, Emask 0x%x\n"
> drivers/ata/libata-core.c:2124 [libata]ata_dev_config_ncq_send_recv =pmflt "ata%u.%02u: disabling
> queued TRIM support\n"
> drivers/ata/libata-core.c:1363 [libata]ata_dump_id =pmflt "ata%u.%02u: 49==0x%04x 53==0x%04x
> 63==0x%04x 64==0x%04x 75==0x%04x\n80==0x%04x 81==0x%04x 82==0x%04x 83==0x%04x
> 84==0x%04x\n88==0x%04x 93==0x%04x\n"
> drivers/ata/libata-core.c:2596 [libata]ata_dev_configure =pmflt "ata%u.%02u: %s: cfg 49:%04x
> 82:%04x 83:%04x 84:%04x 85:%04x 86:%04x 87:%04x 88:%04x\n"
> drivers/ata/libata-core.c:2545 [libata]ata_dev_configure =pmflt "ata%u.%02u: no device\n"
> drivers/ata/libata-core.c:4391 [libata]ata_dev_init_params =pmflt "ata%u.%02u: init dev params \n"
> drivers/ata/libata-core.c:1877 [libata]ata_dev_read_id =pmflt "ata%u.%02u: host indicates ignore
> ATA devices, ignored\n"
> drivers/ata/libata-core.c:1843 [libata]ata_dev_read_id =pmflt "ata%u.%02u: both IDENTIFYs aborted,
> assuming NODEV\n"
> drivers/ata/libata-core.c:1811 [libata]ata_dev_read_id =pmflt "ata%u.%02u: NODEV after polling
> detection\n"
> drivers/ata/libata-core.c:1970 [libata]ata_read_log_page =pmflt "ata%u.%02u: read log page - log
> 0x%x, page 0x%x\n"
> drivers/ata/libata-core.c:4351 [libata]ata_dev_set_feature =pmflt "ata%u.%02u: set features\n"
> root@(none):/proc/dynamic_debug# grep ahci control
> drivers/ata/libahci.c:1313 [libahci]ahci_init_controller =pmflt "HOST_CTL 0x%x\n"
> drivers/ata/libahci.c:1310 [libahci]ahci_init_controller =pmflt "HOST_CTL 0x%x\n"
> drivers/ata/libahci.c:1279 [libahci]ahci_port_init =pmflt "PORT_IRQ_STAT 0x%x\n"
> drivers/ata/libahci.c:1274 [libahci]ahci_port_init =pmflt "PORT_SCR_ERR 0x%x\n"
> 
> I don't see any ahci_mvebu debug strings.
> 
> Kernel log:
> ---- Connect laptop HDD ----
> [ 195.229143][ T108] [108] libata:ata_port_classify:344: ata2: found ata device by sig
> [ 195.409141][ T108] [108] libata:ata_port_classify:344: ata2: found ata device by sig
> [ 195.417008][ T108] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [ 195.685415][ T108] [108] libata:ata_dev_configure:2596: ata2.00: ata_dev_configure: cfg 49:2f00
> 82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 88:007f
> [ 195.699132][ T108] [108] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 53==0x0007 63==0x0407
> 64==0x0003 75==0x001f
> [ 195.699132][ T108] 80==0x01f0 81==0x0029 82==0x346b 83==0x7d09 84==0x6123
> [ 195.699132][ T108] 88==0x007f 93==0x0000
> [ 195.721221][ T108] ata2.00: ATA-8: ST9500325AS, 0001SDM1, max UDMA/133
> [ 195.727865][ T108] ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 32)
> [ 195.735129][ T108] [108] libata:ata_dev_set_xfermode:4305: ata2.00: set features - xfer mode
> [ 195.745985][ T108] [108] libata:ata_dev_configure:2596: ata2.00: ata_dev_configure: cfg 49:2f00
> 82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 88:407f
> [ 195.759699][ T108] [108] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 53==0x0007 63==0x0007
> 64==0x0003 75==0x001f
> [ 195.759699][ T108] 80==0x01f0 81==0x0029 82==0x346b 83==0x7d09 84==0x6123
> [ 195.759699][ T108] 88==0x407f 93==0x0000
> [ 195.781791][ T108] [108] libata:ata_dev_set_mode:3344: ata2.00: xfer_shift=12, xfer_mode=0x46
> [ 195.790443][ T108] ata2.00: configured for UDMA/133
> [ 195.795640][ T87] scsi 1:0:0:0: Direct-Access ATA ST9500325AS SDM1 PQ: 0 ANSI: 5
> [ 195.804660][ T87] device: 'target1:0:0': device_add
> [ 195.809750][ T87] bus: 'scsi': add device target1:0:0
> [ 195.815024][ T87] device: '1:0:0:0': device_add
> [ 195.819805][ T87] bus: 'scsi': add device 1:0:0:0
> [ 195.825210][ T87] scsi 1:0:0:0: scheduling asynchronous probe
> [ 195.831480][ T28] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
> [ 195.831688][ T87] device: '1:0:0:0': device_add
> [ 195.840063][ T28] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
> [ 195.852567][ T28] sd 1:0:0:0: no default pinctrl state
> [ 195.857932][ T28] device: '1:0:0:0': device_add
> [ 195.863018][ T28] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
> [ 195.871262][ T28] sd 1:0:0:0: [sdb] Write Protect is off
> [ 195.876774][ T28] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
> [ 195.882593][ T28] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support
> DPO or FUA
> [ 195.892422][ T28] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
> [ 195.899336][ T28] device: 'sdb': device_add
> [ 195.905171][ T28] device: '8:16': device_add
> [ 195.932431][ T28] sd 1:0:0:0: [sdb] Attached SCSI removable disk
> [ 195.938644][ T28] driver: 'sd': driver_bound: bound to device '1:0:0:0'
> [ 195.945486][ T28] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
> [ 195.952927][ T28] sd 1:0:0:0: async probe completed
> ---- Disconnect HDD ----
> [ 243.349142][ T108] ata2: SATA link down (SStatus 0 SControl 300)
> [ 248.750304][ T108] ata2: SATA link down (SStatus 0 SControl 300)
> [ 254.110303][ T108] ata2: SATA link down (SStatus 0 SControl 300)
> [ 254.116424][ T108] ata2.00: disable device
> [ 254.120641][ T87] ata2.00: detaching (SCSI 1:0:0:0)
> [ 254.125714][ T87] device: '1:0:0:0': device_unregister
> [ 254.131477][ T87] bus: 'scsi': remove device 1:0:0:0
> [ 254.136793][ T87] device: '8:16': device_unregister
> [ 254.141898][ T87] device: '8:16': device_create_release
> [ 254.199147][ T87] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
> [ 254.205047][ T87] sd 1:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=0x04
> driverbyte=DRIVER_OK
> [ 254.215099][ T87] sd 1:0:0:0: [sdb] Stopping disk
> [ 254.220012][ T87] sd 1:0:0:0: [sdb] Start/Stop Unit failed: Result: hostbyte=0x04
> driverbyte=DRIVER_OK
> [ 254.229591][ T87] bus: 'scsi': remove device target1:0:0
> ---- Connect Areca DAS ----
> [ 385.299142][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 386.979141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 388.109141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 389.999141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 390.879141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 390.885440][ T108] ata2: EH pending after 5 tries, giving up
> 
> No more messages appear after this. Not even when I unplug the cable. The laptop HDD that worked before is no longer detected. The port is dead.

This is likely because the adapter does not support or has a buggy
plug-an-play. The adapter needs to be power cycled/reset to detect changes
in drive connections. If you have libata & ahci drivers compiled as
modules, you could try rmmod them and then "modprobe ahci_mvebu".

> After hard reset, with the same dynamic_debug setup:> ---- Connect Areca DAS ----
> [ 548.949140][ T108] ata2: COMRESET failed (errno=-32)
> [ 548.954221][ T108] ata2: reset failed (errno=-32), retrying in 8 secs

Hmmm... No clue. This comes from sata_link_hardreset(). Would be good to
add messages in that function to see what fails causing the jump to the
error message print. Looking at ahci_mvebu_stop_engine() comments, there
seem to be issues (errata) with this controller.

> [ 559.089139][ T108] ata2: COMRESET failed (errno=-32)
> [ 559.094212][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 569.289139][ T108] ata2: COMRESET failed (errno=-32)
> [ 569.294211][ T108] ata2: reset failed (errno=-32), retrying in 33 secs
> [ 604.339139][ T108] ata2: COMRESET failed (errno=-32)
> [ 604.344212][ T108] ata2: reset failed, giving up
> [ 606.599139][ T108] ata2: COMRESET failed (errno=-32)
> [ 606.604211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 615.799142][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 616.999142][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 619.459139][ T108] ata2: COMRESET failed (errno=-32)
> [ 619.464211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 628.809141][ T108] ata2: SATA link down (SStatus 101 SControl 300)
> [ 631.059139][ T108] ata2: COMRESET failed (errno=-32)
> [ 631.064211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 641.579139][ T108] ata2: COMRESET failed (errno=-32)
> [ 641.584211][ T108] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 651.779139][ T108] ata2: COMRESET failed (errno=-32)
> [ 651.784211][ T108] ata2: reset failed (errno=-32), retrying in 33 secs
> [ 685.399141][ T108] ata2: SATA link down (SStatus 100 SControl 300)
> [ 685.405439][ T108] ata2: EH pending after 5 tries, giving up
> 
> After this, the port is dead again. No more messages appear.
> Notice there is no COMRESET error if I connect the laptop HDD first.

Given that I do not have access to the hardware, I cannot do much. Try to
see if adding error messages in sata_link_hardreset() for anything that
fails in that function can help. This may give some hints.

> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-11 22:32     ` marius
  2022-11-12  1:57       ` Damien Le Moal
@ 2022-11-14 20:52       ` marius
  2022-11-15  3:02         ` Damien Le Moal
  2022-11-15  7:28         ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2022-11-14 20:52 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

November 12, 2022 3:57 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> Given that I do not have access to the hardware, I cannot do much. Try to
> see if adding error messages in sata_link_hardreset() for anything that
> fails in that function can help. This may give some hints.
> 
> --
> Damien Le Moal
> Western Digital Research

It seems that sata_link_hardreset() fails in more than one way:

---- CABLE CONNECTED ----
[   32.192282][  T104] Online=>Offline       <--- sata_link_hardreset(), inside "if(online)"
[   32.196848][  T104] do loop               <--- sata_link_resume(), inside the do{} loop, at the beginning
[   32.420858][  T104] post-do checkpoint    <--- sata_link_resume(), after do/while condition
[   32.423662][  T104] debounce start loop   <--- sata_link_debounce(), just before while(1)
[   32.470858][  T104] debounce SCR: 0x100   <--- sata_link_debounce(), after sata_scr_read(), prints "cur" value
[   32.530857][  T104] debounce SCR: 0x100
[   32.590857][  T104] debounce SCR: 0x100
[   32.650857][  T104] debounce SCR: 0x100
[   32.710857][  T104] debounce SCR: 0x100
[   32.770857][  T104] debounce SCR: 0x100
[   32.830857][  T104] debounce SCR: 0x100
[   32.890857][  T104] debounce SCR: 0x100
[   32.950857][  T104] debounce SCR: 0x101
[   33.010857][  T104] debounce SCR: 0x100
[   33.070857][  T104] debounce SCR: 0x100
[   33.130857][  T104] debounce SCR: 0x100
[   33.190857][  T104] debounce SCR: 0x100
[   33.250857][  T104] debounce SCR: 0x100
[   33.310857][  T104] debounce SCR: 0x100
[   33.360857][  T104] debounce SCR: 0x101
[   33.420857][  T104] debounce SCR: 0x100
[   33.470857][  T104] debounce SCR: 0x100
[   33.530857][  T104] debounce SCR: 0x100
[   33.580857][  T104] debounce SCR: 0x100
[   33.630857][  T104] debounce SCR: 0x101
[   33.680857][  T104] debounce SCR: 0x100
[   33.730857][  T104] debounce SCR: 0x100
[   33.790857][  T104] debounce SCR: 0x100
[   33.850857][  T104] debounce SCR: 0x100
[   33.910857][  T104] debounce SCR: 0x101
[   33.970857][  T104] debounce SCR: 0x0
[   34.020857][  T104] debounce SCR: 0x0
[   34.080857][  T104] debounce SCR: 0x0
[   34.130857][  T104] debounce SCR: 0x0
[   34.190857][  T104] debounce SCR: 0x100
[   34.250857][  T104] debounce SCR: 0x100
[   34.310857][  T104] debounce SCR: 0x100
[   34.360857][  T104] debounce SCR: 0x100
[   34.420857][  T104] debounce SCR: 0x100
[   34.480857][  T104] debounce SCR: 0x100
[   34.484707][  T104] final checkpoint            <--- sata_link_resume(), just before final return
[   34.488557][  T104] Link offline after resume   <--- sata_link_hardreset(), at the ata_phys_link_offline(link) condition
[   34.496525][  T104] ata2: SATA link down (SStatus 100 SControl 300)
[   34.502833][  T104] Online=>Offline
[   34.507390][  T104] do loop
[   34.720857][  T104] post-do checkpoint
[   34.723661][  T104] debounce start loop
[   34.780857][  T104] debounce SCR: 0x100
[   34.840857][  T104] debounce SCR: 0x100
[   34.890857][  T104] debounce SCR: 0x100
[   34.950857][  T104] debounce SCR: 0x100
[   35.010857][  T104] debounce SCR: 0x100
[   35.060857][  T104] debounce SCR: 0x100
[   35.120857][  T104] debounce SCR: 0x100
[   35.180857][  T104] debounce SCR: 0x101
[   35.230857][  T104] debounce SCR: 0x100
[   35.290857][  T104] debounce SCR: 0x100
[   35.350857][  T104] debounce SCR: 0x100
[   35.410857][  T104] debounce SCR: 0x100
[   35.460857][  T104] debounce SCR: 0x101
[   35.510857][  T104] debounce SCR: 0x100
[   35.570857][  T104] debounce SCR: 0x100
[   35.630857][  T104] debounce SCR: 0x100
[   35.690857][  T104] debounce SCR: 0x100
[   35.750857][  T104] debounce SCR: 0x101
[   35.810857][  T104] debounce SCR: 0x100
[   35.870857][  T104] debounce SCR: 0x101
[   35.920857][  T104] debounce SCR: 0x100
[   35.980857][  T104] debounce SCR: 0x101
[   36.030857][  T104] debounce SCR: 0x100
[   36.090857][  T104] debounce SCR: 0x100
[   36.150857][  T104] debounce SCR: 0x100
[   36.200857][  T104] debounce SCR: 0x100
[   36.260857][  T104] debounce SCR: 0x101
[   36.310857][  T104] debounce SCR: 0x100
[   36.360857][  T104] debounce SCR: 0x100
[   36.420857][  T104] debounce SCR: 0x100
[   36.480857][  T104] debounce SCR: 0x100
[   36.540857][  T104] debounce SCR: 0x100
[   36.600857][  T104] debounce SCR: 0x100
[   36.660857][  T104] debounce SCR: 0x101
[   36.720857][  T104] debounce SCR: 0x100
[   36.780857][  T104] debounce SCR: 0x100
[   36.840857][  T104] debounce SCR: 0x100
[   36.890857][  T104] debounce SCR: 0x100
[   36.950857][  T104] debounce SCR: 0x100
[   37.010857][  T104] debounce SCR: 0x100
[   37.070857][  T104] debounce SCR: 0x100
[   37.130857][  T104] debounce SCR: 0x100
[   37.190857][  T104] debounce SCR: 0x100
[   37.250857][  T104] debounce SCR: 0x100
[   37.254707][  T104] final checkpoint
[   37.258556][  T104] Link offline after resume
[   37.266522][  T104] ata2: SATA link down (SStatus 100 SControl 300)
[   37.272827][  T104] Online=>Offline
[   37.277384][  T104] do loop
[   37.500857][  T104] post-do checkpoint
[   37.503661][  T104] debounce start loop
[   37.550857][  T104] debounce SCR: 0x101
[   37.610857][  T104] debounce SCR: 0x100
[   37.670857][  T104] debounce SCR: 0x100
[   37.730857][  T104] debounce SCR: 0x100
[   37.780857][  T104] debounce SCR: 0x100
[   37.840857][  T104] debounce SCR: 0x101
[   37.900857][  T104] debounce SCR: 0x100
[   37.950857][  T104] debounce SCR: 0x100
[   38.000857][  T104] debounce SCR: 0x100
[   38.050857][  T104] debounce SCR: 0x100
[   38.110857][  T104] debounce SCR: 0x100
[   38.170857][  T104] debounce SCR: 0x100
[   38.230857][  T104] debounce SCR: 0x100
[   38.290857][  T104] debounce SCR: 0x100
[   38.340857][  T104] debounce SCR: 0x100
[   38.400857][  T104] debounce SCR: 0x101
[   38.460857][  T104] debounce SCR: 0x100
[   38.510857][  T104] debounce SCR: 0x100
[   38.570857][  T104] debounce SCR: 0x0
[   38.620857][  T104] debounce SCR: 0x0
[   38.670857][  T104] debounce SCR: 0x0
[   38.730857][  T104] debounce SCR: 0x0
[   38.790857][  T104] debounce SCR: 0x100
[   38.850857][  T104] debounce SCR: 0x101
[   38.910857][  T104] debounce SCR: 0x100
[   38.960857][  T104] debounce SCR: 0x100
[   39.020857][  T104] debounce SCR: 0x100
[   39.080857][  T104] debounce SCR: 0x100
[   39.140857][  T104] debounce SCR: 0x101
[   39.200857][  T104] debounce SCR: 0x100
[   39.260857][  T104] debounce SCR: 0x100
[   39.320857][  T104] debounce SCR: 0x100
[   39.380857][  T104] debounce SCR: 0x100
[   39.430857][  T104] debounce SCR: 0x101
[   39.490857][  T104] debounce SCR: 0x100
[   39.550857][  T104] debounce SCR: 0x100
[   39.610857][  T104] debounce SCR: 0x100
[   39.670857][  T104] debounce SCR: 0x100
[   39.730857][  T104] debounce SCR: 0x100
[   39.780857][  T104] debounce SCR: 0x100
[   39.840857][  T104] debounce SCR: 0x101
[   39.844707][  T104] debounce timeout!     <--- sata_link_debounce(), just before final "return -EPIPE;"
[   39.848556][  T104] debounce failed       <--- sata_link_resume(), in sata_link_debounce() check
[   39.852234][  T104] Failed resume         <--- sata_link_hardreset(), in sata_link_resume() check
[   39.859061][  T104] ata2: COMRESET failed (errno=-32)
[   39.864136][  T104] ata2: reset failed (errno=-32), retrying in 8 secs
[   47.840858][  T104] Online=>Offline
[   47.845413][  T104] do loop
[   48.070857][  T104] post-do checkpoint
[   48.073661][  T104] debounce start loop
[   48.130857][  T104] debounce SCR: 0x100
[   48.180857][  T104] debounce SCR: 0x100
[   48.240857][  T104] debounce SCR: 0x100
[   48.300856][  T104] debounce SCR: 0x100
[   48.360857][  T104] debounce SCR: 0x100
[   48.410857][  T104] debounce SCR: 0x100
[   48.460857][  T104] debounce SCR: 0x101
[   48.520857][  T104] debounce SCR: 0x100
[   48.580857][  T104] debounce SCR: 0x101
[   48.640857][  T104] debounce SCR: 0x100
[   48.690857][  T104] debounce SCR: 0x100
[   48.740857][  T104] debounce SCR: 0x100
[   48.790857][  T104] debounce SCR: 0x100
[   48.850857][  T104] debounce SCR: 0x100
[   48.900857][  T104] debounce SCR: 0x100
[   48.960857][  T104] debounce SCR: 0x100
[   49.020857][  T104] debounce SCR: 0x100
[   49.070857][  T104] debounce SCR: 0x100
[   49.130857][  T104] debounce SCR: 0x101
[   49.190857][  T104] debounce SCR: 0x100
[   49.240857][  T104] debounce SCR: 0x100
[   49.290857][  T104] debounce SCR: 0x100
[   49.350857][  T104] debounce SCR: 0x100
[   49.400857][  T104] debounce SCR: 0x100
[   49.450857][  T104] debounce SCR: 0x100
[   49.510857][  T104] debounce SCR: 0x100
[   49.560857][  T104] debounce SCR: 0x100
[   49.620857][  T104] debounce SCR: 0x100
[   49.680857][  T104] debounce SCR: 0x101
[   49.740857][  T104] debounce SCR: 0x100
[   49.800857][  T104] debounce SCR: 0x100
[   49.850857][  T104] debounce SCR: 0x100
[   49.900857][  T104] debounce SCR: 0x100
[   49.960857][  T104] debounce SCR: 0x101
[   50.010857][  T104] debounce SCR: 0x100
[   50.070857][  T104] debounce SCR: 0x100
[   50.130857][  T104] debounce SCR: 0x100
[   50.190857][  T104] debounce SCR: 0x100
[   50.240857][  T104] debounce SCR: 0x101
[   50.244707][  T104] debounce timeout!
[   50.248556][  T104] debounce failed
[   50.252234][  T104] Failed resume
[   50.259059][  T104] ata2: COMRESET failed (errno=-32)
[   50.264133][  T104] ata2: reset failed (errno=-32), retrying in 8 secs
[   58.080858][  T104] Online=>Offline
[   58.085413][  T104] do loop
[   58.310857][  T104] post-do checkpoint
[   58.313660][  T104] debounce start loop
[   58.370857][  T104] debounce SCR: 0x101
[   58.430857][  T104] debounce SCR: 0x100
[   58.480857][  T104] debounce SCR: 0x100
[   58.540857][  T104] debounce SCR: 0x100
[   58.600857][  T104] debounce SCR: 0x100
[   58.660857][  T104] debounce SCR: 0x100
[   58.720857][  T104] debounce SCR: 0x100
[   58.770857][  T104] debounce SCR: 0x100
[   58.820857][  T104] debounce SCR: 0x100
[   58.880857][  T104] debounce SCR: 0x100
[   58.940857][  T104] debounce SCR: 0x100
[   58.944707][  T104] final checkpoint
[   58.948556][  T104] Link offline after resume
[   58.956521][  T104] ata2: SATA link down (SStatus 101 SControl 300)
[   58.962825][  T104] Online=>Offline
[   58.967381][  T104] do loop
[   59.190857][  T104] post-do checkpoint
[   59.193662][  T104] debounce start loop
[   59.250857][  T104] debounce SCR: 0x100
[   59.310857][  T104] debounce SCR: 0x100
[   59.370857][  T104] debounce SCR: 0x100
[   59.430857][  T104] debounce SCR: 0x100
[   59.480857][  T104] debounce SCR: 0x100
[   59.540857][  T104] debounce SCR: 0x101
[   59.600857][  T104] debounce SCR: 0x100
[   59.660857][  T104] debounce SCR: 0x100
[   59.720857][  T104] debounce SCR: 0x100
[   59.780857][  T104] debounce SCR: 0x100
[   59.840857][  T104] debounce SCR: 0x100
[   59.900857][  T104] debounce SCR: 0x100
[   59.950857][  T104] debounce SCR: 0x100
[   60.010857][  T104] debounce SCR: 0x100
[   60.070857][  T104] debounce SCR: 0x100
[   60.120857][  T104] debounce SCR: 0x100
[   60.124707][  T104] final checkpoint
[   60.128556][  T104] Link offline after resume
[   60.136521][  T104] ata2: SATA link down (SStatus 101 SControl 300)
[   60.142825][  T104] Online=>Offline
[   60.147380][  T104] do loop
[   60.370857][  T104] post-do checkpoint
[   60.373661][  T104] debounce start loop
[   60.430857][  T104] debounce SCR: 0x100
[   60.490857][  T104] debounce SCR: 0x100
[   60.540857][  T104] debounce SCR: 0x101
[   60.600857][  T104] debounce SCR: 0x100
[   60.660857][  T104] debounce SCR: 0x100
[   60.720857][  T104] debounce SCR: 0x101
[   60.780857][  T104] debounce SCR: 0x100
[   60.830857][  T104] debounce SCR: 0x100
[   60.890857][  T104] debounce SCR: 0x100
[   60.950857][  T104] debounce SCR: 0x100
[   61.000857][  T104] debounce SCR: 0x100
[   61.060857][  T104] debounce SCR: 0x100
[   61.120857][  T104] debounce SCR: 0x101
[   61.170857][  T104] debounce SCR: 0x100
[   61.230857][  T104] debounce SCR: 0x100
[   61.290857][  T104] debounce SCR: 0x100
[   61.350857][  T104] debounce SCR: 0x100
[   61.410857][  T104] debounce SCR: 0x100
[   61.470857][  T104] debounce SCR: 0x100
[   61.530857][  T104] debounce SCR: 0x100
[   61.590857][  T104] debounce SCR: 0x0
[   61.650857][  T104] debounce SCR: 0x0
[   61.700857][  T104] debounce SCR: 0x0
[   61.704532][  T104] final checkpoint
[   61.708207][  T104] Link offline after resume
[   61.716172][  T104] ata2: SATA link down (SStatus 0 SControl 300)
[   61.771780][  T104] Online=>Offline
[   61.776336][  T104] do loop
[   62.000857][  T104] post-do checkpoint
[   62.003660][  T104] debounce start loop
[   62.050857][  T104] debounce SCR: 0x100
[   62.110857][  T104] debounce SCR: 0x100
[   62.170857][  T104] debounce SCR: 0x100
[   62.230857][  T104] debounce SCR: 0x101
[   62.290857][  T104] debounce SCR: 0x100
[   62.350857][  T104] debounce SCR: 0x101
[   62.410857][  T104] debounce SCR: 0x100
[   62.470857][  T104] debounce SCR: 0x101
[   62.520857][  T104] debounce SCR: 0x100
[   62.580857][  T104] debounce SCR: 0x100
[   62.630857][  T104] debounce SCR: 0x100
[   62.690857][  T104] debounce SCR: 0x100
[   62.750857][  T104] debounce SCR: 0x101
[   62.810857][  T104] debounce SCR: 0x100
[   62.860857][  T104] debounce SCR: 0x100
[   62.910857][  T104] debounce SCR: 0x100
[   62.970857][  T104] debounce SCR: 0x100
[   63.030857][  T104] debounce SCR: 0x100
[   63.090857][  T104] debounce SCR: 0x100
[   63.150857][  T104] debounce SCR: 0x101
[   63.210857][  T104] debounce SCR: 0x100
[   63.270857][  T104] debounce SCR: 0x101
[   63.330857][  T104] debounce SCR: 0x100
[   63.390857][  T104] debounce SCR: 0x101
[   63.450857][  T104] debounce SCR: 0x100
[   63.510857][  T104] debounce SCR: 0x100
[   63.570857][  T104] debounce SCR: 0x100
[   63.620857][  T104] debounce SCR: 0x100
[   63.670857][  T104] debounce SCR: 0x100
[   63.730857][  T104] debounce SCR: 0x100
[   63.790857][  T104] debounce SCR: 0x100
[   63.850857][  T104] debounce SCR: 0x100
[   63.910857][  T104] debounce SCR: 0x100
[   63.970857][  T104] debounce SCR: 0x100
[   63.974707][  T104] final checkpoint
[   63.978556][  T104] Link offline after resume
[   63.986520][  T104] ata2: SATA link down (SStatus 100 SControl 300)
[   63.992823][  T104] Online=>Offline
[   63.997380][  T104] do loop
[   64.220857][  T104] post-do checkpoint
[   64.223662][  T104] debounce start loop
[   64.270857][  T104] debounce SCR: 0x100
[   64.330857][  T104] debounce SCR: 0x101
[   64.390857][  T104] debounce SCR: 0x100
[   64.440857][  T104] debounce SCR: 0x100
[   64.500857][  T104] debounce SCR: 0x101
[   64.550857][  T104] debounce SCR: 0x100
[   64.600857][  T104] debounce SCR: 0x100
[   64.660857][  T104] debounce SCR: 0x100
[   64.710857][  T104] debounce SCR: 0x100
[   64.770857][  T104] debounce SCR: 0x100
[   64.830857][  T104] debounce SCR: 0x100
[   64.890857][  T104] debounce SCR: 0x101
[   64.950857][  T104] debounce SCR: 0x100
[   65.010857][  T104] debounce SCR: 0x101
[   65.060857][  T104] debounce SCR: 0x100
[   65.120857][  T104] debounce SCR: 0x100
[   65.180857][  T104] debounce SCR: 0x100
[   65.240857][  T104] debounce SCR: 0x100
[   65.300857][  T104] debounce SCR: 0x100
[   65.360857][  T104] debounce SCR: 0x100
[   65.410857][  T104] debounce SCR: 0x101
[   65.470857][  T104] debounce SCR: 0x100
[   65.530857][  T104] debounce SCR: 0x100
[   65.590857][  T104] debounce SCR: 0x100
[   65.650857][  T104] debounce SCR: 0x100
[   65.700857][  T104] debounce SCR: 0x100
[   65.760857][  T104] debounce SCR: 0x100
[   65.810857][  T104] debounce SCR: 0x101
[   65.870857][  T104] debounce SCR: 0x100
[   65.930857][  T104] debounce SCR: 0x100
[   65.980857][  T104] debounce SCR: 0x100
[   66.040857][  T104] debounce SCR: 0x100
[   66.100857][  T104] debounce SCR: 0x100
[   66.160857][  T104] debounce SCR: 0x0
[   66.210857][  T104] debounce SCR: 0x0
[   66.270857][  T104] debounce SCR: 0x0
[   66.330857][  T104] debounce SCR: 0x0
[   66.390857][  T104] debounce SCR: 0x100
[   66.394532][  T104] final checkpoint
[   66.398382][  T104] Link offline after resume
[   66.406345][  T104] ata2: SATA link down (SStatus 100 SControl 300)
[   66.412649][  T104] Online=>Offline
[   66.417204][  T104] do loop
[   66.630857][  T104] post-do checkpoint
[   66.633661][  T104] debounce start loop
[   66.680857][  T104] debounce SCR: 0x100
[   66.740857][  T104] debounce SCR: 0x100
[   66.800857][  T104] debounce SCR: 0x100
[   66.860857][  T104] debounce SCR: 0x100
[   66.920857][  T104] debounce SCR: 0x100
[   66.980857][  T104] debounce SCR: 0x101
[   67.040857][  T104] debounce SCR: 0x100
[   67.100857][  T104] debounce SCR: 0x100
[   67.160857][  T104] debounce SCR: 0x100
[   67.220857][  T104] debounce SCR: 0x100
[   67.280857][  T104] debounce SCR: 0x100
[   67.330857][  T104] debounce SCR: 0x100
[   67.390857][  T104] debounce SCR: 0x101
[   67.450857][  T104] debounce SCR: 0x100
[   67.510857][  T104] debounce SCR: 0x100
[   67.570857][  T104] debounce SCR: 0x100
[   67.630857][  T104] debounce SCR: 0x100
[   67.690857][  T104] debounce SCR: 0x100
[   67.750857][  T104] debounce SCR: 0x100
[   67.810857][  T104] debounce SCR: 0x100
[   67.860857][  T104] debounce SCR: 0x100
[   67.920857][  T104] debounce SCR: 0x101
[   67.970857][  T104] debounce SCR: 0x100
[   68.030857][  T104] debounce SCR: 0x100
[   68.090857][  T104] debounce SCR: 0x100
[   68.150857][  T104] debounce SCR: 0x100
[   68.210857][  T104] debounce SCR: 0x101
[   68.260857][  T104] debounce SCR: 0x100
[   68.310857][  T104] debounce SCR: 0x100
[   68.370857][  T104] debounce SCR: 0x100
[   68.420857][  T104] debounce SCR: 0x100
[   68.480857][  T104] debounce SCR: 0x101
[   68.540857][  T104] debounce SCR: 0x100
[   68.600857][  T104] debounce SCR: 0x100
[   68.660857][  T104] debounce SCR: 0x100
[   68.720857][  T104] debounce SCR: 0x100
[   68.770857][  T104] debounce SCR: 0x100
[   68.820857][  T104] debounce SCR: 0x100
[   68.880857][  T104] debounce SCR: 0x100
[   68.940857][  T104] debounce SCR: 0x100
[   68.990857][  T104] debounce SCR: 0x101
[   68.994707][  T104] debounce timeout!
[   68.998556][  T104] debounce failed
[   69.002235][  T104] Failed resume
[   69.009062][  T104] ata2: COMRESET failed (errno=-32)
[   69.014136][  T104] ata2: reset failed (errno=-32), retrying in 8 secs
---- CABLE DISCONNECT HERE ----
[   76.640858][  T104] Online=>Offline
[   76.645414][  T104] do loop
[   76.870857][  T104] post-do checkpoint
[   76.873661][  T104] debounce start loop
[   76.930857][  T104] debounce SCR: 0x0
[   76.990857][  T104] debounce SCR: 0x0
[   77.050857][  T104] debounce SCR: 0x0
[   77.100857][  T104] debounce SCR: 0x0
[   77.150857][  T104] debounce SCR: 0x0
[   77.200857][  T104] debounce SCR: 0x0
[   77.260857][  T104] debounce SCR: 0x0
[   77.310857][  T104] debounce SCR: 0x0
[   77.370857][  T104] debounce SCR: 0x0
[   77.420857][  T104] debounce SCR: 0x0
[   77.424532][  T104] final checkpoint
[   77.428207][  T104] Link offline after resume
[   77.436172][  T104] ata2: SATA link down (SStatus 0 SControl 300)

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-11-14 20:52       ` marius
@ 2022-11-15  3:02         ` Damien Le Moal
  2022-11-15  7:28         ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-11-15  3:02 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 11/15/22 05:52, marius@psihoexpert.ro wrote:
> November 12, 2022 3:57 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> Given that I do not have access to the hardware, I cannot do much. Try to
>> see if adding error messages in sata_link_hardreset() for anything that
>> fails in that function can help. This may give some hints.
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> It seems that sata_link_hardreset() fails in more than one way:
> 
> ---- CABLE CONNECTED ----
> [   32.192282][  T104] Online=>Offline       <--- sata_link_hardreset(), inside "if(online)"
> [   32.196848][  T104] do loop               <--- sata_link_resume(), inside the do{} loop, at the beginning
> [   32.420858][  T104] post-do checkpoint    <--- sata_link_resume(), after do/while condition
> [   32.423662][  T104] debounce start loop   <--- sata_link_debounce(), just before while(1)
> [   32.470858][  T104] debounce SCR: 0x100   <--- sata_link_debounce(), after sata_scr_read(), prints "cur" value

See sata_link_debounce() function comments:

 *	Make sure SStatus of @link reaches stable state, determined by
 *	holding the same value where DET is not 1 for @duration polled
 *	every @interval, before @timeout.

That function looks at the 3 lower bits of the SSTATUS register of the
AHCI port. These bits are defined like this:

0h -> No device detected and Phy communication not established
1h -> Device presence detected but Phy communication not established
3h -> Device presence detected and Phy communication established
4h -> Phy in offline mode as a result of the interface being disabled or
running in a BIST loopback mode

Given that your prints are showing up to bit 8, I am assuming you are
printing "cur" without the 0xf mask applied to it in sata_link_debounce().
So the high order bit "1" in the printed value is bit 8, part of the
Interface Power Management (IPM) bits. That bit indicates:

Device not present or communication not established

For the lower 4 bits, you have either "0", that is "No device detected and
Phy communication not established" and "1" sometimes, indicating "Device
presence detected but Phy communication not established"

SSTATUS is not stable and even when the "device detected" bit is set,
there is no PHY.

So something is going on at the hardware level here. The register value is
not stable... You could try playing with the sleep interval (unsigned long
interval = params[0];) and duration (unsigned long duration = params[1];)
to see if anything changes. Especially try reducing and increasing interval.

> [   32.530857][  T104] debounce SCR: 0x100
> [   32.590857][  T104] debounce SCR: 0x100
> [   32.650857][  T104] debounce SCR: 0x100
> [   32.710857][  T104] debounce SCR: 0x100
> [   32.770857][  T104] debounce SCR: 0x100
> [   32.830857][  T104] debounce SCR: 0x100
> [   32.890857][  T104] debounce SCR: 0x100
> [   32.950857][  T104] debounce SCR: 0x101
> [   33.010857][  T104] debounce SCR: 0x100
> [   33.070857][  T104] debounce SCR: 0x100
> [   33.130857][  T104] debounce SCR: 0x100
> [   33.190857][  T104] debounce SCR: 0x100
> [   33.250857][  T104] debounce SCR: 0x100
> [   33.310857][  T104] debounce SCR: 0x100
> [   33.360857][  T104] debounce SCR: 0x101
> [   33.420857][  T104] debounce SCR: 0x100
> [   33.470857][  T104] debounce SCR: 0x100
> [   33.530857][  T104] debounce SCR: 0x100
> [   33.580857][  T104] debounce SCR: 0x100
> [   33.630857][  T104] debounce SCR: 0x101
> [   33.680857][  T104] debounce SCR: 0x100
> [   33.730857][  T104] debounce SCR: 0x100
> [   33.790857][  T104] debounce SCR: 0x100
> [   33.850857][  T104] debounce SCR: 0x100
> [   33.910857][  T104] debounce SCR: 0x101
> [   33.970857][  T104] debounce SCR: 0x0
> [   34.020857][  T104] debounce SCR: 0x0
> [   34.080857][  T104] debounce SCR: 0x0
> [   34.130857][  T104] debounce SCR: 0x0
> [   34.190857][  T104] debounce SCR: 0x100
> [   34.250857][  T104] debounce SCR: 0x100
> [   34.310857][  T104] debounce SCR: 0x100
> [   34.360857][  T104] debounce SCR: 0x100
> [   34.420857][  T104] debounce SCR: 0x100
> [   34.480857][  T104] debounce SCR: 0x100
> [   34.484707][  T104] final checkpoint            <--- sata_link_resume(), just before final return
> [   34.488557][  T104] Link offline after resume   <--- sata_link_hardreset(), at the ata_phys_link_offline(link) condition
> [   34.496525][  T104] ata2: SATA link down (SStatus 100 SControl 300)
> [   34.502833][  T104] Online=>Offline
> [   34.507390][  T104] do loop
> [   34.720857][  T104] post-do checkpoint
> [   34.723661][  T104] debounce start loop
> [   34.780857][  T104] debounce SCR: 0x100
> [   34.840857][  T104] debounce SCR: 0x100
> [   34.890857][  T104] debounce SCR: 0x100
> [   34.950857][  T104] debounce SCR: 0x100
> [   35.010857][  T104] debounce SCR: 0x100
> [   35.060857][  T104] debounce SCR: 0x100
> [   35.120857][  T104] debounce SCR: 0x100
> [   35.180857][  T104] debounce SCR: 0x101
> [   35.230857][  T104] debounce SCR: 0x100
> [   35.290857][  T104] debounce SCR: 0x100
> [   35.350857][  T104] debounce SCR: 0x100
> [   35.410857][  T104] debounce SCR: 0x100
> [   35.460857][  T104] debounce SCR: 0x101
> [   35.510857][  T104] debounce SCR: 0x100
> [   35.570857][  T104] debounce SCR: 0x100
> [   35.630857][  T104] debounce SCR: 0x100
> [   35.690857][  T104] debounce SCR: 0x100
> [   35.750857][  T104] debounce SCR: 0x101
> [   35.810857][  T104] debounce SCR: 0x100
> [   35.870857][  T104] debounce SCR: 0x101
> [   35.920857][  T104] debounce SCR: 0x100
> [   35.980857][  T104] debounce SCR: 0x101
> [   36.030857][  T104] debounce SCR: 0x100
> [   36.090857][  T104] debounce SCR: 0x100
> [   36.150857][  T104] debounce SCR: 0x100
> [   36.200857][  T104] debounce SCR: 0x100
> [   36.260857][  T104] debounce SCR: 0x101
> [   36.310857][  T104] debounce SCR: 0x100
> [   36.360857][  T104] debounce SCR: 0x100
> [   36.420857][  T104] debounce SCR: 0x100
> [   36.480857][  T104] debounce SCR: 0x100
> [   36.540857][  T104] debounce SCR: 0x100
> [   36.600857][  T104] debounce SCR: 0x100
> [   36.660857][  T104] debounce SCR: 0x101
> [   36.720857][  T104] debounce SCR: 0x100
> [   36.780857][  T104] debounce SCR: 0x100
> [   36.840857][  T104] debounce SCR: 0x100
> [   36.890857][  T104] debounce SCR: 0x100
> [   36.950857][  T104] debounce SCR: 0x100
> [   37.010857][  T104] debounce SCR: 0x100
> [   37.070857][  T104] debounce SCR: 0x100
> [   37.130857][  T104] debounce SCR: 0x100
> [   37.190857][  T104] debounce SCR: 0x100
> [   37.250857][  T104] debounce SCR: 0x100
> [   37.254707][  T104] final checkpoint
> [   37.258556][  T104] Link offline after resume
> [   37.266522][  T104] ata2: SATA link down (SStatus 100 SControl 300)
> [   37.272827][  T104] Online=>Offline
> [   37.277384][  T104] do loop
> [   37.500857][  T104] post-do checkpoint
> [   37.503661][  T104] debounce start loop
> [   37.550857][  T104] debounce SCR: 0x101
> [   37.610857][  T104] debounce SCR: 0x100
> [   37.670857][  T104] debounce SCR: 0x100
> [   37.730857][  T104] debounce SCR: 0x100
> [   37.780857][  T104] debounce SCR: 0x100
> [   37.840857][  T104] debounce SCR: 0x101
> [   37.900857][  T104] debounce SCR: 0x100
> [   37.950857][  T104] debounce SCR: 0x100
> [   38.000857][  T104] debounce SCR: 0x100
> [   38.050857][  T104] debounce SCR: 0x100
> [   38.110857][  T104] debounce SCR: 0x100
> [   38.170857][  T104] debounce SCR: 0x100
> [   38.230857][  T104] debounce SCR: 0x100
> [   38.290857][  T104] debounce SCR: 0x100
> [   38.340857][  T104] debounce SCR: 0x100
> [   38.400857][  T104] debounce SCR: 0x101
> [   38.460857][  T104] debounce SCR: 0x100
> [   38.510857][  T104] debounce SCR: 0x100
> [   38.570857][  T104] debounce SCR: 0x0
> [   38.620857][  T104] debounce SCR: 0x0
> [   38.670857][  T104] debounce SCR: 0x0
> [   38.730857][  T104] debounce SCR: 0x0
> [   38.790857][  T104] debounce SCR: 0x100
> [   38.850857][  T104] debounce SCR: 0x101
> [   38.910857][  T104] debounce SCR: 0x100
> [   38.960857][  T104] debounce SCR: 0x100
> [   39.020857][  T104] debounce SCR: 0x100
> [   39.080857][  T104] debounce SCR: 0x100
> [   39.140857][  T104] debounce SCR: 0x101
> [   39.200857][  T104] debounce SCR: 0x100
> [   39.260857][  T104] debounce SCR: 0x100
> [   39.320857][  T104] debounce SCR: 0x100
> [   39.380857][  T104] debounce SCR: 0x100
> [   39.430857][  T104] debounce SCR: 0x101
> [   39.490857][  T104] debounce SCR: 0x100
> [   39.550857][  T104] debounce SCR: 0x100
> [   39.610857][  T104] debounce SCR: 0x100
> [   39.670857][  T104] debounce SCR: 0x100
> [   39.730857][  T104] debounce SCR: 0x100
> [   39.780857][  T104] debounce SCR: 0x100
> [   39.840857][  T104] debounce SCR: 0x101
> [   39.844707][  T104] debounce timeout!     <--- sata_link_debounce(), just before final "return -EPIPE;"
> [   39.848556][  T104] debounce failed       <--- sata_link_resume(), in sata_link_debounce() check
> [   39.852234][  T104] Failed resume         <--- sata_link_hardreset(), in sata_link_resume() check
> [   39.859061][  T104] ata2: COMRESET failed (errno=-32)
> [   39.864136][  T104] ata2: reset failed (errno=-32), retrying in 8 secs
> [   47.840858][  T104] Online=>Offline
> [   47.845413][  T104] do loop
> [   48.070857][  T104] post-do checkpoint
> [   48.073661][  T104] debounce start loop
> [   48.130857][  T104] debounce SCR: 0x100
> [   48.180857][  T104] debounce SCR: 0x100
> [   48.240857][  T104] debounce SCR: 0x100
> [   48.300856][  T104] debounce SCR: 0x100
> [   48.360857][  T104] debounce SCR: 0x100
> [   48.410857][  T104] debounce SCR: 0x100
> [   48.460857][  T104] debounce SCR: 0x101
> [   48.520857][  T104] debounce SCR: 0x100
> [   48.580857][  T104] debounce SCR: 0x101
> [   48.640857][  T104] debounce SCR: 0x100
> [   48.690857][  T104] debounce SCR: 0x100
> [   48.740857][  T104] debounce SCR: 0x100
> [   48.790857][  T104] debounce SCR: 0x100
> [   48.850857][  T104] debounce SCR: 0x100
> [   48.900857][  T104] debounce SCR: 0x100
> [   48.960857][  T104] debounce SCR: 0x100
> [   49.020857][  T104] debounce SCR: 0x100
> [   49.070857][  T104] debounce SCR: 0x100
> [   49.130857][  T104] debounce SCR: 0x101
> [   49.190857][  T104] debounce SCR: 0x100
> [   49.240857][  T104] debounce SCR: 0x100
> [   49.290857][  T104] debounce SCR: 0x100
> [   49.350857][  T104] debounce SCR: 0x100
> [   49.400857][  T104] debounce SCR: 0x100
> [   49.450857][  T104] debounce SCR: 0x100
> [   49.510857][  T104] debounce SCR: 0x100
> [   49.560857][  T104] debounce SCR: 0x100
> [   49.620857][  T104] debounce SCR: 0x100
> [   49.680857][  T104] debounce SCR: 0x101
> [   49.740857][  T104] debounce SCR: 0x100
> [   49.800857][  T104] debounce SCR: 0x100
> [   49.850857][  T104] debounce SCR: 0x100
> [   49.900857][  T104] debounce SCR: 0x100
> [   49.960857][  T104] debounce SCR: 0x101
> [   50.010857][  T104] debounce SCR: 0x100
> [   50.070857][  T104] debounce SCR: 0x100
> [   50.130857][  T104] debounce SCR: 0x100
> [   50.190857][  T104] debounce SCR: 0x100
> [   50.240857][  T104] debounce SCR: 0x101
> [   50.244707][  T104] debounce timeout!
> [   50.248556][  T104] debounce failed
> [   50.252234][  T104] Failed resume
> [   50.259059][  T104] ata2: COMRESET failed (errno=-32)
> [   50.264133][  T104] ata2: reset failed (errno=-32), retrying in 8 secs
> [   58.080858][  T104] Online=>Offline
> [   58.085413][  T104] do loop
> [   58.310857][  T104] post-do checkpoint
> [   58.313660][  T104] debounce start loop
> [   58.370857][  T104] debounce SCR: 0x101
> [   58.430857][  T104] debounce SCR: 0x100
> [   58.480857][  T104] debounce SCR: 0x100
> [   58.540857][  T104] debounce SCR: 0x100
> [   58.600857][  T104] debounce SCR: 0x100
> [   58.660857][  T104] debounce SCR: 0x100
> [   58.720857][  T104] debounce SCR: 0x100
> [   58.770857][  T104] debounce SCR: 0x100
> [   58.820857][  T104] debounce SCR: 0x100
> [   58.880857][  T104] debounce SCR: 0x100
> [   58.940857][  T104] debounce SCR: 0x100
> [   58.944707][  T104] final checkpoint
> [   58.948556][  T104] Link offline after resume
> [   58.956521][  T104] ata2: SATA link down (SStatus 101 SControl 300)
> [   58.962825][  T104] Online=>Offline
> [   58.967381][  T104] do loop
> [   59.190857][  T104] post-do checkpoint
> [   59.193662][  T104] debounce start loop
> [   59.250857][  T104] debounce SCR: 0x100
> [   59.310857][  T104] debounce SCR: 0x100
> [   59.370857][  T104] debounce SCR: 0x100
> [   59.430857][  T104] debounce SCR: 0x100
> [   59.480857][  T104] debounce SCR: 0x100
> [   59.540857][  T104] debounce SCR: 0x101
> [   59.600857][  T104] debounce SCR: 0x100
> [   59.660857][  T104] debounce SCR: 0x100
> [   59.720857][  T104] debounce SCR: 0x100
> [   59.780857][  T104] debounce SCR: 0x100
> [   59.840857][  T104] debounce SCR: 0x100
> [   59.900857][  T104] debounce SCR: 0x100
> [   59.950857][  T104] debounce SCR: 0x100
> [   60.010857][  T104] debounce SCR: 0x100
> [   60.070857][  T104] debounce SCR: 0x100
> [   60.120857][  T104] debounce SCR: 0x100
> [   60.124707][  T104] final checkpoint
> [   60.128556][  T104] Link offline after resume
> [   60.136521][  T104] ata2: SATA link down (SStatus 101 SControl 300)
> [   60.142825][  T104] Online=>Offline
> [   60.147380][  T104] do loop
> [   60.370857][  T104] post-do checkpoint
> [   60.373661][  T104] debounce start loop
> [   60.430857][  T104] debounce SCR: 0x100
> [   60.490857][  T104] debounce SCR: 0x100
> [   60.540857][  T104] debounce SCR: 0x101
> [   60.600857][  T104] debounce SCR: 0x100
> [   60.660857][  T104] debounce SCR: 0x100
> [   60.720857][  T104] debounce SCR: 0x101
> [   60.780857][  T104] debounce SCR: 0x100
> [   60.830857][  T104] debounce SCR: 0x100
> [   60.890857][  T104] debounce SCR: 0x100
> [   60.950857][  T104] debounce SCR: 0x100
> [   61.000857][  T104] debounce SCR: 0x100
> [   61.060857][  T104] debounce SCR: 0x100
> [   61.120857][  T104] debounce SCR: 0x101
> [   61.170857][  T104] debounce SCR: 0x100
> [   61.230857][  T104] debounce SCR: 0x100
> [   61.290857][  T104] debounce SCR: 0x100
> [   61.350857][  T104] debounce SCR: 0x100
> [   61.410857][  T104] debounce SCR: 0x100
> [   61.470857][  T104] debounce SCR: 0x100
> [   61.530857][  T104] debounce SCR: 0x100
> [   61.590857][  T104] debounce SCR: 0x0
> [   61.650857][  T104] debounce SCR: 0x0
> [   61.700857][  T104] debounce SCR: 0x0
> [   61.704532][  T104] final checkpoint
> [   61.708207][  T104] Link offline after resume
> [   61.716172][  T104] ata2: SATA link down (SStatus 0 SControl 300)
> [   61.771780][  T104] Online=>Offline
> [   61.776336][  T104] do loop
> [   62.000857][  T104] post-do checkpoint
> [   62.003660][  T104] debounce start loop
> [   62.050857][  T104] debounce SCR: 0x100
> [   62.110857][  T104] debounce SCR: 0x100
> [   62.170857][  T104] debounce SCR: 0x100
> [   62.230857][  T104] debounce SCR: 0x101
> [   62.290857][  T104] debounce SCR: 0x100
> [   62.350857][  T104] debounce SCR: 0x101
> [   62.410857][  T104] debounce SCR: 0x100
> [   62.470857][  T104] debounce SCR: 0x101
> [   62.520857][  T104] debounce SCR: 0x100
> [   62.580857][  T104] debounce SCR: 0x100
> [   62.630857][  T104] debounce SCR: 0x100
> [   62.690857][  T104] debounce SCR: 0x100
> [   62.750857][  T104] debounce SCR: 0x101
> [   62.810857][  T104] debounce SCR: 0x100
> [   62.860857][  T104] debounce SCR: 0x100
> [   62.910857][  T104] debounce SCR: 0x100
> [   62.970857][  T104] debounce SCR: 0x100
> [   63.030857][  T104] debounce SCR: 0x100
> [   63.090857][  T104] debounce SCR: 0x100
> [   63.150857][  T104] debounce SCR: 0x101
> [   63.210857][  T104] debounce SCR: 0x100
> [   63.270857][  T104] debounce SCR: 0x101
> [   63.330857][  T104] debounce SCR: 0x100
> [   63.390857][  T104] debounce SCR: 0x101
> [   63.450857][  T104] debounce SCR: 0x100
> [   63.510857][  T104] debounce SCR: 0x100
> [   63.570857][  T104] debounce SCR: 0x100
> [   63.620857][  T104] debounce SCR: 0x100
> [   63.670857][  T104] debounce SCR: 0x100
> [   63.730857][  T104] debounce SCR: 0x100
> [   63.790857][  T104] debounce SCR: 0x100
> [   63.850857][  T104] debounce SCR: 0x100
> [   63.910857][  T104] debounce SCR: 0x100
> [   63.970857][  T104] debounce SCR: 0x100
> [   63.974707][  T104] final checkpoint
> [   63.978556][  T104] Link offline after resume
> [   63.986520][  T104] ata2: SATA link down (SStatus 100 SControl 300)
> [   63.992823][  T104] Online=>Offline
> [   63.997380][  T104] do loop
> [   64.220857][  T104] post-do checkpoint
> [   64.223662][  T104] debounce start loop
> [   64.270857][  T104] debounce SCR: 0x100
> [   64.330857][  T104] debounce SCR: 0x101
> [   64.390857][  T104] debounce SCR: 0x100
> [   64.440857][  T104] debounce SCR: 0x100
> [   64.500857][  T104] debounce SCR: 0x101
> [   64.550857][  T104] debounce SCR: 0x100
> [   64.600857][  T104] debounce SCR: 0x100
> [   64.660857][  T104] debounce SCR: 0x100
> [   64.710857][  T104] debounce SCR: 0x100
> [   64.770857][  T104] debounce SCR: 0x100
> [   64.830857][  T104] debounce SCR: 0x100
> [   64.890857][  T104] debounce SCR: 0x101
> [   64.950857][  T104] debounce SCR: 0x100
> [   65.010857][  T104] debounce SCR: 0x101
> [   65.060857][  T104] debounce SCR: 0x100
> [   65.120857][  T104] debounce SCR: 0x100
> [   65.180857][  T104] debounce SCR: 0x100
> [   65.240857][  T104] debounce SCR: 0x100
> [   65.300857][  T104] debounce SCR: 0x100
> [   65.360857][  T104] debounce SCR: 0x100
> [   65.410857][  T104] debounce SCR: 0x101
> [   65.470857][  T104] debounce SCR: 0x100
> [   65.530857][  T104] debounce SCR: 0x100
> [   65.590857][  T104] debounce SCR: 0x100
> [   65.650857][  T104] debounce SCR: 0x100
> [   65.700857][  T104] debounce SCR: 0x100
> [   65.760857][  T104] debounce SCR: 0x100
> [   65.810857][  T104] debounce SCR: 0x101
> [   65.870857][  T104] debounce SCR: 0x100
> [   65.930857][  T104] debounce SCR: 0x100
> [   65.980857][  T104] debounce SCR: 0x100
> [   66.040857][  T104] debounce SCR: 0x100
> [   66.100857][  T104] debounce SCR: 0x100
> [   66.160857][  T104] debounce SCR: 0x0
> [   66.210857][  T104] debounce SCR: 0x0
> [   66.270857][  T104] debounce SCR: 0x0
> [   66.330857][  T104] debounce SCR: 0x0
> [   66.390857][  T104] debounce SCR: 0x100
> [   66.394532][  T104] final checkpoint
> [   66.398382][  T104] Link offline after resume
> [   66.406345][  T104] ata2: SATA link down (SStatus 100 SControl 300)
> [   66.412649][  T104] Online=>Offline
> [   66.417204][  T104] do loop
> [   66.630857][  T104] post-do checkpoint
> [   66.633661][  T104] debounce start loop
> [   66.680857][  T104] debounce SCR: 0x100
> [   66.740857][  T104] debounce SCR: 0x100
> [   66.800857][  T104] debounce SCR: 0x100
> [   66.860857][  T104] debounce SCR: 0x100
> [   66.920857][  T104] debounce SCR: 0x100
> [   66.980857][  T104] debounce SCR: 0x101
> [   67.040857][  T104] debounce SCR: 0x100
> [   67.100857][  T104] debounce SCR: 0x100
> [   67.160857][  T104] debounce SCR: 0x100
> [   67.220857][  T104] debounce SCR: 0x100
> [   67.280857][  T104] debounce SCR: 0x100
> [   67.330857][  T104] debounce SCR: 0x100
> [   67.390857][  T104] debounce SCR: 0x101
> [   67.450857][  T104] debounce SCR: 0x100
> [   67.510857][  T104] debounce SCR: 0x100
> [   67.570857][  T104] debounce SCR: 0x100
> [   67.630857][  T104] debounce SCR: 0x100
> [   67.690857][  T104] debounce SCR: 0x100
> [   67.750857][  T104] debounce SCR: 0x100
> [   67.810857][  T104] debounce SCR: 0x100
> [   67.860857][  T104] debounce SCR: 0x100
> [   67.920857][  T104] debounce SCR: 0x101
> [   67.970857][  T104] debounce SCR: 0x100
> [   68.030857][  T104] debounce SCR: 0x100
> [   68.090857][  T104] debounce SCR: 0x100
> [   68.150857][  T104] debounce SCR: 0x100
> [   68.210857][  T104] debounce SCR: 0x101
> [   68.260857][  T104] debounce SCR: 0x100
> [   68.310857][  T104] debounce SCR: 0x100
> [   68.370857][  T104] debounce SCR: 0x100
> [   68.420857][  T104] debounce SCR: 0x100
> [   68.480857][  T104] debounce SCR: 0x101
> [   68.540857][  T104] debounce SCR: 0x100
> [   68.600857][  T104] debounce SCR: 0x100
> [   68.660857][  T104] debounce SCR: 0x100
> [   68.720857][  T104] debounce SCR: 0x100
> [   68.770857][  T104] debounce SCR: 0x100
> [   68.820857][  T104] debounce SCR: 0x100
> [   68.880857][  T104] debounce SCR: 0x100
> [   68.940857][  T104] debounce SCR: 0x100
> [   68.990857][  T104] debounce SCR: 0x101
> [   68.994707][  T104] debounce timeout!
> [   68.998556][  T104] debounce failed
> [   69.002235][  T104] Failed resume
> [   69.009062][  T104] ata2: COMRESET failed (errno=-32)
> [   69.014136][  T104] ata2: reset failed (errno=-32), retrying in 8 secs
> ---- CABLE DISCONNECT HERE ----
> [   76.640858][  T104] Online=>Offline
> [   76.645414][  T104] do loop
> [   76.870857][  T104] post-do checkpoint
> [   76.873661][  T104] debounce start loop
> [   76.930857][  T104] debounce SCR: 0x0
> [   76.990857][  T104] debounce SCR: 0x0
> [   77.050857][  T104] debounce SCR: 0x0
> [   77.100857][  T104] debounce SCR: 0x0
> [   77.150857][  T104] debounce SCR: 0x0
> [   77.200857][  T104] debounce SCR: 0x0
> [   77.260857][  T104] debounce SCR: 0x0
> [   77.310857][  T104] debounce SCR: 0x0
> [   77.370857][  T104] debounce SCR: 0x0
> [   77.420857][  T104] debounce SCR: 0x0
> [   77.424532][  T104] final checkpoint
> [   77.428207][  T104] Link offline after resume
> [   77.436172][  T104] ata2: SATA link down (SStatus 0 SControl 300)
> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-14 20:52       ` marius
  2022-11-15  3:02         ` Damien Le Moal
@ 2022-11-15  7:28         ` marius
  2022-11-15  8:10           ` Damien Le Moal
  1 sibling, 1 reply; 67+ messages in thread
From: marius @ 2022-11-15  7:28 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

November 15, 2022 5:02 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> So something is going on at the hardware level here. The register value is
> not stable... You could try playing with the sleep interval (unsigned long
> interval = params[0];) and duration (unsigned long duration = params[1];)
> to see if anything changes. Especially try reducing and increasing interval.
> --
> Damien Le Moal
> Western Digital Research

What are the defaults? Are these defaults the same for all sata/ahci controllers? How much can I increase them? Will anything break?

What could be the cause of this? sata cable? Power source?
BTW, while doing the testing, I saw the same error with the laptop HDD. I disconnected the cable and then reconnected it, and the second time it was detected OK. Unfortunately, I wasn't capturing serial messages and I couldn't make it happen again.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-11-15  7:28         ` marius
@ 2022-11-15  8:10           ` Damien Le Moal
  2022-11-18 18:24             ` Dinu Marius
  0 siblings, 1 reply; 67+ messages in thread
From: Damien Le Moal @ 2022-11-15  8:10 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 11/15/22 16:28, marius@psihoexpert.ro wrote:
> November 15, 2022 5:02 AM, "Damien Le Moal"
> <damien.lemoal@opensource.wdc.com> wrote:
> 
>> So something is going on at the hardware level here. The register
>> value is not stable... You could try playing with the sleep interval
>> (unsigned long interval = params[0];) and duration (unsigned long
>> duration = params[1];) to see if anything changes. Especially try
>> reducing and increasing interval. -- Damien Le Moal Western Digital
>> Research
> 
> What are the defaults? Are these defaults the same for all sata/ahci
> controllers? How much can I increase them? Will anything break?

Nothing will break. No commands are exchanged during that link-up. It is
only phy initialization. The defaults are defined by
sata_deb_timing_normal or sata_deb_timing_hotplug at the beginning of
libata-sata.c. The names speak for themselves: normal timing is for device
scan on boot, hotplug for... hotplug :)

> What could be the cause of this? sata cable? Power source? BTW, while
> doing the testing, I saw the same error with the laptop HDD. I
> disconnected the cable and then reconnected it, and the second time it
> was detected OK. Unfortunately, I wasn't capturing serial messages and
> I couldn't make it happen again.

Could be the cable. Try to use a good quality short cable if you can.
Power source can be a cause too, but less likely. I have seen lots of
issues with bad cables, but they generally manifest themselves under load
with transfers with bad ECC. When it happens, the errors are obvious.

Could be the plugs too. Check for dust and/or lose connection with the cable.

> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-15  8:10           ` Damien Le Moal
@ 2022-11-18 18:24             ` Dinu Marius
  2022-11-24  2:40               ` Damien Le Moal
  2022-12-04  1:41               ` marius
  0 siblings, 2 replies; 67+ messages in thread
From: Dinu Marius @ 2022-11-18 18:24 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

I checked the cable and connections. Everything looks OK. The cable is ~ 40cm 
long.

I made these timeout changes:

const unsigned long sata_deb_timing_normal[]  = {   5,  1000, 20000 };
const unsigned long sata_deb_timing_hotplug[]  = {  25,  5000, 20000 };

And I have these results:

[  180.907460][  T104] hardreset, Online=>Offline
[  180.912991][  T104] resume, do loop
[  181.140866][  T104] resume, after do loop
[  181.200866][  T104] debounce, SCR: 0x100
[  181.250866][  T104] debounce, SCR: 0x101
[  181.300866][  T104] debounce, SCR: 0x100
[  181.360866][  T104] debounce, SCR: 0x100
[  181.410866][  T104] debounce, SCR: 0x100
[  181.470866][  T104] debounce, SCR: 0x100
[  181.520866][  T104] debounce, SCR: 0x101
[  181.580866][  T104] debounce, SCR: 0x100
[  181.640866][  T104] debounce, SCR: 0x101
[  181.700866][  T104] debounce, SCR: 0x100
[  181.760865][  T104] debounce, SCR: 0x100
[  181.810869][  T104] debounce, SCR: 0x100
[  181.860866][  T104] debounce, SCR: 0x100
[  181.910866][  T104] debounce, SCR: 0x101
[  181.970866][  T104] debounce, SCR: 0x100
[  182.020866][  T104] debounce, SCR: 0x100
[  182.080866][  T104] debounce, SCR: 0x100
[  182.140866][  T104] debounce, SCR: 0x100
[  182.190866][  T104] debounce, SCR: 0x101
[  182.250866][  T104] debounce, SCR: 0x100
[  182.310866][  T104] debounce, SCR: 0x100
[  182.360866][  T104] debounce, SCR: 0x100
[  182.420866][  T104] debounce, SCR: 0x100
[  182.480866][  T104] debounce, SCR: 0x100
[  182.540866][  T104] debounce, SCR: 0x100
[  182.590866][  T104] debounce, SCR: 0x100
[  182.650866][  T104] debounce, SCR: 0x100
[  182.710866][  T104] debounce, SCR: 0x100
[  182.770866][  T104] debounce, SCR: 0x100
[  182.830869][  T104] debounce, SCR: 0x101
[  182.890866][  T104] debounce, SCR: 0x100
[  182.950866][  T104] debounce, SCR: 0x100
[  183.010865][  T104] debounce, SCR: 0x100
[  183.060866][  T104] debounce, SCR: 0x100
[  183.110870][  T104] debounce, SCR: 0x100
[  183.170866][  T104] debounce, SCR: 0x100
[  183.230866][  T104] debounce, SCR: 0x100
[  183.290865][  T104] debounce, SCR: 0x100
[  183.350869][  T104] debounce, SCR: 0x101
[  183.400866][  T104] debounce, SCR: 0x100
[  183.450866][  T104] debounce, SCR: 0x100
[  183.510866][  T104] debounce, SCR: 0x101
[  183.570866][  T104] debounce, SCR: 0x100
[  183.630866][  T104] debounce, SCR: 0x101
[  183.680866][  T104] debounce, SCR: 0x100
[  183.730866][  T104] debounce, SCR: 0x100
[  183.790866][  T104] debounce, SCR: 0x100
[  183.840865][  T104] debounce, SCR: 0x100
[  183.900866][  T104] debounce, SCR: 0x101
[  183.960866][  T104] debounce, SCR: 0x100
[  184.010866][  T104] debounce, SCR: 0x100
[  184.060866][  T104] debounce, SCR: 0x101
[  184.120866][  T104] debounce, SCR: 0x100
[  184.170866][  T104] debounce, SCR: 0x100
[  184.230866][  T104] debounce, SCR: 0x100
[  184.280866][  T104] debounce, SCR: 0x100
[  184.340866][  T104] debounce, SCR: 0x100
[  184.390866][  T104] debounce, SCR: 0x0
[  184.440866][  T104] debounce, SCR: 0x0
[  184.490866][  T104] debounce, SCR: 0x0
[  184.550866][  T104] debounce, SCR: 0x0
[  184.610866][  T104] debounce, SCR: 0x100
[  184.670866][  T104] debounce, SCR: 0x100
[  184.720866][  T104] debounce, SCR: 0x100
[  184.780866][  T104] debounce, SCR: 0x100
[  184.840866][  T104] debounce, SCR: 0x100
[  184.890868][  T104] debounce, SCR: 0x100
[  184.940865][  T104] debounce, SCR: 0x100
[  184.990865][  T104] debounce, SCR: 0x100
[  185.050865][  T104] debounce, SCR: 0x100
[  185.110866][  T104] debounce, SCR: 0x100
[  185.160865][  T104] debounce, SCR: 0x100
[  185.210866][  T104] debounce, SCR: 0x100
[  185.260866][  T104] debounce, SCR: 0x100
[  185.320866][  T104] debounce, SCR: 0x100
[  185.380865][  T104] debounce, SCR: 0x100
[  185.440866][  T104] debounce, SCR: 0x100
[  185.500866][  T104] debounce, SCR: 0x101
[  185.560866][  T104] debounce, SCR: 0x100
[  185.620866][  T104] debounce, SCR: 0x101
[  185.680866][  T104] debounce, SCR: 0x100
[  185.740866][  T104] debounce, SCR: 0x101
[  185.800866][  T104] debounce, SCR: 0x100
[  185.860865][  T104] debounce, SCR: 0x100
[  185.910869][  T104] debounce, SCR: 0x100
[  185.970866][  T104] debounce, SCR: 0x100
[  186.020866][  T104] debounce, SCR: 0x100
[  186.070866][  T104] debounce, SCR: 0x100
[  186.130866][  T104] debounce, SCR: 0x101
[  186.190866][  T104] debounce, SCR: 0x100
[  186.250866][  T104] debounce, SCR: 0x101
[  186.310866][  T104] debounce, SCR: 0x100
[  186.370866][  T104] debounce, SCR: 0x100
[  186.420869][  T104] debounce, SCR: 0x101
[  186.480866][  T104] debounce, SCR: 0x100
[  186.530866][  T104] debounce, SCR: 0x101
[  186.590866][  T104] debounce, SCR: 0x100
[  186.650866][  T104] debounce, SCR: 0x101
[  186.710866][  T104] debounce, SCR: 0x100
[  186.760866][  T104] debounce, SCR: 0x100
[  186.820865][  T104] debounce, SCR: 0x100
[  186.880865][  T104] debounce, SCR: 0x100
[  186.940868][  T104] debounce, SCR: 0x100
[  187.000866][  T104] debounce, SCR: 0x100
[  187.060865][  T104] debounce, SCR: 0x101
[  187.120866][  T104] debounce, SCR: 0x100
[  187.170866][  T104] debounce, SCR: 0x100
[  187.230865][  T104] debounce, SCR: 0x100
[  187.280869][  T104] debounce, SCR: 0x101
[  187.330866][  T104] debounce, SCR: 0x101
[  187.380866][  T104] debounce, SCR: 0x100
[  187.440865][  T104] debounce, SCR: 0x100
[  187.500866][  T104] debounce, SCR: 0x100
[  187.550866][  T104] debounce, SCR: 0x100
[  187.600866][  T104] debounce, SCR: 0x100
[  187.660866][  T104] debounce, SCR: 0x100
[  187.710866][  T104] debounce, SCR: 0x101
[  187.770866][  T104] debounce, SCR: 0x100
[  187.820866][  T104] debounce, SCR: 0x100
[  187.880866][  T104] debounce, SCR: 0x100
[  187.930865][  T104] debounce, SCR: 0x100
[  187.980866][  T104] debounce, SCR: 0x101
[  188.030866][  T104] debounce, SCR: 0x100
[  188.090866][  T104] debounce, SCR: 0x100
[  188.140866][  T104] debounce, SCR: 0x100
[  188.200866][  T104] debounce, SCR: 0x100
[  188.250866][  T104] debounce, SCR: 0x101
[  188.310866][  T104] debounce, SCR: 0x100
[  188.360866][  T104] debounce, SCR: 0x100
[  188.420865][  T104] debounce, SCR: 0x100
[  188.470869][  T104] debounce, SCR: 0x100
[  188.530866][  T104] debounce, SCR: 0x101
[  188.580866][  T104] debounce, SCR: 0x100
[  188.640866][  T104] debounce, SCR: 0x100
[  188.700866][  T104] debounce, SCR: 0x100
[  188.750866][  T104] debounce, SCR: 0x100
[  188.810866][  T104] debounce, SCR: 0x100
[  188.870866][  T104] debounce, SCR: 0x100
[  188.930866][  T104] debounce, SCR: 0x101
[  188.980869][  T104] debounce, SCR: 0x0
[  189.040866][  T104] debounce, SCR: 0x0
[  189.100866][  T104] debounce, SCR: 0x0
[  189.160866][  T104] debounce, SCR: 0x0
[  189.220866][  T104] debounce, SCR: 0x100
[  189.270865][  T104] debounce, SCR: 0x101
[  189.330865][  T104] debounce, SCR: 0x100
[  189.390866][  T104] debounce, SCR: 0x101
[  189.450865][  T104] debounce, SCR: 0x100
[  189.500866][  T104] debounce, SCR: 0x101
[  189.560866][  T104] debounce, SCR: 0x100
[  189.620866][  T104] debounce, SCR: 0x100
[  189.680866][  T104] debounce, SCR: 0x100
[  189.730866][  T104] debounce, SCR: 0x100
[  189.790866][  T104] debounce, SCR: 0x100
[  189.850866][  T104] debounce, SCR: 0x100
[  189.910866][  T104] debounce, SCR: 0x100
[  189.960866][  T104] debounce, SCR: 0x100
[  190.010869][  T104] debounce, SCR: 0x100
[  190.070866][  T104] debounce, SCR: 0x100
[  190.130866][  T104] debounce, SCR: 0x100
[  190.180866][  T104] debounce, SCR: 0x100
[  190.240866][  T104] debounce, SCR: 0x100
[  190.290866][  T104] debounce, SCR: 0x101
[  190.350866][  T104] debounce, SCR: 0x100
[  190.400866][  T104] debounce, SCR: 0x100
[  190.450866][  T104] debounce, SCR: 0x100
[  190.500865][  T104] debounce, SCR: 0x100
[  190.550866][  T104] debounce, SCR: 0x101
[  190.610866][  T104] debounce, SCR: 0x100
[  190.670866][  T104] debounce, SCR: 0x100
[  190.730866][  T104] debounce, SCR: 0x100
[  190.790866][  T104] debounce, SCR: 0x100
[  190.850866][  T104] debounce, SCR: 0x100
[  190.900866][  T104] debounce, SCR: 0x100
[  190.960865][  T104] debounce, SCR: 0x101
[  190.964803][  T104] debounce, loop end with timeout
[  190.968740][  T104] resume, sata_link_debounce check failed
[  190.973640][  T104] hardreset, sata_link_resume check failed
[  190.984916][  T104] ata2: COMRESET failed (errno=-32)

Then it repeats...
Shorter timouts have mostly the same results. It never changes to anything other 
than 0x100, 0x101 or 0x0.
When I connect the laptop HDD I get this:

[  453.239378][  T104] resume, do loop
[  453.450866][  T104] resume, after do loop
[  453.500866][  T104] debounce, SCR: 0x123
[  453.560866][  T104] debounce, SCR: 0x123
... same line repeats a lot ...
[  458.450866][  T104] debounce, SCR: 0x123
[  458.510866][  T104] debounce, SCR: 0x123
[  458.514804][  T104] resume, return at end of function
[  458.518741][  T104] hardreset, Offline=>Online
[  458.528273][  T104] hardreset, sata_pmp_supported, before check_ready
[  458.534747][  T104] [104] libata:ata_port_classify:344: ata2: found ata 
device by sig
[  458.720868][  T104] [104] libata:ata_port_classify:344: ata2: found ata 
device by sig
[  458.728734][  T104] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[  459.044097][  T104] [104] libata:ata_dev_configure:2596: ata2.00: 
ata_dev_configure: cfg 49:2f00 82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 
88:007f
[  459.057814][  T104] [104] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 
53==0x0007  63==0x0407  64==0x0003  75==0x001f
[  459.057814][  T104] 80==0x01f0  81==0x0029  82==0x346b  83==0x7d09 
84==0x6123
[  459.057814][  T104] 88==0x007f  93==0x0000
[  459.079904][  T104] ata2.00: ATA-8: ST9500325AS, 0001SDM1, max UDMA/133
[  459.086551][  T104] ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 
32)
[  459.093816][  T104] [104] libata:ata_dev_set_xfermode:4305: ata2.00: set 
features - xfer mode
[  459.104657][  T104] [104] libata:ata_dev_configure:2596: ata2.00: 
ata_dev_configure: cfg 49:2f00 82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 
88:407f
[  459.118372][  T104] [104] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 
53==0x0007  63==0x0007  64==0x0003  75==0x001f
[  459.118372][  T104] 80==0x01f0  81==0x0029  82==0x346b  83==0x7d09 
84==0x6123
[  459.118372][  T104] 88==0x407f  93==0x0000
[  459.140464][  T104] [104] libata:ata_dev_set_mode:3344: ata2.00: 
xfer_shift=12, xfer_mode=0x46
[  459.149116][  T104] ata2.00: configured for UDMA/133
[  459.154268][   T82] scsi 1:0:0:0: Direct-Access     ATA      ST9500325AS 
SDM1 PQ: 0 ANSI: 5

Can it be a hardware init / setup problem? In the Armada 38x Functional 
Specifications there is a chapter about "Amplitude and Pre-emphasize level" at 
the end of SATA.

Marius Dinu 



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

* Re: Bug report for ahci-mvebu driver
  2022-11-18 18:24             ` Dinu Marius
@ 2022-11-24  2:40               ` Damien Le Moal
  2022-12-04  1:41               ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-11-24  2:40 UTC (permalink / raw)
  To: Dinu Marius; +Cc: linux-ide

On 11/19/22 03:24, Dinu Marius wrote:
> I checked the cable and connections. Everything looks OK. The cable is ~ 40cm 
> long.
> 
> I made these timeout changes:
> 
> const unsigned long sata_deb_timing_normal[]  = {   5,  1000, 20000 };
> const unsigned long sata_deb_timing_hotplug[]  = {  25,  5000, 20000 };
> 
> And I have these results:
> 
> [  180.907460][  T104] hardreset, Online=>Offline
> [  180.912991][  T104] resume, do loop
> [  181.140866][  T104] resume, after do loop
> [  181.200866][  T104] debounce, SCR: 0x100
> [  181.250866][  T104] debounce, SCR: 0x101
[...]
> [  190.960865][  T104] debounce, SCR: 0x101
> [  190.964803][  T104] debounce, loop end with timeout
> [  190.968740][  T104] resume, sata_link_debounce check failed
> [  190.973640][  T104] hardreset, sata_link_resume check failed
> [  190.984916][  T104] ata2: COMRESET failed (errno=-32)
> 
> Then it repeats...
> Shorter timouts have mostly the same results. It never changes to anything other 
> than 0x100, 0x101 or 0x0.

So the hardware is failing to detect the device presence. No clue why.
Only an ATA bus trace could tell us more here (do you have an ATA bus
analyzer around ?).

So options are:
1) Involve the router vendor and/or SoC vendor to see if they can help.
2) Use UDB connection between your router & drive box ? (if you can)

Another thing is: Did you try earlier kernel versions ? Any earlier kernel
working ? (I forgot if that is the case). If yes, then we should be able
to figure out the change that broke the driver (which may be something
changed in the SoC support rather than the mvebu driver itself).
gi-bisect will likely not be of any help given that you are not getting a
crash. So you will need to try out different kernel versions, starting
with LTS kernels, and refine (use Linus tags, including RCs, to find the
last working kernel). That may take some time, but will likely narrow down
the search for fixing this (if that is possible given the hardware setup
you have).

> When I connect the laptop HDD I get this:
> 
> [  453.239378][  T104] resume, do loop
> [  453.450866][  T104] resume, after do loop
> [  453.500866][  T104] debounce, SCR: 0x123
> [  453.560866][  T104] debounce, SCR: 0x123
> ... same line repeats a lot ...
> [  458.450866][  T104] debounce, SCR: 0x123
> [  458.510866][  T104] debounce, SCR: 0x123
> [  458.514804][  T104] resume, return at end of function
> [  458.518741][  T104] hardreset, Offline=>Online
> [  458.528273][  T104] hardreset, sata_pmp_supported, before check_ready
> [  458.534747][  T104] [104] libata:ata_port_classify:344: ata2: found ata 
> device by sig
> [  458.720868][  T104] [104] libata:ata_port_classify:344: ata2: found ata 
> device by sig
> [  458.728734][  T104] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [  459.044097][  T104] [104] libata:ata_dev_configure:2596: ata2.00: 
> ata_dev_configure: cfg 49:2f00 82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 
> 88:007f
> [  459.057814][  T104] [104] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 
> 53==0x0007  63==0x0407  64==0x0003  75==0x001f
> [  459.057814][  T104] 80==0x01f0  81==0x0029  82==0x346b  83==0x7d09 
> 84==0x6123
> [  459.057814][  T104] 88==0x007f  93==0x0000
> [  459.079904][  T104] ata2.00: ATA-8: ST9500325AS, 0001SDM1, max UDMA/133
> [  459.086551][  T104] ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 
> 32)
> [  459.093816][  T104] [104] libata:ata_dev_set_xfermode:4305: ata2.00: set 
> features - xfer mode
> [  459.104657][  T104] [104] libata:ata_dev_configure:2596: ata2.00: 
> ata_dev_configure: cfg 49:2f00 82:346b 83:7d09 84:6123 85:3469 86:bc09 87:6123 
> 88:407f
> [  459.118372][  T104] [104] libata:ata_dump_id:1363: ata2.00: 49==0x2f00 
> 53==0x0007  63==0x0007  64==0x0003  75==0x001f
> [  459.118372][  T104] 80==0x01f0  81==0x0029  82==0x346b  83==0x7d09 
> 84==0x6123
> [  459.118372][  T104] 88==0x407f  93==0x0000
> [  459.140464][  T104] [104] libata:ata_dev_set_mode:3344: ata2.00: 
> xfer_shift=12, xfer_mode=0x46
> [  459.149116][  T104] ata2.00: configured for UDMA/133
> [  459.154268][   T82] scsi 1:0:0:0: Direct-Access     ATA      ST9500325AS 
> SDM1 PQ: 0 ANSI: 5
> 
> Can it be a hardware init / setup problem? In the Armada 38x Functional 
> Specifications there is a chapter about "Amplitude and Pre-emphasize level" at 
> the end of SATA.

It could be. See above about searching for a working kernel version, if
there is one.

> 
> Marius Dinu 
> 
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-01 19:21 Bug report for ahci-mvebu driver Dinu Marius
  2022-11-06  7:05 ` Damien Le Moal
  2022-11-07  9:22 ` marius
@ 2022-11-26 14:26 ` Pali Rohár
  2023-01-23  9:10 ` Hajo Noerenberg
  3 siblings, 0 replies; 67+ messages in thread
From: Pali Rohár @ 2022-11-26 14:26 UTC (permalink / raw)
  To: Dinu Marius; +Cc: damien.lemoal, linux-ide

On Tuesday 01 November 2022 21:21:37 Dinu Marius wrote:
> Hello.
> 
> I'm contacting you because your email is listed in www.kernel.org/doc/linux/MAINTAINERS
> I encountered a problem with the ahci-mvebu driver. I think it's a bug.
> 
> Hardware:
> Areca ARC-5040 RAID enclosure (DAS), eSATA port, 8 SATA drive bays with 1x 500GB HDD stand-alone and 7x 2TB HDDs in RAID5.
> Linksys WRT-1900ACS v2 router, Marvell Armada 385 (88F6820), one eSATAp using ahci-mvebu driver with port-multiplier support.
> The router runs OpenWrt with kernel version 5.15.
> 
> Problem encountered:
> Areca DAS is not detected properly. When I connect it, I get these repeating errors in kernel log:

Hello! Sorry for jumping into this discussion but I think it could be
useful for you to know that Armada 38x and 39x SoCs have HW errata
related to their SATA PHYs and SATA port replicators. Due to the wrong
Busy status returned, the GEN 1.0 Port Multiplier cannot establish a
link with the SATA 3.0 interface. As a workaround connect GEN 1.0 Port
Multiplier to a SATA 2.0 interface. Native A38x/A39x SATA IP is
controlled by ahci-mvebu linux kernel. I do not have any other details
if broken is SerDes / PHY block in that SoC or SATA block. But error
"cannot establish a link" may be related to that documented A38x/A39x
SATA HW errata. Note that older Marvell SoCs (Armada 375, 370) have also
some different SATA HW erratas related to link establishment, so in my
opinion there could be some common undocumented root cause with SATA in
all those 32-bit Marvell SoCs, as lot of HW blocks are shared, and not
only related to port replicators. I have never played/debugged SATA
issues on A38x but I observed similar issues with PCIe on A38x. And due
to nature of Common PHY HW blocks implementing same SerDes interface for
both PCIe and SATA PHYs on those SoCs, I would not be surprised if PHY
issues could be present on both PCIe and SATA functions.

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

* Re: Bug report for ahci-mvebu driver
  2022-11-18 18:24             ` Dinu Marius
  2022-11-24  2:40               ` Damien Le Moal
@ 2022-12-04  1:41               ` marius
  2022-12-04 10:22                 ` Pali Rohár
                                   ` (3 more replies)
  1 sibling, 4 replies; 67+ messages in thread
From: marius @ 2022-12-04  1:41 UTC (permalink / raw)
  To: Damien Le Moal, Pali Rohár; +Cc: linux-ide

November 24, 2022 4:40 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> So the hardware is failing to detect the device presence. No clue why.
> Only an ATA bus trace could tell us more here (do you have an ATA bus
> analyzer around ?).

No. :-)

> So options are:
> 1) Involve the router vendor and/or SoC vendor to see if they can help.
> 2) Use UDB connection between your router & drive box ? (if you can)
> 
> Another thing is: Did you try earlier kernel versions ? Any earlier kernel
> working ? (I forgot if that is the case). If yes, then we should be able
> to figure out the change that broke the driver (which may be something
> changed in the SoC support rather than the mvebu driver itself).
> gi-bisect will likely not be of any help given that you are not getting a
> crash. So you will need to try out different kernel versions, starting
> with LTS kernels, and refine (use Linus tags, including RCs, to find the
> last working kernel). That may take some time, but will likely narrow down
> the search for fixing this (if that is possible given the hardware setup
> you have).

Sorry for the late reply, but I really really hate bisecting, especially manually, and especially if the test must be run on another machine.
You are correct. It initially worked, but it was broken by this commit:


commit 2dc0b46b5ea30f169b0b272253ea846a5a281731
Author: David Milburn <dmilburn@redhat.com>
Date:   Tue Nov 14 16:17:25 2017 -0600

    libata: sata_down_spd_limit should return if driver has not recorded sstatus speed
    
    During hotplug, it is possible for 6Gbps link speed to be limited all
    the way down to 1.5 Gbps which may lead to a slower link speed when
    drive is re-connected.
    
    This behavior has been seen on a Intel Lewisburg SATA controller
    (8086:a1d2) with HGST HUH728080ALE600 drive where SATA link speed was
    limited to 1.5 Gbps and when re-connected the link came up 3.0 Gbps.
    
    This patch was retested on above configuration and showed the
    hotplugged link to come back online at max speed (6Gbps). I did not
    see the downgrade when testing on Intel C600/X79, but retested patched
    linux-4.14-rc5 kernel and didn't see any side effects from this
    change. Also, successfully retested hotplug on port multiplier 3Gbps
    link.
    
    tj: Minor comment updates.
    
    Signed-off-by: David Milburn <dmilburn@redhat.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 2a882929de4a..8193b38a1cae 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3082,13 +3082,19 @@ int sata_down_spd_limit(struct ata_link *link, u32 spd_limit)
 	bit = fls(mask) - 1;
 	mask &= ~(1 << bit);
 
-	/* Mask off all speeds higher than or equal to the current
-	 * one.  Force 1.5Gbps if current SPD is not available.
+	/*
+	 * Mask off all speeds higher than or equal to the current one.  At
+	 * this point, if current SPD is not available and we previously
+	 * recorded the link speed from SStatus, the driver has already
+	 * masked off the highest bit so mask should already be 1 or 0.
+	 * Otherwise, we should not force 1.5Gbps on a link where we have
+	 * not previously recorded speed from SStatus.  Just return in this
+	 * case.
 	 */
 	if (spd > 1)
 		mask &= (1 << (spd - 1)) - 1;
 	else
-		mask &= 1;
+		return -EINVAL;
 
 	/* were we already at the bottom? */
 	if (!mask)



Just to be sure, I checked out the most recent kernel git master and reverted the bad commit. This is the resulting boot log:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 6.1.0-rc3M95D-test-00300-g245bef8f3ba1 (marius95@GRAPHIM) (arm-openwrt-linux-gcc (OpenWrt GCC 12.2.0 r21374+10-366bcffa0e) 12.2.0, GNU ld (GNU Binutils) 2.39) #40 SMP Sun Dec  4 02:40:32 EET 2022
[    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys WRT1900ACv2
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] percpu: Embedded 8 pages/cpu s9424 r0 d23344 u32768
[    0.000000] pcpu-alloc: s9424 r0 d23344 u32768 alloc=8*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 nfcConfig=4bitecc mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/sda rootdelay=100  dyndbg="file *ata* +plmft" 
[    0.000000] Unknown kernel command line parameters "nfcConfig=4bitecc", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] Memory: 511212K/524288K available (4096K kernel code, 931K rwdata, 984K rodata, 1024K init, 306K bss, 13076K reserved, 0K cma-reserved)

...

[    3.055271] loop: module loaded
[    3.058618] device class 'scsi_disk': registering
[    3.063368] bus: 'scsi': add driver sd
[    3.067151] bus: 'pci': add driver ahci
[    3.071207] bus: 'platform': add driver ahci
[    3.075566] bus: 'platform': add driver ahci-mvebu
[    3.080419] bus: 'platform': __driver_probe_device: matched device f10a8000.sata with driver ahci-mvebu
[    3.089857] bus: 'platform': really_probe: probing driver ahci-mvebu with device f10a8000.sata
[    3.098512] ahci-mvebu f10a8000.sata: no pinctrl handle
[    3.103987] ahci-mvebu f10a8000.sata: Looking up ahci-supply from device tree
[    3.111165] ahci-mvebu f10a8000.sata: Looking up ahci-supply property in node /soc/internal-regs/sata@a8000 failed
[    3.121569] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
[    3.129209] device: 'regulator:regulator.0--platform:f10a8000.sata': device_add
[    3.136798] devices_kset: Moving f10a8000.sata to end of list
[    3.142575] ahci-mvebu f10a8000.sata: Linked as a consumer to regulator.0
[    3.149396] ahci-mvebu f10a8000.sata: Looking up phy-supply from device tree
[    3.156476] ahci-mvebu f10a8000.sata: Looking up phy-supply property in node /soc/internal-regs/sata@a8000 failed
[    3.166789] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
[    3.174331] ahci-mvebu f10a8000.sata: Looking up target-supply from device tree
[    3.181676] ahci-mvebu f10a8000.sata: Looking up target-supply property in node /soc/internal-regs/sata@a8000 failed
[    3.192251] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
[    3.200468] [1] libahci:ahci_port_init:1274: ahci-mvebu f10a8000.sata: PORT_SCR_ERR 0x0
[    3.208511] [1] libahci:ahci_port_init:1279: ahci-mvebu f10a8000.sata: PORT_IRQ_STAT 0x0
[    3.216644] [1] libahci:ahci_port_init:1274: ahci-mvebu f10a8000.sata: PORT_SCR_ERR 0x4040000
[    3.225210] [1] libahci:ahci_port_init:1279: ahci-mvebu f10a8000.sata: PORT_IRQ_STAT 0x80000000
[    3.233953] [1] libahci:ahci_init_controller:1310: ahci-mvebu f10a8000.sata: HOST_CTL 0x80000000
[    3.242780] [1] libahci:ahci_init_controller:1313: ahci-mvebu f10a8000.sata: HOST_CTL 0x80000002
[    3.251606] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    3.260696] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    3.269731] device: 'ata1': device_add
[    3.273507] device: 'ata1': device_add
[    3.277303] device: 'link1': device_add
[    3.281168] device: 'link1': device_add
[    3.285248] device: 'dev1.0': device_add
[    3.289192] device: 'dev1.0': device_add
[    3.293516] device: 'ata2': device_add
[    3.297287] device: 'ata2': device_add
[    3.301084] device: 'link2': device_add
[    3.304939] device: 'link2': device_add
[    3.308813] device: 'dev2.0': device_add
[    3.312944] device: 'dev2.0': device_add
[    3.317558] device: 'scsi_tmf_0': device_add
[    3.321863] bus: 'workqueue': add device scsi_tmf_0
[    3.326786] scsi host0: ahci-mvebu
[    3.330596] device: 'host0': device_add
[    3.334455] bus: 'scsi': add device host0
[    3.338497] device: 'host0': device_add
[    3.342860] device: 'scsi_tmf_1': device_add
[    3.347345] bus: 'workqueue': add device scsi_tmf_1
[    3.352277] scsi host1: ahci-mvebu
[    3.355921] device: 'host1': device_add
[    3.359787] bus: 'scsi': add device host1
[    3.363829] device: 'host1': device_add
[    3.367732] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 41
[    3.375688] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 41
[    3.383647] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[    3.391022] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
[    3.399362] bus: 'pci': add driver sata_mv
[    3.403500] bus: 'platform': add driver sata_mv
[    3.408306] device class 'mtd': registering
[    3.412540] device: 'mtd-0': device_add
[    3.416813] bus: 'platform': add driver orion_spi
[    3.421663] bus: 'pci': add driver ehci-pci
[    3.425883] bus: 'platform': add driver orion-ehci
[    3.430729] bus: 'platform': __driver_probe_device: matched device f1058000.usb with driver orion-ehci
[    3.440080] bus: 'platform': really_probe: probing driver orion-ehci with device f1058000.usb
[    3.448648] orion-ehci f1058000.usb: no pinctrl handle
[    3.453882] orion-ehci f1058000.usb: EHCI Host Controller
[    3.459322] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
[    3.467166] orion-ehci f1058000.usb: irq 42, io mem 0xf1058000
[    3.499300] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
[    3.505557] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    3.513868] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.521125] usb usb1: Product: EHCI Host Controller
[    3.526023] usb usb1: Manufacturer: Linux 6.1.0-rc3M95D-test-00300-g245bef8f3ba1 ehci_hcd
[    3.534238] usb usb1: SerialNumber: f1058000.usb
[    3.538878] device: 'usb1': device_add
[    3.542695] bus: 'usb': add device usb1
[    3.546660] bus: 'usb': __driver_probe_device: matched device usb1 with driver usb
[    3.554270] bus: 'usb': really_probe: probing driver usb with device usb1
[    3.561120] device: '1-0:1.0': device_add
[    3.565165] bus: 'usb': add device 1-0:1.0
[    3.569479] bus: 'usb': __driver_probe_device: matched device 1-0:1.0 with driver hub
[    3.577345] bus: 'usb': really_probe: probing driver hub with device 1-0:1.0
[    3.584435] hub 1-0:1.0: USB hub found
[    3.588247] hub 1-0:1.0: 1 port detected
[    3.592216] device: 'usb1-port1': device_add
[    3.596519] usb usb1-port1: adding component (ops connector_ops)
[    3.602584] driver: 'hub': driver_bound: bound to device '1-0:1.0'
[    3.608811] bus: 'usb': really_probe: bound device 1-0:1.0 to driver hub
[    3.615559] device: 'ep_81': device_add
[    3.619439] driver: 'usb': driver_bound: bound to device 'usb1'
[    3.625567] bus: 'usb': really_probe: bound device usb1 to driver usb
[    3.632054] device: 'ep_00': device_add
[    3.636104] driver: 'orion-ehci': driver_bound: bound to device 'f1058000.usb'
[    3.643559] bus: 'platform': really_probe: bound device f1058000.usb to driver orion-ehci
[    3.651819] bus: 'pci': add driver xhci_hcd
[    3.656043] bus: 'platform': add driver xhci-hcd
[    3.660808] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
[    3.670071] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
[    3.678746] xhci-hcd f10f8000.usb3: no pinctrl handle
[    3.684093] xhci-hcd f10f8000.usb3: Driver xhci-hcd requests probe deferral
[    3.691129] platform f10f8000.usb3: Added to deferred list
[    3.696672] bus: 'usb': add driver usb-storage
[    3.701168] usbcore: registered new interface driver usb-storage
[    3.707442] bus: 'usb-serial': registered
[    3.711483] bus: 'usb': add driver ftdi_sio
[    3.715425] ata1: SATA link down (SStatus 0 SControl 300)
[    3.715697] usbcore: registered new interface driver ftdi_sio
[    3.726874] bus: 'usb-serial': add driver ftdi_sio
[    3.731703] usbserial: USB Serial support registered for FTDI USB Serial Device
[    3.739065] i2c_dev: i2c /dev entries driver
[    3.743361] device class 'i2c-dev': registering
[    3.747926] bus: 'platform': add driver mv64xxx_i2c
[    3.752849] bus: 'platform': __driver_probe_device: matched device f1011000.i2c with driver mv64xxx_i2c
[    3.762287] bus: 'platform': really_probe: probing driver mv64xxx_i2c with device f1011000.i2c
[    3.770961] mv64xxx_i2c f1011000.i2c: no init pinctrl state
[    3.776905] device: 'i2c-0': device_add
[    3.781128] bus: 'i2c': add device i2c-0
[    3.785075] device: 'i2c-0': device_add
[    3.789074] device: '0-004c': device_add
[    3.793032] bus: 'i2c': add device 0-004c
[    3.797087] device: '0-0068': device_add
[    3.801041] bus: 'i2c': add device 0-0068
[    3.805097] driver: 'mv64xxx_i2c': driver_bound: bound to device 'f1011000.i2c'
[    3.812467] bus: 'platform': really_probe: bound device f1011000.i2c to driver mv64xxx_i2c
[    3.820845] bus: 'i2c': add driver tmp421
[    3.824877] bus: 'i2c': __driver_probe_device: matched device 0-004c with driver tmp421
[    3.832920] bus: 'i2c': really_probe: probing driver tmp421 with device 0-004c
[    3.840396] tmp421 0-004c: no pinctrl handle
[    3.846056] device: 'hwmon0': device_add
[    3.850199] driver: 'tmp421': driver_bound: bound to device '0-004c'
[    3.856787] bus: 'i2c': really_probe: bound device 0-004c to driver tmp421
[    3.863720] bus: 'platform': add driver armada_thermal
[    3.868965] bus: 'platform': __driver_probe_device: matched device f10e4078.thermal with driver armada_thermal
[    3.879014] bus: 'platform': really_probe: probing driver armada_thermal with device f10e4078.thermal
[    3.888282] armada_thermal f10e4078.thermal: no pinctrl handle
[    3.895404] device: 'thermal_zone0': device_add
[    3.900216] device: 'hwmon1': device_add
[    3.904181] driver: 'armada_thermal': driver_bound: bound to device 'f10e4078.thermal'
[    3.912159] bus: 'platform': really_probe: bound device f10e4078.thermal to driver armada_thermal
[    3.921110] bus: 'platform': add driver orion_wdt
[    3.925877] bus: 'platform': __driver_probe_device: matched device f1020300.watchdog with driver orion_wdt
[    3.935577] bus: 'platform': really_probe: probing driver orion_wdt with device f1020300.watchdog
[    3.944495] orion_wdt f1020300.watchdog: no pinctrl handle
[    3.950854] device: 'watchdog': device_add
[    3.955027] device: 'watchdog0': device_add
[    3.959484] orion_wdt: Initial timeout 171 sec
[    3.963948] driver: 'orion_wdt': driver_bound: bound to device 'f1020300.watchdog'
[    3.971576] bus: 'platform': really_probe: bound device f1020300.watchdog to driver orion_wdt
[    3.980207] bus: 'platform': add driver leds-gpio
[    3.984958] bus: 'platform': __driver_probe_device: matched device gpio-leds with driver leds-gpio
[    3.993961] bus: 'platform': really_probe: probing driver leds-gpio with device gpio-leds
[    4.002245] leds-gpio gpio-leds: no init pinctrl state
[    4.007449] device: 'cobra:white:power': device_add
[    4.012954] device: 'cobra:white:sata': device_add
[    4.017792] driver: 'leds-gpio': driver_bound: bound to device 'gpio-leds'
[    4.024709] leds-gpio gpio-leds: Dropping the link to f1018140.gpio
[    4.031007] device: 'platform:f1018140.gpio--platform:gpio-leds': device_unregister
[    4.038937] bus: 'platform': really_probe: bound device gpio-leds to driver leds-gpio
[    4.046841] bus: 'i2c': add driver leds-pca963x
[    4.051405] bus: 'i2c': __driver_probe_device: matched device 0-0068 with driver leds-pca963x
[    4.059971] bus: 'i2c': really_probe: probing driver leds-pca963x with device 0-0068
[    4.067752] leds-pca963x 0-0068: no pinctrl handle
[    4.074897] device: 'pca963x:cobra:amber:wan': device_add
[    4.080370] device: 'pca963x:cobra:white:wan': device_add
[    4.085821] device: 'pca963x:cobra:white:wlan_2g': device_add
[    4.091629] device: 'pca963x:cobra:white:wlan_5g': device_add
[    4.097425] device: 'pca963x:cobra:white:usb2': device_add
[    4.103366] device: 'pca963x:cobra:white:usb3_1': device_add
[    4.109080] device: 'pca963x:cobra:white:usb3_2': device_add
[    4.115146] device: 'pca963x:cobra:white:wps': device_add
[    4.120608] device: 'pca963x:cobra:amber:wps': device_add
[    4.126049] driver: 'leds-pca963x': driver_bound: bound to device '0-0068'
[    4.132987] bus: 'i2c': really_probe: bound device 0-0068 to driver leds-pca963x
[    4.140468] ledtrig-cpu: registered to indicate activity on CPUs
[    4.146505] bus: 'platform': add driver marvell-cesa
[    4.151589] bus: 'platform': __driver_probe_device: matched device f1090000.crypto with driver marvell-cesa
[    4.161377] bus: 'platform': really_probe: probing driver marvell-cesa with device f1090000.crypto
[    4.170383] marvell-cesa f1090000.crypto: no pinctrl handle
[    4.176869] marvell-cesa f1090000.crypto: CESA device successfully registered
[    4.184048] driver: 'marvell-cesa': driver_bound: bound to device 'f1090000.crypto'
[    4.191769] bus: 'platform': really_probe: bound device f1090000.crypto to driver marvell-cesa
[    4.200469] device class 'extcon': registering
[    4.204959] bus: 'platform': add driver mvebu-devbus
[    4.210037] Registering SWP/SWPB emulation handler
[    4.218889] devices_kset: Moving usb3_1-vbus to end of list
[    4.224505] devices_kset: Moving usb3_1-phy to end of list
[    4.230029] platform usb3_1-vbus: Retrying from deferred list
[    4.235806] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
[    4.245681] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device usb3_1-vbus
[    4.254793] reg-fixed-voltage usb3_1-vbus: no init pinctrl state
[    4.261321] usb3_1-vbus: 5000 mV, disabled
[    4.265438] device: 'regulator.1': device_add
[    4.269889] reg-fixed-voltage usb3_1-vbus: usb3_1-vbus supplying 5000000uV
[    4.276795] driver: 'reg-fixed-voltage': driver_bound: bound to device 'usb3_1-vbus'
[    4.284605] bus: 'platform': really_probe: bound device usb3_1-vbus to driver reg-fixed-voltage
[    4.293349] devices_kset: Moving usb3_1-phy to end of list
[    4.298859] platform usb3_1-phy: Retrying from deferred list
[    4.304549] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
[    4.314160] bus: 'platform': really_probe: probing driver usb_phy_generic with device usb3_1-phy
[    4.322993] usb_phy_generic usb3_1-phy: no pinctrl handle
[    4.328453] usb_phy_generic usb3_1-phy: Looking up vcc-supply from device tree
[    4.335738] device: 'regulator:regulator.1--platform:usb3_1-phy': device_add
[    4.343100] devices_kset: Moving usb3_1-phy to end of list
[    4.348611] usb_phy_generic usb3_1-phy: Linked as a consumer to regulator.1
[    4.355607] usb_phy_generic usb3_1-phy: Looking up vbus-supply from device tree
[    4.362951] usb_phy_generic usb3_1-phy: Looking up vbus-supply property in node /usb3_1-phy failed
[    4.371955] usb_phy_generic usb3_1-phy: dummy supplies not allowed for exclusive requests
[    4.380174] driver: 'usb_phy_generic': driver_bound: bound to device 'usb3_1-phy'
[    4.387711] bus: 'platform': really_probe: bound device usb3_1-phy to driver usb_phy_generic
[    4.396190] devices_kset: Moving f10f8000.usb3 to end of list
[    4.401964] platform f10f8000.usb3: Retrying from deferred list
[    4.407949] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
[    4.417211] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
[    4.425693] xhci-hcd f10f8000.usb3: no pinctrl handle
[    4.431084] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    4.436429] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 2
[    4.444012] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[    4.453725] xhci-hcd f10f8000.usb3: irq 43, io mem 0xf10f8000
[    4.459624] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    4.465011] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 3
[    4.472578] xhci-hcd f10f8000.usb3: Host supports USB 3.0 SuperSpeed
[    4.479190] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    4.487499] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.494756] usb usb2: Product: xHCI Host Controller
[    4.499659] usb usb2: Manufacturer: Linux 6.1.0-rc3M95D-test-00300-g245bef8f3ba1 xhci-hcd
[    4.507870] usb usb2: SerialNumber: f10f8000.usb3
[    4.512601] device: 'usb2': device_add
[    4.516427] bus: 'usb': add device usb2
[    4.520385] bus: 'usb': __driver_probe_device: matched device usb2 with driver usb
[    4.527989] bus: 'usb': really_probe: probing driver usb with device usb2
[    4.534842] device: '2-0:1.0': device_add
[    4.538885] bus: 'usb': add device 2-0:1.0
[    4.543034] bus: 'usb': __driver_probe_device: matched device 2-0:1.0 with driver hub
[    4.550902] bus: 'usb': really_probe: probing driver hub with device 2-0:1.0
[    4.557986] hub 2-0:1.0: USB hub found
[    4.561788] hub 2-0:1.0: 1 port detected
[    4.565980] device: 'usb2-port1': device_add
[    4.570472] usb usb2-port1: adding component (ops connector_ops)
[    4.576738] driver: 'hub': driver_bound: bound to device '2-0:1.0'
[    4.582979] bus: 'usb': really_probe: bound device 2-0:1.0 to driver hub
[    4.589912] device: 'ep_81': device_add
[    4.593780] driver: 'usb': driver_bound: bound to device 'usb2'
[    4.599757] bus: 'usb': really_probe: bound device usb2 to driver usb
[    4.606228] device: 'ep_00': device_add
[    4.610353] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.620069] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    4.628372] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.635630] usb usb3: Product: xHCI Host Controller
[    4.640530] usb usb3: Manufacturer: Linux 6.1.0-rc3M95D-test-00300-g245bef8f3ba1 xhci-hcd
[    4.648741] usb usb3: SerialNumber: f10f8000.usb3
[    4.653472] device: 'usb3': device_add
[    4.657275] bus: 'usb': add device usb3
[    4.661585] bus: 'usb': __driver_probe_device: matched device usb3 with driver usb
[    4.669189] bus: 'usb': really_probe: probing driver usb with device usb3
[    4.676037] device: '3-0:1.0': device_add
[    4.680086] bus: 'usb': add device 3-0:1.0
[    4.684224] bus: 'usb': __driver_probe_device: matched device 3-0:1.0 with driver hub
[    4.692091] bus: 'usb': really_probe: probing driver hub with device 3-0:1.0
[    4.699175] hub 3-0:1.0: USB hub found
[    4.702975] hub 3-0:1.0: 1 port detected
[    4.707546] device: 'usb3-port1': device_add
[    4.711856] usb usb3-port1: adding component (ops connector_ops)
[    4.717913] driver: 'hub': driver_bound: bound to device '3-0:1.0'
[    4.724148] bus: 'usb': really_probe: bound device 3-0:1.0 to driver hub
[    4.730886] device: 'ep_81': device_add
[    4.734751] driver: 'usb': driver_bound: bound to device 'usb3'
[    4.740722] bus: 'usb': really_probe: bound device usb3 to driver usb
[    4.747194] device: 'ep_00': device_add
[    4.751261] driver: 'xhci-hcd': driver_bound: bound to device 'f10f8000.usb3'
[    4.758643] bus: 'platform': really_probe: bound device f10f8000.usb3 to driver xhci-hcd
[    4.766962] Waiting 100 sec before mounting root device...
[    4.969572] ata2: SATA link down (SStatus 100 SControl 300)
[    5.399296] usb 2-1: new high-speed USB device number 2 using xhci-hcd
[    5.586274] usb 2-1: New USB device found, idVendor=058f, idProduct=6387, bcdDevice= 1.00
[    5.594500] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    5.601671] usb 2-1: Product: Mass Storage
[    5.605784] usb 2-1: Manufacturer: Generic
[    5.609900] usb 2-1: SerialNumber: 016E07B1
[    5.614108] device: '2-1': device_add
[    5.618273] bus: 'usb': add device 2-1
[    5.622116] bus: 'usb': __driver_probe_device: matched device 2-1 with driver usb
[    5.629641] bus: 'usb': really_probe: probing driver usb with device 2-1
[    5.636377] usb 2-1: no default pinctrl state
[    5.641299] device: '2-1:1.0': device_add
[    5.645346] bus: 'usb': add device 2-1:1.0
[    5.649507] bus: 'usb': __driver_probe_device: matched device 2-1:1.0 with driver usb-storage
[    5.658070] bus: 'usb': really_probe: probing driver usb-storage with device 2-1:1.0
[    5.665855] usb-storage 2-1:1.0: no default pinctrl state
[    5.671292] usb-storage 2-1:1.0: USB Mass Storage device detected
[    5.677490] device: 'scsi_tmf_2': device_add
[    5.682044] bus: 'workqueue': add device scsi_tmf_2
[    5.687237] scsi host2: usb-storage 2-1:1.0
[    5.691482] device: 'host2': device_add
[    5.695341] bus: 'scsi': add device host2
[    5.699389] device: 'host2': device_add
[    5.703287] driver: 'usb-storage': driver_bound: bound to device '2-1:1.0'
[    5.710215] bus: 'usb': really_probe: bound device 2-1:1.0 to driver usb-storage
[    5.717648] device: 'ep_01': device_add
[    5.721520] device: 'ep_82': device_add
[    5.725384] driver: 'usb': driver_bound: bound to device '2-1'
[    5.731260] bus: 'usb': really_probe: bound device 2-1 to driver usb
[    5.737863] device: 'ep_00': device_add
[    6.730894] scsi 2:0:0:0: Direct-Access     Generic  Flash Disk       8.07 PQ: 0 ANSI: 4
[    6.739024] device: 'target2:0:0': device_add
[    6.743413] bus: 'scsi': add device target2:0:0
[    6.747983] device: '2:0:0:0': device_add
[    6.752312] bus: 'scsi': add device 2:0:0:0
[    6.756534] scsi 2:0:0:0: scheduling asynchronous probe
[    6.761791] device: '2:0:0:0': device_add
[    6.761795] bus: 'scsi': __driver_probe_device: matched device 2:0:0:0 with driver sd
[    6.773688] bus: 'scsi': really_probe: probing driver sd with device 2:0:0:0
[    6.780782] sd 2:0:0:0: no default pinctrl state
[    6.785454] device: '2:0:0:0': device_add
[    6.790609] sd 2:0:0:0: [sda] 122880000 512-byte logical blocks: (62.9 GB/58.6 GiB)
[    6.798937] sd 2:0:0:0: [sda] Write Protect is off
[    6.803760] sd 2:0:0:0: [sda] Mode Sense: 23 00 00 00
[    6.809478] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    6.818654] device: 'sda': device_add
[    6.823310] device: '8:0': device_add
[    6.830649] sd 2:0:0:0: [sda] Attached SCSI removable disk
[    6.836162] driver: 'sd': driver_bound: bound to device '2:0:0:0'
[    6.842309] bus: 'scsi': really_probe: bound device 2:0:0:0 to driver sd
[    6.849041] sd 2:0:0:0: async probe completed
[    7.689299] ata2: SATA link down (SStatus 0 SControl 300)
[    7.843539] ata2: limiting SATA link speed to 1.5 Gbps
[    8.619299] [96] libata:ata_port_classify:344: ata2: found ata device by sig
[    8.789296] [96] libata:ata_port_classify:344: ata2: found pmp device by sig
[    8.796376] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[    8.802674] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[    8.810483] device: 'link2.0': device_add
[    8.814520] device: 'link2.0': device_add
[    8.818578] device: 'dev2.0.0': device_add
[    8.822705] device: 'dev2.0.0': device_add
[    8.827423] device: 'link2.1': device_add
[    8.831466] device: 'link2.1': device_add
[    8.835522] device: 'dev2.1.0': device_add
[    8.839882] device: 'dev2.1.0': device_add
[    8.844037] device: 'link2.2': device_add
[    8.848068] device: 'link2.2': device_add
[    8.852557] device: 'dev2.2.0': device_add
[    8.856677] device: 'dev2.2.0': device_add
[    8.861248] device: 'link2.3': device_add
[    8.865280] device: 'link2.3': device_add
[    8.869353] device: 'dev2.3.0': device_add
[    8.873470] device: 'dev2.3.0': device_add
[    8.877614] device: 'link2.4': device_add
[    8.881650] device: 'link2.4': device_add
[    8.885701] device: 'dev2.4.0': device_add
[    8.889823] device: 'dev2.4.0': device_add
[    8.894400] device: 'link2.5': device_add
[    8.898433] device: 'link2.5': device_add
[    8.902704] device: 'dev2.5.0': device_add
[    8.906823] device: 'dev2.5.0': device_add
[    8.911212] device: 'link2.6': device_add
[    8.915244] device: 'link2.6': device_add
[    8.919302] device: 'dev2.6.0': device_add
[    8.923842] device: 'dev2.6.0': device_add
[    8.927990] device: 'link2.7': device_add
[    8.932028] device: 'link2.7': device_add
[    8.936298] device: 'dev2.7.0': device_add
[    8.940423] device: 'dev2.7.0': device_add
[    8.944787] device: 'link2.8': device_add
[    8.948820] device: 'link2.8': device_add
[    8.953094] device: 'dev2.8.0': device_add
[    8.957214] device: 'dev2.8.0': device_add
[    8.961378] device: 'link2.9': device_add
[    8.965410] device: 'link2.9': device_add
[    8.969470] device: 'dev2.9.0': device_add
[    8.973588] device: 'dev2.9.0': device_add
[    8.978186] device: 'link2.10': device_add
[    8.982312] device: 'link2.10': device_add
[    8.986673] device: 'dev2.10.0': device_add
[    8.990885] device: 'dev2.10.0': device_add
[    8.995546] device: 'link2.11': device_add
[    8.999672] device: 'link2.11': device_add
[    9.003812] device: 'dev2.11.0': device_add
[    9.008018] device: 'dev2.11.0': device_add
[    9.012255] device: 'link2.12': device_add
[    9.016374] device: 'link2.12': device_add
[    9.020965] device: 'dev2.12.0': device_add
[    9.025173] device: 'dev2.12.0': device_add
[    9.029862] device: 'link2.13': device_add
[    9.033983] device: 'link2.13': device_add
[    9.038123] device: 'dev2.13.0': device_add
[    9.042335] device: 'dev2.13.0': device_add
[    9.046588] device: 'link2.14': device_add
[    9.050714] device: 'link2.14': device_add
[    9.054853] device: 'dev2.14.0': device_add
[    9.059059] device: 'dev2.14.0': device_add
[    9.063526] ahci-mvebu f10a8000.sata: FBS is enabled
[    9.068637] ata2.00: hard resetting link
[    9.400820] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    9.407302] ata2.01: hard resetting link
[    9.740815] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    9.747296] ata2.02: hard resetting link
[   10.080816] ata2.02: SATA link down (SStatus 0 SControl 300)
[   10.086521] ata2.03: hard resetting link
[   10.420814] ata2.03: SATA link down (SStatus 0 SControl 300)
[   10.426519] ata2.04: hard resetting link
[   10.760813] ata2.04: SATA link down (SStatus 0 SControl 300)
[   10.766517] ata2.05: hard resetting link
[   11.100814] ata2.05: SATA link down (SStatus 0 SControl 300)
[   11.106519] ata2.06: hard resetting link
[   11.440812] ata2.06: SATA link down (SStatus 0 SControl 300)
[   11.446518] ata2.07: hard resetting link
[   11.780813] ata2.07: SATA link down (SStatus 0 SControl 300)
[   11.786591] [96] libata:ata_dev_configure:2596: ata2.00: ata_dev_configure: cfg 49:2f00 82:41e9 83:7400 84:4000 85:0069 86:3400 87:4000 88:007f
[   11.799524] [96] libata:ata_dump_id:1363: ata2.00: 49==0x2f00  53==0x0007  63==0x0007  64==0x0003  75==0x0000
[   11.799524] 80==0x007c  81==0x001b  82==0x41e9  83==0x7400  84==0x4000
[   11.799524] 88==0x007f  93==0x0000
[   11.819432] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[   11.826336] ata2.00: 976773168 sectors, multi 0: LBA48 
[   11.831596] [96] libata:ata_dev_set_xfermode:4299: ata2.00: set features - xfer mode
[   11.839465] [96] libata:ata_dev_configure:2596: ata2.00: ata_dev_configure: cfg 49:2f00 82:41e9 83:7400 84:4000 85:0069 86:3400 87:4000 88:407f
[   11.852396] [96] libata:ata_dump_id:1363: ata2.00: 49==0x2f00  53==0x0007  63==0x0007  64==0x0003  75==0x0000
[   11.852396] 80==0x007c  81==0x001b  82==0x41e9  83==0x7400  84==0x4000
[   11.852396] 88==0x407f  93==0x0000
[   11.872306] [96] libata:ata_dev_set_mode:3338: ata2.00: xfer_shift=12, xfer_mode=0x46
[   11.880173] ata2.00: configured for UDMA/133
[   11.884518] [96] libata:ata_dev_configure:2596: ata2.01: ata_dev_configure: cfg 49:2f00 82:41e9 83:7400 84:4000 85:0069 86:3400 87:4000 88:007f
[   11.897449] [96] libata:ata_dump_id:1363: ata2.01: 49==0x2f00  53==0x0007  63==0x0007  64==0x0003  75==0x0000
[   11.897449] 80==0x007c  81==0x001b  82==0x41e9  83==0x7400  84==0x4000
[   11.897449] 88==0x007f  93==0x0000
[   11.917355] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
[   11.923565] ata2.01: 23437498368 sectors, multi 0: LBA48 
[   11.928991] [96] libata:ata_dev_set_xfermode:4299: ata2.01: set features - xfer mode
[   11.936851] [96] libata:ata_dev_configure:2596: ata2.01: ata_dev_configure: cfg 49:2f00 82:41e9 83:7400 84:4000 85:0069 86:3400 87:4000 88:407f
[   11.949782] [96] libata:ata_dump_id:1363: ata2.01: 49==0x2f00  53==0x0007  63==0x0007  64==0x0003  75==0x0000
[   11.949782] 80==0x007c  81==0x001b  82==0x41e9  83==0x7400  84==0x4000
[   11.949782] 88==0x407f  93==0x0000
[   11.969692] [96] libata:ata_dev_set_mode:3338: ata2.01: xfer_shift=12, xfer_mode=0x46
[   11.977556] ata2.01: configured for UDMA/133
[   11.981877] ata2: EH complete
[   11.985024] scsi 1:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a  PQ: 0 ANSI: 5
[   11.993327] device: 'target1:0:0': device_add
[   11.997711] bus: 'scsi': add device target1:0:0
[   12.002289] device: '1:0:0:0': device_add
[   12.006369] bus: 'scsi': add device 1:0:0:0
[   12.010592] scsi 1:0:0:0: scheduling asynchronous probe
[   12.015842] device: '1:0:0:0': device_add
[   12.015846] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
[   12.020039] scsi 1:1:0:0: Direct-Access     ATA      Areca   Archive  n/a  PQ: 0 ANSI: 5
[   12.027736] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
[   12.036033] device: 'target1:1:0': device_add
[   12.042944] sd 1:0:0:0: no default pinctrl state
[   12.047319] bus: 'scsi': add device target1:1:0
[   12.051975] device: '1:0:0:0': device_add
[   12.056516] device: '1:1:0:0': device_add
[   12.060618] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[   12.064932] bus: 'scsi': add device 1:1:0:0
[   12.072106] sd 1:0:0:0: [sdb] Write Protect is off
[   12.076287] scsi 1:1:0:0: scheduling asynchronous probe
[   12.081085] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[   12.086326] device: '1:1:0:0': device_add
[   12.091431] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   12.095525] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
[   12.105302] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[   12.112379] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
[   12.112388] sd 1:1:0:0: no default pinctrl state
[   12.112418] device: '1:1:0:0': device_add
[   12.118596] device: 'sdb': device_add
[   12.126530] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
[   12.131363] device: '8:16': device_add
[   12.134448] sd 1:1:0:0: [sdc] Write Protect is off
[   12.154472] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
[   12.159582] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   12.168703] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
[   12.174920] device: 'sdc': device_add
[   12.179893] device: '8:32': device_add
[   12.202580] sd 1:1:0:0: [sdc] Attached SCSI removable disk
[   12.208094] driver: 'sd': driver_bound: bound to device '1:1:0:0'
[   12.214237] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
[   12.220976] sd 1:1:0:0: async probe completed
[   12.609536] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[   12.615047] driver: 'sd': driver_bound: bound to device '1:0:0:0'
[   12.621511] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
[   12.628246] sd 1:0:0:0: async probe completed
[  105.450861] EXT4-fs (sda): mounting ext2 file system using the ext4 subsystem
[  105.462924] EXT4-fs (sda): mounted filesystem without journal. Quota mode: disabled.
[  105.470739] VFS: Mounted root (ext2 filesystem) readonly on device 8:0.
[  105.481028] devtmpfs: mounted
[  105.484548] Freeing unused kernel image (initmem) memory: 1024K
[  105.529387] Run /sbin/init as init process
[  105.533500]   with arguments:
[  105.536479]     /sbin/init
[  105.539195]   with environment:
[  105.542353]     HOME=/
[  105.544720]     TERM=linux
[  105.547436]     nfcConfig=4bitecc
init started: BusyBox v1.35.0 (2022-11-30 11:34:58 UTC)
Please press Enter to activate this console. 
BusyBox v1.35.0 (2022-11-30 11:34:58 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/ # lsblk
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda    8:0    1  58.6G  0 disk /
sdb    8:16   1 465.8G  0 disk 
sdc    8:32   1  10.9T  0 disk 
/ # blkid
/dev/sdc: LABEL="RTArchive" UUID="dbcea8a0-ed94-4c76-91d5-5a5b80face96" TYPE="btrfs"
/dev/sdb: LABEL="RTWork" UUID="c8979d5b-c532-42d0-9111-89a92c9c8620" TYPE="btrfs"
/dev/sda: LABEL="GRAPHRT" UUID="9f9cd20d-80c4-4b42-a927-bf233e51a155" TYPE="ext2"
/ #

So, it works!
What next? Should I contact David Milburn <dmilburn@redhat.com> (the commit author) and ask for a better fix?

@ Pali Rohar:
I could't find the errata you mentioned. If you have it, please take a look at the commit above and see if it is affected in any. Thanks.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-12-04  1:41               ` marius
@ 2022-12-04 10:22                 ` Pali Rohár
  2022-12-04 21:14                 ` marius
                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 67+ messages in thread
From: Pali Rohár @ 2022-12-04 10:22 UTC (permalink / raw)
  To: marius; +Cc: Damien Le Moal, linux-ide

On Sunday 04 December 2022 01:41:20 marius@psihoexpert.ro wrote:
> So, it works!

Perfect! So you found it.

> What next? Should I contact David Milburn <dmilburn@redhat.com> (the commit author) and ask for a better fix?

That is a good idea.

> @ Pali Rohar:
> I could't find the errata you mentioned. If you have it, please take a look at the commit above and see if it is affected in any. Thanks.

I do not have more details than what I already wrote in previous email.

Errata documents are in most cases available on Marvell Customer Portal.
You need to register for accessing them. https://www.marvell.com/portal

Documents which were available publicly without registration are here:
https://www.kernel.org/doc/html/latest/arm/marvell.html
(errata for a38x was not publicly available)

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

* Re: Bug report for ahci-mvebu driver
  2022-12-04  1:41               ` marius
  2022-12-04 10:22                 ` Pali Rohár
@ 2022-12-04 21:14                 ` marius
  2022-12-04 21:46                   ` Pali Rohár
  2022-12-05  2:02                   ` Damien Le Moal
  2022-12-06  6:08                 ` Damien Le Moal
  2022-12-07 18:27                 ` marius
  3 siblings, 2 replies; 67+ messages in thread
From: marius @ 2022-12-04 21:14 UTC (permalink / raw)
  To: Pali Rohár, Damien Le Moal; +Cc: linux-ide

December 4, 2022 12:23 PM, "Pali Rohár" <pali@kernel.org> wrote:

>> What next? Should I contact David Milburn <dmilburn@redhat.com> (the commit author) and ask for a
>> better fix?
> 
> That is a good idea.

I think I'll wait for an opinion from Damien. Since the same libata-core.c works perfectly fine with sata-mv driver, but not ahci-mvebu, the problem might still be in the ahci-mvebu. The comment said: "sata_down_spd_limit should return if driver has not recorded sstatus speed". This probably means that ahci-mvebu does not record the expected "sstatus speed". I don't know what that is, but Damien probably does.

>> @ Pali Rohar:
>> I could't find the errata you mentioned. If you have it, please take a look at the commit above and
>> see if it is affected in any. Thanks.
> 
> I do not have more details than what I already wrote in previous email.
> 
> Errata documents are in most cases available on Marvell Customer Portal.
> You need to register for accessing them. https://www.marvell.com/portal
> 
> Documents which were available publicly without registration are here:
> https://www.kernel.org/doc/html/latest/arm/marvell.html
> (errata for a38x was not publicly available)

There is a slim chance that I could understand them. I'm just an amateur. I did some bare-metal programming on MCUs, but the kernel is way too complicated for me.


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

* Re: Bug report for ahci-mvebu driver
  2022-12-04 21:14                 ` marius
@ 2022-12-04 21:46                   ` Pali Rohár
  2022-12-05  2:02                   ` Damien Le Moal
  1 sibling, 0 replies; 67+ messages in thread
From: Pali Rohár @ 2022-12-04 21:46 UTC (permalink / raw)
  To: marius; +Cc: Damien Le Moal, linux-ide

On Sunday 04 December 2022 21:14:14 marius@psihoexpert.ro wrote:
> December 4, 2022 12:23 PM, "Pali Rohár" <pali@kernel.org> wrote:
> 
> >> What next? Should I contact David Milburn <dmilburn@redhat.com> (the commit author) and ask for a
> >> better fix?
> > 
> > That is a good idea.
> 
> I think I'll wait for an opinion from Damien. Since the same libata-core.c works perfectly fine with sata-mv driver, but not ahci-mvebu, the problem might still be in the ahci-mvebu.

That is also possible. But existence of a38x sata specific errata smells.

> The comment said: "sata_down_spd_limit should return if driver has not recorded sstatus speed". This probably means that ahci-mvebu does not record the expected "sstatus speed". I don't know what that is, but Damien probably does.

Lets wait for Damien.

Also note that in kernel ahci_mvebu.c driver code is custom function
ahci_mvebu_stop_engine where is description of another Errata Ref#226 -
SATA Disk HOT swap issue when connected through Port Multiplier in
FIS-based Switching mode.

This errata is documented _only_ for A3720 (not A38x/A39x) but is
installed for all mvebu platforms. So I'm not sure if this is not
another kernel bug and code should be adjusted to _not_ install
ahci_mvebu_stop_engine for a38x/a39x.

> >> @ Pali Rohar:
> >> I could't find the errata you mentioned. If you have it, please take a look at the commit above and
> >> see if it is affected in any. Thanks.
> > 
> > I do not have more details than what I already wrote in previous email.
> > 
> > Errata documents are in most cases available on Marvell Customer Portal.
> > You need to register for accessing them. https://www.marvell.com/portal
> > 
> > Documents which were available publicly without registration are here:
> > https://www.kernel.org/doc/html/latest/arm/marvell.html
> > (errata for a38x was not publicly available)
> 
> There is a slim chance that I could understand them. I'm just an amateur. I did some bare-metal programming on MCUs, but the kernel is way too complicated for me.

Hehe... those documents lot of time contains incomplete or ambiguous
statements and also professionals cannot understand them...

As I wrote in previous email, errata Ref #: FE-8889968 just says:
Due to the wrong Busy status returned, the GEN 1.0 Port Multiplier
cannot establish a link with the SATA 3.0 interface. As a workaround
connect GEN 1.0 Port Multiplier to a SATA 2.0 interface.

And I'm not SATA expert too. Lets wait for Damien.

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

* Re: Bug report for ahci-mvebu driver
  2022-12-04 21:14                 ` marius
  2022-12-04 21:46                   ` Pali Rohár
@ 2022-12-05  2:02                   ` Damien Le Moal
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-05  2:02 UTC (permalink / raw)
  To: marius, Pali Rohár; +Cc: linux-ide

On 2022/12/05 6:14, marius@psihoexpert.ro wrote:
> December 4, 2022 12:23 PM, "Pali Rohár" <pali@kernel.org> wrote:
> 
>>> What next? Should I contact David Milburn <dmilburn@redhat.com> (the
>>> commit author) and ask for a better fix?
>> 
>> That is a good idea.
> 
> I think I'll wait for an opinion from Damien. Since the same libata-core.c
> works perfectly fine with sata-mv driver, but not ahci-mvebu, the problem
> might still be in the ahci-mvebu. The comment said: "sata_down_spd_limit
> should return if driver has not recorded sstatus speed". This probably means
> that ahci-mvebu does not record the expected "sstatus speed". I don't know
> what that is, but Damien probably does.

Attending OSS Japan conference Monday & Tuesday, so I will be able to look at
this second half of this week. Given this latest information, there are a couple
of things we can try I think.

> 
>>> @ Pali Rohar: I could't find the errata you mentioned. If you have it,
>>> please take a look at the commit above and see if it is affected in any.
>>> Thanks.
>> 
>> I do not have more details than what I already wrote in previous email.
>> 
>> Errata documents are in most cases available on Marvell Customer Portal. 
>> You need to register for accessing them. https://www.marvell.com/portal
>> 
>> Documents which were available publicly without registration are here: 
>> https://www.kernel.org/doc/html/latest/arm/marvell.html (errata for a38x
>> was not publicly available)
> 
> There is a slim chance that I could understand them. I'm just an amateur. I
> did some bare-metal programming on MCUs, but the kernel is way too
> complicated for me.
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-04  1:41               ` marius
  2022-12-04 10:22                 ` Pali Rohár
  2022-12-04 21:14                 ` marius
@ 2022-12-06  6:08                 ` Damien Le Moal
  2022-12-08 21:26                   ` Pali Rohár
  2022-12-07 18:27                 ` marius
  3 siblings, 1 reply; 67+ messages in thread
From: Damien Le Moal @ 2022-12-06  6:08 UTC (permalink / raw)
  To: marius, Pali Rohár; +Cc: linux-ide

On 12/4/22 10:41, marius@psihoexpert.ro wrote:
> November 24, 2022 4:40 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> So the hardware is failing to detect the device presence. No clue why.
>> Only an ATA bus trace could tell us more here (do you have an ATA bus
>> analyzer around ?).
> 
> No. :-)
> 
>> So options are:
>> 1) Involve the router vendor and/or SoC vendor to see if they can help.
>> 2) Use UDB connection between your router & drive box ? (if you can)
>>
>> Another thing is: Did you try earlier kernel versions ? Any earlier kernel
>> working ? (I forgot if that is the case). If yes, then we should be able
>> to figure out the change that broke the driver (which may be something
>> changed in the SoC support rather than the mvebu driver itself).
>> gi-bisect will likely not be of any help given that you are not getting a
>> crash. So you will need to try out different kernel versions, starting
>> with LTS kernels, and refine (use Linus tags, including RCs, to find the
>> last working kernel). That may take some time, but will likely narrow down
>> the search for fixing this (if that is possible given the hardware setup
>> you have).
> 
> Sorry for the late reply, but I really really hate bisecting, especially manually, and especially if the test must be run on another machine.
> You are correct. It initially worked, but it was broken by this commit:
> 
> 
> commit 2dc0b46b5ea30f169b0b272253ea846a5a281731
> Author: David Milburn <dmilburn@redhat.com>
> Date:   Tue Nov 14 16:17:25 2017 -0600
> 
>     libata: sata_down_spd_limit should return if driver has not recorded sstatus speed
>     
>     During hotplug, it is possible for 6Gbps link speed to be limited all
>     the way down to 1.5 Gbps which may lead to a slower link speed when
>     drive is re-connected.
>     
>     This behavior has been seen on a Intel Lewisburg SATA controller
>     (8086:a1d2) with HGST HUH728080ALE600 drive where SATA link speed was
>     limited to 1.5 Gbps and when re-connected the link came up 3.0 Gbps.
>     
>     This patch was retested on above configuration and showed the
>     hotplugged link to come back online at max speed (6Gbps). I did not
>     see the downgrade when testing on Intel C600/X79, but retested patched
>     linux-4.14-rc5 kernel and didn't see any side effects from this
>     change. Also, successfully retested hotplug on port multiplier 3Gbps
>     link.
>     
>     tj: Minor comment updates.
>     
>     Signed-off-by: David Milburn <dmilburn@redhat.com>
>     Signed-off-by: Tejun Heo <tj@kernel.org>
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 2a882929de4a..8193b38a1cae 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3082,13 +3082,19 @@ int sata_down_spd_limit(struct ata_link *link, u32 spd_limit)
>  	bit = fls(mask) - 1;
>  	mask &= ~(1 << bit);
>  
> -	/* Mask off all speeds higher than or equal to the current
> -	 * one.  Force 1.5Gbps if current SPD is not available.
> +	/*
> +	 * Mask off all speeds higher than or equal to the current one.  At
> +	 * this point, if current SPD is not available and we previously
> +	 * recorded the link speed from SStatus, the driver has already
> +	 * masked off the highest bit so mask should already be 1 or 0.
> +	 * Otherwise, we should not force 1.5Gbps on a link where we have
> +	 * not previously recorded speed from SStatus.  Just return in this
> +	 * case.
>  	 */
>  	if (spd > 1)
>  		mask &= (1 << (spd - 1)) - 1;
>  	else
> -		mask &= 1;
> +		return -EINVAL;
>  
>  	/* were we already at the bottom? */
>  	if (!mask)

Without reverting the above patch, could you please try the following patch ?


diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c
index 22ecc4f3ae79..396aacc3fbd1 100644
--- a/drivers/ata/ahci_mvebu.c
+++ b/drivers/ata/ahci_mvebu.c
@@ -203,8 +203,6 @@ static int ahci_mvebu_probe(struct platform_device *pdev)
        if (rc)
                return rc;

-       hpriv->stop_engine = ahci_mvebu_stop_engine;
-
        rc = pdata->plat_config(hpriv);
        if (rc)
                goto disable_resources;


This essentially disables the use of ahci_mvebu_stop_engine() function for
your adapter, that is, it assumes that your newer adapter is not subject
to errata Ref#226. If this helps, then we can have a cleaner fix using the
compatible string for the adapter/SoC.

Otherwise, we will need to add a quirk for this adapter to have a behavior
for it that is the same as if patch 2dc0b46b5ea3 is reverted.

By the way, what is the maximum speed of you pmp box ? Is it really 1.5
Gbps (sata gen 1) ?


-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-04  1:41               ` marius
                                   ` (2 preceding siblings ...)
  2022-12-06  6:08                 ` Damien Le Moal
@ 2022-12-07 18:27                 ` marius
  2022-12-07 21:54                   ` Damien Le Moal
                                     ` (2 more replies)
  3 siblings, 3 replies; 67+ messages in thread
From: marius @ 2022-12-07 18:27 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

December 6, 2022 8:08 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> By the way, what is the maximum speed of you pmp box ? Is it really 1.5
> Gbps (sata gen 1) ?

No. It's 3 Gbps.

> Without reverting the above patch, could you please try the following patch ?

I did more tests, with and without the patch, with and without the commit reverted.
All logs start when eSATA cable is connected. I didn't include boot logs.

--- with your patch, commit not reverted ---
[ 11.642517][ T30] hardreset, Online=>Offline
[ 11.643598][ T30] resume, do loop
[ 11.858908][ T30] resume, after do loop
[ 11.908907][ T30] debounce, SCR=0x100
[ 11.958906][ T30] debounce, SCR=0x100
[ 12.008906][ T30] debounce, SCR=0x100
[ 12.058905][ T30] debounce, SCR=0x101
[ 12.108907][ T30] debounce, SCR=0x100
[ 12.158906][ T30] debounce, SCR=0x100
[ 12.208906][ T30] debounce, SCR=0x100
[ 12.258906][ T30] debounce, SCR=0x100
[ 12.308906][ T30] debounce, SCR=0x101
[ 12.358906][ T30] debounce, SCR=0x100
[ 12.408906][ T30] debounce, SCR=0x100
[ 12.458906][ T30] debounce, SCR=0x100
[ 12.508906][ T30] debounce, SCR=0x100
[ 12.558906][ T30] debounce, SCR=0x100
[ 12.608906][ T30] debounce, SCR=0x100
[ 12.658905][ T30] debounce, SCR=0x100
[ 12.708905][ T30] debounce, SCR=0x100
[ 12.758905][ T30] debounce, SCR=0x100
[ 12.808905][ T30] debounce, SCR=0x101
[ 12.858905][ T30] debounce, SCR=0x100
[ 12.908905][ T30] debounce, SCR=0x100
[ 12.958905][ T30] debounce, SCR=0x100
[ 13.008905][ T30] debounce, SCR=0x100
[ 13.058906][ T30] debounce, SCR=0x101
[ 13.108905][ T30] debounce, SCR=0x100
[ 13.158906][ T30] debounce, SCR=0x100
[ 13.208906][ T30] debounce, SCR=0x100
[ 13.258906][ T30] debounce, SCR=0x100
[ 13.308906][ T30] debounce, SCR=0x101
[ 13.358906][ T30] debounce, SCR=0x100
[ 13.408906][ T30] debounce, SCR=0x100
[ 13.458906][ T30] debounce, SCR=0x101
[ 13.508906][ T30] debounce, SCR=0x100
[ 13.558906][ T30] debounce, SCR=0x100
[ 13.608906][ T30] debounce, SCR=0x100
[ 13.658906][ T30] debounce, SCR=0x100
[ 13.708906][ T30] debounce, SCR=0x0
[ 13.758906][ T30] debounce, SCR=0x0
[ 13.808906][ T30] debounce, SCR=0x0
[ 13.858906][ T30] debounce, SCR=0x0
[ 13.908906][ T30] debounce, SCR=0x0
[ 13.958905][ T30] debounce, SCR=0x100
[ 14.008905][ T30] debounce, SCR=0x100
[ 14.058905][ T30] debounce, SCR=0x100
[ 14.062763][ T30] resume, return at end of function
[ 14.066620][ T30] hardreset, ata_phys_link_offline check failed
[ 14.071739][ T30] ata2: SATA link down (SStatus 100 SControl 300)
[ 14.084217][ T30] hardreset, Online=>Offline
[ 14.085293][ T30] resume, do loop
[ 14.308906][ T30] resume, after do loop
[ 14.358906][ T30] debounce, SCR=0x100
[ 14.408906][ T30] debounce, SCR=0x101
[ 14.458906][ T30] debounce, SCR=0x100
[ 14.508906][ T30] debounce, SCR=0x100
[ 14.558906][ T30] debounce, SCR=0x100
[ 14.608906][ T30] debounce, SCR=0x100
[ 14.658906][ T30] debounce, SCR=0x101
[ 14.708905][ T30] debounce, SCR=0x100
[ 14.758905][ T30] debounce, SCR=0x100
[ 14.808905][ T30] debounce, SCR=0x100
[ 14.858905][ T30] debounce, SCR=0x100
[ 14.908905][ T30] debounce, SCR=0x101
[ 14.958905][ T30] debounce, SCR=0x100
[ 15.008906][ T30] debounce, SCR=0x100
[ 15.058905][ T30] debounce, SCR=0x100
[ 15.108906][ T30] debounce, SCR=0x100
[ 15.158906][ T30] debounce, SCR=0x101
[ 15.208906][ T30] debounce, SCR=0x100
[ 15.258906][ T30] debounce, SCR=0x100
[ 15.308906][ T30] debounce, SCR=0x100
[ 15.358906][ T30] debounce, SCR=0x100
[ 15.408906][ T30] debounce, SCR=0x101
[ 15.458906][ T30] debounce, SCR=0x100
[ 15.508906][ T30] debounce, SCR=0x100
[ 15.558906][ T30] debounce, SCR=0x100
[ 15.608906][ T30] debounce, SCR=0x100
[ 15.658906][ T30] debounce, SCR=0x100
[ 15.708906][ T30] debounce, SCR=0x100
[ 15.758906][ T30] debounce, SCR=0x100
[ 15.808906][ T30] debounce, SCR=0x100
[ 15.858905][ T30] debounce, SCR=0x100
[ 15.908905][ T30] debounce, SCR=0x100
[ 15.958905][ T30] debounce, SCR=0x100
[ 16.008906][ T30] debounce, SCR=0x100
[ 16.012763][ T30] resume, return at end of function
[ 16.016620][ T30] hardreset, ata_phys_link_offline check failed
[ 16.021735][ T30] ata2: SATA link down (SStatus 100 SControl 300)
[ 16.034210][ T30] hardreset, Online=>Offline
[ 16.035286][ T30] resume, do loop
[ 16.258906][ T30] resume, after do loop
[ 16.308906][ T30] debounce, SCR=0x100
[ 16.358906][ T30] debounce, SCR=0x100
[ 16.408906][ T30] debounce, SCR=0x100
[ 16.458906][ T30] debounce, SCR=0x100
[ 16.508905][ T30] debounce, SCR=0x100
[ 16.558905][ T30] debounce, SCR=0x100
[ 16.608905][ T30] debounce, SCR=0x100
[ 16.658906][ T30] debounce, SCR=0x100
[ 16.708905][ T30] debounce, SCR=0x100
[ 16.758905][ T30] debounce, SCR=0x100
[ 16.808905][ T30] debounce, SCR=0x100
[ 16.812763][ T30] resume, return at end of function
[ 16.816620][ T30] hardreset, ata_phys_link_offline check failed
[ 16.821734][ T30] ata2: SATA link down (SStatus 100 SControl 300)
[ 16.834209][ T30] hardreset, Online=>Offline
[ 16.835284][ T30] resume, do loop
[ 17.058905][ T30] resume, after do loop
[ 17.108906][ T30] debounce, SCR=0x100
[ 17.158906][ T30] debounce, SCR=0x100
[ 17.208906][ T30] debounce, SCR=0x100
[ 17.258906][ T30] debounce, SCR=0x100
[ 17.308906][ T30] debounce, SCR=0x100
[ 17.358906][ T30] debounce, SCR=0x100
[ 17.408906][ T30] debounce, SCR=0x100
[ 17.458906][ T30] debounce, SCR=0x101
[ 17.508906][ T30] debounce, SCR=0x100
[ 17.558906][ T30] debounce, SCR=0x100
[ 17.608906][ T30] debounce, SCR=0x100
[ 17.658906][ T30] debounce, SCR=0x100
[ 17.708906][ T30] debounce, SCR=0x101
[ 17.758906][ T30] debounce, SCR=0x100
[ 17.808905][ T30] debounce, SCR=0x100
[ 17.858905][ T30] debounce, SCR=0x100
[ 17.908905][ T30] debounce, SCR=0x100
[ 17.958905][ T30] debounce, SCR=0x101
[ 18.008906][ T30] debounce, SCR=0x100
[ 18.058905][ T30] debounce, SCR=0x100
[ 18.108906][ T30] debounce, SCR=0x100
[ 18.158906][ T30] debounce, SCR=0x100
[ 18.208906][ T30] debounce, SCR=0x101
[ 18.258906][ T30] debounce, SCR=0x100
[ 18.308906][ T30] debounce, SCR=0x100
[ 18.358906][ T30] debounce, SCR=0x100
[ 18.408906][ T30] debounce, SCR=0x0
[ 18.458906][ T30] debounce, SCR=0x0
[ 18.508906][ T30] debounce, SCR=0x0
[ 18.558906][ T30] debounce, SCR=0x0
[ 18.608906][ T30] debounce, SCR=0x0
[ 18.658906][ T30] debounce, SCR=0x100
[ 18.708906][ T30] debounce, SCR=0x100
[ 18.758905][ T30] debounce, SCR=0x100
[ 18.808905][ T30] debounce, SCR=0x101
[ 18.858906][ T30] debounce, SCR=0x100
[ 18.908906][ T30] debounce, SCR=0x100
[ 18.958906][ T30] debounce, SCR=0x100
[ 19.008906][ T30] debounce, SCR=0x100
[ 19.058905][ T30] debounce, SCR=0x101
[ 19.108905][ T30] debounce, SCR=0x100
[ 19.112763][ T30] debounce, loop end with timeout
[ 19.116619][ T30] resume, sata_link_debounce check failed, returning rc=0xFFFFFFE0
[ 19.121546][ T30] hardreset, sata_link_resume check failed
[ 19.129358][ T30] ata2: COMRESET failed (errno=-32)
[ 19.140138][ T30] ata2: reset failed (errno=-32), retrying in 8 secs
[ 27.368908][ T30] hardreset, Online=>Offline
[ 27.369984][ T30] resume, do loop
[ 27.588906][ T30] resume, after do loop
[ 27.638906][ T30] debounce, SCR=0x100
[ 27.688906][ T30] debounce, SCR=0x100
[ 27.738906][ T30] debounce, SCR=0x100
[ 27.788906][ T30] debounce, SCR=0x0
[ 27.838906][ T30] debounce, SCR=0x0
[ 27.888906][ T30] debounce, SCR=0x0
[ 27.938906][ T30] debounce, SCR=0x0
[ 27.988906][ T30] debounce, SCR=0x0
[ 28.038905][ T30] debounce, SCR=0x100
[ 28.088927][ T30] debounce, SCR=0x100
[ 28.138906][ T30] debounce, SCR=0x100
[ 28.142764][ T30] resume, return at end of function
[ 28.146620][ T30] hardreset, ata_phys_link_offline check failed
[ 28.151734][ T30] ata2: SATA link down (SStatus 100 SControl 300)
[ 28.164209][ T30] hardreset, Online=>Offline
[ 28.165285][ T30] resume, do loop
[ 28.388907][ T30] resume, after do loop
[ 28.438906][ T30] debounce, SCR=0x100
[ 28.488906][ T30] debounce, SCR=0x101
[ 28.538906][ T30] debounce, SCR=0x100
[ 28.588906][ T30] debounce, SCR=0x100
[ 28.638906][ T30] debounce, SCR=0x101
[ 28.688906][ T30] debounce, SCR=0x100
[ 28.738905][ T30] debounce, SCR=0x100
[ 28.788905][ T30] debounce, SCR=0x100
[ 28.838905][ T30] debounce, SCR=0x100
[ 28.888905][ T30] debounce, SCR=0x101
[ 28.938905][ T30] debounce, SCR=0x100
[ 28.988905][ T30] debounce, SCR=0x100
[ 29.038905][ T30] debounce, SCR=0x100
[ 29.088905][ T30] debounce, SCR=0x100
[ 29.138907][ T30] debounce, SCR=0x100
[ 29.188906][ T30] debounce, SCR=0x100
[ 29.238905][ T30] debounce, SCR=0x100
[ 29.288906][ T30] debounce, SCR=0x100
[ 29.338905][ T30] debounce, SCR=0x100
[ 29.388905][ T30] debounce, SCR=0x101
[ 29.438905][ T30] debounce, SCR=0x100
[ 29.488905][ T30] debounce, SCR=0x100
[ 29.538906][ T30] debounce, SCR=0x100
[ 29.588906][ T30] debounce, SCR=0x100
[ 29.638906][ T30] debounce, SCR=0x100
[ 29.688905][ T30] debounce, SCR=0x100
[ 29.738905][ T30] debounce, SCR=0x100
[ 29.788905][ T30] debounce, SCR=0x101
[ 29.838906][ T30] debounce, SCR=0x100
[ 29.888906][ T30] debounce, SCR=0x100
[ 29.938905][ T30] debounce, SCR=0x100
[ 29.988905][ T30] debounce, SCR=0x100
[ 30.038905][ T30] debounce, SCR=0x101
[ 30.088927][ T30] debounce, SCR=0x100
[ 30.138905][ T30] debounce, SCR=0x100
[ 30.188905][ T30] debounce, SCR=0x100
[ 30.238906][ T30] debounce, SCR=0x100
[ 30.288905][ T30] debounce, SCR=0x101
[ 30.338906][ T30] debounce, SCR=0x100
[ 30.388905][ T30] debounce, SCR=0x100
[ 30.438905][ T30] debounce, SCR=0x100
[ 30.488905][ T30] debounce, SCR=0x100
[ 30.538905][ T30] debounce, SCR=0x101
[ 30.542763][ T30] debounce, loop end with timeout
[ 30.546619][ T30] resume, sata_link_debounce check failed, returning rc=0xFFFFFFE0
[ 30.551545][ T30] hardreset, sata_link_resume check failed
[ 30.559344][ T30] ata2: COMRESET failed (errno=-32)
[ 30.570122][ T30] ata2: reset failed (errno=-32), retrying in 8 secs
[ 38.248909][ T30] hardreset, Online=>Offline
[ 38.249985][ T30] resume, do loop
[ 38.468906][ T30] resume, after do loop
[ 38.518906][ T30] debounce, SCR=0x100
[ 38.568906][ T30] debounce, SCR=0x101
[ 38.618906][ T30] debounce, SCR=0x100
[ 38.668906][ T30] debounce, SCR=0x100
[ 38.718906][ T30] debounce, SCR=0x100
[ 38.768906][ T30] debounce, SCR=0x100
[ 38.818906][ T30] debounce, SCR=0x100
[ 38.868906][ T30] debounce, SCR=0x100
[ 38.918905][ T30] debounce, SCR=0x100
[ 38.968905][ T30] debounce, SCR=0x101
[ 39.018906][ T30] debounce, SCR=0x100
[ 39.068906][ T30] debounce, SCR=0x100
[ 39.118906][ T30] debounce, SCR=0x100
[ 39.168906][ T30] debounce, SCR=0x100
[ 39.218906][ T30] debounce, SCR=0x100
[ 39.268906][ T30] debounce, SCR=0x100
[ 39.318906][ T30] debounce, SCR=0x101
[ 39.368906][ T30] debounce, SCR=0x100
[ 39.418906][ T30] debounce, SCR=0x100
[ 39.468906][ T30] debounce, SCR=0x101
[ 39.518906][ T30] debounce, SCR=0x100
[ 39.568905][ T30] debounce, SCR=0x100
[ 39.618905][ T30] debounce, SCR=0x100
[ 39.668905][ T30] debounce, SCR=0x100
[ 39.718905][ T30] debounce, SCR=0x100
[ 39.768905][ T30] debounce, SCR=0x100
[ 39.818905][ T30] debounce, SCR=0x100
[ 39.868905][ T30] debounce, SCR=0x101
[ 39.918905][ T30] debounce, SCR=0x100
[ 39.968905][ T30] debounce, SCR=0x100
[ 40.018905][ T30] debounce, SCR=0x100
[ 40.068905][ T30] debounce, SCR=0x100
[ 40.118906][ T30] debounce, SCR=0x100
[ 40.168906][ T30] debounce, SCR=0x100
[ 40.218906][ T30] debounce, SCR=0x101
[ 40.268906][ T30] debounce, SCR=0x100
[ 40.318906][ T30] debounce, SCR=0x100
[ 40.368906][ T30] debounce, SCR=0x101
[ 40.418906][ T30] debounce, SCR=0x100
[ 40.468906][ T30] debounce, SCR=0x100
[ 40.518906][ T30] debounce, SCR=0x100
[ 40.568906][ T30] debounce, SCR=0x100
[ 40.618906][ T30] debounce, SCR=0x101
[ 40.622764][ T30] debounce, loop end with timeout
[ 40.626620][ T30] resume, sata_link_debounce check failed, returning rc=0xFFFFFFE0
[ 40.631546][ T30] hardreset, sata_link_resume check failed
[ 40.639344][ T30] ata2: COMRESET failed (errno=-32)
[ 40.650122][ T30] ata2: reset failed (errno=-32), retrying in 8 secs
[ 48.488908][ T30] hardreset, Online=>Offline
[ 48.489983][ T30] resume, do loop
[ 48.708906][ T30] resume, after do loop
[ 48.758905][ T30] debounce, SCR=0x100
[ 48.808905][ T30] debounce, SCR=0x100
[ 48.858905][ T30] debounce, SCR=0x100
[ 48.908905][ T30] debounce, SCR=0x100
[ 48.958905][ T30] debounce, SCR=0x100
[ 49.008905][ T30] debounce, SCR=0x100
[ 49.058905][ T30] debounce, SCR=0x101
[ 49.108905][ T30] debounce, SCR=0x100
[ 49.158906][ T30] debounce, SCR=0x100
[ 49.208906][ T30] debounce, SCR=0x100
[ 49.258906][ T30] debounce, SCR=0x100
[ 49.308906][ T30] debounce, SCR=0x101
[ 49.358906][ T30] debounce, SCR=0x100
[ 49.408906][ T30] debounce, SCR=0x100
[ 49.458906][ T30] debounce, SCR=0x100
[ 49.508906][ T30] debounce, SCR=0x100
[ 49.558906][ T30] debounce, SCR=0x100
[ 49.608906][ T30] debounce, SCR=0x100
[ 49.658906][ T30] debounce, SCR=0x100
[ 49.708906][ T30] debounce, SCR=0x101
[ 49.758906][ T30] debounce, SCR=0x100
[ 49.808905][ T30] debounce, SCR=0x100
[ 49.858906][ T30] debounce, SCR=0x101
[ 49.908905][ T30] debounce, SCR=0x100
[ 49.958905][ T30] debounce, SCR=0x100
[ 50.008905][ T30] debounce, SCR=0x100
[ 50.058905][ T30] debounce, SCR=0x100
[ 50.108906][ T30] debounce, SCR=0x101
[ 50.158905][ T30] debounce, SCR=0x100
[ 50.208906][ T30] debounce, SCR=0x100
[ 50.258906][ T30] debounce, SCR=0x100
[ 50.308906][ T30] debounce, SCR=0x100
[ 50.358906][ T30] debounce, SCR=0x101
[ 50.408906][ T30] debounce, SCR=0x100
[ 50.458906][ T30] debounce, SCR=0x100
[ 50.508906][ T30] debounce, SCR=0x100
[ 50.558906][ T30] debounce, SCR=0x100
[ 50.608905][ T30] debounce, SCR=0x100
[ 50.658906][ T30] debounce, SCR=0x100
[ 50.708906][ T30] debounce, SCR=0x100
[ 50.758906][ T30] debounce, SCR=0x100
[ 50.808906][ T30] debounce, SCR=0x100
[ 50.858906][ T30] debounce, SCR=0x100
[ 50.908906][ T30] debounce, SCR=0x100
[ 50.958906][ T30] debounce, SCR=0x100
[ 50.962764][ T30] resume, return at end of function
[ 50.966620][ T30] hardreset, ata_phys_link_offline check failed
[ 50.971735][ T30] ata2: SATA link down (SStatus 100 SControl 300)
[ 50.984190][ T30] ata2: EH pending after 5 tries, giving up

As you can see, it doesn't work. But I noticed something:
With commit reverted, initially it's not working and, after a reset, sets speed to 1.5Gbps and then the port multiplier is detected. When each port is scanned, speed is set to 3.0 Gbps and it works fine like that.
If the commit is NOT reverted, SATA speed is never limited and port multiplier is never detected.

--- commit reverted, no patch ---
[    7.554443][   T30] hardreset, Online=>Offline
[    7.555523][   T30] resume, do loop
[    7.778921][   T30] resume, after do loop
[    7.828920][   T30] debounce, SCR=0x100
[    7.878919][   T30] debounce, SCR=0x101
[    7.928919][   T30] debounce, SCR=0x100
[    7.978919][   T30] debounce, SCR=0x100
[    8.028919][   T30] debounce, SCR=0x100
[    8.078919][   T30] debounce, SCR=0x100
[    8.128920][   T30] debounce, SCR=0x101
[    8.178920][   T30] debounce, SCR=0x100
[    8.228919][   T30] debounce, SCR=0x100
[    8.278920][   T30] debounce, SCR=0x100
[    8.328919][   T30] debounce, SCR=0x100
[    8.378920][   T30] debounce, SCR=0x101
[    8.428919][   T30] debounce, SCR=0x100
[    8.478919][   T30] debounce, SCR=0x100
[    8.528919][   T30] debounce, SCR=0x100
[    8.578919][   T30] debounce, SCR=0x100
[    8.628920][   T30] debounce, SCR=0x0
[    8.678919][   T30] debounce, SCR=0x0
[    8.728919][   T30] debounce, SCR=0x0
[    8.778919][   T30] debounce, SCR=0x0
[    8.828919][   T30] debounce, SCR=0x0
[    8.878920][   T30] debounce, SCR=0x0
[    8.928919][   T30] debounce, SCR=0x101
[    8.978919][   T30] debounce, SCR=0x100
[    9.028919][   T30] debounce, SCR=0x100
[    9.078919][   T30] debounce, SCR=0x100
[    9.128942][   T30] debounce, SCR=0x100
[    9.178920][   T30] debounce, SCR=0x101
[    9.228919][   T30] debounce, SCR=0x100
[    9.278919][   T30] debounce, SCR=0x100
[    9.328919][   T30] debounce, SCR=0x101
[    9.378920][   T30] debounce, SCR=0x100
[    9.428919][   T30] debounce, SCR=0x100
[    9.478919][   T30] debounce, SCR=0x100
[    9.528919][   T30] debounce, SCR=0x100
[    9.578919][   T30] debounce, SCR=0x100
[    9.628919][   T30] debounce, SCR=0x100
[    9.678919][   T30] debounce, SCR=0x100
[    9.728919][   T30] debounce, SCR=0x100
[    9.778919][   T30] debounce, SCR=0x100
[    9.828919][   T30] debounce, SCR=0x101
[    9.832777][   T30] debounce, loop end with timeout
[    9.836633][   T30] resume, sata_link_debounce check failed, returning rc=0xFFFFFFE0
[    9.841560][   T30] hardreset, sata_link_resume check failed
[    9.849358][   T30] ata2: COMRESET failed (errno=-32)
[    9.860137][   T30] ata2: reset failed (errno=-32), retrying in 8 secs
[   17.768922][   T30] ata2: limiting SATA link speed to 1.5 Gbps
[   17.774794][   T30] hardreset, Online=>Offline
[   17.774800][   T30] Reconfig spd
[   17.780365][   T30] resume, do loop
[   17.998921][   T30] resume, after do loop
[   18.048920][   T30] debounce, SCR=0x113
[   18.098921][   T30] debounce, SCR=0x113
[   18.148920][   T30] debounce, SCR=0x113
[   18.198920][   T30] debounce, SCR=0x113
[   18.248920][   T30] debounce, SCR=0x113
[   18.298920][   T30] debounce, SCR=0x113
[   18.348920][   T30] debounce, SCR=0x113
[   18.398920][   T30] debounce, SCR=0x113
[   18.448920][   T30] debounce, SCR=0x113
[   18.498920][   T30] debounce, SCR=0x113
[   18.548920][   T30] debounce, SCR=0x113
[   18.552778][   T30] resume, return at end of function
[   18.556635][   T30] hardreset, Offline=>Online
[   18.566200][   T30] hardreset, sata_pmp_supported, before check_ready
[   18.728925][   T30] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   18.742723][   T30] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[   18.762620][   T30] ahci-mvebu f10a8000.sata: FBS is enabled
[   18.768711][   T30] ata2.00: hard resetting link
[   18.773388][   T30] hardreset, Online=>Offline
[   18.773430][   T30] Reconfig spd
[   18.779195][   T30] resume, do loop
[   18.998957][   T30] resume, after do loop
[   19.007601][   T30] debounce, SCR=0x123
[   19.016760][   T30] debounce, SCR=0x123
[   19.025753][   T30] debounce, SCR=0x123
[   19.034735][   T30] debounce, SCR=0x123
[   19.043694][   T30] debounce, SCR=0x123
[   19.052654][   T30] debounce, SCR=0x123
[   19.061614][   T30] debounce, SCR=0x123
[   19.070573][   T30] debounce, SCR=0x123
[   19.079532][   T30] debounce, SCR=0x123
[   19.088490][   T30] debounce, SCR=0x123
[   19.097471][   T30] debounce, SCR=0x123
[   19.106458][   T30] debounce, SCR=0x123
[   19.110405][   T30] resume, return at end of function
[   19.114297][   T30] hardreset, Offline=>Online
[   19.123869][   T30] hardreset, after check_ready
[   19.124102][   T30] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   19.136013][   T30] ata2.01: hard resetting link
[   19.140683][   T30] hardreset, Online=>Offline
[   19.140725][   T30] Reconfig spd
[   19.146487][   T30] resume, do loop
[   19.368956][   T30] resume, after do loop
[   19.377601][   T30] debounce, SCR=0x123
[   19.386757][   T30] debounce, SCR=0x123
[   19.395749][   T30] debounce, SCR=0x123
[   19.404730][   T30] debounce, SCR=0x123
[   19.413689][   T30] debounce, SCR=0x123
[   19.422648][   T30] debounce, SCR=0x123
[   19.431608][   T30] debounce, SCR=0x123
[   19.440567][   T30] debounce, SCR=0x123
[   19.449526][   T30] debounce, SCR=0x123
[   19.458485][   T30] debounce, SCR=0x123
[   19.467466][   T30] debounce, SCR=0x123
[   19.476453][   T30] debounce, SCR=0x123
[   19.480400][   T30] resume, return at end of function
[   19.484291][   T30] hardreset, Offline=>Online
[   19.493863][   T30] hardreset, after check_ready
[   19.494096][   T30] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   19.505968][   T30] ata2.02: hard resetting link
[   19.510636][   T30] hardreset, Online=>Offline
[   19.510676][   T30] Reconfig spd
[   19.516437][   T30] resume, do loop
[   19.738955][   T30] resume, after do loop
[   19.747599][   T30] debounce, SCR=0x0
[   19.756755][   T30] debounce, SCR=0x0
[   19.765572][   T30] debounce, SCR=0x0
[   19.774378][   T30] debounce, SCR=0x0
[   19.783163][   T30] debounce, SCR=0x0
[   19.791947][   T30] debounce, SCR=0x0
[   19.800732][   T30] debounce, SCR=0x0
[   19.809516][   T30] debounce, SCR=0x0
[   19.818300][   T30] debounce, SCR=0x0
[   19.827107][   T30] debounce, SCR=0x0
[   19.835914][   T30] debounce, SCR=0x0
[   19.844726][   T30] debounce, SCR=0x0
[   19.853511][   T30] debounce, SCR=0x0
[   19.857261][   T30] resume, return at end of function
[   19.861009][   T30] hardreset, ata_phys_link_offline check failed
[   19.866313][   T30] ata2.02: SATA link down (SStatus 0 SControl 300)
[   19.878918][   T30] ata2.03: hard resetting link
[   19.883562][   T30] hardreset, Online=>Offline
[   19.883602][   T30] Reconfig spd
[   19.889363][   T30] resume, do loop
[   20.108958][   T30] resume, after do loop
[   20.117603][   T30] debounce, SCR=0x0
[   20.126760][   T30] debounce, SCR=0x0
[   20.135578][   T30] debounce, SCR=0x0
[   20.144385][   T30] debounce, SCR=0x0
[   20.153170][   T30] debounce, SCR=0x0
[   20.161955][   T30] debounce, SCR=0x0
[   20.170740][   T30] debounce, SCR=0x0
[   20.179524][   T30] debounce, SCR=0x0
[   20.188308][   T30] debounce, SCR=0x0
[   20.197115][   T30] debounce, SCR=0x0
[   20.205921][   T30] debounce, SCR=0x0
[   20.214734][   T30] debounce, SCR=0x0
[   20.223519][   T30] debounce, SCR=0x0
[   20.227270][   T30] resume, return at end of function
[   20.231018][   T30] hardreset, ata_phys_link_offline check failed
[   20.236322][   T30] ata2.03: SATA link down (SStatus 0 SControl 300)
[   20.248946][   T30] ata2.04: hard resetting link
[   20.253590][   T30] hardreset, Online=>Offline
[   20.253629][   T30] Reconfig spd
[   20.259389][   T30] resume, do loop
[   20.478955][   T30] resume, after do loop
[   20.487598][   T30] debounce, SCR=0x0
[   20.496754][   T30] debounce, SCR=0x0
[   20.505571][   T30] debounce, SCR=0x0
[   20.514378][   T30] debounce, SCR=0x0
[   20.523164][   T30] debounce, SCR=0x0
[   20.531949][   T30] debounce, SCR=0x0
[   20.540734][   T30] debounce, SCR=0x0
[   20.549520][   T30] debounce, SCR=0x0
[   20.558304][   T30] debounce, SCR=0x0
[   20.567110][   T30] debounce, SCR=0x0
[   20.575917][   T30] debounce, SCR=0x0
[   20.584730][   T30] debounce, SCR=0x0
[   20.593514][   T30] debounce, SCR=0x0
[   20.597264][   T30] resume, return at end of function
[   20.601012][   T30] hardreset, ata_phys_link_offline check failed
[   20.606314][   T30] ata2.04: SATA link down (SStatus 0 SControl 300)
[   20.618920][   T30] ata2.05: hard resetting link
[   20.623564][   T30] hardreset, Online=>Offline
[   20.623604][   T30] Reconfig spd
[   20.629366][   T30] resume, do loop
[   20.848955][   T30] resume, after do loop
[   20.857600][   T30] debounce, SCR=0x0
[   20.866757][   T30] debounce, SCR=0x0
[   20.875573][   T30] debounce, SCR=0x0
[   20.884379][   T30] debounce, SCR=0x0
[   20.893164][   T30] debounce, SCR=0x0
[   20.901948][   T30] debounce, SCR=0x0
[   20.910734][   T30] debounce, SCR=0x0
[   20.919518][   T30] debounce, SCR=0x0
[   20.928302][   T30] debounce, SCR=0x0
[   20.937108][   T30] debounce, SCR=0x0
[   20.945915][   T30] debounce, SCR=0x0
[   20.954727][   T30] debounce, SCR=0x0
[   20.963512][   T30] debounce, SCR=0x0
[   20.967261][   T30] resume, return at end of function
[   20.971011][   T30] hardreset, ata_phys_link_offline check failed
[   20.976314][   T30] ata2.05: SATA link down (SStatus 0 SControl 300)
[   20.988920][   T30] ata2.06: hard resetting link
[   20.993564][   T30] hardreset, Online=>Offline
[   20.993604][   T30] Reconfig spd
[   20.999365][   T30] resume, do loop
[   21.218956][   T30] resume, after do loop
[   21.227600][   T30] debounce, SCR=0x0
[   21.236757][   T30] debounce, SCR=0x0
[   21.245574][   T30] debounce, SCR=0x0
[   21.254381][   T30] debounce, SCR=0x0
[   21.263166][   T30] debounce, SCR=0x0
[   21.271950][   T30] debounce, SCR=0x0
[   21.280735][   T30] debounce, SCR=0x0
[   21.289519][   T30] debounce, SCR=0x0
[   21.298303][   T30] debounce, SCR=0x0
[   21.307110][   T30] debounce, SCR=0x0
[   21.315917][   T30] debounce, SCR=0x0
[   21.324730][   T30] debounce, SCR=0x0
[   21.333515][   T30] debounce, SCR=0x0
[   21.337264][   T30] resume, return at end of function
[   21.341013][   T30] hardreset, ata_phys_link_offline check failed
[   21.346316][   T30] ata2.06: SATA link down (SStatus 0 SControl 300)
[   21.358921][   T30] ata2.07: hard resetting link
[   21.363565][   T30] hardreset, Online=>Offline
[   21.363605][   T30] Reconfig spd
[   21.369367][   T30] resume, do loop
[   21.588955][   T30] resume, after do loop
[   21.597599][   T30] debounce, SCR=0x0
[   21.606756][   T30] debounce, SCR=0x0
[   21.615571][   T30] debounce, SCR=0x0
[   21.624378][   T30] debounce, SCR=0x0
[   21.633163][   T30] debounce, SCR=0x0
[   21.641948][   T30] debounce, SCR=0x0
[   21.650733][   T30] debounce, SCR=0x0
[   21.659517][   T30] debounce, SCR=0x0
[   21.668301][   T30] debounce, SCR=0x0
[   21.677108][   T30] debounce, SCR=0x0
[   21.685915][   T30] debounce, SCR=0x0
[   21.694727][   T30] debounce, SCR=0x0
[   21.703512][   T30] debounce, SCR=0x0
[   21.707261][   T30] resume, return at end of function
[   21.711010][   T30] hardreset, ata_phys_link_offline check failed
[   21.716313][   T30] ata2.07: SATA link down (SStatus 0 SControl 300)
[   21.729010][   T30] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[   21.736621][   T30] ata2.00: 976773168 sectors, multi 0: LBA48
[   21.742737][   T30] ata2.00: configured for UDMA/133
[   21.747805][   T30] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
[   21.754751][   T30] ata2.01: 23437498368 sectors, multi 0: LBA48
[   21.761035][   T30] ata2.01: configured for UDMA/133
[   21.766185][   T30] ata2: EH complete
[   21.770704][   T33] scsi 1:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a  PQ: 0 ANSI: 5
[   21.782846][    T7] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[   21.783199][   T33] scsi 1:1:0:0: Direct-Access     ATA      Areca   Archive  n/a  PQ: 0 ANSI: 5
[   21.791187][    T7] sd 1:0:0:0: [sdb] Write Protect is off
[   21.803969][   T36] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
[   21.805465][    T7] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[   21.814172][   T36] sd 1:1:0:0: [sdc] Write Protect is off
[   21.819944][    T7] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   21.825358][   T36] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
[   21.835352][    T7] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[   21.841057][   T36] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   21.858454][   T36] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
[   21.865645][    T7] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[   21.868480][   T36] sd 1:1:0:0: [sdc] Attached SCSI removable disk


--- commit reverted, no patch (a different run) ---
[  150.559157][   T30] hardreset, Online=>Offline
[  150.559168][   T30] Reconfig spd
[  150.564715][   T30] resume, do loop
[  150.788797][   T30] resume, after do loop
[  150.848797][   T30] debounce, SCR=0x100
[  150.908796][   T30] debounce, SCR=0x100
[  150.968796][   T30] debounce, SCR=0x101
[  151.028796][   T30] debounce, SCR=0x100
[  151.088796][   T30] debounce, SCR=0x101
[  151.148797][   T30] debounce, SCR=0x100
[  151.208796][   T30] debounce, SCR=0x100
[  151.268796][   T30] debounce, SCR=0x100
[  151.328816][   T30] debounce, SCR=0x100
[  151.388796][   T30] debounce, SCR=0x100
[  151.448797][   T30] debounce, SCR=0x100
[  151.508796][   T30] debounce, SCR=0x100
[  151.568796][   T30] debounce, SCR=0x100
[  151.628796][   T30] debounce, SCR=0x100
[  151.688796][   T30] debounce, SCR=0x100
[  151.692653][   T30] resume, return at end of function
[  151.696510][   T30] hardreset, ata_phys_link_offline check failed
[  151.701613][   T30] ata2: SATA link down (SStatus 100 SControl 300)
[  151.714078][   T30] hardreset, Online=>Offline
[  151.715154][   T30] resume, do loop
[  151.948797][   T30] resume, after do loop
[  152.008796][   T30] debounce, SCR=0x100
[  152.068797][   T30] debounce, SCR=0x100
[  152.128796][   T30] debounce, SCR=0x100
[  152.188796][   T30] debounce, SCR=0x100
[  152.248796][   T30] debounce, SCR=0x100
[  152.308796][   T30] debounce, SCR=0x100
[  152.368816][   T30] debounce, SCR=0x100
[  152.428797][   T30] debounce, SCR=0x100
[  152.488796][   T30] debounce, SCR=0x100
[  152.492654][   T30] resume, return at end of function
[  152.496511][   T30] hardreset, ata_phys_link_offline check failed
[  152.501610][   T30] ata2: SATA link down (SStatus 100 SControl 300)
[  152.786601][   T30] ata2: limiting SATA link speed to 1.5 Gbps
[  152.792489][   T30] hardreset, Online=>Offline
[  152.792494][   T30] Reconfig spd
[  152.798032][   T30] resume, do loop
[  153.028797][   T30] resume, after do loop
[  153.088796][   T30] debounce, SCR=0x113
[  153.148796][   T30] debounce, SCR=0x113
[  153.208796][   T30] debounce, SCR=0x113
[  153.268796][   T30] debounce, SCR=0x113
[  153.328796][   T30] debounce, SCR=0x113
[  153.388795][   T30] debounce, SCR=0x113
[  153.448796][   T30] debounce, SCR=0x113
[  153.508796][   T30] debounce, SCR=0x113
[  153.568796][   T30] debounce, SCR=0x113
[  153.572654][   T30] resume, return at end of function
[  153.576511][   T30] hardreset, Offline=>Online
[  153.586069][   T30] hardreset, sata_pmp_supported, before check_ready
[  153.758800][   T30] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  153.772539][   T30] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f

So, is this a quirk of the mvebu controller or the Areca DAS? BTW, Areca uses some mvebu SOC too.
I'm going to try the Areca DAS with a few other controllers. I want to see what happens.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-12-07 18:27                 ` marius
@ 2022-12-07 21:54                   ` Damien Le Moal
  2022-12-07 22:51                   ` Damien Le Moal
  2022-12-08 18:06                   ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-07 21:54 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 12/8/22 03:27, marius@psihoexpert.ro wrote:
> December 6, 2022 8:08 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> By the way, what is the maximum speed of you pmp box ? Is it really 1.5
>> Gbps (sata gen 1) ?
> 
> No. It's 3 Gbps.

Hmmm... OK. Given that when it works (with the revert), the speed
reduction is to 1.5 Gbps. So it seems that the revert changes the error
return into checking the lowest speed because we do not already have a
previous speed... See below.

> 
>> Without reverting the above patch, could you please try the following patch ?
> 
> I did more tests, with and without the patch, with and without the commit reverted.
> All logs start when eSATA cable is connected. I didn't include boot logs.
> 

[...]

> [  153.028797][   T30] resume, after do loop
> [  153.088796][   T30] debounce, SCR=0x113
> [  153.148796][   T30] debounce, SCR=0x113
> [  153.208796][   T30] debounce, SCR=0x113
> [  153.268796][   T30] debounce, SCR=0x113
> [  153.328796][   T30] debounce, SCR=0x113
> [  153.388795][   T30] debounce, SCR=0x113
> [  153.448796][   T30] debounce, SCR=0x113
> [  153.508796][   T30] debounce, SCR=0x113
> [  153.568796][   T30] debounce, SCR=0x113
> [  153.572654][   T30] resume, return at end of function
> [  153.576511][   T30] hardreset, Offline=>Online
> [  153.586069][   T30] hardreset, sata_pmp_supported, before check_ready
> [  153.758800][   T30] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [  153.772539][   T30] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
> 
> So, is this a quirk of the mvebu controller or the Areca DAS? BTW, Areca uses some mvebu SOC too.
> I'm going to try the Areca DAS with a few other controllers. I want to see what happens.

Can you try with no patches and no revert adding the following options to
your kernel command line ?

libata.force=2:3Gbps

and

libata.force=2:1.5Gbps

One at a time. Do not try them together :)
This will force the initial link speed to be set for ata2 port.

> 
> Marius Dinu
> 
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-07 18:27                 ` marius
  2022-12-07 21:54                   ` Damien Le Moal
@ 2022-12-07 22:51                   ` Damien Le Moal
  2022-12-08 18:06                   ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-07 22:51 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 12/8/22 03:27, marius@psihoexpert.ro wrote:
> So, is this a quirk of the mvebu controller or the Areca DAS? BTW, Areca uses some mvebu SOC too.
> I'm going to try the Areca DAS with a few other controllers. I want to see what happens.

By the way, did you also try a cold boot ? Switching off your router,
connect the pmp box, turn on the router ? Does it change anything ?
ATA hot-plugging tends to have more problems, so worth trying. The
ahci_mvebu driver errata is for hot-plug, so this newer SoC may have
different issues with that too.


-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-07 18:27                 ` marius
  2022-12-07 21:54                   ` Damien Le Moal
  2022-12-07 22:51                   ` Damien Le Moal
@ 2022-12-08 18:06                   ` marius
  2022-12-09  0:34                     ` Damien Le Moal
                                       ` (2 more replies)
  2 siblings, 3 replies; 67+ messages in thread
From: marius @ 2022-12-08 18:06 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

December 8, 2022 12:51 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> By the way, did you also try a cold boot ? Switching off your router,
> connect the pmp box, turn on the router ? Does it change anything ?
> ATA hot-plugging tends to have more problems, so worth trying. The
> ahci_mvebu driver errata is for hot-plug, so this newer SoC may have
> different issues with that too.

Yes. No change. Same errors.

> Can you try with no patches and no revert adding the following options to
> your kernel command line ?
> 
> libata.force=2:3Gbps

No change. Same errors.

> libata.force=2:1.5Gbps

This one works, without any error at the beginning, unlike the way reverted commit worked.

[ 33.635191][ T112] hardreset, Online=>Offline
[ 33.636272][ T112] resume, do loop
[ 33.862817][ T112] resume, after do loop
[ 33.922816][ T112] debounce, SCR=0x113
[ 33.982816][ T112] debounce, SCR=0x113
[ 34.042816][ T112] debounce, SCR=0x113
[ 34.102815][ T112] debounce, SCR=0x113
[ 34.162816][ T112] debounce, SCR=0x113
[ 34.222816][ T112] debounce, SCR=0x113
[ 34.282815][ T112] debounce, SCR=0x113
[ 34.342815][ T112] debounce, SCR=0x113
[ 34.402815][ T112] debounce, SCR=0x113
[ 34.406673][ T112] resume, return at end of function
[ 34.410531][ T112] hardreset, Offline=>Online
[ 34.420090][ T112] hardreset, sata_pmp_supported, before check_ready
[ 34.592820][ T112] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 34.606547][ T112] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[ 34.615196][ T112] device: 'link2.0': device_add
[ 34.620015][ T112] device: 'link2.0': device_add
[ 34.625514][ T112] device: 'dev2.0.0': device_add
[ 34.630365][ T112] device: 'dev2.0.0': device_add
[ 34.635780][ T112] device: 'link2.1': device_add
[ 34.640545][ T112] device: 'link2.1': device_add
[ 34.646038][ T112] device: 'dev2.1.0': device_add
[ 34.650892][ T112] device: 'dev2.1.0': device_add
[ 34.656245][ T112] device: 'link2.2': device_add
[ 34.661009][ T112] device: 'link2.2': device_add
[ 34.666209][ T112] device: 'dev2.2.0': device_add
[ 34.671063][ T112] device: 'dev2.2.0': device_add
[ 34.676631][ T112] device: 'link2.3': device_add
[ 34.681400][ T112] device: 'link2.3': device_add
[ 34.686289][ T112] device: 'dev2.3.0': device_add
[ 34.691429][ T112] device: 'dev2.3.0': device_add
[ 34.696441][ T112] device: 'link2.4': device_add
[ 34.701206][ T112] device: 'link2.4': device_add
[ 34.706700][ T112] device: 'dev2.4.0': device_add
[ 34.711554][ T112] device: 'dev2.4.0': device_add
[ 34.716867][ T112] device: 'link2.5': device_add
[ 34.721634][ T112] device: 'link2.5': device_add
[ 34.726850][ T112] device: 'dev2.5.0': device_add
[ 34.731704][ T112] device: 'dev2.5.0': device_add
[ 34.737502][ T112] device: 'link2.6': device_add
[ 34.742271][ T112] device: 'link2.6': device_add
[ 34.747160][ T112] device: 'dev2.6.0': device_add
[ 34.752013][ T112] device: 'dev2.6.0': device_add
[ 34.757613][ T112] device: 'link2.7': device_add
[ 34.762387][ T112] device: 'link2.7': device_add
[ 34.767307][ T112] device: 'dev2.7.0': device_add
[ 34.772733][ T112] device: 'dev2.7.0': device_add
[ 34.777760][ T112] device: 'link2.8': device_add
[ 34.782531][ T112] device: 'link2.8': device_add
[ 34.787757][ T112] device: 'dev2.8.0': device_add
[ 34.792616][ T112] device: 'dev2.8.0': device_add
[ 34.797950][ T112] device: 'link2.9': device_add
[ 34.802722][ T112] device: 'link2.9': device_add
[ 34.807959][ T112] device: 'dev2.9.0': device_add
[ 34.812836][ T112] device: 'dev2.9.0': device_add
[ 34.818405][ T112] device: 'link2.10': device_add
[ 34.823282][ T112] device: 'link2.10': device_add
[ 34.828837][ T112] device: 'dev2.10.0': device_add
[ 34.833811][ T112] device: 'dev2.10.0': device_add
[ 34.839470][ T112] device: 'link2.11': device_add
[ 34.844348][ T112] device: 'link2.11': device_add
[ 34.849349][ T112] device: 'dev2.11.0': device_add
[ 34.854309][ T112] device: 'dev2.11.0': device_add
[ 34.859989][ T112] device: 'link2.12': device_add
[ 34.864870][ T112] device: 'link2.12': device_add
[ 34.869875][ T112] device: 'dev2.12.0': device_add
[ 34.875187][ T112] device: 'dev2.12.0': device_add
[ 34.880283][ T112] device: 'link2.13': device_add
[ 34.885162][ T112] device: 'link2.13': device_add
[ 34.890768][ T112] device: 'dev2.13.0': device_add
[ 34.895744][ T112] device: 'dev2.13.0': device_add
[ 34.901156][ T112] device: 'link2.14': device_add
[ 34.906038][ T112] device: 'link2.14': device_add
[ 34.911351][ T112] device: 'dev2.14.0': device_add
[ 34.916318][ T112] device: 'dev2.14.0': device_add
[ 34.922247][ T112] ahci-mvebu f10a8000.sata: FBS is enabled
[ 34.928004][ T112] ata2.00: FORCE: PHY spd limit set to 1.5Gbps <-- OK!
[ 34.934110][ T112] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
[ 34.940182][ T112] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
[ 34.946276][ T112] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
[ 34.952346][ T112] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
[ 34.958446][ T112] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
[ 34.964539][ T112] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
[ 34.970609][ T112] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
[ 34.976785][ T112] ata2.00: hard resetting link
[ 34.981430][ T112] hardreset, Online=>Offline
[ 34.981466][ T112] Reconfig spd
[ 34.987235][ T112] resume, do loop
[ 35.212851][ T112] resume, after do loop
[ 35.221492][ T112] debounce, SCR=0x123
[ 35.230644][ T112] debounce, SCR=0x123
[ 35.239620][ T112] debounce, SCR=0x123
[ 35.248595][ T112] debounce, SCR=0x123
[ 35.257553][ T112] debounce, SCR=0x123
[ 35.266511][ T112] debounce, SCR=0x123
[ 35.275470][ T112] debounce, SCR=0x123
[ 35.284427][ T112] debounce, SCR=0x123
[ 35.293385][ T112] debounce, SCR=0x123
[ 35.302342][ T112] debounce, SCR=0x123
[ 35.311317][ T112] debounce, SCR=0x123
[ 35.320294][ T112] debounce, SCR=0x123
[ 35.324232][ T112] resume, return at end of function
[ 35.328121][ T112] hardreset, Offline=>Online
[ 35.337681][ T112] hardreset, after check_ready
[ 35.337896][ T112] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 35.349762][ T112] ata2.01: hard resetting link ^
[ 35.354440][ T112] hardreset, Online=>Offline |
[ 35.354477][ T112] Reconfig spd |
[ 35.360222][ T112] resume, do loop |
[ 35.592850][ T112] resume, after do loop WHY?
[ 35.601489][ T112] debounce, SCR=0x123
[ 35.610638][ T112] debounce, SCR=0x123
[ 35.619614][ T112] debounce, SCR=0x123
[ 35.628590][ T112] debounce, SCR=0x123
[ 35.637546][ T112] debounce, SCR=0x123
[ 35.646505][ T112] debounce, SCR=0x123
[ 35.655462][ T112] debounce, SCR=0x123
[ 35.664419][ T112] debounce, SCR=0x123
[ 35.673376][ T112] debounce, SCR=0x123
[ 35.682333][ T112] debounce, SCR=0x123
[ 35.691308][ T112] debounce, SCR=0x123
[ 35.700286][ T112] debounce, SCR=0x123
[ 35.704222][ T112] resume, return at end of function
[ 35.708109][ T112] hardreset, Offline=>Online
[ 35.717668][ T112] hardreset, after check_ready
[ 35.717882][ T112] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 35.729745][ T112] ata2.02: hard resetting link
[ 35.734408][ T112] hardreset, Online=>Offline
[ 35.734445][ T112] Reconfig spd
[ 35.740187][ T112] resume, do loop
[ 35.972849][ T112] resume, after do loop
[ 35.981488][ T112] debounce, SCR=0x0
[ 35.990638][ T112] debounce, SCR=0x0
[ 35.999438][ T112] debounce, SCR=0x0
[ 36.008238][ T112] debounce, SCR=0x0
[ 36.017020][ T112] debounce, SCR=0x0
[ 36.025803][ T112] debounce, SCR=0x0
[ 36.034586][ T112] debounce, SCR=0x0
[ 36.043368][ T112] debounce, SCR=0x0
[ 36.052150][ T112] debounce, SCR=0x0
[ 36.060951][ T112] debounce, SCR=0x0
[ 36.069751][ T112] debounce, SCR=0x0
[ 36.078570][ T112] debounce, SCR=0x0
[ 36.087354][ T112] debounce, SCR=0x0
[ 36.091097][ T112] resume, return at end of function
[ 36.094830][ T112] hardreset, ata_phys_link_offline check failed
[ 36.100117][ T112] ata2.02: SATA link down (SStatus 0 SControl 300)
[ 36.112710][ T112] ata2.03: hard resetting link
[ 36.117371][ T112] hardreset, Online=>Offline
[ 36.117407][ T112] Reconfig spd
[ 36.123152][ T112] resume, do loop
[ 36.352850][ T112] resume, after do loop
[ 36.361489][ T112] debounce, SCR=0x0
[ 36.370639][ T112] debounce, SCR=0x0
[ 36.379440][ T112] debounce, SCR=0x0
[ 36.388241][ T112] debounce, SCR=0x0
[ 36.397023][ T112] debounce, SCR=0x0
[ 36.405806][ T112] debounce, SCR=0x0
[ 36.414589][ T112] debounce, SCR=0x0
[ 36.423372][ T112] debounce, SCR=0x0
[ 36.432154][ T112] debounce, SCR=0x0
[ 36.440954][ T112] debounce, SCR=0x0
[ 36.449755][ T112] debounce, SCR=0x0
[ 36.458556][ T112] debounce, SCR=0x0
[ 36.467339][ T112] debounce, SCR=0x0
[ 36.471083][ T112] resume, return at end of function
[ 36.474816][ T112] hardreset, ata_phys_link_offline check failed
[ 36.480102][ T112] ata2.03: SATA link down (SStatus 0 SControl 300)
[ 36.492694][ T112] ata2.04: hard resetting link
[ 36.497357][ T112] hardreset, Online=>Offline
[ 36.497393][ T112] Reconfig spd
[ 36.503138][ T112] resume, do loop
[ 36.732849][ T112] resume, after do loop
[ 36.741487][ T112] debounce, SCR=0x0
[ 36.750637][ T112] debounce, SCR=0x0
[ 36.759438][ T112] debounce, SCR=0x0
[ 36.768238][ T112] debounce, SCR=0x0
[ 36.777022][ T112] debounce, SCR=0x0
[ 36.785805][ T112] debounce, SCR=0x0
[ 36.794588][ T112] debounce, SCR=0x0
[ 36.803370][ T112] debounce, SCR=0x0
[ 36.812152][ T112] debounce, SCR=0x0
[ 36.820952][ T112] debounce, SCR=0x0
[ 36.829752][ T112] debounce, SCR=0x0
[ 36.838554][ T112] debounce, SCR=0x0
[ 36.847337][ T112] debounce, SCR=0x0
[ 36.851081][ T112] resume, return at end of function
[ 36.854813][ T112] hardreset, ata_phys_link_offline check failed
[ 36.860099][ T112] ata2.04: SATA link down (SStatus 0 SControl 300)
[ 36.872692][ T112] ata2.05: hard resetting link
[ 36.877353][ T112] hardreset, Online=>Offline
[ 36.877390][ T112] Reconfig spd
[ 36.883134][ T112] resume, do loop
[ 37.112853][ T112] resume, after do loop
[ 37.121495][ T112] debounce, SCR=0x0
[ 37.130645][ T112] debounce, SCR=0x0
[ 37.139446][ T112] debounce, SCR=0x0
[ 37.148246][ T112] debounce, SCR=0x0
[ 37.157029][ T112] debounce, SCR=0x0
[ 37.165812][ T112] debounce, SCR=0x0
[ 37.174595][ T112] debounce, SCR=0x0
[ 37.183377][ T112] debounce, SCR=0x0
[ 37.192159][ T112] debounce, SCR=0x0
[ 37.200960][ T112] debounce, SCR=0x0
[ 37.209760][ T112] debounce, SCR=0x0
[ 37.218562][ T112] debounce, SCR=0x0
[ 37.227345][ T112] debounce, SCR=0x0
[ 37.231088][ T112] resume, return at end of function
[ 37.234820][ T112] hardreset, ata_phys_link_offline check failed
[ 37.240107][ T112] ata2.05: SATA link down (SStatus 0 SControl 300)
[ 37.252700][ T112] ata2.06: hard resetting link
[ 37.257361][ T112] hardreset, Online=>Offline
[ 37.257398][ T112] Reconfig spd
[ 37.263142][ T112] resume, do loop
[ 37.492850][ T112] resume, after do loop
[ 37.501489][ T112] debounce, SCR=0x0
[ 37.510639][ T112] debounce, SCR=0x0
[ 37.519439][ T112] debounce, SCR=0x0
[ 37.528240][ T112] debounce, SCR=0x0
[ 37.537023][ T112] debounce, SCR=0x0
[ 37.545806][ T112] debounce, SCR=0x0
[ 37.554588][ T112] debounce, SCR=0x0
[ 37.563371][ T112] debounce, SCR=0x0
[ 37.572154][ T112] debounce, SCR=0x0
[ 37.580955][ T112] debounce, SCR=0x0
[ 37.589755][ T112] debounce, SCR=0x0
[ 37.598557][ T112] debounce, SCR=0x0
[ 37.607339][ T112] debounce, SCR=0x0
[ 37.611082][ T112] resume, return at end of function
[ 37.614814][ T112] hardreset, ata_phys_link_offline check failed
[ 37.620099][ T112] ata2.06: SATA link down (SStatus 0 SControl 300)
[ 37.632690][ T112] ata2.07: hard resetting link
[ 37.637353][ T112] hardreset, Online=>Offline
[ 37.637388][ T112] Reconfig spd
[ 37.643133][ T112] resume, do loop
[ 37.872850][ T112] resume, after do loop
[ 37.881488][ T112] debounce, SCR=0x0
[ 37.890637][ T112] debounce, SCR=0x0
[ 37.899438][ T112] debounce, SCR=0x0
[ 37.908239][ T112] debounce, SCR=0x0
[ 37.917021][ T112] debounce, SCR=0x0
[ 37.925804][ T112] debounce, SCR=0x0
[ 37.934587][ T112] debounce, SCR=0x0
[ 37.943370][ T112] debounce, SCR=0x0
[ 37.952152][ T112] debounce, SCR=0x0
[ 37.960952][ T112] debounce, SCR=0x0
[ 37.969752][ T112] debounce, SCR=0x0
[ 37.978555][ T112] debounce, SCR=0x0
[ 37.987338][ T112] debounce, SCR=0x0
[ 37.991082][ T112] resume, return at end of function
[ 37.994814][ T112] hardreset, ata_phys_link_offline check failed
[ 38.000100][ T112] ata2.07: SATA link down (SStatus 0 SControl 300)
[ 38.012779][ T112] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[ 38.020410][ T112] ata2.00: 976773168 sectors, multi 0: LBA48
[ 38.026514][ T112] ata2.00: configured for UDMA/133
[ 38.031581][ T112] ata2.01: ATA-6: Areca Archive, 0100 AX, max UDMA/133
[ 38.038512][ T112] ata2.01: 23437498368 sectors, multi 0: LBA48
[ 38.044787][ T112] ata2.01: configured for UDMA/133
[ 38.049919][ T112] ata2: EH complete
[ 38.054454][ T58] scsi 1:0:0:0: Direct-Access ATA WDC WD50ARC-5040 n/a PQ: 0 ANSI: 5
[ 38.064242][ T58] device: 'target1:0:0': device_add
[ 38.069370][ T58] bus: 'scsi': add device target1:0:0
[ 38.074767][ T58] device: '1:0:0:0': device_add
[ 38.079843][ T58] bus: 'scsi': add device 1:0:0:0
[ 38.084831][ T58] scsi 1:0:0:0: scheduling asynchronous probe
[ 38.090835][ T58] device: '1:0:0:0': device_add
[ 38.090848][ T117] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
[ 38.095746][ T58] device: '1:0:0:0': device_add
[ 38.104210][ T117] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
[ 38.117256][ T117] sd 1:0:0:0: no default pinctrl state
[ 38.122722][ T117] device: '1:0:0:0': device_add
[ 38.123554][ T58] scsi 1:1:0:0: Direct-Access ATA Areca Archive n/a PQ: 0 ANSI: 5
[ 38.127910][ T117] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 38.137665][ T58] device: 'target1:1:0': device_add
[ 38.144920][ T117] sd 1:0:0:0: [sdb] Write Protect is off
[ 38.149702][ T58] bus: 'scsi': add device target1:1:0
[ 38.155226][ T117] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 38.160531][ T58] device: '1:1:0:0': device_add
[ 38.166371][ T117] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support
DPO or FUA
[ 38.171768][ T58] bus: 'scsi': add device 1:1:0:0
[ 38.180968][ T117] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[ 38.185759][ T58] scsi 1:1:0:0: scheduling asynchronous probe
[ 38.192625][ T117] device: 'sdb': device_add
[ 38.199208][ T58] device: '1:1:0:0': device_add
[ 38.203409][ T21] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
[ 38.208171][ T58] device: '1:1:0:0': device_add
[ 38.216301][ T21] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
[ 38.228860][ T21] sd 1:1:0:0: no default pinctrl state
[ 38.234346][ T21] device: '1:1:0:0': device_add
[ 38.240819][ T117] device: '8:16': device_add
[ 38.247070][ T117] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[ 38.253360][ T117] driver: 'sd': driver_bound: bound to device '1:0:0:0'
[ 38.260231][ T117] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
[ 38.262841][ T21] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
[ 38.267709][ T117] sd 1:0:0:0: async probe completed
[ 38.276356][ T21] sd 1:1:0:0: [sdc] Write Protect is off
[ 38.286864][ T21] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
[ 38.292945][ T21] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO
or FUA
[ 38.303020][ T21] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
[ 38.309950][ T21] device: 'sdc': device_add
[ 38.316143][ T21] device: '8:32': device_add
[ 38.322104][ T21] sd 1:1:0:0: [sdc] Attached SCSI removable disk
[ 38.328368][ T21] driver: 'sd': driver_bound: bound to device '1:1:0:0'
[ 38.335279][ T21] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
[ 38.342721][ T21] sd 1:1:0:0: async probe completed

Note that the kernel command doesn't seem to actually limit the speed.
I looked in /sys too, and it matches kernel log:

/sys/devices/platform/soc/soc:internal-regs/f10a8000.sata # find -type f -name *spd* -print -exec cat {} \;
./ata1/link1/dev1.0/ata_device/dev1.0/spdn_cnt
0
./ata1/link1/ata_link/link1/sata_spd_limit
<unknown>
./ata1/link1/ata_link/link1/hw_sata_spd_limit
<unknown>
./ata1/link1/ata_link/link1/sata_spd
<unknown>
./ata2/link2.2/dev2.2.0/ata_device/dev2.2.0/spdn_cnt
0
./ata2/link2.2/ata_link/link2.2/sata_spd_limit
1.5 Gbps
./ata2/link2.2/ata_link/link2.2/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.2/ata_link/link2.2/sata_spd
<unknown>
./ata2/link2.12/dev2.12.0/ata_device/dev2.12.0/spdn_cnt
0
./ata2/link2.12/ata_link/link2.12/sata_spd_limit
<unknown>
./ata2/link2.12/ata_link/link2.12/hw_sata_spd_limit
<unknown>
./ata2/link2.12/ata_link/link2.12/sata_spd
<unknown>
./ata2/link2.0/dev2.0.0/ata_device/dev2.0.0/spdn_cnt
0
./ata2/link2.0/ata_link/link2.0/sata_spd_limit
1.5 Gbps
./ata2/link2.0/ata_link/link2.0/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.0/ata_link/link2.0/sata_spd
3.0 Gbps
./ata2/link2.10/dev2.10.0/ata_device/dev2.10.0/spdn_cnt
0
./ata2/link2.10/ata_link/link2.10/sata_spd_limit
<unknown>
./ata2/link2.10/ata_link/link2.10/hw_sata_spd_limit
<unknown>
./ata2/link2.10/ata_link/link2.10/sata_spd
<unknown>
./ata2/link2.9/ata_link/link2.9/sata_spd_limit
<unknown>
./ata2/link2.9/ata_link/link2.9/hw_sata_spd_limit
<unknown>
./ata2/link2.9/ata_link/link2.9/sata_spd
<unknown>
./ata2/link2.9/dev2.9.0/ata_device/dev2.9.0/spdn_cnt
0
./ata2/link2.7/dev2.7.0/ata_device/dev2.7.0/spdn_cnt
0
./ata2/link2.7/ata_link/link2.7/sata_spd_limit
1.5 Gbps
./ata2/link2.7/ata_link/link2.7/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.7/ata_link/link2.7/sata_spd
<unknown>
./ata2/link2.5/dev2.5.0/ata_device/dev2.5.0/spdn_cnt
0
./ata2/link2.5/ata_link/link2.5/sata_spd_limit
1.5 Gbps
./ata2/link2.5/ata_link/link2.5/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.5/ata_link/link2.5/sata_spd
<unknown>
./ata2/link2.3/dev2.3.0/ata_device/dev2.3.0/spdn_cnt
0
./ata2/link2.3/ata_link/link2.3/sata_spd_limit
1.5 Gbps
./ata2/link2.3/ata_link/link2.3/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.3/ata_link/link2.3/sata_spd
<unknown>
./ata2/link2.13/dev2.13.0/ata_device/dev2.13.0/spdn_cnt
0
./ata2/link2.13/ata_link/link2.13/sata_spd_limit
<unknown>
./ata2/link2.13/ata_link/link2.13/hw_sata_spd_limit
<unknown>
./ata2/link2.13/ata_link/link2.13/sata_spd
<unknown>
./ata2/link2.1/dev2.1.0/ata_device/dev2.1.0/spdn_cnt
0
./ata2/link2.1/ata_link/link2.1/sata_spd_limit
1.5 Gbps
./ata2/link2.1/ata_link/link2.1/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.1/ata_link/link2.1/sata_spd
3.0 Gbps
./ata2/link2/dev2.0/ata_device/dev2.0/spdn_cnt
0
./ata2/link2/ata_link/link2/sata_spd_limit
1.5 Gbps
./ata2/link2/ata_link/link2/hw_sata_spd_limit
1.5 Gbps
./ata2/link2/ata_link/link2/sata_spd
1.5 Gbps
./ata2/link2.11/ata_link/link2.11/sata_spd_limit
<unknown>
./ata2/link2.11/ata_link/link2.11/hw_sata_spd_limit
<unknown>
./ata2/link2.11/ata_link/link2.11/sata_spd
<unknown>
./ata2/link2.11/dev2.11.0/ata_device/dev2.11.0/spdn_cnt
0
./ata2/link2.8/dev2.8.0/ata_device/dev2.8.0/spdn_cnt
0
./ata2/link2.8/ata_link/link2.8/sata_spd_limit
<unknown>
./ata2/link2.8/ata_link/link2.8/hw_sata_spd_limit
<unknown>
./ata2/link2.8/ata_link/link2.8/sata_spd
<unknown>
./ata2/link2.6/ata_link/link2.6/sata_spd_limit
1.5 Gbps
./ata2/link2.6/ata_link/link2.6/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.6/ata_link/link2.6/sata_spd
<unknown>
./ata2/link2.6/dev2.6.0/ata_device/dev2.6.0/spdn_cnt
0
./ata2/link2.4/dev2.4.0/ata_device/dev2.4.0/spdn_cnt
0
./ata2/link2.4/ata_link/link2.4/sata_spd_limit
1.5 Gbps
./ata2/link2.4/ata_link/link2.4/hw_sata_spd_limit
1.5 Gbps
./ata2/link2.4/ata_link/link2.4/sata_spd
<unknown>
./ata2/link2.14/ata_link/link2.14/sata_spd_limit
<unknown>
./ata2/link2.14/ata_link/link2.14/hw_sata_spd_limit
<unknown>
./ata2/link2.14/ata_link/link2.14/sata_spd
<unknown>
./ata2/link2.14/dev2.14.0/ata_device/dev2.14.0/spdn_cnt
0

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-12-06  6:08                 ` Damien Le Moal
@ 2022-12-08 21:26                   ` Pali Rohár
  2022-12-09  1:54                     ` Damien Le Moal
  0 siblings, 1 reply; 67+ messages in thread
From: Pali Rohár @ 2022-12-08 21:26 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: marius, linux-ide

On Tuesday 06 December 2022 15:08:33 Damien Le Moal wrote:
> This essentially disables the use of ahci_mvebu_stop_engine() function for
> your adapter, that is, it assumes that your newer adapter is not subject
> to errata Ref#226.

Just to make it clear, errata Ref#226 is for Armada 3720. Armada 385 is
32-bit and is _older_ product than 64-bit Armada 3720. Marvell naming
convention is... well unintuitive.

In my opinion Marvell tried to fix A385 errata Ref#FE-8889968 in its new
A3720 product but broke something different which introduced a new HW
errata Ref#226.

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

* Re: Bug report for ahci-mvebu driver
  2022-12-08 18:06                   ` marius
@ 2022-12-09  0:34                     ` Damien Le Moal
  2022-12-09  2:58                     ` Damien Le Moal
  2022-12-09  7:31                     ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-09  0:34 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 12/9/22 03:06, marius@psihoexpert.ro wrote:
> December 8, 2022 12:51 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> By the way, did you also try a cold boot ? Switching off your router,
>> connect the pmp box, turn on the router ? Does it change anything ?
>> ATA hot-plugging tends to have more problems, so worth trying. The
>> ahci_mvebu driver errata is for hot-plug, so this newer SoC may have
>> different issues with that too.
> 
> Yes. No change. Same errors.
> 
>> Can you try with no patches and no revert adding the following options to
>> your kernel command line ?
>>
>> libata.force=2:3Gbps
> 
> No change. Same errors.
> 
>> libata.force=2:1.5Gbps
> 
> This one works, without any error at the beginning, unlike the way reverted commit worked.

Interesting. So it looks like the adapter does not like speeds above
1.5Gbps, at least with pmp/fbs... When connecting a regular 3 or 6 gbps
HDD (sata-2 or sata-3), do you get higher speeds ?

So the temporary workaround is to use "libata.force=2:1.5Gbps" on the
kernel command line. For a better fix, we need to figure out why higher
speeds do not work... Difficult one. Let me have another look at the specs
& driver again. Might take some time though.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-08 21:26                   ` Pali Rohár
@ 2022-12-09  1:54                     ` Damien Le Moal
  0 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-09  1:54 UTC (permalink / raw)
  To: Pali Rohár; +Cc: marius, linux-ide

On 12/9/22 06:26, Pali Rohár wrote:
> On Tuesday 06 December 2022 15:08:33 Damien Le Moal wrote:
>> This essentially disables the use of ahci_mvebu_stop_engine() function for
>> your adapter, that is, it assumes that your newer adapter is not subject
>> to errata Ref#226.
> 
> Just to make it clear, errata Ref#226 is for Armada 3720. Armada 385 is
> 32-bit and is _older_ product than 64-bit Armada 3720. Marvell naming
> convention is... well unintuitive.

ah ! I thought the reverse :) Indeed not intuitive...

> In my opinion Marvell tried to fix A385 errata Ref#FE-8889968 in its new
> A3720 product but broke something different which introduced a new HW
> errata Ref#226.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-08 18:06                   ` marius
  2022-12-09  0:34                     ` Damien Le Moal
@ 2022-12-09  2:58                     ` Damien Le Moal
  2022-12-09  7:31                     ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-09  2:58 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 12/9/22 03:06, marius@psihoexpert.ro wrote:
> December 8, 2022 12:51 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> By the way, did you also try a cold boot ? Switching off your router,
>> connect the pmp box, turn on the router ? Does it change anything ?
>> ATA hot-plugging tends to have more problems, so worth trying. The
>> ahci_mvebu driver errata is for hot-plug, so this newer SoC may have
>> different issues with that too.
> 
> Yes. No change. Same errors.
> 
>> Can you try with no patches and no revert adding the following options to
>> your kernel command line ?
>>
>> libata.force=2:3Gbps
> 
> No change. Same errors.
> 
>> libata.force=2:1.5Gbps
> 
> This one works, without any error at the beginning, unlike the way reverted commit worked.

Checking the specs for the SoC again, it does say:

Gen3 Serial ATA PHY (6 Gbps) with speed negotiation to Gen1, Gen2

So with your gen2 (3gbps) pmp box, clearly, the speed negotiation is not
working but limiting it to 1.5gbps seems ok. Could you add the following
print to see what the HW is saying it supports ?

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 884ae73b11ea..b3925239b8b0 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -5271,6 +5271,9 @@ int sata_link_init_spd(struct ata_link *link)
        if (rc)
                return rc;

+       ata_link_info(link, "SCR_CONTROL = 0x%x\n",
+                     link->saved_scontrol);
+
        spd = (link->saved_scontrol >> 4) & 0xf;
        if (spd)
                link->hw_sata_spd_limit &= (1 << spd) - 1;

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-08 18:06                   ` marius
  2022-12-09  0:34                     ` Damien Le Moal
  2022-12-09  2:58                     ` Damien Le Moal
@ 2022-12-09  7:31                     ` marius
  2022-12-09  9:28                       ` Damien Le Moal
                                         ` (3 more replies)
  2 siblings, 4 replies; 67+ messages in thread
From: marius @ 2022-12-09  7:31 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

December 9, 2022 4:58 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> On 12/9/22 03:06, marius@psihoexpert.ro wrote:
> 
> Checking the specs for the SoC again, it does say:
> 
> Gen3 Serial ATA PHY (6 Gbps) with speed negotiation to Gen1, Gen2
> 
> So with your gen2 (3gbps) pmp box, clearly, the speed negotiation is not
> working but limiting it to 1.5gbps seems ok. Could you add the following
> print to see what the HW is saying it supports ?
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..b3925239b8b0 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -5271,6 +5271,9 @@ int sata_link_init_spd(struct ata_link *link)
> if (rc)
> return rc;
> 
> + ata_link_info(link, "SCR_CONTROL = 0x%x\n",
> + link->saved_scontrol);
> +
> spd = (link->saved_scontrol >> 4) & 0xf;
> if (spd)
> link->hw_sata_spd_limit &= (1 << spd) - 1;
> 
> --
> Damien Le Moal
> Western Digital Research


Without libata.force=2:1.5Gbps, the extra debug message appears only during boot.
Cable connected or not - doesn't matter - the messages are the same.

[    4.480888][    T1] scsi host1: ahci-mvebu
[    4.485149][    T1] device: 'host1': device_add
[    4.489728][    T1] bus: 'scsi': add device host1
[    4.494544][    T1] device: 'host1': device_add
[    4.499589][    T1] ata1: SCR_CONTROL = 0x0
[    4.503822][    T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
[    4.512480][    T1] ata2: SCR_CONTROL = 0x0
[    4.516704][    T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
[    4.525443][    T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[    4.533599][    T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu


With libata.force=2:1.5Gbps, the same message appears during boot, but then, when the device is detected:

[   17.624417][  T113] hardreset, Online=>Offline
[   17.625498][  T113] resume, do loop
[   17.853273][  T113] resume, after do loop
[   17.913272][  T113] debounce, SCR=0x113
[   17.973271][  T113] debounce, SCR=0x113
[   18.033271][  T113] debounce, SCR=0x113
[   18.093271][  T113] debounce, SCR=0x113
[   18.153271][  T113] debounce, SCR=0x113
[   18.213270][  T113] debounce, SCR=0x113
[   18.273270][  T113] debounce, SCR=0x113
[   18.333270][  T113] debounce, SCR=0x113
[   18.393271][  T113] debounce, SCR=0x113
[   18.397130][  T113] resume, return at end of function
[   18.400987][  T113] hardreset, Offline=>Online
[   18.410547][  T113] hardreset, sata_pmp_supported, before check_ready
[   18.583275][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   18.597005][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[   18.605655][  T113] device: 'link2.0': device_add
[   18.610473][  T113] device: 'link2.0': device_add
[   18.615504][  T113] device: 'dev2.0.0': device_add
[   18.620352][  T113] device: 'dev2.0.0': device_add
[   18.625852][  T113] device: 'link2.1': device_add
[   18.630625][  T113] device: 'link2.1': device_add
[   18.635522][  T113] device: 'dev2.1.0': device_add
[   18.640371][  T113] device: 'dev2.1.0': device_add
[   18.646031][  T113] device: 'link2.2': device_add
[   18.650796][  T113] device: 'link2.2': device_add
[   18.656012][  T113] device: 'dev2.2.0': device_add
[   18.660865][  T113] device: 'dev2.2.0': device_add
[   18.666438][  T113] device: 'link2.3': device_add
[   18.671204][  T113] device: 'link2.3': device_add
[   18.676113][  T113] device: 'dev2.3.0': device_add
[   18.680962][  T113] device: 'dev2.3.0': device_add
[   18.686775][  T113] device: 'link2.4': device_add
[   18.691544][  T113] device: 'link2.4': device_add
[   18.696469][  T113] device: 'dev2.4.0': device_add
[   18.701319][  T113] device: 'dev2.4.0': device_add
[   18.706341][  T113] device: 'link2.5': device_add
[   18.711109][  T113] device: 'link2.5': device_add
[   18.716036][  T113] device: 'dev2.5.0': device_add
[   18.720888][  T113] device: 'dev2.5.0': device_add
[   18.726475][  T113] device: 'link2.6': device_add
[   18.731243][  T113] device: 'link2.6': device_add
[   18.736445][  T113] device: 'dev2.6.0': device_add
[   18.741300][  T113] device: 'dev2.6.0': device_add
[   18.746642][  T113] device: 'link2.7': device_add
[   18.751412][  T113] device: 'link2.7': device_add
[   18.756871][  T113] device: 'dev2.7.0': device_add
[   18.761730][  T113] device: 'dev2.7.0': device_add
[   18.766760][  T113] device: 'link2.8': device_add
[   18.771528][  T113] device: 'link2.8': device_add
[   18.776986][  T113] device: 'dev2.8.0': device_add
[   18.781847][  T113] device: 'dev2.8.0': device_add
[   18.787176][  T113] device: 'link2.9': device_add
[   18.791951][  T113] device: 'link2.9': device_add
[   18.796844][  T113] device: 'dev2.9.0': device_add
[   18.801967][  T113] device: 'dev2.9.0': device_add
[   18.807019][  T113] device: 'link2.10': device_add
[   18.811877][  T113] device: 'link2.10': device_add
[   18.817156][  T113] device: 'dev2.10.0': device_add
[   18.822104][  T113] device: 'dev2.10.0': device_add
[   18.827544][  T113] device: 'link2.11': device_add
[   18.832406][  T113] device: 'link2.11': device_add
[   18.837713][  T113] device: 'dev2.11.0': device_add
[   18.842661][  T113] device: 'dev2.11.0': device_add
[   18.848594][  T113] device: 'link2.12': device_add
[   18.853474][  T113] device: 'link2.12': device_add
[   18.858472][  T113] device: 'dev2.12.0': device_add
[   18.863433][  T113] device: 'dev2.12.0': device_add
[   18.869167][  T113] device: 'link2.13': device_add
[   18.874050][  T113] device: 'link2.13': device_add
[   18.879039][  T113] device: 'dev2.13.0': device_add
[   18.884013][  T113] device: 'dev2.13.0': device_add
[   18.889113][  T113] device: 'link2.14': device_add
[   18.893992][  T113] device: 'link2.14': device_add
[   18.898985][  T113] device: 'dev2.14.0': device_add
[   18.903948][  T113] device: 'dev2.14.0': device_add
[   18.909642][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
[   18.915398][  T113] ata2.00: SCR_CONTROL = 0x300
[   18.920044][  T113] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
[   18.926149][  T113] ata2.01: SCR_CONTROL = 0x300
[   18.930795][  T113] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
[   18.936889][  T113] ata2.02: SCR_CONTROL = 0x300
[   18.941533][  T113] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
[   18.947634][  T113] ata2.03: SCR_CONTROL = 0x300
[   18.952277][  T113] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
[   18.958371][  T113] ata2.04: SCR_CONTROL = 0x300
[   18.963015][  T113] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
[   18.969111][  T113] ata2.05: SCR_CONTROL = 0x300
[   18.973775][  T113] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
[   18.979846][  T113] ata2.06: SCR_CONTROL = 0x300
[   18.984515][  T113] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
[   18.990586][  T113] ata2.07: SCR_CONTROL = 0x300
[   18.995251][  T113] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
[   19.001401][  T113] ata2.00: hard resetting link
[   19.006066][  T113] hardreset, Online=>Offline
[   19.006105][  T113] Reconfig spd
[   19.011857][  T113] resume, do loop
[   19.243309][  T113] resume, after do loop
[   19.251950][  T113] debounce, SCR=0x123
[   19.261104][  T113] debounce, SCR=0x123
[   19.270082][  T113] debounce, SCR=0x123
[   19.279059][  T113] debounce, SCR=0x123
[   19.288018][  T113] debounce, SCR=0x123
[   19.296978][  T113] debounce, SCR=0x123
[   19.305937][  T113] debounce, SCR=0x123
[   19.314896][  T113] debounce, SCR=0x123
[   19.323855][  T113] debounce, SCR=0x123
[   19.332813][  T113] debounce, SCR=0x123
[   19.341790][  T113] debounce, SCR=0x123
[   19.350768][  T113] debounce, SCR=0x123
[   19.354706][  T113] resume, return at end of function
[   19.358595][  T113] hardreset, Offline=>Online
[   19.368155][  T113] hardreset, after check_ready
[   19.368372][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   19.380239][  T113] ata2.01: hard resetting link
[   19.384903][  T113] hardreset, Online=>Offline
[   19.384940][  T113] Reconfig spd
[   19.390688][  T113] resume, do loop
[   19.623306][  T113] resume, after do loop
[   19.631947][  T113] debounce, SCR=0x123
[   19.641098][  T113] debounce, SCR=0x123
[   19.650075][  T113] debounce, SCR=0x123
[   19.659053][  T113] debounce, SCR=0x123
[   19.668011][  T113] debounce, SCR=0x123
[   19.676970][  T113] debounce, SCR=0x123
[   19.685929][  T113] debounce, SCR=0x123
[   19.694889][  T113] debounce, SCR=0x123
[   19.703847][  T113] debounce, SCR=0x123
[   19.712805][  T113] debounce, SCR=0x123
[   19.721782][  T113] debounce, SCR=0x123
[   19.730760][  T113] debounce, SCR=0x123
[   19.734699][  T113] resume, return at end of function
[   19.738587][  T113] hardreset, Offline=>Online
[   19.748146][  T113] hardreset, after check_ready
[   19.748363][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
...


I had the impression that speed always starts low and is negociated up (1.5 -> 3 -> 6), not starting high and decreased. How would negociation work if the speed is too high and one of the devices can't communicate?

I tried the pmp box on other computers. ATI/AMD AHCI, Jmicron PATA/SATA combo card, Intel ICH7. None of these have any errors in the log.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-12-09  7:31                     ` marius
@ 2022-12-09  9:28                       ` Damien Le Moal
  2022-12-09 18:30                       ` marius
                                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2022-12-09  9:28 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 12/9/22 16:31, marius@psihoexpert.ro wrote:
> December 9, 2022 4:58 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> On 12/9/22 03:06, marius@psihoexpert.ro wrote:
>>
>> Checking the specs for the SoC again, it does say:
>>
>> Gen3 Serial ATA PHY (6 Gbps) with speed negotiation to Gen1, Gen2
>>
>> So with your gen2 (3gbps) pmp box, clearly, the speed negotiation is not
>> working but limiting it to 1.5gbps seems ok. Could you add the following
>> print to see what the HW is saying it supports ?
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 884ae73b11ea..b3925239b8b0 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -5271,6 +5271,9 @@ int sata_link_init_spd(struct ata_link *link)
>> if (rc)
>> return rc;
>>
>> + ata_link_info(link, "SCR_CONTROL = 0x%x\n",
>> + link->saved_scontrol);
>> +
>> spd = (link->saved_scontrol >> 4) & 0xf;
>> if (spd)
>> link->hw_sata_spd_limit &= (1 << spd) - 1;
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> 
> Without libata.force=2:1.5Gbps, the extra debug message appears only during boot.
> Cable connected or not - doesn't matter - the messages are the same.
> 
> [    4.480888][    T1] scsi host1: ahci-mvebu
> [    4.485149][    T1] device: 'host1': device_add
> [    4.489728][    T1] bus: 'scsi': add device host1
> [    4.494544][    T1] device: 'host1': device_add
> [    4.499589][    T1] ata1: SCR_CONTROL = 0x0

OK. So the HW is saying that it has no restrictions on the link speed.
From AHCI specs, bits 07:04 of SCR CONTROL (SControl) mean:

0h	No speed negotiation restrictions
1h	Limit speed negotiation to Generation 1 communication rate
2h	Limit speed negotiation to a rate not greater than Generation 2
communication rate
3h	Limit speed negotiation to a rate not greater than Generation 3
communication rate

> [    4.503822][    T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
> [    4.512480][    T1] ata2: SCR_CONTROL = 0x0
> [    4.516704][    T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
> [    4.525443][    T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
> [    4.533599][    T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
> 
> 
> With libata.force=2:1.5Gbps, the same message appears during boot, but then, when the device is detected:

First of all, understand how PMP works: the adapter must first detect that
it is dealing with a port multiplier box, not an actual device. But on
startup, it does not know that yet and so link speed negotiation is done
with the box. Once that is done and a "PMP" device type detected, the link
speed may be changed to the lowest speed of all the devices in the box so
that the adapter can communicate with all of them over the same link.

> [   17.624417][  T113] hardreset, Online=>Offline
> [   17.625498][  T113] resume, do loop
> [   17.853273][  T113] resume, after do loop
> [   17.913272][  T113] debounce, SCR=0x113
> [   17.973271][  T113] debounce, SCR=0x113
> [   18.033271][  T113] debounce, SCR=0x113
> [   18.093271][  T113] debounce, SCR=0x113
> [   18.153271][  T113] debounce, SCR=0x113
> [   18.213270][  T113] debounce, SCR=0x113
> [   18.273270][  T113] debounce, SCR=0x113
> [   18.333270][  T113] debounce, SCR=0x113
> [   18.393271][  T113] debounce, SCR=0x113
> [   18.397130][  T113] resume, return at end of function
> [   18.400987][  T113] hardreset, Offline=>Online
> [   18.410547][  T113] hardreset, sata_pmp_supported, before check_ready
> [   18.583275][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [   18.597005][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f

OK. So by limiting to 1.5gbps, detection works and the adapter detects the
PMP device. The driver then goes on to probe all ports present on the PMP.

[...]

> [   18.920044][  T113] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
> [   18.926149][  T113] ata2.01: SCR_CONTROL = 0x300
> [   18.930795][  T113] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
> [   18.936889][  T113] ata2.02: SCR_CONTROL = 0x300
> [   18.941533][  T113] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
> [   18.947634][  T113] ata2.03: SCR_CONTROL = 0x300
> [   18.952277][  T113] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
> [   18.958371][  T113] ata2.04: SCR_CONTROL = 0x300
> [   18.963015][  T113] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
> [   18.969111][  T113] ata2.05: SCR_CONTROL = 0x300
> [   18.973775][  T113] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
> [   18.979846][  T113] ata2.06: SCR_CONTROL = 0x300
> [   18.984515][  T113] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
> [   18.990586][  T113] ata2.07: SCR_CONTROL = 0x300
> [   18.995251][  T113] ata2.07: FORCE: PHY spd limit set to 1.5Gbps

Here, the speed is limited to 1.5gbps for all ports because the kernel
option limited the link to that speed. SCR control == 0x300 means
"Transitions to both Partial and Slumber states disabled"... Hmm. May be
this is what we need: no LPM.

> [   19.001401][  T113] ata2.00: hard resetting link
> [   19.006066][  T113] hardreset, Online=>Offline

Not sure why it resets again here... Might be the COMRESET needed for PMP
before probing the ports.

> [   19.006105][  T113] Reconfig spd

Which function did you add this message to ?

> [   19.011857][  T113] resume, do loop
> [   19.243309][  T113] resume, after do loop
> [   19.251950][  T113] debounce, SCR=0x123
> [   19.261104][  T113] debounce, SCR=0x123
> [   19.270082][  T113] debounce, SCR=0x123
> [   19.279059][  T113] debounce, SCR=0x123
> [   19.288018][  T113] debounce, SCR=0x123
> [   19.296978][  T113] debounce, SCR=0x123
> [   19.305937][  T113] debounce, SCR=0x123
> [   19.314896][  T113] debounce, SCR=0x123
> [   19.323855][  T113] debounce, SCR=0x123
> [   19.332813][  T113] debounce, SCR=0x123
> [   19.341790][  T113] debounce, SCR=0x123
> [   19.350768][  T113] debounce, SCR=0x123
> [   19.354706][  T113] resume, return at end of function
> [   19.358595][  T113] hardreset, Offline=>Online
> [   19.368155][  T113] hardreset, after check_ready
> [   19.368372][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

So now the PMP box speed is negotiated at 3gbps at it should have in the
first place. Weird. The option should still force limit it to 1.5gbps...

> [   19.380239][  T113] ata2.01: hard resetting link
> [   19.384903][  T113] hardreset, Online=>Offline
> [   19.384940][  T113] Reconfig spd
> [   19.390688][  T113] resume, do loop
> [   19.623306][  T113] resume, after do loop
> [   19.631947][  T113] debounce, SCR=0x123
> [   19.641098][  T113] debounce, SCR=0x123
> [   19.650075][  T113] debounce, SCR=0x123
> [   19.659053][  T113] debounce, SCR=0x123
> [   19.668011][  T113] debounce, SCR=0x123
> [   19.676970][  T113] debounce, SCR=0x123
> [   19.685929][  T113] debounce, SCR=0x123
> [   19.694889][  T113] debounce, SCR=0x123
> [   19.703847][  T113] debounce, SCR=0x123
> [   19.712805][  T113] debounce, SCR=0x123
> [   19.721782][  T113] debounce, SCR=0x123
> [   19.730760][  T113] debounce, SCR=0x123
> [   19.734699][  T113] resume, return at end of function
> [   19.738587][  T113] hardreset, Offline=>Online
> [   19.748146][  T113] hardreset, after check_ready
> [   19.748363][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

And the first port gets 3gbps too.

> ...
> 
> 
> I had the impression that speed always starts low and is negociated up (1.5 -> 3 -> 6), not starting high and decreased. How would negociation work if the speed is too high and one of the devices can't communicate?

The speed will start at the highest auto-negotiated speed, at the HW
level. The ahci driver will however lower it if it sees errors during
probe and try probe again with the lower speed.

What I do not understand here is why after the second reset we get 3gbps.
The libata.force parameter seems to be ignored and auto-negociation
working, detecting the pmp at 3gbps. Need to dig into that...

In the mean time, can you try this kernel boot option:

libata.force=2:nolpm

without the "2:1.5Gbps" option.

> 
> I tried the pmp box on other computers. ATI/AMD AHCI, Jmicron PATA/SATA combo card, Intel ICH7. None of these have any errors in the log.
> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-12-09  7:31                     ` marius
  2022-12-09  9:28                       ` Damien Le Moal
@ 2022-12-09 18:30                       ` marius
  2023-01-14 18:01                       ` marius
  2023-01-24 17:06                       ` Bug report for sata_via driver marius
  3 siblings, 0 replies; 67+ messages in thread
From: marius @ 2022-12-09 18:30 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

December 9, 2022 11:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

>> [ 19.006105][ T113] Reconfig spd
> 
> Which function did you add this message to ?

sata_link_hardreset(), inside if(sata_set_spd_needed(link)){} condition,
but I replaced it with detailed debug inside sata_set_spd_needed() and ___sata_set_spd_needed()

I ran the tests again with the new debug messages.
These are kernel boot logs with eSATA cable already connected.
I selected only the interesting lines to make it easy to read.

---- force 1.5Gbps ----

[ 4.362670][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
mode
[ 4.372489][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
[ 4.501238][ T1] ata1: SCR_CONTROL = 0x0
[ 4.505468][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
[ 4.514123][ T1] ata2: SCR_CONTROL = 0x0
[ 4.518345][ T1] ata2: FORCE: PHY spd limit set to 1.5Gbps
[ 4.524121][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
[ 4.533000][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[ 4.533531][ T107] hardreset, Online=>Offline
[ 4.541075][ T107] sata_set_spd_needed, scontrol=0x0
[ 4.545587][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 4.559662][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 4.559667][ T107] __sata_set_spd_needed, target=0x0
[ 4.559671][ T107] __sata_set_spd_needed, spd=0x0
[ 4.559675][ T107] __sata_set_spd_needed, final *scontrol=0x0
[ 4.560898][ T107] resume, do loop
[ 4.571158][ T112] hardreset, Online=>Offline
[ 4.582480][ T112] sata_set_spd_needed, scontrol=0x0
[ 4.593173][ T112] __sata_set_spd_needed, initial limit=0x1
[ 4.601251][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 4.611322][ T112] __sata_set_spd_needed, target=0x1
[ 4.627598][ T112] __sata_set_spd_needed, spd=0x0
[ 4.627602][ T112] __sata_set_spd_needed, final *scontrol=0x10
[ 4.627608][ T112] __sata_set_spd_needed, initial limit=0x1  <--- why does it run twice?
[ 4.627611][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 4.627615][ T112] __sata_set_spd_needed, target=0x1
[ 4.627619][ T112] __sata_set_spd_needed, spd=0x0
[ 4.627622][ T112] __sata_set_spd_needed, final *scontrol=0x314
[ 4.628702][ T112] resume, do loop
[ 4.794479][ T107] resume, after do loop
[ 4.800859][ T107] debounce, SCR=0x0 <---- T107 is probably ata1, not connected
[ 4.805936][ T107] debounce, SCR=0x0
[ 4.814690][ T107] debounce, SCR=0x0
[ 4.822841][ T107] debounce, SCR=0x0
[ 4.836237][ T107] debounce, SCR=0x0
[ 4.845368][ T107] debounce, SCR=0x0
[ 4.855008][ T107] debounce, SCR=0x0
[ 4.864502][ T112] resume, after do loop
[ 4.869198][ T107] debounce, SCR=0x0
[ 4.877867][ T112] debounce, SCR=0x113 <---- T112 is probably ata2, link detected
[ 4.886183][ T107] debounce, SCR=0x0
[ 4.894861][ T107] resume, return at end of function
[ 4.903009][ T107] hardreset, ata_phys_link_offline check failed
[ 4.913867][ T107] ata1: SATA link down (SStatus 0 SControl 300)
[ 4.924894][ T112] debounce, SCR=0x113
...
[ 5.867867][ T112] ata2.00: SCR_CONTROL = 0x300
[ 5.872520][ T112] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
[ 5.883284][ T112] ata2.01: SCR_CONTROL = 0x300
[ 5.887960][ T112] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
[ 5.888111][ T112] ata2.02: SCR_CONTROL = 0x300
[ 5.901206][ T112] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
[ 5.919553][ T112] ata2.03: SCR_CONTROL = 0x300
[ 5.930054][ T112] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
[ 5.956888][ T112] ata2.04: SCR_CONTROL = 0x300
[ 5.968103][ T112] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
[ 5.984053][ T112] ata2.05: SCR_CONTROL = 0x300
[ 5.988735][ T112] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
[ 5.988858][ T112] ata2.06: SCR_CONTROL = 0x300
[ 5.988865][ T112] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
[ 5.988947][ T112] ata2.07: SCR_CONTROL = 0x300
[ 5.988953][ T112] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
[ 5.997728][ T112] ata2.00: hard resetting link
[ 6.008378][ T112] hardreset, Online=>Offline
[ 6.025110][ T112] sata_set_spd_needed, scontrol=0x300
[ 6.039361][ T112] __sata_set_spd_needed, initial limit=0x1
[ 6.049281][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 6.064930][ T112] __sata_set_spd_needed, target=0x1
[ 6.064935][ T112] __sata_set_spd_needed, spd=0x0
[ 6.064939][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 6.097506][ T112] __sata_set_spd_needed, initial limit=0x1
[ 6.108372][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 6.118892][ T112] __sata_set_spd_needed, target=0x1
[ 6.118897][ T112] __sata_set_spd_needed, spd=0x0
[ 6.129664][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 6.153117][ T112] resume, do loop
[ 6.387397][ T112] resume, after do loop
[ 6.394052][ T112] debounce, SCR=0x123
[ 6.414455][ T112] debounce, SCR=0x123
[ 6.427772][ T112] debounce, SCR=0x123
[ 6.436940][ T112] debounce, SCR=0x123
[ 6.446566][ T112] debounce, SCR=0x123
[ 6.456201][ T112] debounce, SCR=0x123
[ 6.461379][ T112] debounce, SCR=0x123
[ 6.470664][ T112] debounce, SCR=0x123
[ 6.494546][ T112] debounce, SCR=0x123
[ 6.497712][ T112] resume, return at end of function
[ 6.512188][ T112] hardreset, Offline=>Online
[ 6.527056][ T112] hardreset, after check_ready
[ 6.538540][ T112] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

---- force 3.0Gbps ----

[ 4.364181][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
mode
[ 4.374001][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
[ 4.501990][ T1] ata1: SCR_CONTROL = 0x0
[ 4.506221][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
[ 4.514896][ T1] ata2: SCR_CONTROL = 0x0
[ 4.519102][ T1] ata2: FORCE: PHY spd limit set to 3.0Gbps
[ 4.524894][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
[ 4.533679][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[ 4.541836][ T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
[ 4.544628][ T107] hardreset, Online=>Offline
[ 4.550844][ T107] sata_set_spd_needed, scontrol=0x0
[ 4.555435][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 4.565341][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 4.576197][ T107] __sata_set_spd_needed, target=0x0
[ 4.576202][ T107] __sata_set_spd_needed, spd=0x0
[ 4.576206][ T107] __sata_set_spd_needed, final *scontrol=0x0
[ 4.590311][ T107] resume, do loop
[ 4.598257][ T112] hardreset, Online=>Offline
[ 4.615265][ T112] sata_set_spd_needed, scontrol=0x0
[ 4.629198][ T112] __sata_set_spd_needed, initial limit=0x3
[ 4.640664][ T112] __sata_set_spd_needed, corrected limit=0x3
[ 4.640668][ T112] __sata_set_spd_needed, target=0x2
[ 4.640672][ T112] __sata_set_spd_needed, spd=0x0
[ 4.652837][ T112] __sata_set_spd_needed, final *scontrol=0x20
[ 4.663171][ T112] __sata_set_spd_needed, initial limit=0x3
[ 4.674127][ T112] __sata_set_spd_needed, corrected limit=0x3
[ 4.687268][ T112] __sata_set_spd_needed, target=0x2
[ 4.687273][ T112] __sata_set_spd_needed, spd=0x0
[ 4.687277][ T112] __sata_set_spd_needed, final *scontrol=0x324
[ 4.688355][ T112] resume, do loop
[ 4.824481][ T107] resume, after do loop
[ 4.833744][ T107] debounce, SCR=0x0
...
[ 4.916944][ T107] debounce, SCR=0x0
[ 4.924448][ T112] resume, after do loop
[ 4.930813][ T107] debounce, SCR=0x0
[ 4.940447][ T107] resume, return at end of function
[ 4.948608][ T107] hardreset, ata_phys_link_offline check failed
[ 4.958306][ T107] ata1: SATA link down (SStatus 0 SControl 300)
[ 4.958766][ T112] debounce, SCR=0x100
[ 4.974540][ T112] debounce, SCR=0x100
[ 4.984450][ T112] debounce, SCR=0x100
[ 4.998528][ T112] debounce, SCR=0x100
[ 5.006870][ T112] debounce, SCR=0x101
[ 5.016032][ T112] debounce, SCR=0x100

---- nolpm ----

[ 4.364384][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
mode
[ 4.374205][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
[ 4.502855][ T1] ata1: SCR_CONTROL = 0x0
[ 4.507087][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
[ 4.515761][ T1] ata2: SCR_CONTROL = 0x0
[ 4.519968][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
[ 4.528704][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[ 4.536860][ T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
[ 4.544628][ T107] hardreset, Online=>Offline
[ 4.545867][ T107] sata_set_spd_needed, scontrol=0x0
[ 4.550348][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 4.560435][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 4.571308][ T107] __sata_set_spd_needed, target=0x0
[ 4.583386][ T107] __sata_set_spd_needed, spd=0x0
[ 4.599648][ T107] __sata_set_spd_needed, final *scontrol=0x0
[ 4.615974][ T107] resume, do loop
[ 4.627876][ T112] hardreset, Online=>Offline
[ 4.638396][ T112] sata_set_spd_needed, scontrol=0x0
[ 4.647521][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 4.660915][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 4.673702][ T112] __sata_set_spd_needed, target=0x0
[ 4.686663][ T112] __sata_set_spd_needed, spd=0x0
[ 4.686668][ T112] __sata_set_spd_needed, final *scontrol=0x0
[ 4.688105][ T112] resume, do loop
[ 4.854467][ T107] resume, after do loop
[ 4.863650][ T107] debounce, SCR=0x0
[ 4.873874][ T107] debounce, SCR=0x0
[ 4.882559][ T107] debounce, SCR=0x0
[ 4.891306][ T107] debounce, SCR=0x0
[ 4.901119][ T107] debounce, SCR=0x0
[ 4.910367][ T107] debounce, SCR=0x0
[ 4.915322][ T112] resume, after do loop
[ 4.920379][ T107] debounce, SCR=0x0
[ 4.927643][ T112] debounce, SCR=0x100
[ 4.936031][ T107] debounce, SCR=0x0
[ 4.944728][ T112] debounce, SCR=0x100
[ 4.953532][ T107] debounce, SCR=0x0
[ 4.962475][ T107] resume, return at end of function
[ 4.970650][ T107] hardreset, ata_phys_link_offline check failed
[ 4.980376][ T107] ata1: SATA link down (SStatus 0 SControl 300)
[ 4.991536][ T112] debounce, SCR=0x100
[ 5.007097][ T112] debounce, SCR=0x100
[ 5.016660][ T112] debounce, SCR=0x100
[ 5.025693][ T112] debounce, SCR=0x100
[ 5.030094][ T112] resume, return at end of function
[ 5.033962][ T112] hardreset, ata_phys_link_offline check failed
[ 5.043999][ T112] ata2: SATA link down (SStatus 101 SControl 300)
[ 5.054652][ T112] hardreset, Online=>Offline
[ 5.067061][ T112] sata_set_spd_needed, scontrol=0x300
[ 5.067066][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 5.076006][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 5.076010][ T112] __sata_set_spd_needed, target=0x0
[ 5.076014][ T112] __sata_set_spd_needed, spd=0x0
[ 5.076018][ T112] __sata_set_spd_needed, final *scontrol=0x300
[ 5.077276][ T112] resume, do loop
[ 5.314471][ T112] resume, after do loop
[ 5.364488][ T112] debounce, SCR=0x100
... and doesn't work.


Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2022-12-09  7:31                     ` marius
  2022-12-09  9:28                       ` Damien Le Moal
  2022-12-09 18:30                       ` marius
@ 2023-01-14 18:01                       ` marius
  2023-01-15 23:37                         ` Damien Le Moal
                                           ` (2 more replies)
  2023-01-24 17:06                       ` Bug report for sata_via driver marius
  3 siblings, 3 replies; 67+ messages in thread
From: marius @ 2023-01-14 18:01 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

Do you need any more tests?


December 9, 2022 8:30 PM, marius@psihoexpert.ro wrote:

> December 9, 2022 11:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>>> [ 19.006105][ T113] Reconfig spd
>> 
>> Which function did you add this message to ?
> 
> sata_link_hardreset(), inside if(sata_set_spd_needed(link)){} condition,
> but I replaced it with detailed debug inside sata_set_spd_needed() and ___sata_set_spd_needed()
> 
> I ran the tests again with the new debug messages.
> These are kernel boot logs with eSATA cable already connected.
> I selected only the interesting lines to make it easy to read.
> 
> ---- force 1.5Gbps ----
> 
> [ 4.362670][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
> mode
> [ 4.372489][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
> [ 4.501238][ T1] ata1: SCR_CONTROL = 0x0
> [ 4.505468][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
> [ 4.514123][ T1] ata2: SCR_CONTROL = 0x0
> [ 4.518345][ T1] ata2: FORCE: PHY spd limit set to 1.5Gbps
> [ 4.524121][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
> [ 4.533000][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
> [ 4.533531][ T107] hardreset, Online=>Offline
> [ 4.541075][ T107] sata_set_spd_needed, scontrol=0x0
> [ 4.545587][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 4.559662][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 4.559667][ T107] __sata_set_spd_needed, target=0x0
> [ 4.559671][ T107] __sata_set_spd_needed, spd=0x0
> [ 4.559675][ T107] __sata_set_spd_needed, final *scontrol=0x0
> [ 4.560898][ T107] resume, do loop
> [ 4.571158][ T112] hardreset, Online=>Offline
> [ 4.582480][ T112] sata_set_spd_needed, scontrol=0x0
> [ 4.593173][ T112] __sata_set_spd_needed, initial limit=0x1
> [ 4.601251][ T112] __sata_set_spd_needed, corrected limit=0x1
> [ 4.611322][ T112] __sata_set_spd_needed, target=0x1
> [ 4.627598][ T112] __sata_set_spd_needed, spd=0x0
> [ 4.627602][ T112] __sata_set_spd_needed, final *scontrol=0x10
> [ 4.627608][ T112] __sata_set_spd_needed, initial limit=0x1 <--- why does it run twice?
> [ 4.627611][ T112] __sata_set_spd_needed, corrected limit=0x1
> [ 4.627615][ T112] __sata_set_spd_needed, target=0x1
> [ 4.627619][ T112] __sata_set_spd_needed, spd=0x0
> [ 4.627622][ T112] __sata_set_spd_needed, final *scontrol=0x314
> [ 4.628702][ T112] resume, do loop
> [ 4.794479][ T107] resume, after do loop
> [ 4.800859][ T107] debounce, SCR=0x0 <---- T107 is probably ata1, not connected
> [ 4.805936][ T107] debounce, SCR=0x0
> [ 4.814690][ T107] debounce, SCR=0x0
> [ 4.822841][ T107] debounce, SCR=0x0
> [ 4.836237][ T107] debounce, SCR=0x0
> [ 4.845368][ T107] debounce, SCR=0x0
> [ 4.855008][ T107] debounce, SCR=0x0
> [ 4.864502][ T112] resume, after do loop
> [ 4.869198][ T107] debounce, SCR=0x0
> [ 4.877867][ T112] debounce, SCR=0x113 <---- T112 is probably ata2, link detected
> [ 4.886183][ T107] debounce, SCR=0x0
> [ 4.894861][ T107] resume, return at end of function
> [ 4.903009][ T107] hardreset, ata_phys_link_offline check failed
> [ 4.913867][ T107] ata1: SATA link down (SStatus 0 SControl 300)
> [ 4.924894][ T112] debounce, SCR=0x113
> ...
> [ 5.867867][ T112] ata2.00: SCR_CONTROL = 0x300
> [ 5.872520][ T112] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.883284][ T112] ata2.01: SCR_CONTROL = 0x300
> [ 5.887960][ T112] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.888111][ T112] ata2.02: SCR_CONTROL = 0x300
> [ 5.901206][ T112] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.919553][ T112] ata2.03: SCR_CONTROL = 0x300
> [ 5.930054][ T112] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.956888][ T112] ata2.04: SCR_CONTROL = 0x300
> [ 5.968103][ T112] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.984053][ T112] ata2.05: SCR_CONTROL = 0x300
> [ 5.988735][ T112] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.988858][ T112] ata2.06: SCR_CONTROL = 0x300
> [ 5.988865][ T112] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.988947][ T112] ata2.07: SCR_CONTROL = 0x300
> [ 5.988953][ T112] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
> [ 5.997728][ T112] ata2.00: hard resetting link
> [ 6.008378][ T112] hardreset, Online=>Offline
> [ 6.025110][ T112] sata_set_spd_needed, scontrol=0x300
> [ 6.039361][ T112] __sata_set_spd_needed, initial limit=0x1
> [ 6.049281][ T112] __sata_set_spd_needed, corrected limit=0x1
> [ 6.064930][ T112] __sata_set_spd_needed, target=0x1
> [ 6.064935][ T112] __sata_set_spd_needed, spd=0x0
> [ 6.064939][ T112] __sata_set_spd_needed, final *scontrol=0x310
> [ 6.097506][ T112] __sata_set_spd_needed, initial limit=0x1
> [ 6.108372][ T112] __sata_set_spd_needed, corrected limit=0x1
> [ 6.118892][ T112] __sata_set_spd_needed, target=0x1
> [ 6.118897][ T112] __sata_set_spd_needed, spd=0x0
> [ 6.129664][ T112] __sata_set_spd_needed, final *scontrol=0x310
> [ 6.153117][ T112] resume, do loop
> [ 6.387397][ T112] resume, after do loop
> [ 6.394052][ T112] debounce, SCR=0x123
> [ 6.414455][ T112] debounce, SCR=0x123
> [ 6.427772][ T112] debounce, SCR=0x123
> [ 6.436940][ T112] debounce, SCR=0x123
> [ 6.446566][ T112] debounce, SCR=0x123
> [ 6.456201][ T112] debounce, SCR=0x123
> [ 6.461379][ T112] debounce, SCR=0x123
> [ 6.470664][ T112] debounce, SCR=0x123
> [ 6.494546][ T112] debounce, SCR=0x123
> [ 6.497712][ T112] resume, return at end of function
> [ 6.512188][ T112] hardreset, Offline=>Online
> [ 6.527056][ T112] hardreset, after check_ready
> [ 6.538540][ T112] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> 
> ---- force 3.0Gbps ----
> 
> [ 4.364181][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
> mode
> [ 4.374001][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
> [ 4.501990][ T1] ata1: SCR_CONTROL = 0x0
> [ 4.506221][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
> [ 4.514896][ T1] ata2: SCR_CONTROL = 0x0
> [ 4.519102][ T1] ata2: FORCE: PHY spd limit set to 3.0Gbps
> [ 4.524894][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
> [ 4.533679][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
> [ 4.541836][ T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
> [ 4.544628][ T107] hardreset, Online=>Offline
> [ 4.550844][ T107] sata_set_spd_needed, scontrol=0x0
> [ 4.555435][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 4.565341][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 4.576197][ T107] __sata_set_spd_needed, target=0x0
> [ 4.576202][ T107] __sata_set_spd_needed, spd=0x0
> [ 4.576206][ T107] __sata_set_spd_needed, final *scontrol=0x0
> [ 4.590311][ T107] resume, do loop
> [ 4.598257][ T112] hardreset, Online=>Offline
> [ 4.615265][ T112] sata_set_spd_needed, scontrol=0x0
> [ 4.629198][ T112] __sata_set_spd_needed, initial limit=0x3
> [ 4.640664][ T112] __sata_set_spd_needed, corrected limit=0x3
> [ 4.640668][ T112] __sata_set_spd_needed, target=0x2
> [ 4.640672][ T112] __sata_set_spd_needed, spd=0x0
> [ 4.652837][ T112] __sata_set_spd_needed, final *scontrol=0x20
> [ 4.663171][ T112] __sata_set_spd_needed, initial limit=0x3
> [ 4.674127][ T112] __sata_set_spd_needed, corrected limit=0x3
> [ 4.687268][ T112] __sata_set_spd_needed, target=0x2
> [ 4.687273][ T112] __sata_set_spd_needed, spd=0x0
> [ 4.687277][ T112] __sata_set_spd_needed, final *scontrol=0x324
> [ 4.688355][ T112] resume, do loop
> [ 4.824481][ T107] resume, after do loop
> [ 4.833744][ T107] debounce, SCR=0x0
> ...
> [ 4.916944][ T107] debounce, SCR=0x0
> [ 4.924448][ T112] resume, after do loop
> [ 4.930813][ T107] debounce, SCR=0x0
> [ 4.940447][ T107] resume, return at end of function
> [ 4.948608][ T107] hardreset, ata_phys_link_offline check failed
> [ 4.958306][ T107] ata1: SATA link down (SStatus 0 SControl 300)
> [ 4.958766][ T112] debounce, SCR=0x100
> [ 4.974540][ T112] debounce, SCR=0x100
> [ 4.984450][ T112] debounce, SCR=0x100
> [ 4.998528][ T112] debounce, SCR=0x100
> [ 5.006870][ T112] debounce, SCR=0x101
> [ 5.016032][ T112] debounce, SCR=0x100
> 
> ---- nolpm ----
> 
> [ 4.364384][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
> mode
> [ 4.374205][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
> [ 4.502855][ T1] ata1: SCR_CONTROL = 0x0
> [ 4.507087][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
> [ 4.515761][ T1] ata2: SCR_CONTROL = 0x0
> [ 4.519968][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
> [ 4.528704][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
> [ 4.536860][ T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
> [ 4.544628][ T107] hardreset, Online=>Offline
> [ 4.545867][ T107] sata_set_spd_needed, scontrol=0x0
> [ 4.550348][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 4.560435][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 4.571308][ T107] __sata_set_spd_needed, target=0x0
> [ 4.583386][ T107] __sata_set_spd_needed, spd=0x0
> [ 4.599648][ T107] __sata_set_spd_needed, final *scontrol=0x0
> [ 4.615974][ T107] resume, do loop
> [ 4.627876][ T112] hardreset, Online=>Offline
> [ 4.638396][ T112] sata_set_spd_needed, scontrol=0x0
> [ 4.647521][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 4.660915][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 4.673702][ T112] __sata_set_spd_needed, target=0x0
> [ 4.686663][ T112] __sata_set_spd_needed, spd=0x0
> [ 4.686668][ T112] __sata_set_spd_needed, final *scontrol=0x0
> [ 4.688105][ T112] resume, do loop
> [ 4.854467][ T107] resume, after do loop
> [ 4.863650][ T107] debounce, SCR=0x0
> [ 4.873874][ T107] debounce, SCR=0x0
> [ 4.882559][ T107] debounce, SCR=0x0
> [ 4.891306][ T107] debounce, SCR=0x0
> [ 4.901119][ T107] debounce, SCR=0x0
> [ 4.910367][ T107] debounce, SCR=0x0
> [ 4.915322][ T112] resume, after do loop
> [ 4.920379][ T107] debounce, SCR=0x0
> [ 4.927643][ T112] debounce, SCR=0x100
> [ 4.936031][ T107] debounce, SCR=0x0
> [ 4.944728][ T112] debounce, SCR=0x100
> [ 4.953532][ T107] debounce, SCR=0x0
> [ 4.962475][ T107] resume, return at end of function
> [ 4.970650][ T107] hardreset, ata_phys_link_offline check failed
> [ 4.980376][ T107] ata1: SATA link down (SStatus 0 SControl 300)
> [ 4.991536][ T112] debounce, SCR=0x100
> [ 5.007097][ T112] debounce, SCR=0x100
> [ 5.016660][ T112] debounce, SCR=0x100
> [ 5.025693][ T112] debounce, SCR=0x100
> [ 5.030094][ T112] resume, return at end of function
> [ 5.033962][ T112] hardreset, ata_phys_link_offline check failed
> [ 5.043999][ T112] ata2: SATA link down (SStatus 101 SControl 300)
> [ 5.054652][ T112] hardreset, Online=>Offline
> [ 5.067061][ T112] sata_set_spd_needed, scontrol=0x300
> [ 5.067066][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 5.076006][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 5.076010][ T112] __sata_set_spd_needed, target=0x0
> [ 5.076014][ T112] __sata_set_spd_needed, spd=0x0
> [ 5.076018][ T112] __sata_set_spd_needed, final *scontrol=0x300
> [ 5.077276][ T112] resume, do loop
> [ 5.314471][ T112] resume, after do loop
> [ 5.364488][ T112] debounce, SCR=0x100
> ... and doesn't work.
> 
> Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-14 18:01                       ` marius
@ 2023-01-15 23:37                         ` Damien Le Moal
  2023-01-17  8:26                         ` Damien Le Moal
  2023-01-18 19:43                         ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-15 23:37 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/15/23 03:01, marius@psihoexpert.ro wrote:
> Do you need any more tests?

Sorry for the late followup. I have been busy with many different things.
Let me try to patch something for you to test.

> 
> 
> December 9, 2022 8:30 PM, marius@psihoexpert.ro wrote:
> 
>> December 9, 2022 11:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>
>>>> [ 19.006105][ T113] Reconfig spd
>>>
>>> Which function did you add this message to ?
>>
>> sata_link_hardreset(), inside if(sata_set_spd_needed(link)){} condition,
>> but I replaced it with detailed debug inside sata_set_spd_needed() and ___sata_set_spd_needed()
>>
>> I ran the tests again with the new debug messages.
>> These are kernel boot logs with eSATA cable already connected.
>> I selected only the interesting lines to make it easy to read.
>>
>> ---- force 1.5Gbps ----
>>
>> [ 4.362670][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
>> mode
>> [ 4.372489][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
>> [ 4.501238][ T1] ata1: SCR_CONTROL = 0x0
>> [ 4.505468][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
>> [ 4.514123][ T1] ata2: SCR_CONTROL = 0x0
>> [ 4.518345][ T1] ata2: FORCE: PHY spd limit set to 1.5Gbps
>> [ 4.524121][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
>> [ 4.533000][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
>> [ 4.533531][ T107] hardreset, Online=>Offline
>> [ 4.541075][ T107] sata_set_spd_needed, scontrol=0x0
>> [ 4.545587][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 4.559662][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 4.559667][ T107] __sata_set_spd_needed, target=0x0
>> [ 4.559671][ T107] __sata_set_spd_needed, spd=0x0
>> [ 4.559675][ T107] __sata_set_spd_needed, final *scontrol=0x0
>> [ 4.560898][ T107] resume, do loop
>> [ 4.571158][ T112] hardreset, Online=>Offline
>> [ 4.582480][ T112] sata_set_spd_needed, scontrol=0x0
>> [ 4.593173][ T112] __sata_set_spd_needed, initial limit=0x1
>> [ 4.601251][ T112] __sata_set_spd_needed, corrected limit=0x1
>> [ 4.611322][ T112] __sata_set_spd_needed, target=0x1
>> [ 4.627598][ T112] __sata_set_spd_needed, spd=0x0
>> [ 4.627602][ T112] __sata_set_spd_needed, final *scontrol=0x10
>> [ 4.627608][ T112] __sata_set_spd_needed, initial limit=0x1 <--- why does it run twice?
>> [ 4.627611][ T112] __sata_set_spd_needed, corrected limit=0x1
>> [ 4.627615][ T112] __sata_set_spd_needed, target=0x1
>> [ 4.627619][ T112] __sata_set_spd_needed, spd=0x0
>> [ 4.627622][ T112] __sata_set_spd_needed, final *scontrol=0x314
>> [ 4.628702][ T112] resume, do loop
>> [ 4.794479][ T107] resume, after do loop
>> [ 4.800859][ T107] debounce, SCR=0x0 <---- T107 is probably ata1, not connected
>> [ 4.805936][ T107] debounce, SCR=0x0
>> [ 4.814690][ T107] debounce, SCR=0x0
>> [ 4.822841][ T107] debounce, SCR=0x0
>> [ 4.836237][ T107] debounce, SCR=0x0
>> [ 4.845368][ T107] debounce, SCR=0x0
>> [ 4.855008][ T107] debounce, SCR=0x0
>> [ 4.864502][ T112] resume, after do loop
>> [ 4.869198][ T107] debounce, SCR=0x0
>> [ 4.877867][ T112] debounce, SCR=0x113 <---- T112 is probably ata2, link detected
>> [ 4.886183][ T107] debounce, SCR=0x0
>> [ 4.894861][ T107] resume, return at end of function
>> [ 4.903009][ T107] hardreset, ata_phys_link_offline check failed
>> [ 4.913867][ T107] ata1: SATA link down (SStatus 0 SControl 300)
>> [ 4.924894][ T112] debounce, SCR=0x113
>> ...
>> [ 5.867867][ T112] ata2.00: SCR_CONTROL = 0x300
>> [ 5.872520][ T112] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.883284][ T112] ata2.01: SCR_CONTROL = 0x300
>> [ 5.887960][ T112] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.888111][ T112] ata2.02: SCR_CONTROL = 0x300
>> [ 5.901206][ T112] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.919553][ T112] ata2.03: SCR_CONTROL = 0x300
>> [ 5.930054][ T112] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.956888][ T112] ata2.04: SCR_CONTROL = 0x300
>> [ 5.968103][ T112] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.984053][ T112] ata2.05: SCR_CONTROL = 0x300
>> [ 5.988735][ T112] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.988858][ T112] ata2.06: SCR_CONTROL = 0x300
>> [ 5.988865][ T112] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.988947][ T112] ata2.07: SCR_CONTROL = 0x300
>> [ 5.988953][ T112] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
>> [ 5.997728][ T112] ata2.00: hard resetting link
>> [ 6.008378][ T112] hardreset, Online=>Offline
>> [ 6.025110][ T112] sata_set_spd_needed, scontrol=0x300
>> [ 6.039361][ T112] __sata_set_spd_needed, initial limit=0x1
>> [ 6.049281][ T112] __sata_set_spd_needed, corrected limit=0x1
>> [ 6.064930][ T112] __sata_set_spd_needed, target=0x1
>> [ 6.064935][ T112] __sata_set_spd_needed, spd=0x0
>> [ 6.064939][ T112] __sata_set_spd_needed, final *scontrol=0x310
>> [ 6.097506][ T112] __sata_set_spd_needed, initial limit=0x1
>> [ 6.108372][ T112] __sata_set_spd_needed, corrected limit=0x1
>> [ 6.118892][ T112] __sata_set_spd_needed, target=0x1
>> [ 6.118897][ T112] __sata_set_spd_needed, spd=0x0
>> [ 6.129664][ T112] __sata_set_spd_needed, final *scontrol=0x310
>> [ 6.153117][ T112] resume, do loop
>> [ 6.387397][ T112] resume, after do loop
>> [ 6.394052][ T112] debounce, SCR=0x123
>> [ 6.414455][ T112] debounce, SCR=0x123
>> [ 6.427772][ T112] debounce, SCR=0x123
>> [ 6.436940][ T112] debounce, SCR=0x123
>> [ 6.446566][ T112] debounce, SCR=0x123
>> [ 6.456201][ T112] debounce, SCR=0x123
>> [ 6.461379][ T112] debounce, SCR=0x123
>> [ 6.470664][ T112] debounce, SCR=0x123
>> [ 6.494546][ T112] debounce, SCR=0x123
>> [ 6.497712][ T112] resume, return at end of function
>> [ 6.512188][ T112] hardreset, Offline=>Online
>> [ 6.527056][ T112] hardreset, after check_ready
>> [ 6.538540][ T112] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>>
>> ---- force 3.0Gbps ----
>>
>> [ 4.364181][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
>> mode
>> [ 4.374001][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
>> [ 4.501990][ T1] ata1: SCR_CONTROL = 0x0
>> [ 4.506221][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
>> [ 4.514896][ T1] ata2: SCR_CONTROL = 0x0
>> [ 4.519102][ T1] ata2: FORCE: PHY spd limit set to 3.0Gbps
>> [ 4.524894][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
>> [ 4.533679][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
>> [ 4.541836][ T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
>> [ 4.544628][ T107] hardreset, Online=>Offline
>> [ 4.550844][ T107] sata_set_spd_needed, scontrol=0x0
>> [ 4.555435][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 4.565341][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 4.576197][ T107] __sata_set_spd_needed, target=0x0
>> [ 4.576202][ T107] __sata_set_spd_needed, spd=0x0
>> [ 4.576206][ T107] __sata_set_spd_needed, final *scontrol=0x0
>> [ 4.590311][ T107] resume, do loop
>> [ 4.598257][ T112] hardreset, Online=>Offline
>> [ 4.615265][ T112] sata_set_spd_needed, scontrol=0x0
>> [ 4.629198][ T112] __sata_set_spd_needed, initial limit=0x3
>> [ 4.640664][ T112] __sata_set_spd_needed, corrected limit=0x3
>> [ 4.640668][ T112] __sata_set_spd_needed, target=0x2
>> [ 4.640672][ T112] __sata_set_spd_needed, spd=0x0
>> [ 4.652837][ T112] __sata_set_spd_needed, final *scontrol=0x20
>> [ 4.663171][ T112] __sata_set_spd_needed, initial limit=0x3
>> [ 4.674127][ T112] __sata_set_spd_needed, corrected limit=0x3
>> [ 4.687268][ T112] __sata_set_spd_needed, target=0x2
>> [ 4.687273][ T112] __sata_set_spd_needed, spd=0x0
>> [ 4.687277][ T112] __sata_set_spd_needed, final *scontrol=0x324
>> [ 4.688355][ T112] resume, do loop
>> [ 4.824481][ T107] resume, after do loop
>> [ 4.833744][ T107] debounce, SCR=0x0
>> ...
>> [ 4.916944][ T107] debounce, SCR=0x0
>> [ 4.924448][ T112] resume, after do loop
>> [ 4.930813][ T107] debounce, SCR=0x0
>> [ 4.940447][ T107] resume, return at end of function
>> [ 4.948608][ T107] hardreset, ata_phys_link_offline check failed
>> [ 4.958306][ T107] ata1: SATA link down (SStatus 0 SControl 300)
>> [ 4.958766][ T112] debounce, SCR=0x100
>> [ 4.974540][ T112] debounce, SCR=0x100
>> [ 4.984450][ T112] debounce, SCR=0x100
>> [ 4.998528][ T112] debounce, SCR=0x100
>> [ 5.006870][ T112] debounce, SCR=0x101
>> [ 5.016032][ T112] debounce, SCR=0x100
>>
>> ---- nolpm ----
>>
>> [ 4.364384][ T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform
>> mode
>> [ 4.374205][ T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
>> [ 4.502855][ T1] ata1: SCR_CONTROL = 0x0
>> [ 4.507087][ T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
>> [ 4.515761][ T1] ata2: SCR_CONTROL = 0x0
>> [ 4.519968][ T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
>> [ 4.528704][ T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
>> [ 4.536860][ T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
>> [ 4.544628][ T107] hardreset, Online=>Offline
>> [ 4.545867][ T107] sata_set_spd_needed, scontrol=0x0
>> [ 4.550348][ T107] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 4.560435][ T107] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 4.571308][ T107] __sata_set_spd_needed, target=0x0
>> [ 4.583386][ T107] __sata_set_spd_needed, spd=0x0
>> [ 4.599648][ T107] __sata_set_spd_needed, final *scontrol=0x0
>> [ 4.615974][ T107] resume, do loop
>> [ 4.627876][ T112] hardreset, Online=>Offline
>> [ 4.638396][ T112] sata_set_spd_needed, scontrol=0x0
>> [ 4.647521][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 4.660915][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 4.673702][ T112] __sata_set_spd_needed, target=0x0
>> [ 4.686663][ T112] __sata_set_spd_needed, spd=0x0
>> [ 4.686668][ T112] __sata_set_spd_needed, final *scontrol=0x0
>> [ 4.688105][ T112] resume, do loop
>> [ 4.854467][ T107] resume, after do loop
>> [ 4.863650][ T107] debounce, SCR=0x0
>> [ 4.873874][ T107] debounce, SCR=0x0
>> [ 4.882559][ T107] debounce, SCR=0x0
>> [ 4.891306][ T107] debounce, SCR=0x0
>> [ 4.901119][ T107] debounce, SCR=0x0
>> [ 4.910367][ T107] debounce, SCR=0x0
>> [ 4.915322][ T112] resume, after do loop
>> [ 4.920379][ T107] debounce, SCR=0x0
>> [ 4.927643][ T112] debounce, SCR=0x100
>> [ 4.936031][ T107] debounce, SCR=0x0
>> [ 4.944728][ T112] debounce, SCR=0x100
>> [ 4.953532][ T107] debounce, SCR=0x0
>> [ 4.962475][ T107] resume, return at end of function
>> [ 4.970650][ T107] hardreset, ata_phys_link_offline check failed
>> [ 4.980376][ T107] ata1: SATA link down (SStatus 0 SControl 300)
>> [ 4.991536][ T112] debounce, SCR=0x100
>> [ 5.007097][ T112] debounce, SCR=0x100
>> [ 5.016660][ T112] debounce, SCR=0x100
>> [ 5.025693][ T112] debounce, SCR=0x100
>> [ 5.030094][ T112] resume, return at end of function
>> [ 5.033962][ T112] hardreset, ata_phys_link_offline check failed
>> [ 5.043999][ T112] ata2: SATA link down (SStatus 101 SControl 300)
>> [ 5.054652][ T112] hardreset, Online=>Offline
>> [ 5.067061][ T112] sata_set_spd_needed, scontrol=0x300
>> [ 5.067066][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 5.076006][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 5.076010][ T112] __sata_set_spd_needed, target=0x0
>> [ 5.076014][ T112] __sata_set_spd_needed, spd=0x0
>> [ 5.076018][ T112] __sata_set_spd_needed, final *scontrol=0x300
>> [ 5.077276][ T112] resume, do loop
>> [ 5.314471][ T112] resume, after do loop
>> [ 5.364488][ T112] debounce, SCR=0x100
>> ... and doesn't work.
>>
>> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-14 18:01                       ` marius
  2023-01-15 23:37                         ` Damien Le Moal
@ 2023-01-17  8:26                         ` Damien Le Moal
  2023-01-18 19:43                         ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-17  8:26 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/15/23 03:01, marius@psihoexpert.ro wrote:
> Do you need any more tests?
> 
> 
> December 9, 2022 8:30 PM, marius@psihoexpert.ro wrote:
> 
>> December 9, 2022 11:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>
>>>> [ 19.006105][ T113] Reconfig spd
>>>
>>> Which function did you add this message to ?
>>
>> sata_link_hardreset(), inside if(sata_set_spd_needed(link)){} condition,
>> but I replaced it with detailed debug inside sata_set_spd_needed() and ___sata_set_spd_needed()

Could you try adding messages in the function sata_down_spd_limit() ?
I recall that during probe, scr status does not give a current speed,
which creates the problem of triggering that "return -EINVAL" in the else
for "if (spd > 1)"...

What I would like you to print is:

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 884ae73b11ea..ad68f86be1c5 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3081,14 +3081,21 @@ int sata_down_spd_limit(struct ata_link *link, u32
spd_limit)
        if (!sata_scr_valid(link))
                return -EOPNOTSUPP;

+       pr_info("sata_down_spd_limit: limit 0x%0x, cur spd 0x%0x, "
+               "saved limit 0x%0x, hw limit 0x%0x\n",
+               spd_limit, link->sata_spd
+               link->sata_spd_limit, link->hw_sata_spd_limit);
+
        /* If SCR can be read, use it to determine the current SPD.
         * If not, use cached value in link->sata_spd.
         */
        rc = sata_scr_read(link, SCR_STATUS, &sstatus);
-       if (rc == 0 && ata_sstatus_online(sstatus))
+       if (rc == 0 && ata_sstatus_online(sstatus)) {
                spd = (sstatus >> 4) & 0xf;
-       else
+               pr_info("spd from STS: 0x%0x\n", spd);
+       } else {
                spd = link->sata_spd;
+       }

        mask = link->sata_spd_limit;
        if (mask <= 1)

Please try printing that in addition to the messages you already have. And
please try with default boot (no ata options) and with the 1.5gbps force
(since that is the only one working).

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-14 18:01                       ` marius
  2023-01-15 23:37                         ` Damien Le Moal
  2023-01-17  8:26                         ` Damien Le Moal
@ 2023-01-18 19:43                         ` marius
  2023-01-19  0:29                           ` Damien Le Moal
  2023-01-19 18:46                           ` marius
  2 siblings, 2 replies; 67+ messages in thread
From: marius @ 2023-01-18 19:43 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 17, 2023 10:27 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> Could you try adding messages in the function sata_down_spd_limit() ?
> I recall that during probe, scr status does not give a current speed,
> which creates the problem of triggering that "return -EINVAL" in the else
> for "if (spd > 1)"...
> 
> What I would like you to print is:
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..ad68f86be1c5 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3081,14 +3081,21 @@ int sata_down_spd_limit(struct ata_link *link, u32
> spd_limit)
> if (!sata_scr_valid(link))
> return -EOPNOTSUPP;
> 
> + pr_info("sata_down_spd_limit: limit 0x%0x, cur spd 0x%0x, "
> + "saved limit 0x%0x, hw limit 0x%0x\n",
> + spd_limit, link->sata_spd
> + link->sata_spd_limit, link->hw_sata_spd_limit);
> +
> /* If SCR can be read, use it to determine the current SPD.
> * If not, use cached value in link->sata_spd.
> */
> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
> - if (rc == 0 && ata_sstatus_online(sstatus))
> + if (rc == 0 && ata_sstatus_online(sstatus)) {
> spd = (sstatus >> 4) & 0xf;
> - else
> + pr_info("spd from STS: 0x%0x\n", spd);
> + } else {
> spd = link->sata_spd;
> + }
> 
> mask = link->sata_spd_limit;
> if (mask <= 1)
> 
> Please try printing that in addition to the messages you already have. And
> please try with default boot (no ata options) and with the 1.5gbps force
> (since that is the only one working).
> 
> --
> Damien Le Moal
> Western Digital Research

---- no limit ----
[ 73.075849][ T112] hardreset, Online=>Offline
[ 73.075856][ T112] sata_set_spd_needed, scontrol=0x300
[ 73.080328][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 73.085601][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 73.091900][ T112] __sata_set_spd_needed, target=0x0
[ 73.098386][ T112] __sata_set_spd_needed, spd=0x0
[ 73.103475][ T112] __sata_set_spd_needed, final *scontrol=0x300
[ 73.109363][ T112] resume, do loop
[ 73.343477][ T112] resume, after do loop
[ 73.403476][ T112] debounce, SCR=0x101
[ 73.463496][ T112] debounce, SCR=0x101
[ 73.523476][ T112] debounce, SCR=0x100
[ 73.583476][ T112] debounce, SCR=0x100
[ 73.643475][ T112] debounce, SCR=0x100
[ 73.703475][ T112] debounce, SCR=0x100
[ 73.763475][ T112] debounce, SCR=0x100
[ 73.823475][ T112] debounce, SCR=0x101
[ 73.883475][ T112] debounce, SCR=0x100
[ 73.943475][ T112] debounce, SCR=0x100
[ 74.003475][ T112] debounce, SCR=0x100
[ 74.063475][ T112] debounce, SCR=0x100
[ 74.123475][ T112] debounce, SCR=0x100
[ 74.183475][ T112] debounce, SCR=0x0
[ 74.243475][ T112] debounce, SCR=0x0
[ 74.303475][ T112] debounce, SCR=0x0
[ 74.363475][ T112] debounce, SCR=0x0
[ 74.423475][ T112] debounce, SCR=0x100
[ 74.427159][ T112] resume, return at end of function
[ 74.431015][ T112] hardreset, ata_phys_link_offline check failed
[ 74.436114][ T112] ata2: SATA link down (SStatus 100 SControl 300)
[ 74.448580][ T112] hardreset, Online=>Offline
[ 74.448586][ T112] sata_set_spd_needed, scontrol=0x300
[ 74.453053][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 74.458318][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 74.464627][ T112] __sata_set_spd_needed, target=0x0
[ 74.471100][ T112] __sata_set_spd_needed, spd=0x0
[ 74.476189][ T112] __sata_set_spd_needed, final *scontrol=0x300
[ 74.482076][ T112] resume, do loop
[ 74.713476][ T112] resume, after do loop
[ 74.773475][ T112] debounce, SCR=0x101
[ 74.833475][ T112] debounce, SCR=0x100
[ 74.883500][ T112] debounce, SCR=0x100
[ 74.943476][ T112] debounce, SCR=0x100
[ 75.003475][ T112] debounce, SCR=0x100
[ 75.063475][ T112] debounce, SCR=0x101
[ 75.123475][ T112] debounce, SCR=0x100
[ 75.183475][ T112] debounce, SCR=0x101
[ 75.243475][ T112] debounce, SCR=0x100
[ 75.303475][ T112] debounce, SCR=0x100
[ 75.363475][ T112] debounce, SCR=0x100
[ 75.423476][ T112] debounce, SCR=0x100
[ 75.483475][ T112] debounce, SCR=0x100
[ 75.543495][ T112] debounce, SCR=0x100
[ 75.603475][ T112] debounce, SCR=0x100
[ 75.663475][ T112] debounce, SCR=0x100
[ 75.723475][ T112] debounce, SCR=0x101
[ 75.783475][ T112] debounce, SCR=0x100
[ 75.843475][ T112] debounce, SCR=0x100
[ 75.903475][ T112] debounce, SCR=0x100
[ 75.963475][ T112] debounce, SCR=0x100
[ 76.023475][ T112] debounce, SCR=0x100
[ 76.083475][ T112] debounce, SCR=0x100
[ 76.143475][ T112] debounce, SCR=0x100
[ 76.203475][ T112] debounce, SCR=0x100
[ 76.263475][ T112] debounce, SCR=0x100
[ 76.323475][ T112] debounce, SCR=0x100
[ 76.327332][ T112] resume, return at end of function
[ 76.331189][ T112] hardreset, ata_phys_link_offline check failed
[ 76.336287][ T112] ata2: SATA link down (SStatus 100 SControl 300)
[ 76.348747][ T112] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
0xffffffff
[ 76.358641][ T112] hardreset, Online=>Offline
[ 76.358646][ T112] sata_set_spd_needed, scontrol=0x300
[ 76.363113][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 76.368377][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 76.374687][ T112] __sata_set_spd_needed, target=0x0
[ 76.381160][ T112] __sata_set_spd_needed, spd=0x0
[ 76.386254][ T112] __sata_set_spd_needed, final *scontrol=0x300
[ 76.392141][ T112] resume, do loop
[ 76.623476][ T112] resume, after do loop
[ 76.683475][ T112] debounce, SCR=0x100
[ 76.743475][ T112] debounce, SCR=0x101
[ 76.803475][ T112] debounce, SCR=0x100
[ 76.863475][ T112] debounce, SCR=0x100
[ 76.923475][ T112] debounce, SCR=0x100
[ 76.983476][ T112] debounce, SCR=0x100
[ 77.043475][ T112] debounce, SCR=0x100
[ 77.103495][ T112] debounce, SCR=0x100
[ 77.163476][ T112] debounce, SCR=0x100
[ 77.223475][ T112] debounce, SCR=0x100
[ 77.283475][ T112] debounce, SCR=0x101
[ 77.343475][ T112] debounce, SCR=0x100
[ 77.403475][ T112] debounce, SCR=0x101
[ 77.463475][ T112] debounce, SCR=0x100
[ 77.523475][ T112] debounce, SCR=0x100
[ 77.583475][ T112] debounce, SCR=0x100
[ 77.643475][ T112] debounce, SCR=0x100
[ 77.703475][ T112] debounce, SCR=0x100
[ 77.763475][ T112] debounce, SCR=0x100
[ 77.823475][ T112] debounce, SCR=0x100
[ 77.883475][ T112] debounce, SCR=0x100
[ 77.943475][ T112] debounce, SCR=0x101
[ 78.003475][ T112] debounce, SCR=0x100
[ 78.063475][ T112] debounce, SCR=0x101
[ 78.123475][ T112] debounce, SCR=0x100
[ 78.183475][ T112] debounce, SCR=0x100
[ 78.243475][ T112] debounce, SCR=0x100
[ 78.303476][ T112] debounce, SCR=0x100
[ 78.363475][ T112] debounce, SCR=0x100
[ 78.423475][ T112] debounce, SCR=0x100
[ 78.483475][ T112] debounce, SCR=0x100
[ 78.543475][ T112] debounce, SCR=0x100
[ 78.603475][ T112] debounce, SCR=0x100
[ 78.663494][ T112] debounce, SCR=0x100
[ 78.667353][ T112] resume, return at end of function
[ 78.671209][ T112] hardreset, ata_phys_link_offline check failed
[ 78.676306][ T112] ata2: SATA link down (SStatus 101 SControl 300)
[ 78.688765][ T112] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
0xffffffff
[ 78.698659][ T112] hardreset, Online=>Offline
[ 78.698664][ T112] sata_set_spd_needed, scontrol=0x300
[ 78.703131][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 78.708395][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 78.714704][ T112] __sata_set_spd_needed, target=0x0
[ 78.721177][ T112] __sata_set_spd_needed, spd=0x0
[ 78.726272][ T112] __sata_set_spd_needed, final *scontrol=0x300
[ 78.732158][ T112] resume, do loop
[ 78.963475][ T112] resume, after do loop
[ 79.023475][ T112] debounce, SCR=0x100
[ 79.083476][ T112] debounce, SCR=0x100
[ 79.143475][ T112] debounce, SCR=0x101
[ 79.203476][ T112] debounce, SCR=0x100
[ 79.263475][ T112] debounce, SCR=0x101
[ 79.323475][ T112] debounce, SCR=0x100
[ 79.383475][ T112] debounce, SCR=0x100
[ 79.443476][ T112] debounce, SCR=0x100
[ 79.503475][ T112] debounce, SCR=0x100
[ 79.563475][ T112] debounce, SCR=0x100
[ 79.623475][ T112] debounce, SCR=0x100
[ 79.683475][ T112] debounce, SCR=0x101
[ 79.743475][ T112] debounce, SCR=0x100
[ 79.803475][ T112] debounce, SCR=0x101
[ 79.863475][ T112] debounce, SCR=0x100
[ 79.923475][ T112] debounce, SCR=0x101
[ 79.983475][ T112] debounce, SCR=0x100
[ 80.043475][ T112] debounce, SCR=0x101
[ 80.103475][ T112] debounce, SCR=0x100
[ 80.163475][ T112] debounce, SCR=0x100
[ 80.223495][ T112] debounce, SCR=0x101
[ 80.283476][ T112] debounce, SCR=0x100
[ 80.343475][ T112] debounce, SCR=0x100
[ 80.403475][ T112] debounce, SCR=0x100
[ 80.463475][ T112] debounce, SCR=0x100
[ 80.523475][ T112] debounce, SCR=0x100
[ 80.583475][ T112] debounce, SCR=0x100
[ 80.643475][ T112] debounce, SCR=0x100
[ 80.703475][ T112] debounce, SCR=0x100
[ 80.763475][ T112] debounce, SCR=0x100
[ 80.823475][ T112] debounce, SCR=0x100
[ 80.827332][ T112] resume, return at end of function
[ 80.831189][ T112] hardreset, ata_phys_link_offline check failed
[ 80.836288][ T112] ata2: SATA link down (SStatus 100 SControl 300)
[ 80.848748][ T112] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
0xffffffff
[ 80.858641][ T112] hardreset, Online=>Offline
[ 80.858646][ T112] sata_set_spd_needed, scontrol=0x300
[ 80.863114][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 80.868377][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 80.874687][ T112] __sata_set_spd_needed, target=0x0
[ 80.881160][ T112] __sata_set_spd_needed, spd=0x0
[ 80.886255][ T112] __sata_set_spd_needed, final *scontrol=0x300
[ 80.892142][ T112] resume, do loop
[ 81.123500][ T112] resume, after do loop
[ 81.183476][ T112] debounce, SCR=0x100
[ 81.243475][ T112] debounce, SCR=0x100
[ 81.303475][ T112] debounce, SCR=0x100
[ 81.363476][ T112] debounce, SCR=0x100
[ 81.423476][ T112] debounce, SCR=0x100
[ 81.483475][ T112] debounce, SCR=0x100
[ 81.543475][ T112] debounce, SCR=0x100
[ 81.603475][ T112] debounce, SCR=0x100
[ 81.663475][ T112] debounce, SCR=0x100
[ 81.667334][ T112] resume, return at end of function
[ 81.671190][ T112] hardreset, ata_phys_link_offline check failed
[ 81.676288][ T112] ata2: SATA link down (SStatus 100 SControl 300)
[ 81.688731][ T112] ata2: EH pending after 5 tries, giving up

---- limit 1.5Gbps ----

[ 19.819298][ T112] hardreset, Online=>Offline
[ 19.819306][ T112] sata_set_spd_needed, scontrol=0x310
[ 19.823798][ T112] __sata_set_spd_needed, initial limit=0x1
[ 19.829052][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 19.834752][ T112] __sata_set_spd_needed, target=0x1
[ 19.840614][ T112] __sata_set_spd_needed, spd=0x1
[ 19.845703][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 19.851592][ T112] resume, do loop
[ 20.083568][ T112] resume, after do loop
[ 20.143567][ T112] debounce, SCR=0x113
[ 20.203567][ T112] debounce, SCR=0x113
[ 20.263567][ T112] debounce, SCR=0x113
[ 20.323566][ T112] debounce, SCR=0x113
[ 20.383566][ T112] debounce, SCR=0x113
[ 20.443566][ T112] debounce, SCR=0x113
[ 20.503566][ T112] debounce, SCR=0x113
[ 20.563566][ T112] debounce, SCR=0x113
[ 20.623566][ T112] debounce, SCR=0x113
[ 20.627424][ T112] resume, return at end of function
[ 20.631280][ T112] hardreset, Offline=>Online
[ 20.640838][ T112] hardreset, sata_pmp_supported, before check_ready
[ 20.803595][ T112] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 20.817315][ T112] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[ 20.825960][ T112] device: 'link2.0': device_add
[ 20.830777][ T112] device: 'link2.0': device_add
[ 20.835790][ T112] device: 'dev2.0.0': device_add
[ 20.840636][ T112] device: 'dev2.0.0': device_add
[ 20.846288][ T112] device: 'link2.1': device_add
[ 20.851053][ T112] device: 'link2.1': device_add
[ 20.856268][ T112] device: 'dev2.1.0': device_add
[ 20.861117][ T112] device: 'dev2.1.0': device_add
[ 20.866722][ T112] device: 'link2.2': device_add
[ 20.871488][ T112] device: 'link2.2': device_add
[ 20.876368][ T112] device: 'dev2.2.0': device_add
[ 20.881214][ T112] device: 'dev2.2.0': device_add
[ 20.886777][ T112] device: 'link2.3': device_add
[ 20.891541][ T112] device: 'link2.3': device_add
[ 20.896427][ T112] device: 'dev2.3.0': device_add
[ 20.901275][ T112] device: 'dev2.3.0': device_add
[ 20.906277][ T112] device: 'link2.4': device_add
[ 20.911039][ T112] device: 'link2.4': device_add
[ 20.915946][ T112] device: 'dev2.4.0': device_add
[ 20.921082][ T112] device: 'dev2.4.0': device_add
[ 20.926100][ T112] device: 'link2.5': device_add
[ 20.930863][ T112] device: 'link2.5': device_add
[ 20.936073][ T112] device: 'dev2.5.0': device_add
[ 20.940925][ T112] device: 'dev2.5.0': device_add
[ 20.946222][ T112] device: 'link2.6': device_add
[ 20.950988][ T112] device: 'link2.6': device_add
[ 20.956436][ T112] device: 'dev2.6.0': device_add
[ 20.961292][ T112] device: 'dev2.6.0': device_add
[ 20.966849][ T112] device: 'link2.7': device_add
[ 20.971618][ T112] device: 'link2.7': device_add
[ 20.976506][ T112] device: 'dev2.7.0': device_add
[ 20.981358][ T112] device: 'dev2.7.0': device_add
[ 20.986928][ T112] device: 'link2.8': device_add
[ 20.991700][ T112] device: 'link2.8': device_add
[ 20.996612][ T112] device: 'dev2.8.0': device_add
[ 21.001760][ T112] device: 'dev2.8.0': device_add
[ 21.006776][ T112] device: 'link2.9': device_add
[ 21.011544][ T112] device: 'link2.9': device_add
[ 21.017066][ T112] device: 'dev2.9.0': device_add
[ 21.021924][ T112] device: 'dev2.9.0': device_add
[ 21.027237][ T112] device: 'link2.10': device_add
[ 21.032095][ T112] device: 'link2.10': device_add
[ 21.037406][ T112] device: 'dev2.10.0': device_add
[ 21.042352][ T112] device: 'dev2.10.0': device_add
[ 21.048268][ T112] device: 'link2.11': device_add
[ 21.053129][ T112] device: 'link2.11': device_add
[ 21.058157][ T112] device: 'dev2.11.0': device_add
[ 21.063101][ T112] device: 'dev2.11.0': device_add
[ 21.068830][ T112] device: 'link2.12': device_add
[ 21.073707][ T112] device: 'link2.12': device_add
[ 21.078703][ T112] device: 'dev2.12.0': device_add
[ 21.083664][ T112] device: 'dev2.12.0': device_add
[ 21.088772][ T112] device: 'link2.13': device_add
[ 21.093645][ T112] device: 'link2.13': device_add
[ 21.098637][ T112] device: 'dev2.13.0': device_add
[ 21.103606][ T112] device: 'dev2.13.0': device_add
[ 21.109014][ T112] device: 'link2.14': device_add
[ 21.113901][ T112] device: 'link2.14': device_add
[ 21.119225][ T112] device: 'dev2.14.0': device_add
[ 21.124190][ T112] device: 'dev2.14.0': device_add
[ 21.130120][ T112] ahci-mvebu f10a8000.sata: FBS is enabled
[ 21.135879][ T112] ata2.00: SCR_CONTROL = 0x300
[ 21.140525][ T112] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
[ 21.146622][ T112] ata2.01: SCR_CONTROL = 0x300
[ 21.151266][ T112] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
[ 21.157358][ T112] ata2.02: SCR_CONTROL = 0x300
[ 21.162001][ T112] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
[ 21.168099][ T112] ata2.03: SCR_CONTROL = 0x300
[ 21.172743][ T112] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
[ 21.178835][ T112] ata2.04: SCR_CONTROL = 0x300
[ 21.183478][ T112] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
[ 21.189572][ T112] ata2.05: SCR_CONTROL = 0x300
[ 21.194235][ T112] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
[ 21.200304][ T112] ata2.06: SCR_CONTROL = 0x300
[ 21.204972][ T112] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
[ 21.211041][ T112] ata2.07: SCR_CONTROL = 0x300
[ 21.215704][ T112] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
[ 21.221851][ T112] ata2.00: hard resetting link
[ 21.226515][ T112] hardreset, Online=>Offline
[ 21.226553][ T112] sata_set_spd_needed, scontrol=0x300
[ 21.231021][ T112] __sata_set_spd_needed, initial limit=0x1
[ 21.236291][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 21.241980][ T112] __sata_set_spd_needed, target=0x1
[ 21.247853][ T112] __sata_set_spd_needed, spd=0x0
[ 21.252930][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 21.257850][ T112] __sata_set_spd_needed, initial limit=0x1
[ 21.263906][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 21.269594][ T112] __sata_set_spd_needed, target=0x1
[ 21.275467][ T112] __sata_set_spd_needed, spd=0x0
[ 21.280545][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 21.286568][ T112] resume, do loop
[ 21.513601][ T112] resume, after do loop
[ 21.522240][ T112] debounce, SCR=0x123
[ 21.531389][ T112] debounce, SCR=0x123
[ 21.540363][ T112] debounce, SCR=0x123
[ 21.549337][ T112] debounce, SCR=0x123
[ 21.558293][ T112] debounce, SCR=0x123
[ 21.567248][ T112] debounce, SCR=0x123
[ 21.576203][ T112] debounce, SCR=0x123
[ 21.585159][ T112] debounce, SCR=0x123
[ 21.594114][ T112] debounce, SCR=0x123
[ 21.603069][ T112] debounce, SCR=0x123
[ 21.612041][ T112] debounce, SCR=0x123
[ 21.621017][ T112] debounce, SCR=0x123
[ 21.624952][ T112] resume, return at end of function
[ 21.628840][ T112] hardreset, Offline=>Online
[ 21.638398][ T112] hardreset, after check_ready
[ 21.638610][ T112] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 21.650473][ T112] ata2.01: hard resetting link
[ 21.655136][ T112] hardreset, Online=>Offline
[ 21.655171][ T112] sata_set_spd_needed, scontrol=0x300
[ 21.659639][ T112] __sata_set_spd_needed, initial limit=0x1
[ 21.664908][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 21.670596][ T112] __sata_set_spd_needed, target=0x1
[ 21.676470][ T112] __sata_set_spd_needed, spd=0x0
[ 21.681546][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 21.686463][ T112] __sata_set_spd_needed, initial limit=0x1
[ 21.692501][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 21.698206][ T112] __sata_set_spd_needed, target=0x1
[ 21.704080][ T112] __sata_set_spd_needed, spd=0x0
[ 21.709157][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 21.715178][ T112] resume, do loop
[ 21.943601][ T112] resume, after do loop
[ 21.952238][ T112] debounce, SCR=0x123
[ 21.961386][ T112] debounce, SCR=0x123
[ 21.970359][ T112] debounce, SCR=0x123
[ 21.979332][ T112] debounce, SCR=0x123
[ 21.988287][ T112] debounce, SCR=0x123
[ 21.997242][ T112] debounce, SCR=0x123
[ 22.006197][ T112] debounce, SCR=0x123
[ 22.015153][ T112] debounce, SCR=0x123
[ 22.024109][ T112] debounce, SCR=0x123
[ 22.033063][ T112] debounce, SCR=0x123
[ 22.042035][ T112] debounce, SCR=0x123
[ 22.051009][ T112] debounce, SCR=0x123
[ 22.054944][ T112] resume, return at end of function
[ 22.058831][ T112] hardreset, Offline=>Online
[ 22.068388][ T112] hardreset, after check_ready
[ 22.068597][ T112] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 22.080480][ T112] ata2.02: hard resetting link
[ 22.085143][ T112] hardreset, Online=>Offline
[ 22.085179][ T112] sata_set_spd_needed, scontrol=0x300
[ 22.089647][ T112] __sata_set_spd_needed, initial limit=0x1
[ 22.094916][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 22.100604][ T112] __sata_set_spd_needed, target=0x1
[ 22.106477][ T112] __sata_set_spd_needed, spd=0x0
[ 22.111555][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 22.116472][ T112] __sata_set_spd_needed, initial limit=0x1
[ 22.122510][ T112] __sata_set_spd_needed, corrected limit=0x1
[ 22.128215][ T112] __sata_set_spd_needed, target=0x1
[ 22.134089][ T112] __sata_set_spd_needed, spd=0x0
[ 22.139167][ T112] __sata_set_spd_needed, final *scontrol=0x310
[ 22.145189][ T112] resume, do loop
[ 22.373600][ T112] resume, after do loop
[ 22.382236][ T112] debounce, SCR=0x0
[ 22.391383][ T112] debounce, SCR=0x0
[ 22.400182][ T112] debounce, SCR=0x0
[ 22.408981][ T112] debounce, SCR=0x0
[ 22.417762][ T112] debounce, SCR=0x0
[ 22.426544][ T112] debounce, SCR=0x0
[ 22.435326][ T112] debounce, SCR=0x0
[ 22.444106][ T112] debounce, SCR=0x0
[ 22.452887][ T112] debounce, SCR=0x0
[ 22.461685][ T112] debounce, SCR=0x0
[ 22.470484][ T112] debounce, SCR=0x0
[ 22.479283][ T112] debounce, SCR=0x0
[ 22.488064][ T112] debounce, SCR=0x0
[ 22.491807][ T112] resume, return at end of function
[ 22.495538][ T112] hardreset, ata_phys_link_offline check failed
[ 22.500820][ T112] ata2.02: SATA link down (SStatus 0 SControl 300)
... same for ata2.03 - ata2.07
[ 24.700822][ T112] ata2.07: SATA link down (SStatus 0 SControl 300)
[ 24.713496][ T112] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[ 24.721125][ T112] ata2.00: 976773168 sectors, multi 0: LBA48
[ 24.727228][ T112] ata2.00: configured for UDMA/133
[ 24.732296][ T112] ata2.01: ATA-6: Areca Archive, 0100 AX, max UDMA/133
[ 24.739227][ T112] ata2.01: 23437498368 sectors, multi 0: LBA48
[ 24.745499][ T112] ata2.01: configured for UDMA/133
[ 24.750648][ T112] ata2: EH complete
[ 24.755230][ T63] scsi 1:0:0:0: Direct-Access ATA WDC WD50ARC-5040 n/a PQ: 0 ANSI: 5
[ 24.764991][ T63] device: 'target1:0:0': device_add
[ 24.770118][ T63] bus: 'scsi': add device target1:0:0
[ 24.775498][ T63] device: '1:0:0:0': device_add
[ 24.780565][ T63] bus: 'scsi': add device 1:0:0:0
[ 24.785552][ T63] scsi 1:0:0:0: scheduling asynchronous probe
[ 24.791555][ T63] device: '1:0:0:0': device_add
[ 24.791569][ T118] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
[ 24.796461][ T63] device: '1:0:0:0': device_add
[ 24.804926][ T118] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
[ 24.817484][ T118] sd 1:0:0:0: no default pinctrl state
[ 24.822937][ T118] device: '1:0:0:0': device_add
[ 24.824243][ T63] scsi 1:1:0:0: Direct-Access ATA Areca Archive n/a PQ: 0 ANSI: 5
[ 24.828657][ T118] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 24.837872][ T63] device: 'target1:1:0': device_add
[ 24.845150][ T118] sd 1:0:0:0: [sdb] Write Protect is off
[ 24.849923][ T63] bus: 'scsi': add device target1:1:0
[ 24.855451][ T118] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 24.860757][ T63] device: '1:1:0:0': device_add
[ 24.866593][ T118] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support
DPO or FUA
[ 24.871964][ T63] bus: 'scsi': add device 1:1:0:0
[ 24.881186][ T118] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[ 24.886609][ T63] scsi 1:1:0:0: scheduling asynchronous probe
[ 24.892843][ T118] device: 'sdb': device_add
[ 24.898807][ T63] device: '1:1:0:0': device_add
[ 24.903982][ T7] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
[ 24.908057][ T63] device: '1:1:0:0': device_add
[ 24.916484][ T7] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
[ 24.929038][ T7] sd 1:1:0:0: no default pinctrl state
[ 24.934513][ T7] device: '1:1:0:0': device_add
[ 24.941340][ T118] device: '8:16': device_add
[ 24.947108][ T7] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
[ 24.955826][ T7] sd 1:1:0:0: [sdc] Write Protect is off
[ 24.961351][ T7] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
[ 24.967286][ T7] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO
or FUA
[ 24.977267][ T7] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
[ 24.984224][ T7] device: 'sdc': device_add
[ 24.990405][ T7] device: '8:32': device_add
[ 25.016696][ T7] sd 1:1:0:0: [sdc] Attached SCSI removable disk
[ 25.022920][ T7] driver: 'sd': driver_bound: bound to device '1:1:0:0'
[ 25.030261][ T7] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
[ 25.037753][ T7] sd 1:1:0:0: async probe completed
[ 25.426417][ T118] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[ 25.432640][ T118] driver: 'sd': driver_bound: bound to device '1:0:0:0'
[ 25.439564][ T118] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
[ 25.447043][ T118] sd 1:0:0:0: async probe completed

Marius


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

* Re: Bug report for ahci-mvebu driver
  2023-01-18 19:43                         ` marius
@ 2023-01-19  0:29                           ` Damien Le Moal
  2023-01-19 18:46                           ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-19  0:29 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 2023/01/19 4:43, marius@psihoexpert.ro wrote:
> [ 73.075849][ T112] hardreset, Online=>Offline
> [ 73.075856][ T112] sata_set_spd_needed, scontrol=0x300
> [ 73.080328][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 73.085601][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 73.091900][ T112] __sata_set_spd_needed, target=0x0
> [ 73.098386][ T112] __sata_set_spd_needed, spd=0x0
> [ 73.103475][ T112] __sata_set_spd_needed, final *scontrol=0x300

Can you share the patch/diff printing these ? Just to be sure I look at the
right place :)

...

> [ 76.203475][ T112] debounce, SCR=0x100
> [ 76.263475][ T112] debounce, SCR=0x100
> [ 76.323475][ T112] debounce, SCR=0x100
> [ 76.327332][ T112] resume, return at end of function
> [ 76.331189][ T112] hardreset, ata_phys_link_offline check failed
> [ 76.336287][ T112] ata2: SATA link down (SStatus 100 SControl 300)
> [ 76.348747][ T112] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
> 0xffffffff

OK. And here is the problem: cur spd is 0x0, so unknown, and that leads to an
einval exit of sata_down_spd_limit() instead of trying something sensible like
starting with 6Gbps. That leads sata_set_spd to also have cur spd = 0 and
setting of a bad scontrol which prevents detecting the drive. See the difference
with forcing 1.5gbps:

> [ 19.819298][ T112] hardreset, Online=>Offline
> [ 19.819306][ T112] sata_set_spd_needed, scontrol=0x310
> [ 19.823798][ T112] __sata_set_spd_needed, initial limit=0x1
> [ 19.829052][ T112] __sata_set_spd_needed, corrected limit=0x1
> [ 19.834752][ T112] __sata_set_spd_needed, target=0x1
> [ 19.840614][ T112] __sata_set_spd_needed, spd=0x1
> [ 19.845703][ T112] __sata_set_spd_needed, final *scontrol=0x310
> [ 19.851592][ T112] resume, do loop
> [ 20.083568][ T112] resume, after do loop
> [ 20.143567][ T112] debounce, SCR=0x113

We have a good SCR thanks to spd being set to 1 = 1.5 gbps.

So patching sata_down_spd_limit() is the right solution I think. Let me cook
something for you to test.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-18 19:43                         ` marius
  2023-01-19  0:29                           ` Damien Le Moal
@ 2023-01-19 18:46                           ` marius
  2023-01-23  7:02                             ` Damien Le Moal
  2023-01-23 20:00                             ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-01-19 18:46 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 19, 2023 2:29 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> On 2023/01/19 4:43, marius@psihoexpert.ro wrote:
> 
>> [ 73.075849][ T112] hardreset, Online=>Offline
>> [ 73.075856][ T112] sata_set_spd_needed, scontrol=0x300
>> [ 73.080328][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 73.085601][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 73.091900][ T112] __sata_set_spd_needed, target=0x0
>> [ 73.098386][ T112] __sata_set_spd_needed, spd=0x0
>> [ 73.103475][ T112] __sata_set_spd_needed, final *scontrol=0x300
> 
> Can you share the patch/diff printing these ? Just to be sure I look at the
> right place :)

--- a/drivers/ata/libata-sata.c
+++ b/drivers/ata/libata-sata.c
@@ -427,6 +430,7 @@ static int __sata_set_spd_needed(struct ata_link *link, u32 *scontrol)
        u32 limit, target, spd;

        limit = link->sata_spd_limit;
+       printk(KERN_DEBUG "__sata_set_spd_needed, initial limit=0x%X",limit);

        /* Don't configure downstream link faster than upstream link.
         * It doesn't speed up anything and some PMPs choke on such
@@ -435,14 +439,18 @@ static int __sata_set_spd_needed(struct ata_link *link, u32 *scontrol)
        if (!ata_is_host_link(link) && host_link->sata_spd)
                limit &= (1 << host_link->sata_spd) - 1;

+       printk(KERN_DEBUG "__sata_set_spd_needed, corrected limit=0x%X",limit);
        if (limit == UINT_MAX)
                target = 0;
        else
                target = fls(limit);

+       printk(KERN_DEBUG "__sata_set_spd_needed, target=0x%X",target);
        spd = (*scontrol >> 4) & 0xf;
        *scontrol = (*scontrol & ~0xf0) | ((target & 0xf) << 4);

+       printk(KERN_DEBUG "__sata_set_spd_needed, spd=0x%X",spd);
+       printk(KERN_DEBUG "__sata_set_spd_needed, final *scontrol=0x%X",*scontrol);
        return spd != target;
 }

@@ -467,6 +475,7 @@ static int sata_set_spd_needed(struct ata_link *link)

        if (sata_scr_read(link, SCR_CONTROL, &scontrol))
                return 1;
+       printk(KERN_DEBUG "sata_set_spd_needed, scontrol=0x%X",scontrol);

        return __sata_set_spd_needed(link, &scontrol);
 }

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-19 18:46                           ` marius
@ 2023-01-23  7:02                             ` Damien Le Moal
  2023-01-23 20:00                             ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-23  7:02 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/20/23 03:46, marius@psihoexpert.ro wrote:
> January 19, 2023 2:29 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> On 2023/01/19 4:43, marius@psihoexpert.ro wrote:
>>
>>> [ 73.075849][ T112] hardreset, Online=>Offline
>>> [ 73.075856][ T112] sata_set_spd_needed, scontrol=0x300
>>> [ 73.080328][ T112] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>>> [ 73.085601][ T112] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>>> [ 73.091900][ T112] __sata_set_spd_needed, target=0x0
>>> [ 73.098386][ T112] __sata_set_spd_needed, spd=0x0
>>> [ 73.103475][ T112] __sata_set_spd_needed, final *scontrol=0x300
>>
>> Can you share the patch/diff printing these ? Just to be sure I look at the
>> right place :)
> 
> --- a/drivers/ata/libata-sata.c
> +++ b/drivers/ata/libata-sata.c
> @@ -427,6 +430,7 @@ static int __sata_set_spd_needed(struct ata_link *link, u32 *scontrol)
>         u32 limit, target, spd;
> 
>         limit = link->sata_spd_limit;
> +       printk(KERN_DEBUG "__sata_set_spd_needed, initial limit=0x%X",limit);
> 
>         /* Don't configure downstream link faster than upstream link.
>          * It doesn't speed up anything and some PMPs choke on such
> @@ -435,14 +439,18 @@ static int __sata_set_spd_needed(struct ata_link *link, u32 *scontrol)
>         if (!ata_is_host_link(link) && host_link->sata_spd)
>                 limit &= (1 << host_link->sata_spd) - 1;
> 
> +       printk(KERN_DEBUG "__sata_set_spd_needed, corrected limit=0x%X",limit);
>         if (limit == UINT_MAX)
>                 target = 0;
>         else
>                 target = fls(limit);
> 
> +       printk(KERN_DEBUG "__sata_set_spd_needed, target=0x%X",target);
>         spd = (*scontrol >> 4) & 0xf;
>         *scontrol = (*scontrol & ~0xf0) | ((target & 0xf) << 4);
> 
> +       printk(KERN_DEBUG "__sata_set_spd_needed, spd=0x%X",spd);
> +       printk(KERN_DEBUG "__sata_set_spd_needed, final *scontrol=0x%X",*scontrol);
>         return spd != target;
>  }
> 
> @@ -467,6 +475,7 @@ static int sata_set_spd_needed(struct ata_link *link)
> 
>         if (sata_scr_read(link, SCR_CONTROL, &scontrol))
>                 return 1;
> +       printk(KERN_DEBUG "sata_set_spd_needed, scontrol=0x%X",scontrol);
> 
>         return __sata_set_spd_needed(link, &scontrol);
>  }

Thanks for that. Unfortunately, my PMP box is currently disconnected from
my test machine in the lab. Need to get there to reconnect it :)

But I think I got an idea of what is wrong here. Can you try this patch:

diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c
index 18ef14e749a0..cb12054c733f 100644
--- a/drivers/ata/libata-sata.c
+++ b/drivers/ata/libata-sata.c
@@ -436,7 +436,8 @@ static int __sata_set_spd_needed(struct ata_link
*link, u32 *scontrol)
                limit &= (1 << host_link->sata_spd) - 1;

        if (limit == UINT_MAX)
-               target = 0;
+               /* Try highest gen 3 limit */
+               target = 3;
        else
                target = fls(limit);

Note that with further digging, it seems that even for a working system
with all drives detected, we always end-up with something like:

cat
/sys/devices/pci0000:00/0000:00:17.0/ata6/link6/ata_link/link6/sata_spd_limit
<unknown>

And same for hw_sata_spd_limit.

So the UINT_MAX blind initialization of the speed limit before probing
seems to never be corrected and set to the actual limit of the
link/device. That needs further correction. But for your case, the above
should fix the issue I think.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2022-11-01 19:21 Bug report for ahci-mvebu driver Dinu Marius
                   ` (2 preceding siblings ...)
  2022-11-26 14:26 ` Bug report for ahci-mvebu driver Pali Rohár
@ 2023-01-23  9:10 ` Hajo Noerenberg
  2023-01-23 12:13   ` Damien Le Moal
  3 siblings, 1 reply; 67+ messages in thread
From: Hajo Noerenberg @ 2023-01-23  9:10 UTC (permalink / raw)
  To: linux-ide; +Cc: damien.lemoal, marius, Pali Rohár

> The same router works perfectly when I connect a laptop HDD.
> The same DAS, including the same eSATA cable, works perfectly when connected to an older 
> Linksys WRT-1900AC v1 with Marvell Armada XP (MV78230), using sata-mv driver. 
> This is the kernel log from the older router:
> 

Sorry to interfering in from the side, but I have observed very similar behavior with a Marvel 88SE6121 controller (AHCI kernel module): Very old SATA-1 HDDs (mostly laptop HDDs in my tests) work flawlessly, SATA-2/3 HDDs consistently fail. Limiting SATA speed (libata.force=1.5G ...) does not help.

Interestingly, SATA-2/3 HDDs do work with U-Boot and 'ancient' 3.x kernels. There was a suspicion that it was the PCI subsystem (the change in kernel 3.16 from kirkwood/pci.c to mvebu-pci). Pali Rohár did a great job to investigate this problem very persistently, but in the end we did not find a solution.

Without knowing anything about this area, there was the assumption that the problem must be at one of the lower levels close to the hardware.

You can find all the details and a lot of protocols in Bug https://bugzilla.kernel.org/show_bug.cgi?id=216094

I've been trying to revive my NAS440 for over 10 years with all the components (https://github.com/hn/seagate-blackarmor-nas), so I have the hardware available and am happy to persevere to try things or otherwise help.

Hajo


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

* Re: Bug report for ahci-mvebu driver
  2023-01-23  9:10 ` Hajo Noerenberg
@ 2023-01-23 12:13   ` Damien Le Moal
  0 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-23 12:13 UTC (permalink / raw)
  To: Hajo Noerenberg, linux-ide; +Cc: marius, Pali Rohár

On 1/23/23 18:10, Hajo Noerenberg wrote:
>> The same router works perfectly when I connect a laptop HDD. The same
>> DAS, including the same eSATA cable, works perfectly when connected
>> to an older Linksys WRT-1900AC v1 with Marvell Armada XP (MV78230),
>> using sata-mv driver. This is the kernel log from the older router:
>> 
> 
> Sorry to interfering in from the side, but I have observed very similar
> behavior with a Marvel 88SE6121 controller (AHCI kernel module): Very
> old SATA-1 HDDs (mostly laptop HDDs in my tests) work flawlessly,
> SATA-2/3 HDDs consistently fail. Limiting SATA speed (libata.force=1.5G
> ...) does not help.
> 
> Interestingly, SATA-2/3 HDDs do work with U-Boot and 'ancient' 3.x
> kernels. There was a suspicion that it was the PCI subsystem (the
> change in kernel 3.16 from kirkwood/pci.c to mvebu-pci). Pali Rohár did
> a great job to investigate this problem very persistently, but in the
> end we did not find a solution.
> 
> Without knowing anything about this area, there was the assumption that
> the problem must be at one of the lower levels close to the hardware.
> 
> You can find all the details and a lot of protocols in Bug
> https://bugzilla.kernel.org/show_bug.cgi?id=216094
> 
> I've been trying to revive my NAS440 for over 10 years with all the
> components (https://github.com/hn/seagate-blackarmor-nas), so I have
> the hardware available and am happy to persevere to try things or
> otherwise help.

Well, the first thing to do would be to test your system using the latest
kernel 6.2-rc5 and see if the problem still exists. If it does, please
report the issue.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-19 18:46                           ` marius
  2023-01-23  7:02                             ` Damien Le Moal
@ 2023-01-23 20:00                             ` marius
  2023-01-23 23:00                               ` Damien Le Moal
  2023-01-24  8:04                               ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-01-23 20:00 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 23, 2023 9:02 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> But I think I got an idea of what is wrong here. Can you try this patch:
> 
> diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c
> index 18ef14e749a0..cb12054c733f 100644
> --- a/drivers/ata/libata-sata.c
> +++ b/drivers/ata/libata-sata.c
> @@ -436,7 +436,8 @@ static int __sata_set_spd_needed(struct ata_link
> *link, u32 *scontrol)
> limit &= (1 << host_link->sata_spd) - 1;
> 
> if (limit == UINT_MAX)
> - target = 0;
> + /* Try highest gen 3 limit */
> + target = 3;
> else
> target = fls(limit);

It doesn't work. I didn't really expect it to work, since manually forcing 3Gbps didn't work either - probably a hardware issue like you said.

I think that the old behaviour (before commit 2dc0b46b5ea30f169b0b272253ea846a5a281731) of slowing down sata speed when a connection can't be established is in fact the right thing to do. Maybe a longer delay before reducing the link speed would satisfy the random cases that the commit author reported. Maybe he was just having a loose connector issue - especially since he only reported one case.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-23 20:00                             ` marius
@ 2023-01-23 23:00                               ` Damien Le Moal
  2023-01-24  8:04                               ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-23 23:00 UTC (permalink / raw)
  To: marius; +Cc: linux-ide


On 1/24/23 05:00, marius@psihoexpert.ro wrote:
> January 23, 2023 9:02 AM, "Damien Le Moal"
> <damien.lemoal@opensource.wdc.com> wrote:
> 
>> But I think I got an idea of what is wrong here. Can you try this
>> patch:
>> 
>> diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c 
>> index 18ef14e749a0..cb12054c733f 100644 ---
>> a/drivers/ata/libata-sata.c +++ b/drivers/ata/libata-sata.c @@ -436,7
>> +436,8 @@ static int __sata_set_spd_needed(struct ata_link *link, u32
>> *scontrol) limit &= (1 << host_link->sata_spd) - 1;
>> 
>> if (limit == UINT_MAX) - target = 0; + /* Try highest gen 3 limit */ 
>> + target = 3; else target = fls(limit);
> 
> It doesn't work. I didn't really expect it to work, since manually
> forcing 3Gbps didn't work either - probably a hardware issue like you
> said.

Well, this one was not intended to limit the link speed to anything.
target == 0 written to scontrol means "no autonegociation speed limit",
while target == 3 means "limit autonegotiated speed to gen 3", which are
effectively equivalent since the max speed is gen 3 :) The point was to
force an scontrol write: in your case, spd is 0 and the default code with
target == 0 ends up with __sata_set_spd_needed returning false and so
sata_set_spd() doing nothing. Setting target to 3 forced trying to set the
speed to gen3. Wanted to see what that did.

Given that things are working by forcing 1.5gbps, and you endup with the
correct 3gbps link speed, it seems that this hardware does not like
negotiation starting from the highest speed. The SATA-IO specifications do
clearly mandate that adapters should allow for any initial speed, the
highest or the lowest and be ready for negotiation from any starting
combination of device and adapter speeds. But it seems that the designers
of this adapter and/or of the pmp box missed that chapter :)

> I think that the old behaviour (before commit
> 2dc0b46b5ea30f169b0b272253ea846a5a281731) of slowing down sata speed
> when a connection can't be established is in fact the right thing to
> do. Maybe a longer delay before reducing the link speed would satisfy
> the random cases that the commit author reported. Maybe he was just
> having a loose connector issue - especially since he only reported one
> case.

I do not think that a longer delay will change anything in your case since
the device presence cannot be established when starting speed negotiation
without a limit: see the "debounce, SCR=0x100" messages in your debug,
while the 1.5gbps link speed forcing leads to an immediate device presence
detected (debounce, SCR=0x113 message).

Can you please try this one:

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 884ae73b11ea..a4e2a93af0e5 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3085,10 +3085,17 @@ int sata_down_spd_limit(struct ata_link *link, u32
spd_limit)
         * If not, use cached value in link->sata_spd.
         */
        rc = sata_scr_read(link, SCR_STATUS, &sstatus);
-       if (rc == 0 && ata_sstatus_online(sstatus))
+       if (rc == 0 && ata_sstatus_online(sstatus)) {
                spd = (sstatus >> 4) & 0xf;
-       else
+       } else {
+               /*
+                * Device is not reporting a speed yet. Use the last recorded
+                * speed. If we do not have that either, start with Gen3
speed.
+                */
+               if (!link->sata_spd)
+                       link->sata_spd = 3;
                spd = link->sata_spd;
+       }

        mask = link->sata_spd_limit;
        if (mask <= 1)

If that does not work, we'll have to handle your case with a HORKAGE flag
for that adapter.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-23 20:00                             ` marius
  2023-01-23 23:00                               ` Damien Le Moal
@ 2023-01-24  8:04                               ` marius
  2023-01-24  9:53                                 ` Damien Le Moal
  2023-01-24 17:02                                 ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-01-24  8:04 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 24, 2023 1:00 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

>> I think that the old behaviour (before commit
>> 2dc0b46b5ea30f169b0b272253ea846a5a281731) of slowing down sata speed
>> when a connection can't be established is in fact the right thing to
>> do. Maybe a longer delay before reducing the link speed would satisfy
>> the random cases that the commit author reported. Maybe he was just
>> having a loose connector issue - especially since he only reported one
>> case.
> 
> I do not think that a longer delay will change anything in your case since
> the device presence cannot be established when starting speed negotiation
> without a limit: see the "debounce, SCR=0x100" messages in your debug,
> while the 1.5gbps link speed forcing leads to an immediate device presence
> detected (debounce, SCR=0x113 message).

I was referring to the original "bug" the commit author (David Milburn) was trying to fix.

> Can you please try this one:
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..a4e2a93af0e5 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3085,10 +3085,17 @@ int sata_down_spd_limit(struct ata_link *link, u32
> spd_limit)
> * If not, use cached value in link->sata_spd.
> */
> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
> - if (rc == 0 && ata_sstatus_online(sstatus))
> + if (rc == 0 && ata_sstatus_online(sstatus)) {
> spd = (sstatus >> 4) & 0xf;
> - else
> + } else {
> + /*
> + * Device is not reporting a speed yet. Use the last recorded
> + * speed. If we do not have that either, start with Gen3
> speed.
> + */
> + if (!link->sata_spd)
> + link->sata_spd = 3;
> spd = link->sata_spd;
> + }
> 
> mask = link->sata_spd_limit;
> if (mask <= 1)

It works.

[   19.408712][  T113] hardreset, Online=>Offline
[   19.408721][  T113] sata_set_spd_needed, scontrol=0x330
[   19.413195][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   19.418473][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   19.424789][  T113] __sata_set_spd_needed, target=0x3
[   19.431265][  T113] __sata_set_spd_needed, spd=0x3
[   19.436358][  T113] __sata_set_spd_needed, final *scontrol=0x330
[   19.442248][  T113] resume, do loop
[   19.673966][  T113] resume, after do loop
[   19.733966][  T113] debounce, SCR=0x100
[   19.793965][  T113] debounce, SCR=0x100
[   19.853965][  T113] debounce, SCR=0x100
[   19.913966][  T113] debounce, SCR=0x100
[   19.973965][  T113] debounce, SCR=0x100
[   20.033966][  T113] debounce, SCR=0x100
[   20.093966][  T113] debounce, SCR=0x100
[   20.153965][  T113] debounce, SCR=0x0
[   20.213987][  T113] debounce, SCR=0x0
[   20.217673][  T113] resume, return at end of function
[   20.221358][  T113] hardreset, ata_phys_link_offline check failed
[   20.226462][  T113] ata2: SATA link down (SStatus 0 SControl 330)
[   20.321504][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   20.331407][  T113] ata2: limiting SATA link speed to 1.5 Gbps
[   20.337294][  T113] hardreset, Online=>Offline
[   20.337300][  T113] sata_set_spd_needed, scontrol=0x330
[   20.341770][  T113] __sata_set_spd_needed, initial limit=0x1
[   20.347037][  T113] __sata_set_spd_needed, corrected limit=0x1
[   20.352728][  T113] __sata_set_spd_needed, target=0x1
[   20.358605][  T113] __sata_set_spd_needed, spd=0x3
[   20.363684][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   20.368515][  T113] __sata_set_spd_needed, initial limit=0x1
[   20.374576][  T113] __sata_set_spd_needed, corrected limit=0x1
[   20.380267][  T113] __sata_set_spd_needed, target=0x1
[   20.386144][  T113] __sata_set_spd_needed, spd=0x3
[   20.391223][  T113] __sata_set_spd_needed, final *scontrol=0x314
[   20.397127][  T113] resume, do loop
[   20.623966][  T113] resume, after do loop
[   20.683966][  T113] debounce, SCR=0x113
[   20.733987][  T113] debounce, SCR=0x113
[   20.793966][  T113] debounce, SCR=0x113
[   20.853965][  T113] debounce, SCR=0x113
[   20.913966][  T113] debounce, SCR=0x113
[   20.973965][  T113] debounce, SCR=0x113
[   21.033966][  T113] debounce, SCR=0x113
[   21.093966][  T113] debounce, SCR=0x113
[   21.153965][  T113] debounce, SCR=0x113
[   21.157826][  T113] resume, return at end of function
[   21.161684][  T113] hardreset, Offline=>Online
[   21.171249][  T113] hardreset, sata_pmp_supported, before check_ready
[   21.343968][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   21.357696][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[   21.366318][  T113] device: 'link2.0': device_add
[   21.371124][  T113] device: 'link2.0': device_add
[   21.376120][  T113] device: 'dev2.0.0': device_add
[   21.380966][  T113] device: 'dev2.0.0': device_add
[   21.385953][  T113] device: 'link2.1': device_add
[   21.390711][  T113] device: 'link2.1': device_add
[   21.395569][  T113] device: 'dev2.1.0': device_add
[   21.400437][  T113] device: 'dev2.1.0': device_add
[   21.405469][  T113] device: 'link2.2': device_add
[   21.410232][  T113] device: 'link2.2': device_add
[   21.415086][  T113] device: 'dev2.2.0': device_add
[   21.419937][  T113] device: 'dev2.2.0': device_add
[   21.424910][  T113] device: 'link2.3': device_add
[   21.429669][  T113] device: 'link2.3': device_add
[   21.434528][  T113] device: 'dev2.3.0': device_add
[   21.439374][  T113] device: 'dev2.3.0': device_add
...
[   21.640403][  T113] device: 'link2.14': device_add
[   21.645287][  T113] device: 'link2.14': device_add
[   21.650234][  T113] device: 'dev2.14.0': device_add
[   21.655197][  T113] device: 'dev2.14.0': device_add
[   21.660252][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
[   21.666005][  T113] ata2.00: SCR_CONTROL = 0x300
[   21.670684][  T113] ata2.01: SCR_CONTROL = 0x300
[   21.675389][  T113] ata2.02: SCR_CONTROL = 0x300
[   21.680066][  T113] ata2.03: SCR_CONTROL = 0x300
[   21.684774][  T113] ata2.04: SCR_CONTROL = 0x300
[   21.689452][  T113] ata2.05: SCR_CONTROL = 0x300
[   21.694194][  T113] ata2.06: SCR_CONTROL = 0x300
[   21.698871][  T113] ata2.07: SCR_CONTROL = 0x300
[   21.703624][  T113] ata2.00: hard resetting link
[   21.708304][  T113] hardreset, Online=>Offline
[   21.708343][  T113] sata_set_spd_needed, scontrol=0x300
[   21.712815][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   21.718093][  T113] __sata_set_spd_needed, corrected limit=0x1
[   21.724409][  T113] __sata_set_spd_needed, target=0x1
[   21.730274][  T113] __sata_set_spd_needed, spd=0x0
[   21.735366][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   21.740280][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   21.746343][  T113] __sata_set_spd_needed, corrected limit=0x1
[   21.752643][  T113] __sata_set_spd_needed, target=0x1
[   21.758522][  T113] __sata_set_spd_needed, spd=0x0
[   21.763602][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   21.769655][  T113] resume, do loop
[   22.004001][  T113] resume, after do loop
[   22.012645][  T113] debounce, SCR=0x123
[   22.021803][  T113] debounce, SCR=0x123
[   22.030784][  T113] debounce, SCR=0x123
[   22.039763][  T113] debounce, SCR=0x123
[   22.048725][  T113] debounce, SCR=0x123
[   22.057686][  T113] debounce, SCR=0x123
[   22.066647][  T113] debounce, SCR=0x123
[   22.075608][  T113] debounce, SCR=0x123
[   22.084568][  T113] debounce, SCR=0x123
[   22.093529][  T113] debounce, SCR=0x123
[   22.102511][  T113] debounce, SCR=0x123
[   22.111494][  T113] debounce, SCR=0x123
[   22.115437][  T113] resume, return at end of function
[   22.119327][  T113] hardreset, Offline=>Online
[   22.128892][  T113] hardreset, after check_ready
[   22.129113][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   22.140984][  T113] ata2.01: hard resetting link
[   22.145653][  T113] hardreset, Online=>Offline
[   22.145691][  T113] sata_set_spd_needed, scontrol=0x300
[   22.150161][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   22.155436][  T113] __sata_set_spd_needed, corrected limit=0x1
[   22.161737][  T113] __sata_set_spd_needed, target=0x1
[   22.167614][  T113] __sata_set_spd_needed, spd=0x0
[   22.172695][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   22.177617][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   22.183657][  T113] __sata_set_spd_needed, corrected limit=0x1
[   22.189979][  T113] __sata_set_spd_needed, target=0x1
[   22.195857][  T113] __sata_set_spd_needed, spd=0x0
[   22.200936][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   22.206971][  T113] resume, do loop
[   22.434000][  T113] resume, after do loop
[   22.442642][  T113] debounce, SCR=0x123
[   22.451798][  T113] debounce, SCR=0x123
[   22.460779][  T113] debounce, SCR=0x123
[   22.469760][  T113] debounce, SCR=0x123
[   22.478720][  T113] debounce, SCR=0x123
[   22.487680][  T113] debounce, SCR=0x123
[   22.496641][  T113] debounce, SCR=0x123
[   22.505602][  T113] debounce, SCR=0x123
[   22.514563][  T113] debounce, SCR=0x123
[   22.523524][  T113] debounce, SCR=0x123
[   22.532504][  T113] debounce, SCR=0x123
[   22.541487][  T113] debounce, SCR=0x123
[   22.545429][  T113] resume, return at end of function
[   22.549320][  T113] hardreset, Offline=>Online
[   22.558885][  T113] hardreset, after check_ready
[   22.559103][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   22.570973][  T113] ata2.02: hard resetting link
[   22.575639][  T113] hardreset, Online=>Offline
[   22.575677][  T113] sata_set_spd_needed, scontrol=0x300
[   22.580148][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   22.585423][  T113] __sata_set_spd_needed, corrected limit=0x1
[   22.591724][  T113] __sata_set_spd_needed, target=0x1
[   22.597602][  T113] __sata_set_spd_needed, spd=0x0
[   22.602682][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   22.607608][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   22.613648][  T113] __sata_set_spd_needed, corrected limit=0x1
[   22.619968][  T113] __sata_set_spd_needed, target=0x1
[   22.625847][  T113] __sata_set_spd_needed, spd=0x0
[   22.630927][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   22.636959][  T113] resume, do loop
[   22.864000][  T113] resume, after do loop
[   22.872642][  T113] debounce, SCR=0x0
[   22.881798][  T113] debounce, SCR=0x0
[   22.890603][  T113] debounce, SCR=0x0
[   22.899408][  T113] debounce, SCR=0x0
[   22.908194][  T113] debounce, SCR=0x0
[   22.916979][  T113] debounce, SCR=0x0
[   22.925766][  T113] debounce, SCR=0x0
[   22.934553][  T113] debounce, SCR=0x0
[   22.943339][  T113] debounce, SCR=0x0
[   22.952146][  T113] debounce, SCR=0x0
[   22.960953][  T113] debounce, SCR=0x0
[   22.969761][  T113] debounce, SCR=0x0
[   22.978547][  T113] debounce, SCR=0x0
[   22.982295][  T113] resume, return at end of function
[   22.986033][  T113] hardreset, ata_phys_link_offline check failed
[   22.991325][  T113] ata2.02: SATA link down (SStatus 0 SControl 300)
...
[   25.191319][  T113] ata2.07: SATA link down (SStatus 0 SControl 300)
[   25.204010][  T113] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[   25.211624][  T113] ata2.00: 976773168 sectors, multi 0: LBA48 
[   25.217741][  T113] ata2.00: configured for UDMA/133
[   25.222815][  T113] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
[   25.229751][  T113] ata2.01: 23437498368 sectors, multi 0: LBA48 
[   25.236026][  T113] ata2.01: configured for UDMA/133
[   25.241168][  T113] ata2: EH complete

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-24  8:04                               ` marius
@ 2023-01-24  9:53                                 ` Damien Le Moal
  2023-01-24 17:02                                 ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-24  9:53 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/24/23 17:04, marius@psihoexpert.ro wrote:
> January 24, 2023 1:00 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>>> I think that the old behaviour (before commit
>>> 2dc0b46b5ea30f169b0b272253ea846a5a281731) of slowing down sata speed
>>> when a connection can't be established is in fact the right thing to
>>> do. Maybe a longer delay before reducing the link speed would satisfy
>>> the random cases that the commit author reported. Maybe he was just
>>> having a loose connector issue - especially since he only reported one
>>> case.
>>
>> I do not think that a longer delay will change anything in your case since
>> the device presence cannot be established when starting speed negotiation
>> without a limit: see the "debounce, SCR=0x100" messages in your debug,
>> while the 1.5gbps link speed forcing leads to an immediate device presence
>> detected (debounce, SCR=0x113 message).
> 
> I was referring to the original "bug" the commit author (David Milburn) was trying to fix.
> 
>> Can you please try this one:
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 884ae73b11ea..a4e2a93af0e5 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3085,10 +3085,17 @@ int sata_down_spd_limit(struct ata_link *link, u32
>> spd_limit)
>> * If not, use cached value in link->sata_spd.
>> */
>> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
>> - if (rc == 0 && ata_sstatus_online(sstatus))
>> + if (rc == 0 && ata_sstatus_online(sstatus)) {
>> spd = (sstatus >> 4) & 0xf;
>> - else
>> + } else {
>> + /*
>> + * Device is not reporting a speed yet. Use the last recorded
>> + * speed. If we do not have that either, start with Gen3
>> speed.
>> + */
>> + if (!link->sata_spd)
>> + link->sata_spd = 3;
>> spd = link->sata_spd;
>> + }
>>
>> mask = link->sata_spd_limit;
>> if (mask <= 1)
> 
> It works.

OK. Good. But from the trace below, it looks like you have the previous
patch still applied. Can you try only the above patch ?

> 
> [   19.408712][  T113] hardreset, Online=>Offline
> [   19.408721][  T113] sata_set_spd_needed, scontrol=0x330
> [   19.413195][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   19.418473][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [   19.424789][  T113] __sata_set_spd_needed, target=0x3
> [   19.431265][  T113] __sata_set_spd_needed, spd=0x3
> [   19.436358][  T113] __sata_set_spd_needed, final *scontrol=0x330
> [   19.442248][  T113] resume, do loop
> [   19.673966][  T113] resume, after do loop
> [   19.733966][  T113] debounce, SCR=0x100
> [   19.793965][  T113] debounce, SCR=0x100
> [   19.853965][  T113] debounce, SCR=0x100
> [   19.913966][  T113] debounce, SCR=0x100
> [   19.973965][  T113] debounce, SCR=0x100
> [   20.033966][  T113] debounce, SCR=0x100
> [   20.093966][  T113] debounce, SCR=0x100
> [   20.153965][  T113] debounce, SCR=0x0
> [   20.213987][  T113] debounce, SCR=0x0
> [   20.217673][  T113] resume, return at end of function
> [   20.221358][  T113] hardreset, ata_phys_link_offline check failed
> [   20.226462][  T113] ata2: SATA link down (SStatus 0 SControl 330)
> [   20.321504][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   20.331407][  T113] ata2: limiting SATA link speed to 1.5 Gbps
> [   20.337294][  T113] hardreset, Online=>Offline
> [   20.337300][  T113] sata_set_spd_needed, scontrol=0x330
> [   20.341770][  T113] __sata_set_spd_needed, initial limit=0x1
> [   20.347037][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   20.352728][  T113] __sata_set_spd_needed, target=0x1
> [   20.358605][  T113] __sata_set_spd_needed, spd=0x3
> [   20.363684][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   20.368515][  T113] __sata_set_spd_needed, initial limit=0x1
> [   20.374576][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   20.380267][  T113] __sata_set_spd_needed, target=0x1
> [   20.386144][  T113] __sata_set_spd_needed, spd=0x3
> [   20.391223][  T113] __sata_set_spd_needed, final *scontrol=0x314
> [   20.397127][  T113] resume, do loop
> [   20.623966][  T113] resume, after do loop
> [   20.683966][  T113] debounce, SCR=0x113
> [   20.733987][  T113] debounce, SCR=0x113
> [   20.793966][  T113] debounce, SCR=0x113
> [   20.853965][  T113] debounce, SCR=0x113
> [   20.913966][  T113] debounce, SCR=0x113
> [   20.973965][  T113] debounce, SCR=0x113
> [   21.033966][  T113] debounce, SCR=0x113
> [   21.093966][  T113] debounce, SCR=0x113
> [   21.153965][  T113] debounce, SCR=0x113
> [   21.157826][  T113] resume, return at end of function
> [   21.161684][  T113] hardreset, Offline=>Online
> [   21.171249][  T113] hardreset, sata_pmp_supported, before check_ready
> [   21.343968][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [   21.357696][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
> [   21.366318][  T113] device: 'link2.0': device_add
> [   21.371124][  T113] device: 'link2.0': device_add
> [   21.376120][  T113] device: 'dev2.0.0': device_add
> [   21.380966][  T113] device: 'dev2.0.0': device_add
> [   21.385953][  T113] device: 'link2.1': device_add
> [   21.390711][  T113] device: 'link2.1': device_add
> [   21.395569][  T113] device: 'dev2.1.0': device_add
> [   21.400437][  T113] device: 'dev2.1.0': device_add
> [   21.405469][  T113] device: 'link2.2': device_add
> [   21.410232][  T113] device: 'link2.2': device_add
> [   21.415086][  T113] device: 'dev2.2.0': device_add
> [   21.419937][  T113] device: 'dev2.2.0': device_add
> [   21.424910][  T113] device: 'link2.3': device_add
> [   21.429669][  T113] device: 'link2.3': device_add
> [   21.434528][  T113] device: 'dev2.3.0': device_add
> [   21.439374][  T113] device: 'dev2.3.0': device_add
> ...
> [   21.640403][  T113] device: 'link2.14': device_add
> [   21.645287][  T113] device: 'link2.14': device_add
> [   21.650234][  T113] device: 'dev2.14.0': device_add
> [   21.655197][  T113] device: 'dev2.14.0': device_add
> [   21.660252][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
> [   21.666005][  T113] ata2.00: SCR_CONTROL = 0x300
> [   21.670684][  T113] ata2.01: SCR_CONTROL = 0x300
> [   21.675389][  T113] ata2.02: SCR_CONTROL = 0x300
> [   21.680066][  T113] ata2.03: SCR_CONTROL = 0x300
> [   21.684774][  T113] ata2.04: SCR_CONTROL = 0x300
> [   21.689452][  T113] ata2.05: SCR_CONTROL = 0x300
> [   21.694194][  T113] ata2.06: SCR_CONTROL = 0x300
> [   21.698871][  T113] ata2.07: SCR_CONTROL = 0x300
> [   21.703624][  T113] ata2.00: hard resetting link
> [   21.708304][  T113] hardreset, Online=>Offline
> [   21.708343][  T113] sata_set_spd_needed, scontrol=0x300
> [   21.712815][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   21.718093][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   21.724409][  T113] __sata_set_spd_needed, target=0x1
> [   21.730274][  T113] __sata_set_spd_needed, spd=0x0
> [   21.735366][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   21.740280][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   21.746343][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   21.752643][  T113] __sata_set_spd_needed, target=0x1
> [   21.758522][  T113] __sata_set_spd_needed, spd=0x0
> [   21.763602][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   21.769655][  T113] resume, do loop
> [   22.004001][  T113] resume, after do loop
> [   22.012645][  T113] debounce, SCR=0x123
> [   22.021803][  T113] debounce, SCR=0x123
> [   22.030784][  T113] debounce, SCR=0x123
> [   22.039763][  T113] debounce, SCR=0x123
> [   22.048725][  T113] debounce, SCR=0x123
> [   22.057686][  T113] debounce, SCR=0x123
> [   22.066647][  T113] debounce, SCR=0x123
> [   22.075608][  T113] debounce, SCR=0x123
> [   22.084568][  T113] debounce, SCR=0x123
> [   22.093529][  T113] debounce, SCR=0x123
> [   22.102511][  T113] debounce, SCR=0x123
> [   22.111494][  T113] debounce, SCR=0x123
> [   22.115437][  T113] resume, return at end of function
> [   22.119327][  T113] hardreset, Offline=>Online
> [   22.128892][  T113] hardreset, after check_ready
> [   22.129113][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [   22.140984][  T113] ata2.01: hard resetting link
> [   22.145653][  T113] hardreset, Online=>Offline
> [   22.145691][  T113] sata_set_spd_needed, scontrol=0x300
> [   22.150161][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   22.155436][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   22.161737][  T113] __sata_set_spd_needed, target=0x1
> [   22.167614][  T113] __sata_set_spd_needed, spd=0x0
> [   22.172695][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   22.177617][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   22.183657][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   22.189979][  T113] __sata_set_spd_needed, target=0x1
> [   22.195857][  T113] __sata_set_spd_needed, spd=0x0
> [   22.200936][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   22.206971][  T113] resume, do loop
> [   22.434000][  T113] resume, after do loop
> [   22.442642][  T113] debounce, SCR=0x123
> [   22.451798][  T113] debounce, SCR=0x123
> [   22.460779][  T113] debounce, SCR=0x123
> [   22.469760][  T113] debounce, SCR=0x123
> [   22.478720][  T113] debounce, SCR=0x123
> [   22.487680][  T113] debounce, SCR=0x123
> [   22.496641][  T113] debounce, SCR=0x123
> [   22.505602][  T113] debounce, SCR=0x123
> [   22.514563][  T113] debounce, SCR=0x123
> [   22.523524][  T113] debounce, SCR=0x123
> [   22.532504][  T113] debounce, SCR=0x123
> [   22.541487][  T113] debounce, SCR=0x123
> [   22.545429][  T113] resume, return at end of function
> [   22.549320][  T113] hardreset, Offline=>Online
> [   22.558885][  T113] hardreset, after check_ready
> [   22.559103][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [   22.570973][  T113] ata2.02: hard resetting link
> [   22.575639][  T113] hardreset, Online=>Offline
> [   22.575677][  T113] sata_set_spd_needed, scontrol=0x300
> [   22.580148][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   22.585423][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   22.591724][  T113] __sata_set_spd_needed, target=0x1
> [   22.597602][  T113] __sata_set_spd_needed, spd=0x0
> [   22.602682][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   22.607608][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   22.613648][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   22.619968][  T113] __sata_set_spd_needed, target=0x1
> [   22.625847][  T113] __sata_set_spd_needed, spd=0x0
> [   22.630927][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   22.636959][  T113] resume, do loop
> [   22.864000][  T113] resume, after do loop
> [   22.872642][  T113] debounce, SCR=0x0
> [   22.881798][  T113] debounce, SCR=0x0
> [   22.890603][  T113] debounce, SCR=0x0
> [   22.899408][  T113] debounce, SCR=0x0
> [   22.908194][  T113] debounce, SCR=0x0
> [   22.916979][  T113] debounce, SCR=0x0
> [   22.925766][  T113] debounce, SCR=0x0
> [   22.934553][  T113] debounce, SCR=0x0
> [   22.943339][  T113] debounce, SCR=0x0
> [   22.952146][  T113] debounce, SCR=0x0
> [   22.960953][  T113] debounce, SCR=0x0
> [   22.969761][  T113] debounce, SCR=0x0
> [   22.978547][  T113] debounce, SCR=0x0
> [   22.982295][  T113] resume, return at end of function
> [   22.986033][  T113] hardreset, ata_phys_link_offline check failed
> [   22.991325][  T113] ata2.02: SATA link down (SStatus 0 SControl 300)
> ...
> [   25.191319][  T113] ata2.07: SATA link down (SStatus 0 SControl 300)
> [   25.204010][  T113] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
> [   25.211624][  T113] ata2.00: 976773168 sectors, multi 0: LBA48 
> [   25.217741][  T113] ata2.00: configured for UDMA/133
> [   25.222815][  T113] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
> [   25.229751][  T113] ata2.01: 23437498368 sectors, multi 0: LBA48 
> [   25.236026][  T113] ata2.01: configured for UDMA/133
> [   25.241168][  T113] ata2: EH complete
> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-24  8:04                               ` marius
  2023-01-24  9:53                                 ` Damien Le Moal
@ 2023-01-24 17:02                                 ` marius
  2023-01-27  5:13                                   ` Damien Le Moal
  1 sibling, 1 reply; 67+ messages in thread
From: marius @ 2023-01-24 17:02 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 24, 2023 11:54 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> OK. Good. But from the trace below, it looks like you have the previous
> patch still applied. Can you try only the above patch ?

Done:
[ 15.135173][ T113] hardreset, Online=>Offline
[ 15.135182][ T113] sata_set_spd_needed, scontrol=0x300
[ 15.139656][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 15.144934][ T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[ 15.151235][ T113] __sata_set_spd_needed, target=0x0
[ 15.157725][ T113] __sata_set_spd_needed, spd=0x0
[ 15.162805][ T113] __sata_set_spd_needed, final *scontrol=0x300
[ 15.168708][ T113] resume, do loop
[ 15.403902][ T113] resume, after do loop
[ 15.463901][ T113] debounce, SCR=0x100
[ 15.513923][ T113] debounce, SCR=0x101
[ 15.573901][ T113] debounce, SCR=0x100
[ 15.633901][ T113] debounce, SCR=0x101
[ 15.693901][ T113] debounce, SCR=0x100
[ 15.753901][ T113] debounce, SCR=0x101
[ 15.813900][ T113] debounce, SCR=0x100
[ 15.873901][ T113] debounce, SCR=0x101
[ 15.933900][ T113] debounce, SCR=0x100
[ 15.993900][ T113] debounce, SCR=0x100
[ 16.053900][ T113] debounce, SCR=0x100
[ 16.113901][ T113] debounce, SCR=0x100
[ 16.173900][ T113] debounce, SCR=0x100
[ 16.233901][ T113] debounce, SCR=0x0
[ 16.293901][ T113] debounce, SCR=0x0
[ 16.353900][ T113] debounce, SCR=0x0
[ 16.413901][ T113] debounce, SCR=0x0
[ 16.473901][ T113] debounce, SCR=0x100
[ 16.477586][ T113] resume, return at end of function
[ 16.481446][ T113] hardreset, ata_phys_link_offline check failed
[ 16.486550][ T113] ata2: SATA link down (SStatus 100 SControl 300)
[ 16.499019][ T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
0xffffffff
[ 16.508914][ T113] ata2: limiting SATA link speed to 1.5 Gbps
[ 16.514800][ T113] hardreset, Online=>Offline
[ 16.514807][ T113] sata_set_spd_needed, scontrol=0x300
[ 16.519276][ T113] __sata_set_spd_needed, initial limit=0x1
[ 16.524544][ T113] __sata_set_spd_needed, corrected limit=0x1
[ 16.530235][ T113] __sata_set_spd_needed, target=0x1
[ 16.536119][ T113] __sata_set_spd_needed, spd=0x0
[ 16.541199][ T113] __sata_set_spd_needed, final *scontrol=0x310
[ 16.546046][ T113] __sata_set_spd_needed, initial limit=0x1
[ 16.552085][ T113] __sata_set_spd_needed, corrected limit=0x1
[ 16.557790][ T113] __sata_set_spd_needed, target=0x1
[ 16.563655][ T113] __sata_set_spd_needed, spd=0x0
[ 16.568748][ T113] __sata_set_spd_needed, final *scontrol=0x314
[ 16.574637][ T113] resume, do loop
[ 16.803902][ T113] resume, after do loop
[ 16.863901][ T113] debounce, SCR=0x113
[ 16.923901][ T113] debounce, SCR=0x113
[ 16.983901][ T113] debounce, SCR=0x113
[ 17.043900][ T113] debounce, SCR=0x113
[ 17.103901][ T113] debounce, SCR=0x113
[ 17.163901][ T113] debounce, SCR=0x113
[ 17.223901][ T113] debounce, SCR=0x113
[ 17.283900][ T113] debounce, SCR=0x113
[ 17.343900][ T113] debounce, SCR=0x113
[ 17.347761][ T113] resume, return at end of function
[ 17.351620][ T113] hardreset, Offline=>Online
[ 17.361184][ T113] hardreset, sata_pmp_supported, before check_ready
[ 17.533905][ T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 17.547634][ T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[ 17.556257][ T113] device: 'link2.0': device_add
[ 17.561066][ T113] device: 'link2.0': device_add
[ 17.566026][ T113] device: 'dev2.0.0': device_add
[ 17.570872][ T113] device: 'dev2.0.0': device_add
[ 17.575869][ T113] device: 'link2.1': device_add
[ 17.580628][ T113] device: 'link2.1': device_add
[ 17.585489][ T113] device: 'dev2.1.0': device_add
[ 17.590370][ T113] device: 'dev2.1.0': device_add
...
[ 17.830354][ T113] device: 'link2.14': device_add
[ 17.835236][ T113] device: 'link2.14': device_add
[ 17.840174][ T113] device: 'dev2.14.0': device_add
[ 17.845134][ T113] device: 'dev2.14.0': device_add
[ 17.850194][ T113] ahci-mvebu f10a8000.sata: FBS is enabled
[ 17.855948][ T113] ata2.00: SCR_CONTROL = 0x300
[ 17.860630][ T113] ata2.01: SCR_CONTROL = 0x300
[ 17.865332][ T113] ata2.02: SCR_CONTROL = 0x300
[ 17.870010][ T113] ata2.03: SCR_CONTROL = 0x300
[ 17.874720][ T113] ata2.04: SCR_CONTROL = 0x300
[ 17.879397][ T113] ata2.05: SCR_CONTROL = 0x300
[ 17.884140][ T113] ata2.06: SCR_CONTROL = 0x300
[ 17.888817][ T113] ata2.07: SCR_CONTROL = 0x300
[ 17.893568][ T113] ata2.00: hard resetting link
[ 17.898247][ T113] hardreset, Online=>Offline
[ 17.898287][ T113] sata_set_spd_needed, scontrol=0x300
[ 17.902759][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 17.908037][ T113] __sata_set_spd_needed, corrected limit=0x1
[ 17.914351][ T113] __sata_set_spd_needed, target=0x1
[ 17.920217][ T113] __sata_set_spd_needed, spd=0x0
[ 17.925308][ T113] __sata_set_spd_needed, final *scontrol=0x310
[ 17.930221][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 17.936287][ T113] __sata_set_spd_needed, corrected limit=0x1
[ 17.942587][ T113] __sata_set_spd_needed, target=0x1
[ 17.948465][ T113] __sata_set_spd_needed, spd=0x0
[ 17.953544][ T113] __sata_set_spd_needed, final *scontrol=0x310
[ 17.959580][ T113] resume, do loop
[ 18.193937][ T113] resume, after do loop
[ 18.202581][ T113] debounce, SCR=0x123
[ 18.211737][ T113] debounce, SCR=0x123
[ 18.220718][ T113] debounce, SCR=0x123
[ 18.229700][ T113] debounce, SCR=0x123
[ 18.238661][ T113] debounce, SCR=0x123
[ 18.247624][ T113] debounce, SCR=0x123
[ 18.256584][ T113] debounce, SCR=0x123
[ 18.265545][ T113] debounce, SCR=0x123
[ 18.274506][ T113] debounce, SCR=0x123
[ 18.283466][ T113] debounce, SCR=0x123
[ 18.292447][ T113] debounce, SCR=0x123
[ 18.301429][ T113] debounce, SCR=0x123
[ 18.305373][ T113] resume, return at end of function
[ 18.309265][ T113] hardreset, Offline=>Online
[ 18.318828][ T113] hardreset, after check_ready
[ 18.319045][ T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 18.330915][ T113] ata2.01: hard resetting link
[ 18.335582][ T113] hardreset, Online=>Offline
[ 18.335619][ T113] sata_set_spd_needed, scontrol=0x300
[ 18.340090][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 18.345365][ T113] __sata_set_spd_needed, corrected limit=0x1
[ 18.351665][ T113] __sata_set_spd_needed, target=0x1
[ 18.357543][ T113] __sata_set_spd_needed, spd=0x0
[ 18.362624][ T113] __sata_set_spd_needed, final *scontrol=0x310
[ 18.367549][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[ 18.373589][ T113] __sata_set_spd_needed, corrected limit=0x1
[ 18.379911][ T113] __sata_set_spd_needed, target=0x1
[ 18.385790][ T113] __sata_set_spd_needed, spd=0x0
[ 18.390870][ T113] __sata_set_spd_needed, final *scontrol=0x310
[ 18.396900][ T113] resume, do loop
[ 18.623935][ T113] resume, after do loop
[ 18.632578][ T113] debounce, SCR=0x123
[ 18.641735][ T113] debounce, SCR=0x123
[ 18.650715][ T113] debounce, SCR=0x123
[ 18.659695][ T113] debounce, SCR=0x123
[ 18.668654][ T113] debounce, SCR=0x123
[ 18.677614][ T113] debounce, SCR=0x123
[ 18.686575][ T113] debounce, SCR=0x123
[ 18.695535][ T113] debounce, SCR=0x123
[ 18.704496][ T113] debounce, SCR=0x123
[ 18.713456][ T113] debounce, SCR=0x123
[ 18.722438][ T113] debounce, SCR=0x123
[ 18.731421][ T113] debounce, SCR=0x123
[ 18.735365][ T113] resume, return at end of function
[ 18.739256][ T113] hardreset, Offline=>Online
[ 18.748820][ T113] hardreset, after check_ready
[ 18.749041][ T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

Marius Dinu


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

* Bug report for sata_via driver
  2022-12-09  7:31                     ` marius
                                         ` (2 preceding siblings ...)
  2023-01-14 18:01                       ` marius
@ 2023-01-24 17:06                       ` marius
  2023-01-25  1:26                         ` Damien Le Moal
  3 siblings, 1 reply; 67+ messages in thread
From: marius @ 2023-01-24 17:06 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

Hi. It's me again.

May I bother you with another bug? (^_^;)

The machine is a Lenovo X61 Tablet, a tablet PC with Intel GM965 / ICH8-M.
It has a cardbus slot (32bit PCI), Ricoh RL5C476 II (VEN_1180 DEV_0476).
The card is a VIA VT6421 (VEN_1106 DEV_3249) SATA/PATA controller.
The card has 2 SATA ports and no PATA.

---- CARD INSERTED ----
[ 68.118063] pcmcia_socket pcmcia_socket0: pccard: CardBus card inserted into slot 0
[ 68.121922] pci 0000:06:00.0: [1106:3249] type 00 class 0x010400
[ 68.121972] pci 0000:06:00.0: reg 0x10: [io 0x0af0-0x0aff]
[ 68.121996] pci 0000:06:00.0: reg 0x14: [io 0x0a70-0x0a7f]
[ 68.122018] pci 0000:06:00.0: reg 0x18: [io 0x01f0-0x01ff]
[ 68.122039] pci 0000:06:00.0: reg 0x1c: [io 0x0170-0x017f]
[ 68.122059] pci 0000:06:00.0: reg 0x20: [io 0xcc00-0xcc1f]
[ 68.122080] pci 0000:06:00.0: reg 0x24: [io 0x8c00-0x8cff]
[ 68.122419] pci 0000:06:00.0: BAR 5: assigned [io 0x4000-0x40ff]
[ 68.122438] pci 0000:06:00.0: BAR 4: assigned [io 0x4400-0x441f]
[ 68.122451] pci 0000:06:00.0: BAR 0: assigned [io 0x4420-0x442f]
[ 68.122465] pci 0000:06:00.0: BAR 1: assigned [io 0x4430-0x443f]
[ 68.122478] pci 0000:06:00.0: BAR 2: assigned [io 0x4440-0x444f]
[ 68.122491] pci 0000:06:00.0: BAR 3: assigned [io 0x4450-0x445f]
[ 68.122639] sata_via 0000:06:00.0: version 2.6
[ 68.122662] sata_via 0000:06:00.0: enabling device (0000 -> 0001)
[ 68.122879] sata_via 0000:06:00.0: routed to hard irq line 0
[ 68.122903] [79] sata_via:svia_configure:635: sata_via 0000:06:00.0: enabling SATA hotplug (0x0)
[ 68.124012] scsi host6: sata_via
[ 68.126042] scsi host7: sata_via
[ 68.128757] scsi host8: sata_via
[ 68.128927] ata6: SATA max UDMA/133 port i16@0x4420 bmdma 0x4400 irq 16
[ 68.128938] ata7: SATA max UDMA/133 port i16@0x4430 bmdma 0x4408 irq 16
[ 68.128944] ata8: PATA max UDMA/133 port i16@0x4440 bmdma 0x4410 irq 16
[ 68.129071] hardreset, Online=>Offline
[ 68.130162] resume, do loop
[ 68.348135] resume, after do loop
[ 68.353240] debounce, SCR=0x0
[ 68.358342] debounce, SCR=0x0
...
[ 68.455069] debounce, SCR=0x0
[ 68.460159] debounce, SCR=0x0
[ 68.460166] resume, return at end of function
[ 68.460171] hardreset, ata_phys_link_offline check failed
[ 68.470148] [2358] libata:ata_wait_idle:2049: ata6: abnormal Status 0x7F
[ 68.472385] ata6: SATA link down (SStatus 0 SControl 310)
[ 68.482547] hardreset, Online=>Offline
[ 68.483633] resume, do loop
[ 68.698036] resume, after do loop
[ 68.703129] debounce, SCR=0x0
[ 68.708218] debounce, SCR=0x0
...
[ 68.804763] debounce, SCR=0x0
[ 68.809851] debounce, SCR=0x0
[ 68.809858] resume, return at end of function
[ 68.809863] hardreset, ata_phys_link_offline check failed
[ 68.819838] [2360] libata:ata_wait_idle:2049: ata7: abnormal Status 0x7F
[ 68.822067] ata7: SATA link down (SStatus 0 SControl 310)
[ 69.008039] [2363] libata:ata_wait_idle:2049: ata8: abnormal Status 0x8

---- EXTERNAL HDD CONNECTED ----
[ 118.683511] irq 16: nobody cared (try booting with the "irqpoll" option)
[ 118.684531] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.1.0-rc8-M95D+ #1
[ 118.684538] Hardware name: LENOVO 776702U/776702U, BIOS 7SET39WW (1.25 ) 03/22/2011
[ 118.684542] Call Trace:
[ 118.684547] <IRQ>
[ 118.684550] dump_stack_lvl+0x34/0x44
[ 118.684561] __report_bad_irq+0x30/0xa2
[ 118.684569] note_interrupt.cold+0xb/0x61
[ 118.684575] handle_irq_event+0x65/0x70
[ 118.684581] handle_fasteoi_irq+0x8b/0x1c0
[ 118.684588] __common_interrupt+0x5a/0xf0
[ 118.684596] common_interrupt+0x9f/0xc0
[ 118.684601] </IRQ>
[ 118.684604] <TASK>
[ 118.684606] asm_common_interrupt+0x22/0x40
[ 118.684614] RIP: 0010:cpuidle_enter_state+0xbb/0x280
[ 118.684625] Code: e8 ea 91 3d ff 31 ff 49 89 c5 e8 90 09 3d ff 45 84 f6 74 12 9c 58 f6 c4 02 0f
85 b7 01 00 00 31 ff e8 a9 fc 40 ff fb 45 85 ff <0f> 88 b6 00 00 00 49 63 d7 4c 2b 2c 24 48 8d 04
52 48 8d 04 82 49
[ 118.684630] RSP: 0018:ffffffff82e03e50 EFLAGS: 00000202
[ 118.684636] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000000000
[ 118.684640] RDX: 0000000000000002 RSI: 000000000000db43 RDI: 00000000ffffffff
[ 118.684644] RBP: ffff88810032bc00 R08: 0000000000000000 R09: 0000000000000008
[ 118.684647] R10: 0000000000000002 R11: 0000000000000002 R12: ffffffff82eba020
[ 118.684651] R13: 0000001ba2166ad8 R14: 0000000000000001 R15: 0000000000000002
[ 118.684656] cpuidle_enter+0x24/0x40
[ 118.684664] do_idle+0x1ac/0x230
[ 118.684669] cpu_startup_entry+0x14/0x20
[ 118.684674] rest_init+0xb6/0xc0
[ 118.684680] arch_call_rest_init+0x5/0x33
[ 118.684689] start_kernel+0x6c6/0x6f6
[ 118.684695] secondary_startup_64_no_verify+0xce/0xdb
[ 118.684701] </TASK>
[ 118.684704] handlers:
[ 118.685717] [<0000000065d27af3>] i965_irq_handler
[ 118.686730] [<00000000377926d6>] yenta_interrupt
[ 118.687754] [<000000005c02c4d7>] usb_hcd_irq
[ 118.688785] [<00000000440e256d>] vt642x_interrupt
[ 118.689790] Disabling IRQ #16

---- EJECT CARD ----
[ 136.498083] pcmcia_socket pcmcia_socket0: pccard: card ejected from slot 0
[ 136.498159] hardreset, Online=>Offline
[ 136.500751] Reconfig spd
[ 136.500807] hardreset, Online=>Offline
[ 136.500815] Reconfig spd
[ 136.501858] resume, do loop
[ 136.501968] resume, do loop
[ 136.718048] resume, do loop
[ 136.718089] resume, do loop
[ 136.938104] resume, do loop
[ 136.938115] resume, do loop
[ 137.158076] resume, do loop
[ 137.158108] resume, do loop
[ 137.378105] resume, do loop
[ 137.378115] resume, do loop
[ 137.598082] resume, after do loop
[ 137.598086] ata6: failed to resume link (SControl FFFFFFFF)
[ 137.599831] hardreset, ata_phys_link_offline check failed
[ 137.599872] ata6: SATA link down (SStatus FFFFFFFF SControl FFFFFFFF)
[ 137.599897] resume, after do loop
[ 137.599900] ata7: failed to resume link (SControl FFFFFFFF)
[ 137.599965] ------------[ cut here ]------------
[ 137.601620] hardreset, ata_phys_link_offline check failed
[ 137.601618] WARNING: CPU: 1 PID: 79 at drivers/ata/libata-core.c:5910 ata_host_detach+0x1c7/0x1d0
[ 137.601661] ata7: SATA link down (SStatus FFFFFFFF SControl FFFFFFFF)
[ 137.603368] CPU: 1 PID: 79 Comm: pccardd Not tainted 6.1.0-rc8-M95D+ #1
[ 137.603375] Hardware name: LENOVO 776702U/776702U, BIOS 7SET39WW (1.25 ) 03/22/2011
[ 137.603378] RIP: 0010:ata_host_detach+0x1c7/0x1d0
[ 137.603385] Code: c0 74 11 48 89 f9 48 85 c9 0f 85 fd fe ff ff e9 70 ff ff ff 49 8b 8c 24 80 35
00 00 48 85 c9 0f 84 5f ff ff ff e9 e2 fe ff ff <0f> 0b e9 b7 fe ff ff 66 90 48 8b bf 40 01 00 00
e9 24 fe ff ff 0f
[ 137.603391] RSP: 0018:ffff88810115fdf0 EFLAGS: 00010246
[ 137.603397] RAX: 00000000fffffffd RBX: 0000000000000000 RCX: 0000000000000000
[ 137.603401] RDX: ffff888102b07000 RSI: 0000000000000246 RDI: 00000000ffffffff
[ 137.603405] RBP: ffff8881056df300 R08: 0000000000000000 R09: 0000000000000000
[ 137.603409] R10: 0000000000000002 R11: 0000000000000000 R12: ffff888105e00000
[ 137.603412] R13: 0000000000000286 R14: 0000000000000080 R15: 0000000000000000
[ 137.603416] FS: 0000000000000000(0000) GS:ffff888137d00000(0000) knlGS:0000000000000000
[ 137.603421] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 137.603425] CR2: 00007ffcdef7bd50 CR3: 0000000002e0a000 CR4: 00000000000006e0
[ 137.603429] Call Trace:
[ 137.603437] <TASK>
[ 137.603440] pci_device_remove+0x2c/0x90
[ 137.603451] device_release_driver_internal+0x1a1/0x220
[ 137.603458] pci_stop_bus_device+0x63/0x80
[ 137.603467] pci_stop_and_remove_bus_device+0x9/0x20
[ 137.603475] cb_free+0x31/0x50
[ 137.603481] socket_shutdown+0xab/0x100
[ 137.603486] pccardd.cold+0x8/0x67
[ 137.603493] ? pcmcia_socket_dev_complete+0x70/0x70
[ 137.603498] kthread+0xe0/0x110
[ 137.603506] ? kthread_exit+0x30/0x30
[ 137.603513] ret_from_fork+0x1f/0x30
[ 137.603520] </TASK>
[ 137.603522] ---[ end trace 0000000000000000 ]---

---- CONNECT CARD WITH HDD ALREADY ATTACHED ----
[ 168.768069] pcmcia_socket pcmcia_socket0: pccard: CardBus card inserted into slot 0
[ 168.771207] pci 0000:06:00.0: [1106:3249] type 00 class 0x010400
[ 168.771256] pci 0000:06:00.0: reg 0x10: [io 0x0af0-0x0aff]
[ 168.771280] pci 0000:06:00.0: reg 0x14: [io 0x0a70-0x0a7f]
[ 168.771302] pci 0000:06:00.0: reg 0x18: [io 0x01f0-0x01ff]
[ 168.771322] pci 0000:06:00.0: reg 0x1c: [io 0x0170-0x017f]
[ 168.771343] pci 0000:06:00.0: reg 0x20: [io 0xcc00-0xcc1f]
[ 168.771363] pci 0000:06:00.0: reg 0x24: [io 0x8c00-0x8cff]
[ 168.771695] pci 0000:06:00.0: BAR 5: assigned [io 0x4000-0x40ff]
[ 168.771713] pci 0000:06:00.0: BAR 4: assigned [io 0x4400-0x441f]
[ 168.771727] pci 0000:06:00.0: BAR 0: assigned [io 0x4420-0x442f]
[ 168.771742] pci 0000:06:00.0: BAR 1: assigned [io 0x4430-0x443f]
[ 168.771756] pci 0000:06:00.0: BAR 2: assigned [io 0x4440-0x444f]
[ 168.771769] pci 0000:06:00.0: BAR 3: assigned [io 0x4450-0x445f]
[ 168.771908] sata_via 0000:06:00.0: enabling device (0000 -> 0001)
[ 168.772137] sata_via 0000:06:00.0: routed to hard irq line 0
[ 168.772162] [79] sata_via:svia_configure:635: sata_via 0000:06:00.0: enabling SATA hotplug (0x0)
[ 168.773265] scsi host6: sata_via
[ 168.775256] scsi host7: sata_via
[ 168.788766] scsi host8: sata_via
[ 168.788866] ata9: SATA max UDMA/133 port i16@0x4420 bmdma 0x4400 irq 16
[ 168.788872] ata10: SATA max UDMA/133 port i16@0x4430 bmdma 0x4408 irq 16
[ 168.788875] ata11: PATA max UDMA/133 port i16@0x4440 bmdma 0x4410 irq 16
[ 168.788961] hardreset, Online=>Offline
[ 168.790037] resume, do loop
[ 169.008036] resume, after do loop
[ 169.013116] debounce, SCR=0x1
[ 169.018189] debounce, SCR=0x1
...
[ 170.054131] debounce, SCR=0x1
[ 170.059209] debounce, SCR=0x1
[ 170.062091] irq 16: nobody cared (try booting with the "irqpoll" option)
[ 170.062095] CPU: 0 PID: 2356 Comm: tee Tainted: G W 6.1.0-rc8-M95D+ #1
[ 170.062100] Hardware name: LENOVO 776702U/776702U, BIOS 7SET39WW (1.25 ) 03/22/2011
[ 170.062102] Call Trace:
[ 170.062107] <IRQ>
[ 170.062109] dump_stack_lvl+0x34/0x44
[ 170.062117] __report_bad_irq+0x30/0xa2
[ 170.062123] note_interrupt.cold+0xb/0x61
[ 170.062128] handle_irq_event+0x65/0x70
[ 170.062133] handle_fasteoi_irq+0x8b/0x1c0
[ 170.062138] __common_interrupt+0x5a/0xf0
[ 170.062144] common_interrupt+0x9f/0xc0
[ 170.062148] </IRQ>
[ 170.062150] <TASK>
[ 170.062151] asm_common_interrupt+0x22/0x40
[ 170.062157] RIP: 0010:cfb_imageblit+0x3e8/0x800
[ 170.062163] Code: 0f 84 4c fe ff ff 48 8b 5c 24 40 48 01 5c 24 10 4c 8b 6c 24 10 03 6c 24 04 83
e5 1f 49 83 e5 fc e9 32 fe ff ff 44 89 44 24 18 <45> 89 f1 e9 a9 fc ff ff 48 8b 83 28 03 00 00 46
8b 2c a8 46 8b 24
[ 170.062167] RSP: 0018:ffff8881011b7918 EFLAGS: 00000246
[ 170.062171] RAX: 0000000000000000 RBX: ffff888100e2b800 RCX: 00000000000dc000
[ 170.062174] RDX: 0000000000000000 RSI: ffff8881011b7a70 RDI: 0000000000000000
[ 170.062177] RBP: 0000000000000000 R08: 0000000000000028 R09: 0000000000000001
[ 170.062179] R10: ffff888100ec0f24 R11: 0000000000000007 R12: ffff8881011b7a70
[ 170.062182] R13: ffff888100050800 R14: 0000000000000020 R15: 0000000000000000
[ 170.062186] ? asm_common_interrupt+0x22/0x40
[ 170.062191] drm_fb_helper_cfb_imageblit+0xd/0x30
[ 170.062198] bit_putcs+0x261/0x500
[ 170.062202] ? preempt_schedule_notrace+0x11/0x80
[ 170.062208] ? asm_common_interrupt+0x22/0x40
[ 170.062212] fbcon_putcs+0xff/0x140
[ 170.062218] ? bit_clear+0xe0/0xe0
[ 170.062221] fbcon_redraw.constprop.0+0xf5/0x220
[ 170.062227] fbcon_scroll+0x167/0x1b0
[ 170.062232] con_scroll+0x14d/0x200
[ 170.062236] lf+0x7f/0x90
[ 170.062239] do_con_trol+0x9b/0x1450
[ 170.062243] ? fbcon_cursor+0xef/0x160
[ 170.062248] do_con_write+0x1b3/0x9e0
[ 170.062252] ? prb_read_valid+0x12/0x20
[ 170.062258] con_write+0xb/0x20
[ 170.062261] do_output_char+0x184/0x1e0
[ 170.062266] n_tty_write+0x1c1/0x4e0
[ 170.062270] ? wait_woken+0x60/0x60
[ 170.062274] file_tty_write.constprop.0+0x15e/0x2e0
[ 170.062278] ? n_tty_check_unthrottle+0xc0/0xc0
[ 170.062282] vfs_write+0x289/0x3b0
[ 170.062289] ksys_write+0x4a/0xc0
[ 170.062294] do_syscall_64+0x35/0x80
[ 170.062297] entry_SYSCALL_64_after_hwframe+0x46/0xb0
[ 170.062301] RIP: 0033:0x7f011120d1b0
[ 170.062304] Code: 40 00 48 8b 15 71 2c 0d 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00
80 3d 31 b4 0d 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00
48 83 ec 28 48 89
[ 170.062307] RSP: 002b:00007ffe3ba2c688 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[ 170.062311] RAX: ffffffffffffffda RBX: 0000000000000441 RCX: 00007f011120d1b0
[ 170.062314] RDX: 0000000000000441 RSI: 00007ffe3ba2c7a0 RDI: 0000000000000001
[ 170.062317] RBP: 00007ffe3ba2c7a0 R08: 0000000000000004 R09: 0000000000000001
[ 170.062319] R10: 0000555b9b571aa8 R11: 0000000000000202 R12: 0000000000000441
[ 170.062321] R13: 00007f01112e1760 R14: 0000000000000441 R15: 00007f01112dca00
[ 170.062325] </TASK>
[ 170.062326] handlers:
[ 170.062328] [<0000000065d27af3>] i965_irq_handler
[ 170.062333] [<00000000377926d6>] yenta_interrupt
[ 170.062339] [<000000005c02c4d7>] usb_hcd_irq
[ 170.062345] [<00000000440e256d>] vt642x_interrupt
[ 170.062351] Disabling IRQ #16
[ 170.064500] debounce, SCR=0x1
[ 170.071741] debounce, SCR=0x1
...
[ 171.003692] debounce, SCR=0x1
[ 171.008787] debounce, SCR=0x1
[ 171.008797] resume, return at end of function
[ 171.008803] hardreset, ata_phys_link_offline check failed
[ 171.018773] [2380] libata:ata_wait_idle:2049: ata9: abnormal Status 0x80
[ 171.021255] ata9: SATA link down (SStatus 1 SControl 310)
[ 171.031441] hardreset, Online=>Offline
[ 171.032544] resume, do loop
[ 171.258055] resume, after do loop
[ 171.263153] debounce, SCR=0x0
[ 171.268253] debounce, SCR=0x0
...
[ 171.365137] debounce, SCR=0x0
[ 171.370224] debounce, SCR=0x0
[ 171.370232] resume, return at end of function
[ 171.370236] hardreset, ata_phys_link_offline check failed
[ 171.380213] [2382] libata:ata_wait_idle:2049: ata10: abnormal Status 0x7F
[ 171.382584] ata10: SATA link down (SStatus 0 SControl 310)
[ 171.578086] [2385] libata:ata_wait_idle:2049: ata11: abnormal Status 0x8
...

The same hardware setup works fine in Windows XP SP3.

Thanks again for your help.
Marius Dinu


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

* Re: Bug report for sata_via driver
  2023-01-24 17:06                       ` Bug report for sata_via driver marius
@ 2023-01-25  1:26                         ` Damien Le Moal
  0 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-25  1:26 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/25/23 02:06, marius@psihoexpert.ro wrote:
> Hi. It's me again.
> 
> May I bother you with another bug? (^_^;)
> 
> The machine is a Lenovo X61 Tablet, a tablet PC with Intel GM965 / ICH8-M.
> It has a cardbus slot (32bit PCI), Ricoh RL5C476 II (VEN_1180 DEV_0476).
> The card is a VIA VT6421 (VEN_1106 DEV_3249) SATA/PATA controller.
> The card has 2 SATA ports and no PATA.
> 
> ---- CARD INSERTED ----
[...]
> [ 68.460166] resume, return at end of function
> [ 68.460171] hardreset, ata_phys_link_offline check failed
> [ 68.470148] [2358] libata:ata_wait_idle:2049: ata6: abnormal Status 0x7F
> [ 68.472385] ata6: SATA link down (SStatus 0 SControl 310)
> [ 68.482547] hardreset, Online=>Offline
> [ 68.483633] resume, do loop
> [ 68.698036] resume, after do loop
> [ 68.703129] debounce, SCR=0x0
> [ 68.708218] debounce, SCR=0x0
> ...
> [ 68.804763] debounce, SCR=0x0
> [ 68.809851] debounce, SCR=0x0
> [ 68.809858] resume, return at end of function
> [ 68.809863] hardreset, ata_phys_link_offline check failed
> [ 68.819838] [2360] libata:ata_wait_idle:2049: ata7: abnormal Status 0x7F
> [ 68.822067] ata7: SATA link down (SStatus 0 SControl 310)
> [ 69.008039] [2363] libata:ata_wait_idle:2049: ata8: abnormal Status 0x8

Beuh... libata does not understand these status. Bit 3 is set in the
status, but that one is transport dependent, so defined in CF card...
Would need to look that up, but it seems to be that the device reports
that an PIO is still on-going. It seems like we are in the realm of "this
is a weird drive". You could try increasing the 10ms timeout in
ata_wait_idle(): change the call:

ata_sff_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000);

to something like:

ata_sff_busy_wait(ap, ATA_BUSY | ATA_DRQ, 5000);

to see if that changes anything.

> ---- EXTERNAL HDD CONNECTED ----
> [ 118.683511] irq 16: nobody cared (try booting with the "irqpoll" option)
> [ 118.684531] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.1.0-rc8-M95D+ #1
> [ 118.684538] Hardware name: LENOVO 776702U/776702U, BIOS 7SET39WW (1.25 ) 03/22/2011
> [ 118.684542] Call Trace:
> [ 118.684547] <IRQ>
> [ 118.684550] dump_stack_lvl+0x34/0x44
> [ 118.684561] __report_bad_irq+0x30/0xa2
> [ 118.684569] note_interrupt.cold+0xb/0x61
> [ 118.684575] handle_irq_event+0x65/0x70
> [ 118.684581] handle_fasteoi_irq+0x8b/0x1c0
> [ 118.684588] __common_interrupt+0x5a/0xf0
> [ 118.684596] common_interrupt+0x9f/0xc0
> [ 118.684601] </IRQ>
> [ 118.684604] <TASK>
> [ 118.684606] asm_common_interrupt+0x22/0x40
> [ 118.684614] RIP: 0010:cpuidle_enter_state+0xbb/0x280

Looks like a problem with interrupts here. Can you "gdb vmlinux" and "list
*(cpuidle_enter_state+0xbb)" to see exactly what is failing here ?

[...]

> ---- EJECT CARD ----
> [ 136.498083] pcmcia_socket pcmcia_socket0: pccard: card ejected from slot 0
> [ 136.498159] hardreset, Online=>Offline
> [ 136.500751] Reconfig spd
> [ 136.500807] hardreset, Online=>Offline
> [ 136.500815] Reconfig spd
> [ 136.501858] resume, do loop
> [ 136.501968] resume, do loop
> [ 136.718048] resume, do loop
> [ 136.718089] resume, do loop
> [ 136.938104] resume, do loop
> [ 136.938115] resume, do loop
> [ 137.158076] resume, do loop
> [ 137.158108] resume, do loop
> [ 137.378105] resume, do loop
> [ 137.378115] resume, do loop
> [ 137.598082] resume, after do loop
> [ 137.598086] ata6: failed to resume link (SControl FFFFFFFF)
> [ 137.599831] hardreset, ata_phys_link_offline check failed
> [ 137.599872] ata6: SATA link down (SStatus FFFFFFFF SControl FFFFFFFF)
> [ 137.599897] resume, after do loop
> [ 137.599900] ata7: failed to resume link (SControl FFFFFFFF)
> [ 137.599965] ------------[ cut here ]------------
> [ 137.601620] hardreset, ata_phys_link_offline check failed
> [ 137.601618] WARNING: CPU: 1 PID: 79 at drivers/ata/libata-core.c:5910 ata_host_detach+0x1c7/0x1d0

Looks like the ATA_PFLAG_UNLOADED is not set, causing this warning. But
given that there seem to be issues with interrupts, the eject may not be
detected.

> [ 137.601661] ata7: SATA link down (SStatus FFFFFFFF SControl FFFFFFFF)
> [ 137.603368] CPU: 1 PID: 79 Comm: pccardd Not tainted 6.1.0-rc8-M95D+ #1
> [ 137.603375] Hardware name: LENOVO 776702U/776702U, BIOS 7SET39WW (1.25 ) 03/22/2011
> [ 137.603378] RIP: 0010:ata_host_detach+0x1c7/0x1d0

Please gdb that too.

> ---- CONNECT CARD WITH HDD ALREADY ATTACHED ----
> [ 168.768069] pcmcia_socket pcmcia_socket0: pccard: CardBus card inserted into slot 0
> [ 168.771207] pci 0000:06:00.0: [1106:3249] type 00 class 0x010400
> [ 168.771256] pci 0000:06:00.0: reg 0x10: [io 0x0af0-0x0aff]
> [ 168.771280] pci 0000:06:00.0: reg 0x14: [io 0x0a70-0x0a7f]
> [ 168.771302] pci 0000:06:00.0: reg 0x18: [io 0x01f0-0x01ff]
> [ 168.771322] pci 0000:06:00.0: reg 0x1c: [io 0x0170-0x017f]
> [ 168.771343] pci 0000:06:00.0: reg 0x20: [io 0xcc00-0xcc1f]
> [ 168.771363] pci 0000:06:00.0: reg 0x24: [io 0x8c00-0x8cff]
> [ 168.771695] pci 0000:06:00.0: BAR 5: assigned [io 0x4000-0x40ff]
> [ 168.771713] pci 0000:06:00.0: BAR 4: assigned [io 0x4400-0x441f]
> [ 168.771727] pci 0000:06:00.0: BAR 0: assigned [io 0x4420-0x442f]
> [ 168.771742] pci 0000:06:00.0: BAR 1: assigned [io 0x4430-0x443f]
> [ 168.771756] pci 0000:06:00.0: BAR 2: assigned [io 0x4440-0x444f]
> [ 168.771769] pci 0000:06:00.0: BAR 3: assigned [io 0x4450-0x445f]
> [ 168.771908] sata_via 0000:06:00.0: enabling device (0000 -> 0001)
> [ 168.772137] sata_via 0000:06:00.0: routed to hard irq line 0
> [ 168.772162] [79] sata_via:svia_configure:635: sata_via 0000:06:00.0: enabling SATA hotplug (0x0)
> [ 168.773265] scsi host6: sata_via
> [ 168.775256] scsi host7: sata_via
> [ 168.788766] scsi host8: sata_via
> [ 168.788866] ata9: SATA max UDMA/133 port i16@0x4420 bmdma 0x4400 irq 16
> [ 168.788872] ata10: SATA max UDMA/133 port i16@0x4430 bmdma 0x4408 irq 16
> [ 168.788875] ata11: PATA max UDMA/133 port i16@0x4440 bmdma 0x4410 irq 16
> [ 168.788961] hardreset, Online=>Offline
> [ 168.790037] resume, do loop
> [ 169.008036] resume, after do loop
> [ 169.013116] debounce, SCR=0x1
> [ 169.018189] debounce, SCR=0x1
> ...
> [ 170.054131] debounce, SCR=0x1
> [ 170.059209] debounce, SCR=0x1
> [ 170.062091] irq 16: nobody cared (try booting with the "irqpoll" option)
> [ 170.062095] CPU: 0 PID: 2356 Comm: tee Tainted: G W 6.1.0-rc8-M95D+ #1
> [ 170.062100] Hardware name: LENOVO 776702U/776702U, BIOS 7SET39WW (1.25 ) 03/22/2011
> [ 170.062102] Call Trace:
> [ 170.062107] <IRQ>
> [ 170.062109] dump_stack_lvl+0x34/0x44
> [ 170.062117] __report_bad_irq+0x30/0xa2
> [ 170.062123] note_interrupt.cold+0xb/0x61
> [ 170.062128] handle_irq_event+0x65/0x70
> [ 170.062133] handle_fasteoi_irq+0x8b/0x1c0
> [ 170.062138] __common_interrupt+0x5a/0xf0
> [ 170.062144] common_interrupt+0x9f/0xc0
> [ 170.062148] </IRQ>
> [ 170.062150] <TASK>
> [ 170.062151] asm_common_interrupt+0x22/0x40
> [ 170.062157] RIP: 0010:cfb_imageblit+0x3e8/0x800

gdb disassemble (list command) ?


-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-24 17:02                                 ` marius
@ 2023-01-27  5:13                                   ` Damien Le Moal
  2023-01-27  6:28                                     ` Damien Le Moal
  2023-01-28 17:08                                     ` marius
  0 siblings, 2 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-27  5:13 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/25/23 02:02, marius@psihoexpert.ro wrote:
> January 24, 2023 11:54 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> OK. Good. But from the trace below, it looks like you have the previous
>> patch still applied. Can you try only the above patch ?
> 
> Done:
> [ 15.135173][ T113] hardreset, Online=>Offline
> [ 15.135182][ T113] sata_set_spd_needed, scontrol=0x300
> [ 15.139656][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [ 15.144934][ T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [ 15.151235][ T113] __sata_set_spd_needed, target=0x0
> [ 15.157725][ T113] __sata_set_spd_needed, spd=0x0
> [ 15.162805][ T113] __sata_set_spd_needed, final *scontrol=0x300
> [ 15.168708][ T113] resume, do loop
> [ 15.403902][ T113] resume, after do loop
> [ 15.463901][ T113] debounce, SCR=0x100

[...]

> [ 16.413901][ T113] debounce, SCR=0x0
> [ 16.473901][ T113] debounce, SCR=0x100
> [ 16.477586][ T113] resume, return at end of function
> [ 16.481446][ T113] hardreset, ata_phys_link_offline check failed
> [ 16.486550][ T113] ata2: SATA link down (SStatus 100 SControl 300)
> [ 16.499019][ T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
> 0xffffffff
> [ 16.508914][ T113] ata2: limiting SATA link speed to 1.5 Gbps

Marius,

Thanks again for testing.
Could you try a new variation of the fix shown below ? This newer fix
should avoid uselessly going down to 1.5 Gbps as shown above.
Thanks !

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 884ae73b11ea..04938db566e5 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
spd_limit)
         * If not, use cached value in link->sata_spd.
         */
        rc = sata_scr_read(link, SCR_STATUS, &sstatus);
-       if (rc == 0 && ata_sstatus_online(sstatus))
+       if (rc == 0 && ata_sstatus_online(sstatus)) {
                spd = (sstatus >> 4) & 0xf;
-       else
+       } else {
+               /*
+                * If we reach here, the device is still offline or not
+                * reporting a current speed yet. If we do not have a recorded
+                * speed either, it means that probing the drive is failing,
+                * most likely because problem with link speed autonegotiation
+                * (e.g. reported case with mvebu adapter with a port multiplier
+                * device). In this case, assume that probing was done at Gen3
+                * speed and set the recorded speed to lower Gen2. With this,
+                * the next probe retry will be done after sata_set_spd()
+                * explicitly lowers the link speed. If the device then
+                * responds, the actual maximum speed will be set once
+                * libata-eh finishes the device revalidation.
+                */
+               if (!link->sata_spd) {
+                       link->sata_spd = 2;
+                       ata_link_warn(link,
+                                     "No reported link speed. Assuming %s\n",
+                                     sata_spd_string(link->sata_spd));
+                       return;
+               }
                spd = link->sata_spd;
+       }

        mask = link->sata_spd_limit;
        if (mask <= 1)

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-27  5:13                                   ` Damien Le Moal
@ 2023-01-27  6:28                                     ` Damien Le Moal
  2023-01-28 17:08                                     ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-27  6:28 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/27/23 14:13, Damien Le Moal wrote:
> On 1/25/23 02:02, marius@psihoexpert.ro wrote:
>> January 24, 2023 11:54 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>
>>> OK. Good. But from the trace below, it looks like you have the previous
>>> patch still applied. Can you try only the above patch ?
>>
>> Done:
>> [ 15.135173][ T113] hardreset, Online=>Offline
>> [ 15.135182][ T113] sata_set_spd_needed, scontrol=0x300
>> [ 15.139656][ T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
>> [ 15.144934][ T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
>> [ 15.151235][ T113] __sata_set_spd_needed, target=0x0
>> [ 15.157725][ T113] __sata_set_spd_needed, spd=0x0
>> [ 15.162805][ T113] __sata_set_spd_needed, final *scontrol=0x300
>> [ 15.168708][ T113] resume, do loop
>> [ 15.403902][ T113] resume, after do loop
>> [ 15.463901][ T113] debounce, SCR=0x100
> 
> [...]
> 
>> [ 16.413901][ T113] debounce, SCR=0x0
>> [ 16.473901][ T113] debounce, SCR=0x100
>> [ 16.477586][ T113] resume, return at end of function
>> [ 16.481446][ T113] hardreset, ata_phys_link_offline check failed
>> [ 16.486550][ T113] ata2: SATA link down (SStatus 100 SControl 300)
>> [ 16.499019][ T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit
>> 0xffffffff
>> [ 16.508914][ T113] ata2: limiting SATA link speed to 1.5 Gbps
> 
> Marius,
> 
> Thanks again for testing.
> Could you try a new variation of the fix shown below ? This newer fix
> should avoid uselessly going down to 1.5 Gbps as shown above.
> Thanks !
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..04938db566e5 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
> spd_limit)
>          * If not, use cached value in link->sata_spd.
>          */
>         rc = sata_scr_read(link, SCR_STATUS, &sstatus);
> -       if (rc == 0 && ata_sstatus_online(sstatus))
> +       if (rc == 0 && ata_sstatus_online(sstatus)) {
>                 spd = (sstatus >> 4) & 0xf;
> -       else
> +       } else {
> +               /*
> +                * If we reach here, the device is still offline or not
> +                * reporting a current speed yet. If we do not have a recorded
> +                * speed either, it means that probing the drive is failing,
> +                * most likely because problem with link speed autonegotiation
> +                * (e.g. reported case with mvebu adapter with a port multiplier
> +                * device). In this case, assume that probing was done at Gen3
> +                * speed and set the recorded speed to lower Gen2. With this,
> +                * the next probe retry will be done after sata_set_spd()
> +                * explicitly lowers the link speed. If the device then
> +                * responds, the actual maximum speed will be set once
> +                * libata-eh finishes the device revalidation.
> +                */
> +               if (!link->sata_spd) {
> +                       link->sata_spd = 2;
> +                       ata_link_warn(link,
> +                                     "No reported link speed. Assuming %s\n",
> +                                     sata_spd_string(link->sata_spd));
> +                       return;

Oops. My bad. This should be "return 0;" of course.

> +               }
>                 spd = link->sata_spd;
> +       }
> 
>         mask = link->sata_spd_limit;
>         if (mask <= 1)
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-27  5:13                                   ` Damien Le Moal
  2023-01-27  6:28                                     ` Damien Le Moal
@ 2023-01-28 17:08                                     ` marius
  2023-01-29  2:23                                       ` Damien Le Moal
  2023-01-29 10:24                                       ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-01-28 17:08 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 27, 2023 8:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> On 1/27/23 14:13, Damien Le Moal wrote:
> 
>> Marius,
>> 
>> Thanks again for testing.
>> Could you try a new variation of the fix shown below ? This newer fix
>> should avoid uselessly going down to 1.5 Gbps as shown above.
>> Thanks !
>> 
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 884ae73b11ea..04938db566e5 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
>> spd_limit)
>> * If not, use cached value in link->sata_spd.
>> */
>> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
>> - if (rc == 0 && ata_sstatus_online(sstatus))
>> + if (rc == 0 && ata_sstatus_online(sstatus)) {
>> spd = (sstatus >> 4) & 0xf;
>> - else
>> + } else {
>> + /*
>> + * If we reach here, the device is still offline or not
>> + * reporting a current speed yet. If we do not have a recorded
>> + * speed either, it means that probing the drive is failing,
>> + * most likely because problem with link speed autonegotiation
>> + * (e.g. reported case with mvebu adapter with a port multiplier
>> + * device). In this case, assume that probing was done at Gen3
>> + * speed and set the recorded speed to lower Gen2. With this,
>> + * the next probe retry will be done after sata_set_spd()
>> + * explicitly lowers the link speed. If the device then
>> + * responds, the actual maximum speed will be set once
>> + * libata-eh finishes the device revalidation.
>> + */
>> + if (!link->sata_spd) {
>> + link->sata_spd = 2;
>> + ata_link_warn(link,
>> + "No reported link speed. Assuming %s\n",
>> + sata_spd_string(link->sata_spd));
>> + return;
> 
> Oops. My bad. This should be "return 0;" of course.
> 
>> + }
>> spd = link->sata_spd;
>> + }
>> 
>> mask = link->sata_spd_limit;
>> if (mask <= 1)
> 
> --
> Damien Le Moal
> Western Digital Research


It doesn't work.

[   15.145150][  T113] hardreset, Online=>Offline
[   15.145159][  T113] sata_set_spd_needed, scontrol=0x300
[   15.149632][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   15.154910][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   15.161211][  T113] __sata_set_spd_needed, target=0x0
[   15.167700][  T113] __sata_set_spd_needed, spd=0x0
[   15.172781][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   15.178685][  T113] resume, do loop
[   15.413909][  T113] resume, after do loop
[   15.473909][  T113] debounce, SCR=0x100
..
[   16.553930][  T113] debounce, SCR=0x100
[   16.557791][  T113] resume, return at end of function
[   16.561650][  T113] hardreset, ata_phys_link_offline check failed
[   16.566754][  T113] ata2: SATA link down (SStatus 101 SControl 300)
[   16.579222][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   16.589115][  T113] ata2: No reported link speed. Assuming 3.0 Gbps
[   16.595436][  T113] hardreset, Online=>Offline
[   16.595442][  T113] sata_set_spd_needed, scontrol=0x300
[   16.599911][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   16.605178][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   16.611479][  T113] __sata_set_spd_needed, target=0x0
[   16.617975][  T113] __sata_set_spd_needed, spd=0x0
[   16.623055][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   16.628957][  T113] resume, do loop
[   16.863910][  T113] resume, after do loop
[   16.923909][  T113] debounce, SCR=0x100
...
[   18.123908][  T113] debounce, SCR=0x100
[   18.127770][  T113] resume, return at end of function
[   18.131628][  T113] hardreset, ata_phys_link_offline check failed
[   18.136731][  T113] ata2: SATA link down (SStatus 100 SControl 300)
[   18.149196][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   18.159089][  T113] ata2: No reported link speed. Assuming 3.0 Gbps
[   18.165409][  T113] hardreset, Online=>Offline
[   18.165415][  T113] sata_set_spd_needed, scontrol=0x300
[   18.169884][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.175151][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   18.181451][  T113] __sata_set_spd_needed, target=0x0
[   18.187946][  T113] __sata_set_spd_needed, spd=0x0
[   18.193025][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   18.198927][  T113] resume, do loop
[   18.433909][  T113] resume, after do loop
[   18.493909][  T113] debounce, SCR=0x100
...
[   20.413909][  T113] debounce, SCR=0x100
[   20.417768][  T113] resume, return at end of function
[   20.421627][  T113] hardreset, ata_phys_link_offline check failed
[   20.426730][  T113] ata2: SATA link down (SStatus 100 SControl 300)
[   20.439196][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   20.449089][  T113] ata2: No reported link speed. Assuming 3.0 Gbps
[   20.455409][  T113] hardreset, Online=>Offline
[   20.455415][  T113] sata_set_spd_needed, scontrol=0x300
[   20.459884][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   20.465151][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   20.471452][  T113] __sata_set_spd_needed, target=0x0
[   20.477947][  T113] __sata_set_spd_needed, spd=0x0
[   20.483027][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   20.488929][  T113] resume, do loop
[   20.723909][  T113] resume, after do loop
[   20.783909][  T113] debounce, SCR=0x0
[   20.843909][  T113] debounce, SCR=0x0
[   20.903909][  T113] debounce, SCR=0x0
[   20.963909][  T113] debounce, SCR=0x0
[   21.023909][  T113] debounce, SCR=0x100
[   21.083909][  T113] debounce, SCR=0x100
[   21.143909][  T113] debounce, SCR=0x100
[   21.203929][  T113] debounce, SCR=0x100
[   21.263909][  T113] debounce, SCR=0x100
[   21.267768][  T113] resume, return at end of function
[   21.271626][  T113] hardreset, ata_phys_link_offline check failed
[   21.276728][  T113] ata2: SATA link down (SStatus 101 SControl 300)
[   21.289194][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   21.299086][  T113] ata2: No reported link speed. Assuming 3.0 Gbps
[   21.305407][  T113] hardreset, Online=>Offline
[   21.305413][  T113] sata_set_spd_needed, scontrol=0x300
[   21.309882][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   21.315149][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   21.321448][  T113] __sata_set_spd_needed, target=0x0
[   21.327943][  T113] __sata_set_spd_needed, spd=0x0
[   21.333024][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   21.338925][  T113] resume, do loop
[   21.573909][  T113] resume, after do loop
[   21.633909][  T113] debounce, SCR=0x101
...
[   22.893908][  T113] debounce, SCR=0x100
[   22.897769][  T113] resume, return at end of function
[   22.901628][  T113] hardreset, ata_phys_link_offline check failed
[   22.906731][  T113] ata2: SATA link down (SStatus 100 SControl 300)
[   22.919179][  T113] ata2: EH pending after 5 tries, giving up


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

* Re: Bug report for ahci-mvebu driver
  2023-01-28 17:08                                     ` marius
@ 2023-01-29  2:23                                       ` Damien Le Moal
  2023-01-29 10:24                                       ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-29  2:23 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/29/23 02:08, marius@psihoexpert.ro wrote:
> January 27, 2023 8:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> On 1/27/23 14:13, Damien Le Moal wrote:
>>
>>> Marius,
>>>
>>> Thanks again for testing.
>>> Could you try a new variation of the fix shown below ? This newer fix
>>> should avoid uselessly going down to 1.5 Gbps as shown above.
>>> Thanks !
>>>
>>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>>> index 884ae73b11ea..04938db566e5 100644
>>> --- a/drivers/ata/libata-core.c
>>> +++ b/drivers/ata/libata-core.c
>>> @@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
>>> spd_limit)
>>> * If not, use cached value in link->sata_spd.
>>> */
>>> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
>>> - if (rc == 0 && ata_sstatus_online(sstatus))
>>> + if (rc == 0 && ata_sstatus_online(sstatus)) {
>>> spd = (sstatus >> 4) & 0xf;
>>> - else
>>> + } else {
>>> + /*
>>> + * If we reach here, the device is still offline or not
>>> + * reporting a current speed yet. If we do not have a recorded
>>> + * speed either, it means that probing the drive is failing,
>>> + * most likely because problem with link speed autonegotiation
>>> + * (e.g. reported case with mvebu adapter with a port multiplier
>>> + * device). In this case, assume that probing was done at Gen3
>>> + * speed and set the recorded speed to lower Gen2. With this,
>>> + * the next probe retry will be done after sata_set_spd()
>>> + * explicitly lowers the link speed. If the device then
>>> + * responds, the actual maximum speed will be set once
>>> + * libata-eh finishes the device revalidation.
>>> + */
>>> + if (!link->sata_spd) {
>>> + link->sata_spd = 2;
>>> + ata_link_warn(link,
>>> + "No reported link speed. Assuming %s\n",
>>> + sata_spd_string(link->sata_spd));
>>> + return;
>>
>> Oops. My bad. This should be "return 0;" of course.
>>
>>> + }
>>> spd = link->sata_spd;
>>> + }
>>>
>>> mask = link->sata_spd_limit;
>>> if (mask <= 1)
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> 
> It doesn't work.
> 
> [   15.145150][  T113] hardreset, Online=>Offline
> [   15.145159][  T113] sata_set_spd_needed, scontrol=0x300
> [   15.149632][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   15.154910][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [   15.161211][  T113] __sata_set_spd_needed, target=0x0
> [   15.167700][  T113] __sata_set_spd_needed, spd=0x0
> [   15.172781][  T113] __sata_set_spd_needed, final *scontrol=0x300
> [   15.178685][  T113] resume, do loop
> [   15.413909][  T113] resume, after do loop
> [   15.473909][  T113] debounce, SCR=0x100
> ..
> [   16.553930][  T113] debounce, SCR=0x100
> [   16.557791][  T113] resume, return at end of function
> [   16.561650][  T113] hardreset, ata_phys_link_offline check failed
> [   16.566754][  T113] ata2: SATA link down (SStatus 101 SControl 300)
> [   16.579222][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   16.589115][  T113] ata2: No reported link speed. Assuming 3.0 Gbps
> [   16.595436][  T113] hardreset, Online=>Offline
> [   16.595442][  T113] sata_set_spd_needed, scontrol=0x300
> [   16.599911][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   16.605178][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [   16.611479][  T113] __sata_set_spd_needed, target=0x0
> [   16.617975][  T113] __sata_set_spd_needed, spd=0x0
> [   16.623055][  T113] __sata_set_spd_needed, final *scontrol=0x300

OK. That is because the limit is not being changed with the added "return 0".
What about this version:

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 884ae73b11ea..f404e2c2869e 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
spd_limit)
         * If not, use cached value in link->sata_spd.
         */
        rc = sata_scr_read(link, SCR_STATUS, &sstatus);
-       if (rc == 0 && ata_sstatus_online(sstatus))
+       if (rc == 0 && ata_sstatus_online(sstatus)) {
                spd = (sstatus >> 4) & 0xf;
-       else
+       } else {
+               /*
+                * If we reach here, the device is still offline or not
+                * reporting a current speed yet. If we do not have a recorded
+                * speed either, it means that probing the drive is failing,
+                * most likely because problem with link speed autonegotiation
+                * (e.g. reported case with mvebu adapter with a port multiplier
+                * device). In this case, assume that probing was done at Gen3
+                * speed and set the speed limit to the lower Gen2 speed.
+                * With this, the next probe retry will be done after
+                * sata_set_spd() explicitly lowers the link speed. If the
+                * device then responds, the actual maximum speed will be set
+                * once libata-eh finishes the device revalidation.
+                */
+               if (!link->sata_spd && link->sata_spd_limit == UINT_MAX) {
+                       link->sata_spd_limit = 2;
+                       ata_link_warn(link,
+                                     "No reported SATA link speed. Limiting to
%s\n",
+                                     sata_spd_string(link->sata_spd_limit));
+                       return 0;
+               }
                spd = link->sata_spd;
+       }

        mask = link->sata_spd_limit;
        if (mask <= 1)

Does this work ?

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-28 17:08                                     ` marius
  2023-01-29  2:23                                       ` Damien Le Moal
@ 2023-01-29 10:24                                       ` marius
  2023-01-30  1:16                                         ` Damien Le Moal
                                                           ` (2 more replies)
  1 sibling, 3 replies; 67+ messages in thread
From: marius @ 2023-01-29 10:24 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 29, 2023 4:25 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>
> OK. That is because the limit is not being changed with the added "return 0".
> What about this version:
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..f404e2c2869e 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
> spd_limit)
> * If not, use cached value in link->sata_spd.
> */
> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
> - if (rc == 0 && ata_sstatus_online(sstatus))
> + if (rc == 0 && ata_sstatus_online(sstatus)) {
> spd = (sstatus >> 4) & 0xf;
> - else
> + } else {
> + /*
> + * If we reach here, the device is still offline or not
> + * reporting a current speed yet. If we do not have a recorded
> + * speed either, it means that probing the drive is failing,
> + * most likely because problem with link speed autonegotiation
> + * (e.g. reported case with mvebu adapter with a port multiplier
> + * device). In this case, assume that probing was done at Gen3
> + * speed and set the speed limit to the lower Gen2 speed.
> + * With this, the next probe retry will be done after
> + * sata_set_spd() explicitly lowers the link speed. If the
> + * device then responds, the actual maximum speed will be set
> + * once libata-eh finishes the device revalidation.
> + */
> + if (!link->sata_spd && link->sata_spd_limit == UINT_MAX) {
> + link->sata_spd_limit = 2;
> + ata_link_warn(link,
> + "No reported SATA link speed. Limiting to
> %s\n",
> + sata_spd_string(link->sata_spd_limit));
> + return 0;
> + }
> spd = link->sata_spd;
> + }
> 
> mask = link->sata_spd_limit;
> if (mask <= 1)
> 
> Does this work ?
> 
> --
> Damien Le Moal
> Western Digital Research


No, it doesn't work.

[   29.743388][  T113] hardreset, Online=>Offline
[   29.743397][  T113] sata_set_spd_needed, scontrol=0x300
[   29.747893][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   29.753149][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   29.759464][  T113] __sata_set_spd_needed, target=0x0
[   29.765953][  T113] __sata_set_spd_needed, spd=0x0
[   29.771033][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   29.776937][  T113] resume, do loop
[   30.003803][  T113] resume, after do loop
[   30.063823][  T113] debounce, SCR=0x100
...
[   31.443802][  T113] debounce, SCR=0x100
[   31.447663][  T113] resume, return at end of function
[   31.451522][  T113] hardreset, ata_phys_link_offline check failed
[   31.456625][  T113] ata2: SATA link down (SStatus 100 SControl 300)
[   31.469093][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   31.478986][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
[   31.486004][  T113] hardreset, Online=>Offline
[   31.486010][  T113] sata_set_spd_needed, scontrol=0x300
[   31.490479][  T113] __sata_set_spd_needed, initial limit=0x2
[   31.495747][  T113] __sata_set_spd_needed, corrected limit=0x2
[   31.501437][  T113] __sata_set_spd_needed, target=0x2
[   31.507321][  T113] __sata_set_spd_needed, spd=0x0
[   31.512401][  T113] __sata_set_spd_needed, final *scontrol=0x320
[   31.517233][  T113] __sata_set_spd_needed, initial limit=0x2
[   31.523272][  T113] __sata_set_spd_needed, corrected limit=0x2
[   31.528975][  T113] __sata_set_spd_needed, target=0x2
[   31.534852][  T113] __sata_set_spd_needed, spd=0x0
[   31.539933][  T113] __sata_set_spd_needed, final *scontrol=0x324
[   31.545834][  T113] resume, do loop
[   31.773802][  T113] resume, after do loop
[   31.833802][  T113] debounce, SCR=0x101
...
[   32.433802][  T113] debounce, SCR=0x100
[   32.437663][  T113] resume, return at end of function
[   32.441522][  T113] hardreset, ata_phys_link_offline check failed
[   32.446624][  T113] ata2: SATA link down (SStatus 100 SControl 320)
[   32.459090][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   32.468982][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
[   32.475999][  T113] hardreset, Online=>Offline
[   32.476005][  T113] sata_set_spd_needed, scontrol=0x320
[   32.480474][  T113] __sata_set_spd_needed, initial limit=0x2
[   32.485741][  T113] __sata_set_spd_needed, corrected limit=0x2
[   32.491432][  T113] __sata_set_spd_needed, target=0x2
[   32.497315][  T113] __sata_set_spd_needed, spd=0x2
[   32.502395][  T113] __sata_set_spd_needed, final *scontrol=0x320
[   32.508296][  T113] resume, do loop
[   32.743801][  T113] resume, after do loop
[   32.803802][  T113] debounce, SCR=0x100
...
[   34.423802][  T113] debounce, SCR=0x100
[   34.427662][  T113] resume, return at end of function
[   34.431520][  T113] hardreset, ata_phys_link_offline check failed
[   34.436624][  T113] ata2: SATA link down (SStatus 100 SControl 320)
[   34.449088][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   34.458981][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
[   34.465998][  T113] hardreset, Online=>Offline
[   34.466004][  T113] sata_set_spd_needed, scontrol=0x320
[   34.470473][  T113] __sata_set_spd_needed, initial limit=0x2
[   34.475740][  T113] __sata_set_spd_needed, corrected limit=0x2
[   34.481430][  T113] __sata_set_spd_needed, target=0x2
[   34.487314][  T113] __sata_set_spd_needed, spd=0x2
[   34.492393][  T113] __sata_set_spd_needed, final *scontrol=0x320
[   34.498294][  T113] resume, do loop
[   34.723823][  T113] resume, after do loop
[   34.783802][  T113] debounce, SCR=0x101
...
[   36.763802][  T113] debounce, SCR=0x100
[   36.767662][  T113] debounce, loop end with timeout
[   36.771521][  T113] hardreset, sata_link_resume check failed
[   36.776445][  T113] ata2: COMRESET failed (errno=-32)
[   36.787224][  T113] ata2: reset failed (errno=-32), retrying in 8 secs
[   44.643801][  T113] sata_down_spd_limit: limit 0x0, cur spd 0x0, saved limit 0x2, hw limit 0xffffffff
[   44.653073][  T113] hardreset, Online=>Offline
[   44.653079][  T113] sata_set_spd_needed, scontrol=0x320
[   44.657569][  T113] __sata_set_spd_needed, initial limit=0x2
[   44.662823][  T113] __sata_set_spd_needed, corrected limit=0x2
[   44.668527][  T113] __sata_set_spd_needed, target=0x2
[   44.674403][  T113] __sata_set_spd_needed, spd=0x2
[   44.679484][  T113] __sata_set_spd_needed, final *scontrol=0x320
[   44.685385][  T113] resume, do loop
[   44.913802][  T113] resume, after do loop
[   44.973802][  T113] debounce, SCR=0x100
...
[   46.233802][  T113] debounce, SCR=0x100
[   46.237663][  T113] resume, return at end of function
[   46.241520][  T113] hardreset, ata_phys_link_offline check failed
[   46.246622][  T113] ata2: SATA link down (SStatus 100 SControl 320)
[   46.259088][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   46.268981][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
[   46.275997][  T113] hardreset, Online=>Offline
[   46.276003][  T113] sata_set_spd_needed, scontrol=0x320
[   46.280473][  T113] __sata_set_spd_needed, initial limit=0x2
[   46.285740][  T113] __sata_set_spd_needed, corrected limit=0x2
[   46.291430][  T113] __sata_set_spd_needed, target=0x2
[   46.297314][  T113] __sata_set_spd_needed, spd=0x2
[   46.302394][  T113] __sata_set_spd_needed, final *scontrol=0x320
[   46.308296][  T113] resume, do loop
[   46.543802][  T113] resume, after do loop
[   46.603802][  T113] debounce, SCR=0x100
...
[   47.683802][  T113] debounce, SCR=0x100
[   47.687662][  T113] resume, return at end of function
[   47.691520][  T113] hardreset, ata_phys_link_offline check failed
[   47.696636][  T113] ata2: SATA link down (SStatus 101 SControl 320)
[   47.709086][  T113] ata2: EH pending after 5 tries, giving up

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-29 10:24                                       ` marius
@ 2023-01-30  1:16                                         ` Damien Le Moal
  2023-01-30  2:38                                         ` Damien Le Moal
  2023-01-30  7:23                                         ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-30  1:16 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 2023/01/29 19:24, marius@psihoexpert.ro wrote:
> January 29, 2023 4:25 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>
>> OK. That is because the limit is not being changed with the added "return 0".
>> What about this version:
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 884ae73b11ea..f404e2c2869e 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
>> spd_limit)
>> * If not, use cached value in link->sata_spd.
>> */
>> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
>> - if (rc == 0 && ata_sstatus_online(sstatus))
>> + if (rc == 0 && ata_sstatus_online(sstatus)) {
>> spd = (sstatus >> 4) & 0xf;
>> - else
>> + } else {
>> + /*
>> + * If we reach here, the device is still offline or not
>> + * reporting a current speed yet. If we do not have a recorded
>> + * speed either, it means that probing the drive is failing,
>> + * most likely because problem with link speed autonegotiation
>> + * (e.g. reported case with mvebu adapter with a port multiplier
>> + * device). In this case, assume that probing was done at Gen3
>> + * speed and set the speed limit to the lower Gen2 speed.
>> + * With this, the next probe retry will be done after
>> + * sata_set_spd() explicitly lowers the link speed. If the
>> + * device then responds, the actual maximum speed will be set
>> + * once libata-eh finishes the device revalidation.
>> + */
>> + if (!link->sata_spd && link->sata_spd_limit == UINT_MAX) {
>> + link->sata_spd_limit = 2;
>> + ata_link_warn(link,
>> + "No reported SATA link speed. Limiting to
>> %s\n",
>> + sata_spd_string(link->sata_spd_limit));
>> + return 0;
>> + }
>> spd = link->sata_spd;
>> + }
>>
>> mask = link->sata_spd_limit;
>> if (mask <= 1)
>>
>> Does this work ?
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> 
> No, it doesn't work.

OK. So it seems that your adapter really wants the initial scan at 1.5 Gbps...
Since the initial tweak worked, I will post the official patch for it. I will CC
you. Please retest to be sure and send a "Tested-by:" tag ! Thanks !

> 
> [   29.743388][  T113] hardreset, Online=>Offline
> [   29.743397][  T113] sata_set_spd_needed, scontrol=0x300
> [   29.747893][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   29.753149][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [   29.759464][  T113] __sata_set_spd_needed, target=0x0
> [   29.765953][  T113] __sata_set_spd_needed, spd=0x0
> [   29.771033][  T113] __sata_set_spd_needed, final *scontrol=0x300
> [   29.776937][  T113] resume, do loop
> [   30.003803][  T113] resume, after do loop
> [   30.063823][  T113] debounce, SCR=0x100
> ...
> [   31.443802][  T113] debounce, SCR=0x100
> [   31.447663][  T113] resume, return at end of function
> [   31.451522][  T113] hardreset, ata_phys_link_offline check failed
> [   31.456625][  T113] ata2: SATA link down (SStatus 100 SControl 300)
> [   31.469093][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   31.478986][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
> [   31.486004][  T113] hardreset, Online=>Offline
> [   31.486010][  T113] sata_set_spd_needed, scontrol=0x300
> [   31.490479][  T113] __sata_set_spd_needed, initial limit=0x2
> [   31.495747][  T113] __sata_set_spd_needed, corrected limit=0x2
> [   31.501437][  T113] __sata_set_spd_needed, target=0x2
> [   31.507321][  T113] __sata_set_spd_needed, spd=0x0
> [   31.512401][  T113] __sata_set_spd_needed, final *scontrol=0x320
> [   31.517233][  T113] __sata_set_spd_needed, initial limit=0x2
> [   31.523272][  T113] __sata_set_spd_needed, corrected limit=0x2
> [   31.528975][  T113] __sata_set_spd_needed, target=0x2
> [   31.534852][  T113] __sata_set_spd_needed, spd=0x0
> [   31.539933][  T113] __sata_set_spd_needed, final *scontrol=0x324
> [   31.545834][  T113] resume, do loop
> [   31.773802][  T113] resume, after do loop
> [   31.833802][  T113] debounce, SCR=0x101
> ...
> [   32.433802][  T113] debounce, SCR=0x100
> [   32.437663][  T113] resume, return at end of function
> [   32.441522][  T113] hardreset, ata_phys_link_offline check failed
> [   32.446624][  T113] ata2: SATA link down (SStatus 100 SControl 320)
> [   32.459090][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   32.468982][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
> [   32.475999][  T113] hardreset, Online=>Offline
> [   32.476005][  T113] sata_set_spd_needed, scontrol=0x320
> [   32.480474][  T113] __sata_set_spd_needed, initial limit=0x2
> [   32.485741][  T113] __sata_set_spd_needed, corrected limit=0x2
> [   32.491432][  T113] __sata_set_spd_needed, target=0x2
> [   32.497315][  T113] __sata_set_spd_needed, spd=0x2
> [   32.502395][  T113] __sata_set_spd_needed, final *scontrol=0x320
> [   32.508296][  T113] resume, do loop
> [   32.743801][  T113] resume, after do loop
> [   32.803802][  T113] debounce, SCR=0x100
> ...
> [   34.423802][  T113] debounce, SCR=0x100
> [   34.427662][  T113] resume, return at end of function
> [   34.431520][  T113] hardreset, ata_phys_link_offline check failed
> [   34.436624][  T113] ata2: SATA link down (SStatus 100 SControl 320)
> [   34.449088][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   34.458981][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
> [   34.465998][  T113] hardreset, Online=>Offline
> [   34.466004][  T113] sata_set_spd_needed, scontrol=0x320
> [   34.470473][  T113] __sata_set_spd_needed, initial limit=0x2
> [   34.475740][  T113] __sata_set_spd_needed, corrected limit=0x2
> [   34.481430][  T113] __sata_set_spd_needed, target=0x2
> [   34.487314][  T113] __sata_set_spd_needed, spd=0x2
> [   34.492393][  T113] __sata_set_spd_needed, final *scontrol=0x320
> [   34.498294][  T113] resume, do loop
> [   34.723823][  T113] resume, after do loop
> [   34.783802][  T113] debounce, SCR=0x101
> ...
> [   36.763802][  T113] debounce, SCR=0x100
> [   36.767662][  T113] debounce, loop end with timeout
> [   36.771521][  T113] hardreset, sata_link_resume check failed
> [   36.776445][  T113] ata2: COMRESET failed (errno=-32)
> [   36.787224][  T113] ata2: reset failed (errno=-32), retrying in 8 secs
> [   44.643801][  T113] sata_down_spd_limit: limit 0x0, cur spd 0x0, saved limit 0x2, hw limit 0xffffffff
> [   44.653073][  T113] hardreset, Online=>Offline
> [   44.653079][  T113] sata_set_spd_needed, scontrol=0x320
> [   44.657569][  T113] __sata_set_spd_needed, initial limit=0x2
> [   44.662823][  T113] __sata_set_spd_needed, corrected limit=0x2
> [   44.668527][  T113] __sata_set_spd_needed, target=0x2
> [   44.674403][  T113] __sata_set_spd_needed, spd=0x2
> [   44.679484][  T113] __sata_set_spd_needed, final *scontrol=0x320
> [   44.685385][  T113] resume, do loop
> [   44.913802][  T113] resume, after do loop
> [   44.973802][  T113] debounce, SCR=0x100
> ...
> [   46.233802][  T113] debounce, SCR=0x100
> [   46.237663][  T113] resume, return at end of function
> [   46.241520][  T113] hardreset, ata_phys_link_offline check failed
> [   46.246622][  T113] ata2: SATA link down (SStatus 100 SControl 320)
> [   46.259088][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   46.268981][  T113] ata2: No reported SATA link speed. Limiting to 3.0 Gbps
> [   46.275997][  T113] hardreset, Online=>Offline
> [   46.276003][  T113] sata_set_spd_needed, scontrol=0x320
> [   46.280473][  T113] __sata_set_spd_needed, initial limit=0x2
> [   46.285740][  T113] __sata_set_spd_needed, corrected limit=0x2
> [   46.291430][  T113] __sata_set_spd_needed, target=0x2
> [   46.297314][  T113] __sata_set_spd_needed, spd=0x2
> [   46.302394][  T113] __sata_set_spd_needed, final *scontrol=0x320
> [   46.308296][  T113] resume, do loop
> [   46.543802][  T113] resume, after do loop
> [   46.603802][  T113] debounce, SCR=0x100
> ...
> [   47.683802][  T113] debounce, SCR=0x100
> [   47.687662][  T113] resume, return at end of function
> [   47.691520][  T113] hardreset, ata_phys_link_offline check failed
> [   47.696636][  T113] ata2: SATA link down (SStatus 101 SControl 320)
> [   47.709086][  T113] ata2: EH pending after 5 tries, giving up
> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-29 10:24                                       ` marius
  2023-01-30  1:16                                         ` Damien Le Moal
@ 2023-01-30  2:38                                         ` Damien Le Moal
  2023-01-30  7:23                                         ` marius
  2 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-30  2:38 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/29/23 19:24, marius@psihoexpert.ro wrote:
> January 29, 2023 4:25 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>
>> OK. That is because the limit is not being changed with the added "return 0".
>> What about this version:
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 884ae73b11ea..f404e2c2869e 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3085,10 +3085,31 @@ int sata_down_spd_limit(struct ata_link *link, u32
>> spd_limit)
>> * If not, use cached value in link->sata_spd.
>> */
>> rc = sata_scr_read(link, SCR_STATUS, &sstatus);
>> - if (rc == 0 && ata_sstatus_online(sstatus))
>> + if (rc == 0 && ata_sstatus_online(sstatus)) {
>> spd = (sstatus >> 4) & 0xf;
>> - else
>> + } else {
>> + /*
>> + * If we reach here, the device is still offline or not
>> + * reporting a current speed yet. If we do not have a recorded
>> + * speed either, it means that probing the drive is failing,
>> + * most likely because problem with link speed autonegotiation
>> + * (e.g. reported case with mvebu adapter with a port multiplier
>> + * device). In this case, assume that probing was done at Gen3
>> + * speed and set the speed limit to the lower Gen2 speed.
>> + * With this, the next probe retry will be done after
>> + * sata_set_spd() explicitly lowers the link speed. If the
>> + * device then responds, the actual maximum speed will be set
>> + * once libata-eh finishes the device revalidation.
>> + */
>> + if (!link->sata_spd && link->sata_spd_limit == UINT_MAX) {
>> + link->sata_spd_limit = 2;
>> + ata_link_warn(link,
>> + "No reported SATA link speed. Limiting to
>> %s\n",
>> + sata_spd_string(link->sata_spd_limit));
>> + return 0;
>> + }
>> spd = link->sata_spd;
>> + }
>>
>> mask = link->sata_spd_limit;
>> if (mask <= 1)
>>
>> Does this work ?
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> 
> No, it doesn't work.

Apologies for asking you to test again, but could you try this simpler
version of the initial tweak:

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 884ae73b11ea..2ea572628b1c 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3109,7 +3109,7 @@ int sata_down_spd_limit(struct ata_link *link, u32
spd_limit)
         */
        if (spd > 1)
                mask &= (1 << (spd - 1)) - 1;
-       else
+       else if (link->sata_spd)
                return -EINVAL;

        /* were we already at the bottom? */

This is a partial revert of the commit that created the issue in the
first place. But better check this is OK.


-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-29 10:24                                       ` marius
  2023-01-30  1:16                                         ` Damien Le Moal
  2023-01-30  2:38                                         ` Damien Le Moal
@ 2023-01-30  7:23                                         ` marius
  2023-01-30  7:37                                           ` Damien Le Moal
  2 siblings, 1 reply; 67+ messages in thread
From: marius @ 2023-01-30  7:23 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 30, 2023 4:39 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
> Apologies for asking you to test again, but could you try this simpler
> version of the initial tweak:
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..2ea572628b1c 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3109,7 +3109,7 @@ int sata_down_spd_limit(struct ata_link *link, u32
> spd_limit)
> */
> if (spd > 1)
> mask &= (1 << (spd - 1)) - 1;
> - else
> + else if (link->sata_spd)
> return -EINVAL;
> 
> /* were we already at the bottom? */
> 
> This is a partial revert of the commit that created the issue in the
> first place. But better check this is OK.
> 
> --
> Damien Le Moal
> Western Digital Research

No problem. I'll test everything until you find the best possible fix for the kernel.

It works:

[   15.805656][  T113] hardreset, Online=>Offline
[   15.805666][  T113] sata_set_spd_needed, scontrol=0x300
[   15.810139][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   15.815417][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
[   15.821719][  T113] __sata_set_spd_needed, target=0x0
[   15.828208][  T113] __sata_set_spd_needed, spd=0x0
[   15.833289][  T113] __sata_set_spd_needed, final *scontrol=0x300
[   15.839192][  T113] resume, do loop
[   16.073861][  T113] resume, after do loop
[   16.133861][  T113] debounce, SCR=0x100
[   16.193860][  T113] debounce, SCR=0x100
[   16.253860][  T113] debounce, SCR=0x100
[   16.313860][  T113] debounce, SCR=0x100
[   16.373861][  T113] debounce, SCR=0x100
[   16.433860][  T113] debounce, SCR=0x100
[   16.493860][  T113] debounce, SCR=0x100
[   16.553882][  T113] debounce, SCR=0x100
[   16.613861][  T113] debounce, SCR=0x100
[   16.617722][  T113] resume, return at end of function
[   16.621581][  T113] hardreset, ata_phys_link_offline check failed
[   16.626685][  T113] ata2: SATA link down (SStatus 101 SControl 300)
[   16.639152][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
[   16.649046][  T113] ata2: limiting SATA link speed to 1.5 Gbps
[   16.654931][  T113] hardreset, Online=>Offline
[   16.654937][  T113] sata_set_spd_needed, scontrol=0x300
[   16.659407][  T113] __sata_set_spd_needed, initial limit=0x1
[   16.664675][  T113] __sata_set_spd_needed, corrected limit=0x1
[   16.670364][  T113] __sata_set_spd_needed, target=0x1
[   16.676249][  T113] __sata_set_spd_needed, spd=0x0
[   16.681329][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   16.686160][  T113] __sata_set_spd_needed, initial limit=0x1
[   16.692200][  T113] __sata_set_spd_needed, corrected limit=0x1
[   16.697902][  T113] __sata_set_spd_needed, target=0x1
[   16.703767][  T113] __sata_set_spd_needed, spd=0x0
[   16.708858][  T113] __sata_set_spd_needed, final *scontrol=0x314
[   16.714748][  T113] resume, do loop
[   16.943861][  T113] resume, after do loop
[   17.003861][  T113] debounce, SCR=0x113
[   17.063882][  T113] debounce, SCR=0x113
[   17.123860][  T113] debounce, SCR=0x113
[   17.183861][  T113] debounce, SCR=0x113
[   17.243860][  T113] debounce, SCR=0x113
[   17.303861][  T113] debounce, SCR=0x113
[   17.363860][  T113] debounce, SCR=0x113
[   17.423860][  T113] debounce, SCR=0x113
[   17.483860][  T113] debounce, SCR=0x113
[   17.487721][  T113] resume, return at end of function
[   17.491580][  T113] hardreset, Offline=>Online
[   17.501142][  T113] hardreset, sata_pmp_supported, before check_ready
[   17.673864][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   17.687589][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[   17.696209][  T113] device: 'link2.0': device_add
[   17.701015][  T113] device: 'link2.0': device_add
[   17.706001][  T113] device: 'dev2.0.0': device_add
[   17.710846][  T113] device: 'dev2.0.0': device_add
[   17.715847][  T113] device: 'link2.1': device_add
[   17.720606][  T113] device: 'link2.1': device_add
[   17.725467][  T113] device: 'dev2.1.0': device_add
[   17.730312][  T113] device: 'dev2.1.0': device_add
[   17.735299][  T113] device: 'link2.2': device_add
[   17.740056][  T113] device: 'link2.2': device_add
[   17.744909][  T113] device: 'dev2.2.0': device_add
[   17.749754][  T113] device: 'dev2.2.0': device_add
[   17.754725][  T113] device: 'link2.3': device_add
[   17.759483][  T113] device: 'link2.3': device_add
[   17.764355][  T113] device: 'dev2.3.0': device_add
[   17.769200][  T113] device: 'dev2.3.0': device_add
[   17.774175][  T113] device: 'link2.4': device_add
[   17.778934][  T113] device: 'link2.4': device_add
[   17.783773][  T113] device: 'dev2.4.0': device_add
[   17.788635][  T113] device: 'dev2.4.0': device_add
[   17.793605][  T113] device: 'link2.5': device_add
[   17.798397][  T113] device: 'link2.5': device_add
[   17.803238][  T113] device: 'dev2.5.0': device_add
[   17.808100][  T113] device: 'dev2.5.0': device_add
[   17.813066][  T113] device: 'link2.6': device_add
[   17.817848][  T113] device: 'link2.6': device_add
[   17.822690][  T113] device: 'dev2.6.0': device_add
[   17.827552][  T113] device: 'dev2.6.0': device_add
[   17.832512][  T113] device: 'link2.7': device_add
[   17.837289][  T113] device: 'link2.7': device_add
[   17.842138][  T113] device: 'dev2.7.0': device_add
[   17.847004][  T113] device: 'dev2.7.0': device_add
[   17.851966][  T113] device: 'link2.8': device_add
[   17.856752][  T113] device: 'link2.8': device_add
[   17.861597][  T113] device: 'dev2.8.0': device_add
[   17.866464][  T113] device: 'dev2.8.0': device_add
[   17.871435][  T113] device: 'link2.9': device_add
[   17.876216][  T113] device: 'link2.9': device_add
[   17.881061][  T113] device: 'dev2.9.0': device_add
[   17.885928][  T113] device: 'dev2.9.0': device_add
[   17.890893][  T113] device: 'link2.10': device_add
[   17.895761][  T113] device: 'link2.10': device_add
[   17.900708][  T113] device: 'dev2.10.0': device_add
[   17.905665][  T113] device: 'dev2.10.0': device_add
[   17.910720][  T113] device: 'link2.11': device_add
[   17.915597][  T113] device: 'link2.11': device_add
[   17.920539][  T113] device: 'dev2.11.0': device_add
[   17.925497][  T113] device: 'dev2.11.0': device_add
[   17.930558][  T113] device: 'link2.12': device_add
[   17.935429][  T113] device: 'link2.12': device_add
[   17.940366][  T113] device: 'dev2.12.0': device_add
[   17.945324][  T113] device: 'dev2.12.0': device_add
[   17.950393][  T113] device: 'link2.13': device_add
[   17.955265][  T113] device: 'link2.13': device_add
[   17.960203][  T113] device: 'dev2.13.0': device_add
[   17.965163][  T113] device: 'dev2.13.0': device_add
[   17.970219][  T113] device: 'link2.14': device_add
[   17.975099][  T113] device: 'link2.14': device_add
[   17.980046][  T113] device: 'dev2.14.0': device_add
[   17.985007][  T113] device: 'dev2.14.0': device_add
[   17.990061][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
[   17.995812][  T113] ata2.00: SCR_CONTROL = 0x300
[   18.000492][  T113] ata2.01: SCR_CONTROL = 0x300
[   18.005195][  T113] ata2.02: SCR_CONTROL = 0x300
[   18.009873][  T113] ata2.03: SCR_CONTROL = 0x300
[   18.014580][  T113] ata2.04: SCR_CONTROL = 0x300
[   18.019257][  T113] ata2.05: SCR_CONTROL = 0x300
[   18.023998][  T113] ata2.06: SCR_CONTROL = 0x300
[   18.028676][  T113] ata2.07: SCR_CONTROL = 0x300
[   18.033427][  T113] ata2.00: hard resetting link
[   18.038105][  T113] hardreset, Online=>Offline
[   18.038144][  T113] sata_set_spd_needed, scontrol=0x300
[   18.042615][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.047892][  T113] __sata_set_spd_needed, corrected limit=0x1
[   18.054208][  T113] __sata_set_spd_needed, target=0x1
[   18.060072][  T113] __sata_set_spd_needed, spd=0x0
[   18.065164][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   18.070076][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.076145][  T113] __sata_set_spd_needed, corrected limit=0x1
[   18.082447][  T113] __sata_set_spd_needed, target=0x1
[   18.088325][  T113] __sata_set_spd_needed, spd=0x0
[   18.093406][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   18.099473][  T113] resume, do loop
[   18.333896][  T113] resume, after do loop
[   18.342538][  T113] debounce, SCR=0x123
[   18.351693][  T113] debounce, SCR=0x123
[   18.360674][  T113] debounce, SCR=0x123
[   18.369653][  T113] debounce, SCR=0x123
[   18.378614][  T113] debounce, SCR=0x123
[   18.387574][  T113] debounce, SCR=0x123
[   18.396533][  T113] debounce, SCR=0x123
[   18.405493][  T113] debounce, SCR=0x123
[   18.414452][  T113] debounce, SCR=0x123
[   18.423411][  T113] debounce, SCR=0x123
[   18.432390][  T113] debounce, SCR=0x123
[   18.441371][  T113] debounce, SCR=0x123
[   18.445312][  T113] resume, return at end of function
[   18.449202][  T113] hardreset, Offline=>Online
[   18.458767][  T113] hardreset, after check_ready
[   18.458984][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   18.470857][  T113] ata2.01: hard resetting link
[   18.475524][  T113] hardreset, Online=>Offline
[   18.475562][  T113] sata_set_spd_needed, scontrol=0x300
[   18.480032][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.485305][  T113] __sata_set_spd_needed, corrected limit=0x1
[   18.491606][  T113] __sata_set_spd_needed, target=0x1
[   18.497484][  T113] __sata_set_spd_needed, spd=0x0
[   18.502564][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   18.507488][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.513527][  T113] __sata_set_spd_needed, corrected limit=0x1
[   18.519847][  T113] __sata_set_spd_needed, target=0x1
[   18.525725][  T113] __sata_set_spd_needed, spd=0x0
[   18.530804][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   18.536834][  T113] resume, do loop
[   18.763894][  T113] resume, after do loop
[   18.772537][  T113] debounce, SCR=0x123
[   18.781691][  T113] debounce, SCR=0x123
[   18.790671][  T113] debounce, SCR=0x123
[   18.799650][  T113] debounce, SCR=0x123
[   18.808610][  T113] debounce, SCR=0x123
[   18.817570][  T113] debounce, SCR=0x123
[   18.826530][  T113] debounce, SCR=0x123
[   18.835489][  T113] debounce, SCR=0x123
[   18.844448][  T113] debounce, SCR=0x123
[   18.853407][  T113] debounce, SCR=0x123
[   18.862386][  T113] debounce, SCR=0x123
[   18.871368][  T113] debounce, SCR=0x123
[   18.875309][  T113] resume, return at end of function
[   18.879199][  T113] hardreset, Offline=>Online
[   18.888761][  T113] hardreset, after check_ready
[   18.888978][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   18.900849][  T113] ata2.02: hard resetting link
[   18.905516][  T113] hardreset, Online=>Offline
[   18.905554][  T113] sata_set_spd_needed, scontrol=0x300
[   18.910024][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.915297][  T113] __sata_set_spd_needed, corrected limit=0x1
[   18.921598][  T113] __sata_set_spd_needed, target=0x1
[   18.927476][  T113] __sata_set_spd_needed, spd=0x0
[   18.932555][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   18.937478][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   18.943517][  T113] __sata_set_spd_needed, corrected limit=0x1
[   18.949837][  T113] __sata_set_spd_needed, target=0x1
[   18.955715][  T113] __sata_set_spd_needed, spd=0x0
[   18.960794][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   18.966826][  T113] resume, do loop
[   19.193895][  T113] resume, after do loop
[   19.202536][  T113] debounce, SCR=0x0
[   19.211691][  T113] debounce, SCR=0x0
[   19.220496][  T113] debounce, SCR=0x0
[   19.229301][  T113] debounce, SCR=0x0
[   19.238087][  T113] debounce, SCR=0x0
[   19.246872][  T113] debounce, SCR=0x0
[   19.255658][  T113] debounce, SCR=0x0
[   19.264443][  T113] debounce, SCR=0x0
[   19.273228][  T113] debounce, SCR=0x0
[   19.282034][  T113] debounce, SCR=0x0
[   19.290839][  T113] debounce, SCR=0x0
[   19.299646][  T113] debounce, SCR=0x0
[   19.308430][  T113] debounce, SCR=0x0
[   19.312175][  T113] resume, return at end of function
[   19.315911][  T113] hardreset, ata_phys_link_offline check failed
[   19.321203][  T113] ata2.02: SATA link down (SStatus 0 SControl 300)
[   19.333802][  T113] ata2.03: hard resetting link
[   19.338467][  T113] hardreset, Online=>Offline
[   19.338504][  T113] sata_set_spd_needed, scontrol=0x300
[   19.342974][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   19.348247][  T113] __sata_set_spd_needed, corrected limit=0x1
[   19.354562][  T113] __sata_set_spd_needed, target=0x1
[   19.360426][  T113] __sata_set_spd_needed, spd=0x0
[   19.365526][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   19.370436][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   19.376495][  T113] __sata_set_spd_needed, corrected limit=0x1
[   19.382796][  T113] __sata_set_spd_needed, target=0x1
[   19.388674][  T113] __sata_set_spd_needed, spd=0x0
[   19.393753][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   19.399778][  T113] resume, do loop
[   19.633894][  T113] resume, after do loop
[   19.642535][  T113] debounce, SCR=0x0
[   19.651703][  T113] debounce, SCR=0x0
[   19.660509][  T113] debounce, SCR=0x0
[   19.669314][  T113] debounce, SCR=0x0
[   19.678100][  T113] debounce, SCR=0x0
[   19.686886][  T113] debounce, SCR=0x0
[   19.695671][  T113] debounce, SCR=0x0
[   19.704456][  T113] debounce, SCR=0x0
[   19.713242][  T113] debounce, SCR=0x0
[   19.722048][  T113] debounce, SCR=0x0
[   19.730852][  T113] debounce, SCR=0x0
[   19.739659][  T113] debounce, SCR=0x0
[   19.748444][  T113] debounce, SCR=0x0
[   19.752191][  T113] resume, return at end of function
[   19.755927][  T113] hardreset, ata_phys_link_offline check failed
[   19.761219][  T113] ata2.03: SATA link down (SStatus 0 SControl 300)
[   19.773817][  T113] ata2.04: hard resetting link
[   19.778481][  T113] hardreset, Online=>Offline
[   19.778519][  T113] sata_set_spd_needed, scontrol=0x300
[   19.782989][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   19.788262][  T113] __sata_set_spd_needed, corrected limit=0x1
[   19.794577][  T113] __sata_set_spd_needed, target=0x1
[   19.800441][  T113] __sata_set_spd_needed, spd=0x0
[   19.805541][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   19.810452][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   19.816511][  T113] __sata_set_spd_needed, corrected limit=0x1
[   19.822812][  T113] __sata_set_spd_needed, target=0x1
[   19.828689][  T113] __sata_set_spd_needed, spd=0x0
[   19.833769][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   19.839792][  T113] resume, do loop
[   20.073895][  T113] resume, after do loop
[   20.082536][  T113] debounce, SCR=0x0
[   20.091690][  T113] debounce, SCR=0x0
[   20.100496][  T113] debounce, SCR=0x0
[   20.109301][  T113] debounce, SCR=0x0
[   20.118087][  T113] debounce, SCR=0x0
[   20.126872][  T113] debounce, SCR=0x0
[   20.135658][  T113] debounce, SCR=0x0
[   20.144443][  T113] debounce, SCR=0x0
[   20.153228][  T113] debounce, SCR=0x0
[   20.162047][  T113] debounce, SCR=0x0
[   20.170854][  T113] debounce, SCR=0x0
[   20.179660][  T113] debounce, SCR=0x0
[   20.188447][  T113] debounce, SCR=0x0
[   20.192193][  T113] resume, return at end of function
[   20.195930][  T113] hardreset, ata_phys_link_offline check failed
[   20.201220][  T113] ata2.04: SATA link down (SStatus 0 SControl 300)
[   20.213818][  T113] ata2.05: hard resetting link
[   20.218483][  T113] hardreset, Online=>Offline
[   20.218520][  T113] sata_set_spd_needed, scontrol=0x300
[   20.222990][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   20.228263][  T113] __sata_set_spd_needed, corrected limit=0x1
[   20.234578][  T113] __sata_set_spd_needed, target=0x1
[   20.240442][  T113] __sata_set_spd_needed, spd=0x0
[   20.245542][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   20.250452][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   20.256511][  T113] __sata_set_spd_needed, corrected limit=0x1
[   20.262812][  T113] __sata_set_spd_needed, target=0x1
[   20.268689][  T113] __sata_set_spd_needed, spd=0x0
[   20.273768][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   20.279792][  T113] resume, do loop
[   20.513895][  T113] resume, after do loop
[   20.522535][  T113] debounce, SCR=0x0
[   20.531689][  T113] debounce, SCR=0x0
[   20.540495][  T113] debounce, SCR=0x0
[   20.549300][  T113] debounce, SCR=0x0
[   20.558085][  T113] debounce, SCR=0x0
[   20.566870][  T113] debounce, SCR=0x0
[   20.575657][  T113] debounce, SCR=0x0
[   20.584441][  T113] debounce, SCR=0x0
[   20.593226][  T113] debounce, SCR=0x0
[   20.602031][  T113] debounce, SCR=0x0
[   20.610836][  T113] debounce, SCR=0x0
[   20.619643][  T113] debounce, SCR=0x0
[   20.628429][  T113] debounce, SCR=0x0
[   20.632175][  T113] resume, return at end of function
[   20.635911][  T113] hardreset, ata_phys_link_offline check failed
[   20.641203][  T113] ata2.05: SATA link down (SStatus 0 SControl 300)
[   20.653800][  T113] ata2.06: hard resetting link
[   20.658466][  T113] hardreset, Online=>Offline
[   20.658503][  T113] sata_set_spd_needed, scontrol=0x300
[   20.662974][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   20.668261][  T113] __sata_set_spd_needed, corrected limit=0x1
[   20.674576][  T113] __sata_set_spd_needed, target=0x1
[   20.680440][  T113] __sata_set_spd_needed, spd=0x0
[   20.685539][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   20.690451][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   20.696510][  T113] __sata_set_spd_needed, corrected limit=0x1
[   20.702811][  T113] __sata_set_spd_needed, target=0x1
[   20.708688][  T113] __sata_set_spd_needed, spd=0x0
[   20.713768][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   20.719791][  T113] resume, do loop
[   20.953895][  T113] resume, after do loop
[   20.962536][  T113] debounce, SCR=0x0
[   20.971690][  T113] debounce, SCR=0x0
[   20.980496][  T113] debounce, SCR=0x0
[   20.989301][  T113] debounce, SCR=0x0
[   20.998087][  T113] debounce, SCR=0x0
[   21.006872][  T113] debounce, SCR=0x0
[   21.015657][  T113] debounce, SCR=0x0
[   21.024442][  T113] debounce, SCR=0x0
[   21.033227][  T113] debounce, SCR=0x0
[   21.042033][  T113] debounce, SCR=0x0
[   21.050838][  T113] debounce, SCR=0x0
[   21.059644][  T113] debounce, SCR=0x0
[   21.068429][  T113] debounce, SCR=0x0
[   21.072176][  T113] resume, return at end of function
[   21.075913][  T113] hardreset, ata_phys_link_offline check failed
[   21.081202][  T113] ata2.06: SATA link down (SStatus 0 SControl 300)
[   21.093800][  T113] ata2.07: hard resetting link
[   21.098465][  T113] hardreset, Online=>Offline
[   21.098502][  T113] sata_set_spd_needed, scontrol=0x300
[   21.102972][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   21.108246][  T113] __sata_set_spd_needed, corrected limit=0x1
[   21.114560][  T113] __sata_set_spd_needed, target=0x1
[   21.120424][  T113] __sata_set_spd_needed, spd=0x0
[   21.125524][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   21.130435][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
[   21.136494][  T113] __sata_set_spd_needed, corrected limit=0x1
[   21.142795][  T113] __sata_set_spd_needed, target=0x1
[   21.148673][  T113] __sata_set_spd_needed, spd=0x0
[   21.153752][  T113] __sata_set_spd_needed, final *scontrol=0x310
[   21.159775][  T113] resume, do loop
[   21.393895][  T113] resume, after do loop
[   21.402537][  T113] debounce, SCR=0x0
[   21.411690][  T113] debounce, SCR=0x0
[   21.420496][  T113] debounce, SCR=0x0
[   21.429300][  T113] debounce, SCR=0x0
[   21.438085][  T113] debounce, SCR=0x0
[   21.446870][  T113] debounce, SCR=0x0
[   21.455656][  T113] debounce, SCR=0x0
[   21.464441][  T113] debounce, SCR=0x0
[   21.473227][  T113] debounce, SCR=0x0
[   21.482032][  T113] debounce, SCR=0x0
[   21.490837][  T113] debounce, SCR=0x0
[   21.499644][  T113] debounce, SCR=0x0
[   21.508430][  T113] debounce, SCR=0x0
[   21.512176][  T113] resume, return at end of function
[   21.515913][  T113] hardreset, ata_phys_link_offline check failed
[   21.521202][  T113] ata2.07: SATA link down (SStatus 0 SControl 300)
[   21.533889][  T113] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[   21.541502][  T113] ata2.00: 976773168 sectors, multi 0: LBA48 
[   21.547615][  T113] ata2.00: configured for UDMA/133
[   21.552677][  T113] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
[   21.559611][  T113] ata2.01: 23437498368 sectors, multi 0: LBA48 
[   21.565886][  T113] ata2.01: configured for UDMA/133
[   21.571033][  T113] ata2: EH complete
[   21.575491][   T76] scsi 1:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a  PQ: 0 ANSI: 5
[   21.585235][   T76] device: 'target1:0:0': device_add
[   21.590356][   T76] bus: 'scsi': add device target1:0:0
[   21.595735][   T76] device: '1:0:0:0': device_add
[   21.600740][   T76] bus: 'scsi': add device 1:0:0:0
[   21.605721][   T76] scsi 1:0:0:0: scheduling asynchronous probe
[   21.611719][   T76] device: '1:0:0:0': device_add
[   21.611734][   T22] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
[   21.616593][   T76] device: '1:0:0:0': device_add
[   21.625099][   T22] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
[   21.637640][   T22] sd 1:0:0:0: no default pinctrl state
[   21.643071][   T22] device: '1:0:0:0': device_add
[   21.644450][   T76] scsi 1:1:0:0: Direct-Access     ATA      Areca   Archive  n/a  PQ: 0 ANSI: 5
[   21.648193][   T22] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[   21.657934][   T76] device: 'target1:1:0': device_add
[   21.665225][   T22] sd 1:0:0:0: [sdb] Write Protect is off
[   21.670030][   T76] bus: 'scsi': add device target1:1:0
[   21.675566][   T22] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[   21.680850][   T76] device: '1:1:0:0': device_add
[   21.686703][   T22] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   21.691586][   T76] bus: 'scsi': add device 1:1:0:0
[   21.701326][   T22] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[   21.706077][   T76] scsi 1:1:0:0: scheduling asynchronous probe
[   21.712958][   T22] device: 'sdb': device_add
[   21.718923][   T76] device: '1:1:0:0': device_add
[   21.723651][    T8] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
[   21.728161][   T76] device: '1:1:0:0': device_add
[   21.736660][    T8] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
[   21.749211][    T8] sd 1:1:0:0: no default pinctrl state
[   21.754659][    T8] device: '1:1:0:0': device_add
[   21.759991][   T22] device: '8:16': device_add
[   21.765576][    T8] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
[   21.774242][    T8] sd 1:1:0:0: [sdc] Write Protect is off
[   21.779764][    T8] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
[   21.785698][    T8] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   21.795680][    T8] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
[   21.802612][    T8] device: 'sdc': device_add
[   21.807704][    T8] device: '8:32': device_add
[   21.836417][    T8] sd 1:1:0:0: [sdc] Attached SCSI removable disk
[   21.842641][    T8] driver: 'sd': driver_bound: bound to device '1:1:0:0'
[   21.849545][    T8] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
[   21.857027][    T8] sd 1:1:0:0: async probe completed
[   22.253067][   T22] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[   22.259320][   T22] driver: 'sd': driver_bound: bound to device '1:0:0:0'
[   22.266220][   T22] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
[   22.273664][   T22] sd 1:0:0:0: async probe completed


I also tested it with the latest kernel, no other modifications
(commit 6d796c50f84ca79f1722bb131799e5a5710c4700, tag: v6.2-rc6)
This is the boot log with Areca DAS already connected:

BootROM - 1.73

Booting from NAND flash


General initialization - Version: 1.0.0

Detected Device ID 6820

High speed PHY - Version: 2.0


Init RD NAS topology Serdes Lane 3 is USB3

Serdes Lane 4 is SGMII

board SerDes lanes topology details:

 | Lane #  | Speed |  Type       |

 --------------------------------

 |   0    |  06   |  SATA0	|

 |   1    |  05   |  PCIe0	|

 |   2    |  06   |  SATA1	|

 |   3    |  05   |  USB3 HOST1	|

 |   4    |  05   |  PCIe1	|

 |   5    |  00   |  SGMII2	|

 --------------------------------

:** Link is Gen1, check the EP capability 

PCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities 

:** Link is Gen1, check the EP capability 

PCIe, Idx 1: remains Gen1

High speed PHY - Ended Successfully

DDR3 Training Sequence - Ver TIP-1.26.0

mvSysEnvGetTopologyUpdateInfo: TWSI Read failed

DDR3 Training Sequence - Switching XBAR Window to FastPath Window 

DDR3 Training Sequence - Ended Successfully

Not detected suspend to RAM indication

BootROM: Image checksum verification PASSED

l
 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_ 
        | | | |___|  _ \ / _ \ / _ \| __| 
        | |_| |___| |_) | (_) | (_) | |_ 
         \___/    |____/ \___/ \___/ \__| 
 ** LOADER **


U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6

Boot version : v1.0.13

Board: RD-NAS-88F6820-DDR3
SoC:   MV88F6820 Rev A0
       running 2 CPUs
CPU:   ARM Cortex A9 MPCore (Rev 1) LE
       CPU 0
       CPU    @ 1600 [MHz]
       L2     @ 800 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 800 [MHz]
       DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM:  512 MiB

Map:   Code:			0x1fea9000:0x1ff7632c
       BSS:			0x1ffef6b4
       Stack:			0x1f9a8f20
       Heap:			0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
       U-Boot Environment:	0x00200000:0x00220000 (NAND)

NAND:  128 MiB
MMC:   mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000


#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == 2
[u_env] get boot_part_ready == 3
auto_recovery enabled:1, boot_part:2, boot_part_ready:3 

S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64 
[boot_count_read_record] boot_count:1, next_record:11

[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x245800

Updating boot_count ... 
[boot_count_write] offset:0x245800 , length:2048
done

PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init 
Net:   
|  port  | Interface | PHY address  |
|--------|-----------|--------------|
| egiga0 |   RGMII   |     0x01     |
| egiga1 |   SGMII   |     0x00     |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run altnandboot 
Hit any key to stop autoboot:  3
Marvell>> run bootcmd_tftp
Using egiga0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'uImage'.
Load address: 0x2000000
Loading: * #################################################################
	 #################################################################
	 ##########################################################
	 205.1 KiB/s
done
Bytes transferred = 2750299 (29f75b hex)

Starting kernel ...

[    0.000000][    T0] Booting Linux on physical CPU 0x0
[    0.000000][    T0] Linux version 6.2.0-rc6-M95D-00001-gd783bde80fb1 (marius95@GRAPHIM) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 12.2.0 r21391+9-a8f3c97ce8) 12.2.0, GNU ld (GNU Binutils) 2.39) #1 SMP Mon Jan 30 09:02:19 EET 2023
[    0.000000][    T0] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000][    T0] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000][    T0] OF: fdt: Machine model: Linksys WRT1900ACS
[    0.000000][    T0] Memory policy: Data cache writealloc
[    0.000000][    T0] Zone ranges:
[    0.000000][    T0]   Normal   [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000][    T0] Movable zone start for each node
[    0.000000][    T0] Early memory node ranges
[    0.000000][    T0]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000][    T0] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000][    T0] percpu: Embedded 13 pages/cpu s29648 r0 d23600 u53248
[    0.000000][    T0] pcpu-alloc: s29648 r0 d23600 u53248 alloc=13*4096
[    0.000000][    T0] pcpu-alloc: [0] 0 [0] 1 
[    0.000000][    T0] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000][    T0] Kernel command line:  console=ttyS0,115200 nfcConfig=4bitecc mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/sda rootdelay=100  dyndbg=\"file *ata* +plmft\"
[    0.000000][    T0] Unknown kernel command line parameters "nfcConfig=4bitecc mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg)", will be passed to user space.
[    0.000000][    T0] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000][    T0] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000][    T0] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000][    T0] Memory: 503304K/524288K available (6144K kernel code, 682K rwdata, 1724K rodata, 1024K init, 6363K bss, 20984K reserved, 0K cma-reserved)
[    0.000000][    T0] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000][    T0] trace event string verifier disabled
[    0.000000][    T0] Running RCU self tests
[    0.000000][    T0] rcu: Hierarchical RCU implementation.
[    0.000000][    T0] rcu: 	RCU lockdep checking is enabled.
[    0.000000][    T0] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000][    T0] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000][    T0] L2C: DT/platform modifies aux control register: 0x06070000 -> 0x16070000
[    0.000000][    T0] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000][    T0] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000][    T0] L2C-310 D prefetch enabled, offset 1 lines
[    0.000000][    T0] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000][    T0] L2C-310 Coherent cache controller enabled, 16 ways, 1024 kB
[    0.000000][    T0] L2C-310 Coherent: CACHE_ID 0x410054c9, AUX_CTRL 0x56070001
[    0.000000][    T0] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000001][    T0] sched_clock: 64 bits at 800MHz, resolution 1ns, wraps every 4398046511103ns
[    0.000013][    T0] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
[    0.000091][    T0] Switching to timer-based delay loop, resolution 1ns
[    0.000336][    T0] Ignoring duplicate/late registration of read_current_timer delay
[    0.000342][    T0] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
[    0.000671][    T0] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000686][    T0] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000691][    T0] ... MAX_LOCK_DEPTH:          48
[    0.000696][    T0] ... MAX_LOCKDEP_KEYS:        8192
[    0.000700][    T0] ... CLASSHASH_SIZE:          4096
[    0.000703][    T0] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.000707][    T0] ... MAX_LOCKDEP_CHAINS:      65536
[    0.000711][    T0] ... CHAINHASH_SIZE:          32768
[    0.000715][    T0]  memory used by lock dependency info: 4061 kB
[    0.000720][    T0]  memory used for stack traces: 2112 kB
[    0.000724][    T0]  per task-struct memory footprint: 1536 bytes
[    0.000773][    T0] Calibrating delay loop (skipped), value calculated using timer frequency.. 1600.00 BogoMIPS (lpj=8000000)
[    0.000787][    T0] pid_max: default: 32768 minimum: 301
[    0.000886][    T0] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000895][    T0] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.002105][    T0] CPU: Testing write buffer coherency: ok
[    0.002168][    T0] Spectre V2: workarounds disabled by configuration
[    0.003606][    T1] Setting up static identity map for 0x100000 - 0x100060
[    0.003756][    T1] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
[    0.003891][    T1] mvebu-pmsu: Initializing Power Management Service Unit
[    0.004190][    T1] rcu: Hierarchical SRCU implementation.
[    0.004196][    T1] rcu: 	Max phase no-delay instances is 1000.
[    0.004870][    T1] dyndbg: unknown flag '\'
[    0.004877][    T1] dyndbg: flags parse failed
[    0.005143][    T1] smp: Bringing up secondary CPUs ...
[    0.006060][    T1] Booting CPU 1
[    0.006572][    T1] smp: Brought up 1 node, 2 CPUs
[    0.006581][    T1] SMP: Total of 2 processors activated (3200.00 BogoMIPS).
[    0.006589][    T1] CPU: All CPU(s) started in SVC mode.
[    0.007669][    T1] devtmpfs: initialized
[    0.016228][    T1] device: 'platform': device_add
[    0.016350][    T1] bus: 'platform': registered
[    0.016402][    T1] bus: 'cpu': registered
[    0.016418][    T1] device: 'cpu': device_add
[    0.016577][    T1] bus: 'container': registered
[    0.016586][    T1] device: 'container': device_add
[    0.017162][    T1] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.017308][    T1] bus: 'workqueue': registered
[    0.017318][    T1] device: 'workqueue': device_add
[    0.017863][    T1] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.017890][    T1] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.018045][    T1] pinctrl core: initialized pinctrl subsystem
[    0.018482][    T1] bus: 'gpio': registered
[    0.018491][    T1] bus: 'gpio': add driver gpio_stub_drv
[    0.018582][    T1] device class 'regulator': registering
[    0.018665][    T1] Registering platform device 'reg-dummy'. Parent at platform
[    0.018674][    T1] device: 'reg-dummy': device_add
[    0.018694][    T1] bus: 'platform': add device reg-dummy
[    0.018798][    T1] bus: 'platform': add driver reg-dummy
[    0.018817][    T1] bus: 'platform': __driver_probe_device: matched device reg-dummy with driver reg-dummy
[    0.018875][    T1] bus: 'platform': really_probe: probing driver reg-dummy with device reg-dummy
[    0.018957][    T1] reg-dummy reg-dummy: no default pinctrl state
[    0.019076][    T1] regulator-dummy: no parameters, enabled
[    0.019088][    T1] device: 'regulator.0': device_add
[    0.019451][    T1] driver: 'reg-dummy': driver_bound: bound to device 'reg-dummy'
[    0.019504][    T1] bus: 'platform': really_probe: bound device reg-dummy to driver reg-dummy
[    0.019630][    T1] bus: 'soc': registered
[    0.020109][    T1] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.020145][    T1] device: 'soc0': device_add
[    0.020215][    T1] bus: 'soc': add device soc0
[    0.021619][    T1] device class 'bdi': registering
[    0.021727][    T1] device class 'gpio': registering
[    0.021779][    T1] device class 'pci_bus': registering
[    0.021860][    T1] bus: 'pci': registered
[    0.021909][    T1] bus: 'pci_express': registered
[    0.021917][    T1] device class 'tty': registering
[    0.021941][    T1] device class 'devlink': registering
[    0.022046][    T1] bus: 'platform': add driver sram
[    0.022135][    T1] bus: 'spi': registered
[    0.022141][    T1] device class 'spi_master': registering
[    0.022231][    T1] bus: 'i2c': registered
[    0.022238][    T1] bus: 'i2c': add driver dummy
[    0.022359][    T1] thermal_sys: Registered thermal governor 'step_wise'
[    0.022365][    T1] device class 'thermal': registering
[    0.022520][    T1] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.022529][    T1] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.022652][    T1] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
[    0.022663][    T1] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
[    0.022722][    T1] device class 'dma': registering
[    0.022894][    T1] bus: 'platform': add driver mvebu-uart-clock
[    0.022942][    T1] bus: 'platform': add driver mvebu-uart
[    0.023168][    T1] device: 'pmu': device_add
[    0.023201][    T1] bus: 'platform': add device pmu
[    0.023374][    T1] device: 'soc': device_add
[    0.023405][    T1] bus: 'platform': add device soc
[    0.023761][    T1] i2c@11000 Linked as a fwnode consumer to pinctrl@18000
[    0.026641][    T1] device: 'fff00000.bootrom': device_add
[    0.026675][    T1] bus: 'platform': add device fff00000.bootrom
[    0.026806][    T1] device: 'soc:internal-regs': device_add
[    0.026845][    T1] bus: 'platform': add device soc:internal-regs
[    0.027715][    T1] device: 'f1001400.sdramc': device_add
[    0.027746][    T1] bus: 'platform': add device f1001400.sdramc
[    0.027960][    T1] device: 'f1008000.cache-controller': device_add
[    0.027990][    T1] bus: 'platform': add device f1008000.cache-controller
[    0.028197][    T1] device: 'f100c000.scu': device_add
[    0.028226][    T1] bus: 'platform': add device f100c000.scu
[    0.028427][    T1] device: 'f100c200.timer': device_add
[    0.028457][    T1] bus: 'platform': add device f100c200.timer
[    0.028658][    T1] device: 'f100c600.timer': device_add
[    0.028693][    T1] bus: 'platform': add device f100c600.timer
[    0.028902][    T1] device: 'f1011000.i2c': device_add
[    0.028932][    T1] bus: 'platform': add device f1011000.i2c
[    0.029230][    T1] device: 'f1012000.serial': device_add
[    0.029260][    T1] bus: 'platform': add device f1012000.serial
[    0.029472][    T1] device: 'f1018000.pinctrl': device_add
[    0.029501][    T1] bus: 'platform': add device f1018000.pinctrl
[    0.029665][    T1] device: 'platform:f1018000.pinctrl--platform:f1011000.i2c': device_add
[    0.029921][    T1] devices_kset: Moving f1011000.i2c to end of list
[    0.029933][    T1] platform f1011000.i2c: Linked as a consumer to f1018000.pinctrl
[    0.029941][    T1] i2c@11000 Dropping the fwnode link to pinctrl@18000
[    0.030283][    T1] device: 'f1018100.gpio': device_add
[    0.030315][    T1] bus: 'platform': add device f1018100.gpio
[    0.030598][    T1] device: 'f1018140.gpio': device_add
[    0.030628][    T1] bus: 'platform': add device f1018140.gpio
[    0.030835][    T1] device: 'f1018200.system-controller': device_add
[    0.030865][    T1] bus: 'platform': add device f1018200.system-controller
[    0.031148][    T1] device: 'f1018300.phy': device_add
[    0.031189][    T1] bus: 'platform': add device f1018300.phy
[    0.031579][    T1] device: 'f1020000.mbus-controller': device_add
[    0.031615][    T1] bus: 'platform': add device f1020000.mbus-controller
[    0.031896][    T1] device: 'f1020300.timer': device_add
[    0.031926][    T1] bus: 'platform': add device f1020300.timer
[    0.032273][    T1] device: 'f1020300.watchdog': device_add
[    0.032303][    T1] bus: 'platform': add device f1020300.watchdog
[    0.032510][    T1] device: 'f1020800.cpurst': device_add
[    0.032539][    T1] bus: 'platform': add device f1020800.cpurst
[    0.032752][    T1] device: 'f1020d20.mpcore-soc-ctrl': device_add
[    0.032783][    T1] bus: 'platform': add device f1020d20.mpcore-soc-ctrl
[    0.032998][    T1] device: 'f1021010.coherency-fabric': device_add
[    0.033034][    T1] bus: 'platform': add device f1021010.coherency-fabric
[    0.033237][    T1] device: 'f1022000.pmsu': device_add
[    0.033266][    T1] bus: 'platform': add device f1022000.pmsu
[    0.033470][    T1] device: 'f1070000.ethernet': device_add
[    0.033500][    T1] bus: 'platform': add device f1070000.ethernet
[    0.033715][    T1] device: 'f1034000.ethernet': device_add
[    0.033744][    T1] bus: 'platform': add device f1034000.ethernet
[    0.033953][    T1] device: 'f1058000.usb': device_add
[    0.033983][    T1] bus: 'platform': add device f1058000.usb
[    0.034255][    T1] device: 'f1060800.xor': device_add
[    0.034291][    T1] bus: 'platform': add device f1060800.xor
[    0.034580][    T1] device: 'f1060900.xor': device_add
[    0.034610][    T1] bus: 'platform': add device f1060900.xor
[    0.034827][    T1] device: 'f1072004.mdio': device_add
[    0.034856][    T1] bus: 'platform': add device f1072004.mdio
[    0.035117][    T1] device: 'f1090000.crypto': device_add
[    0.035146][    T1] bus: 'platform': add device f1090000.crypto
[    0.035353][    T1] device: 'f10a8000.sata': device_add
[    0.035382][    T1] bus: 'platform': add device f10a8000.sata
[    0.035584][    T1] device: 'f10c8000.bm': device_add
[    0.035620][    T1] bus: 'platform': add device f10c8000.bm
[    0.035904][    T1] device: 'f10e4078.thermal': device_add
[    0.035934][    T1] bus: 'platform': add device f10e4078.thermal
[    0.036136][    T1] device: 'f10d0000.nand-controller': device_add
[    0.036166][    T1] bus: 'platform': add device f10d0000.nand-controller
[    0.036534][    T1] device: 'f10f8000.usb3': device_add
[    0.036564][    T1] bus: 'platform': add device f10f8000.usb3
[    0.036741][    T1] device: 'f1100000.sa-sram0': device_add
[    0.036771][    T1] bus: 'platform': add device f1100000.sa-sram0
[    0.036847][    T1] bus: 'platform': __driver_probe_device: matched device f1100000.sa-sram0 with driver sram
[    0.036859][    T1] bus: 'platform': really_probe: probing driver sram with device f1100000.sa-sram0
[    0.036879][    T1] sram f1100000.sa-sram0: no pinctrl handle
[    0.037062][    T1] driver: 'sram': driver_bound: bound to device 'f1100000.sa-sram0'
[    0.037141][    T1] bus: 'platform': really_probe: bound device f1100000.sa-sram0 to driver sram
[    0.037259][    T1] device: 'f1110000.sa-sram1': device_add
[    0.037292][    T1] bus: 'platform': add device f1110000.sa-sram1
[    0.037359][    T1] bus: 'platform': __driver_probe_device: matched device f1110000.sa-sram1 with driver sram
[    0.037369][    T1] bus: 'platform': really_probe: probing driver sram with device f1110000.sa-sram1
[    0.037387][    T1] sram f1110000.sa-sram1: no pinctrl handle
[    0.037492][    T1] driver: 'sram': driver_bound: bound to device 'f1110000.sa-sram1'
[    0.037541][    T1] bus: 'platform': really_probe: bound device f1110000.sa-sram1 to driver sram
[    0.037662][    T1] device: 'f1200000.bm-bppi': device_add
[    0.037693][    T1] bus: 'platform': add device f1200000.bm-bppi
[    0.037759][    T1] bus: 'platform': __driver_probe_device: matched device f1200000.bm-bppi with driver sram
[    0.037769][    T1] bus: 'platform': really_probe: probing driver sram with device f1200000.bm-bppi
[    0.037787][    T1] sram f1200000.bm-bppi: no pinctrl handle
[    0.037897][    T1] driver: 'sram': driver_bound: bound to device 'f1200000.bm-bppi'
[    0.037946][    T1] bus: 'platform': really_probe: bound device f1200000.bm-bppi to driver sram
[    0.038019][    T1] device: 'soc:pcie': device_add
[    0.038051][    T1] bus: 'platform': add device soc:pcie
[    0.038193][    T1] device: 'usb3_1-phy': device_add
[    0.038223][    T1] bus: 'platform': add device usb3_1-phy
[    0.038291][    T1] usb3_1-phy Linked as a fwnode consumer to usb3_1-vbus
[    0.038356][    T1] device: 'usb3_1-vbus': device_add
[    0.038396][    T1] bus: 'platform': add device usb3_1-vbus
[    0.038468][    T1] usb3_1-vbus Linked as a fwnode consumer to pinctrl@18000
[    0.038499][    T1] usb3_1-vbus Linked as a fwnode consumer to gpio@18140
[    0.038525][    T1] device: 'platform:usb3_1-vbus--platform:usb3_1-phy': device_add
[    0.038633][    T1] devices_kset: Moving usb3_1-phy to end of list
[    0.038643][    T1] platform usb3_1-phy: Linked as a consumer to usb3_1-vbus
[    0.038651][    T1] usb3_1-phy Dropping the fwnode link to usb3_1-vbus
[    0.038669][    T1] device: 'platform:f1018140.gpio--platform:usb3_1-vbus': device_add
[    0.038771][    T1] devices_kset: Moving usb3_1-vbus to end of list
[    0.038780][    T1] devices_kset: Moving usb3_1-phy to end of list
[    0.038789][    T1] platform usb3_1-vbus: Linked as a consumer to f1018140.gpio
[    0.038796][    T1] usb3_1-vbus Dropping the fwnode link to gpio@18140
[    0.038815][    T1] device: 'platform:f1018000.pinctrl--platform:usb3_1-vbus': device_add
[    0.038924][    T1] devices_kset: Moving usb3_1-vbus to end of list
[    0.038933][    T1] devices_kset: Moving usb3_1-phy to end of list
[    0.038942][    T1] platform usb3_1-vbus: Linked as a consumer to f1018000.pinctrl
[    0.038949][    T1] usb3_1-vbus Dropping the fwnode link to pinctrl@18000
[    0.039075][    T1] device: 'gpio-keys': device_add
[    0.039105][    T1] bus: 'platform': add device gpio-keys
[    0.039175][    T1] gpio-keys Linked as a fwnode consumer to pinctrl@18000
[    0.039208][    T1] button-wps Linked as a fwnode consumer to gpio@18100
[    0.039240][    T1] button-reset Linked as a fwnode consumer to gpio@18100
[    0.039265][    T1] device: 'platform:f1018000.pinctrl--platform:gpio-keys': device_add
[    0.039392][    T1] devices_kset: Moving gpio-keys to end of list
[    0.039403][    T1] platform gpio-keys: Linked as a consumer to f1018000.pinctrl
[    0.039410][    T1] gpio-keys Dropping the fwnode link to pinctrl@18000
[    0.039504][    T1] device: 'platform:f1018100.gpio--platform:gpio-keys': device_add
[    0.039608][    T1] platform gpio-keys: Linked as a sync state only consumer to f1018100.gpio
[    0.039663][    T1] device: 'gpio-leds': device_add
[    0.039692][    T1] bus: 'platform': add device gpio-leds
[    0.039769][    T1] gpio-leds Linked as a fwnode consumer to pinctrl@18000
[    0.039799][    T1] led-power Linked as a fwnode consumer to gpio@18140
[    0.039831][    T1] led-sata Linked as a fwnode consumer to gpio@18140
[    0.039859][    T1] device: 'platform:f1018000.pinctrl--platform:gpio-leds': device_add
[    0.039963][    T1] devices_kset: Moving gpio-leds to end of list
[    0.039973][    T1] platform gpio-leds: Linked as a consumer to f1018000.pinctrl
[    0.039981][    T1] gpio-leds Dropping the fwnode link to pinctrl@18000
[    0.040073][    T1] device: 'platform:f1018140.gpio--platform:gpio-leds': device_add
[    0.040218][    T1] platform gpio-leds: Linked as a sync state only consumer to f1018140.gpio
[    0.040293][    T1] device: 'cpu0': device_add
[    0.040320][    T1] bus: 'cpu': add device cpu0
[    0.040416][    T1] device: 'cpu1': device_add
[    0.040443][    T1] bus: 'cpu': add device cpu1
[    0.041005][    T1] device: 'writeback': device_add
[    0.041037][    T1] bus: 'workqueue': add device writeback
[    0.041548][    T1] device class 'block': registering
[    0.041952][    T1] bus: 'platform': add driver reg-fixed-voltage
[    0.042094][    T1] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
[    0.042155][    T1] platform usb3_1-vbus: error -EPROBE_DEFER: supplier f1018140.gpio not ready
[    0.042169][    T1] platform usb3_1-vbus: Added to deferred list
[    0.042234][    T1] device class 'misc': registering
[    0.042472][    T1] device class 'scsi_host': registering
[    0.042554][    T1] bus: 'scsi': registered
[    0.042560][    T1] device class 'scsi_device': registering
[    0.042583][    T1] SCSI subsystem initialized
[    0.042591][    T1] device class 'ata_link': registering
[    0.042614][    T1] device class 'ata_port': registering
[    0.042635][    T1] device class 'ata_device': registering
[    0.042694][    T1] libata version 3.00 loaded.
[    0.042839][    T1] bus: 'usb': registered
[    0.042855][    T1] bus: 'usb': add driver usbfs
[    0.042912][    T1] usbcore: registered new interface driver usbfs
[    0.042949][    T1] bus: 'usb': add driver hub
[    0.043000][    T1] usbcore: registered new interface driver hub
[    0.043029][    T1] bus: 'usb': add driver usb
[    0.043068][    T1] usbcore: registered new device driver usb
[    0.043078][    T1] bus: 'platform': add driver usb_phy_generic
[    0.043192][    T1] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
[    0.043208][    T1] platform usb3_1-phy: error -EPROBE_DEFER: supplier usb3_1-vbus not ready
[    0.043218][    T1] platform usb3_1-phy: Added to deferred list
[    0.043262][    T1] device class 'input': registering
[    0.043304][    T1] device class 'hwmon': registering
[    0.043330][    T1] device class 'leds': registering
[    0.043586][    T1] device class 'watchdog': registering
[    0.053511][    T1] clocksource: Switched to clocksource arm_global_timer
[    0.054823][    T1] device class 'mem': registering
[    0.054860][    T1] device: 'null': device_add
[    0.055308][    T1] device: 'zero': device_add
[    0.055451][    T1] device: 'full': device_add
[    0.055585][    T1] device: 'random': device_add
[    0.055726][    T1] device: 'urandom': device_add
[    0.055857][    T1] device: 'kmsg': device_add
[    0.056022][    T1] device: 'tty': device_add
[    0.056208][    T1] device: 'console': device_add
[    0.056385][    T1] PCI: CLS 0 bytes, default 64
[    0.056659][    T1] bus: 'platform': add driver armv7-pmu
[    0.056689][    T1] bus: 'platform': __driver_probe_device: matched device pmu with driver armv7-pmu
[    0.056701][    T1] bus: 'platform': really_probe: probing driver armv7-pmu with device pmu
[    0.056723][    T1] armv7-pmu pmu: no pinctrl handle
[    0.128996][    T1] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.129014][    T1] driver: 'armv7-pmu': driver_bound: bound to device 'pmu'
[    0.129105][    T1] bus: 'platform': really_probe: bound device pmu to driver armv7-pmu
[    0.129535][    T1] bus: 'clocksource': registered
[    0.129551][    T1] device: 'clocksource': device_add
[    0.129576][    T1] device: 'clocksource0': device_add
[    0.129610][    T1] bus: 'clocksource': add device clocksource0
[    0.129710][    T1] bus: 'platform': add driver alarmtimer
[    0.129908][    T1] bus: 'clockevents': registered
[    0.129926][    T1] device: 'clockevents': device_add
[    0.129949][    T1] device: 'clockevent0': device_add
[    0.129968][    T1] bus: 'clockevents': add device clockevent0
[    0.130054][    T1] device: 'clockevent1': device_add
[    0.130078][    T1] bus: 'clockevents': add device clockevent1
[    0.130136][    T1] device: 'broadcast': device_add
[    0.130153][    T1] bus: 'clockevents': add device broadcast
[    0.130374][    T1] bus: 'event_source': registered
[    0.130397][    T1] device: 'software': device_add
[    0.130417][    T1] bus: 'event_source': add device software
[    0.130528][    T1] device: 'tracepoint': device_add
[    0.130550][    T1] bus: 'event_source': add device tracepoint
[    0.130604][    T1] device: 'breakpoint': device_add
[    0.130623][    T1] bus: 'event_source': add device breakpoint
[    0.130675][    T1] device: 'armv7_cortex_a9': device_add
[    0.130833][    T1] bus: 'event_source': add device armv7_cortex_a9
[    0.131094][    T1] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.131792][    T1] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.178248][    T1] device class 'bsg': registering
[    0.178294][    T1] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.178445][    T1] bus: 'platform': add driver simple-pm-bus
[    0.178478][    T1] bus: 'platform': __driver_probe_device: matched device soc with driver simple-pm-bus
[    0.178491][    T1] bus: 'platform': really_probe: probing driver simple-pm-bus with device soc
[    0.178514][    T1] simple-pm-bus soc: no pinctrl handle
[    0.178567][    T1] simple-pm-bus: probe of soc rejects match -19
[    0.178598][    T1] bus: 'platform': __driver_probe_device: matched device soc:internal-regs with driver simple-pm-bus
[    0.178609][    T1] bus: 'platform': really_probe: probing driver simple-pm-bus with device soc:internal-regs
[    0.178627][    T1] simple-pm-bus soc:internal-regs: no pinctrl handle
[    0.178677][    T1] driver: 'simple-pm-bus': driver_bound: bound to device 'soc:internal-regs'
[    0.178857][    T1] bus: 'platform': really_probe: bound device soc:internal-regs to driver simple-pm-bus
[    0.179037][    T1] device class 'phy': registering
[    0.179073][    T1] bus: 'platform': add driver armada-38x-comphy
[    0.179137][    T1] bus: 'platform': __driver_probe_device: matched device f1018300.phy with driver armada-38x-comphy
[    0.179149][    T1] bus: 'platform': really_probe: probing driver armada-38x-comphy with device f1018300.phy
[    0.179169][    T1] armada-38x-comphy f1018300.phy: no pinctrl handle
[    0.179321][    T1] phy phy-f1018300.phy.0: Looking up phy-supply from device tree
[    0.179334][    T1] phy phy-f1018300.phy.0: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@0 failed
[    0.179376][    T1] device: 'phy-f1018300.phy.0': device_add
[    0.179545][    T1] phy phy-f1018300.phy.1: Looking up phy-supply from device tree
[    0.179556][    T1] phy phy-f1018300.phy.1: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@1 failed
[    0.179595][    T1] device: 'phy-f1018300.phy.1': device_add
[    0.179700][    T1] phy phy-f1018300.phy.2: Looking up phy-supply from device tree
[    0.179710][    T1] phy phy-f1018300.phy.2: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@2 failed
[    0.179748][    T1] device: 'phy-f1018300.phy.2': device_add
[    0.179847][    T1] phy phy-f1018300.phy.3: Looking up phy-supply from device tree
[    0.179857][    T1] phy phy-f1018300.phy.3: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@3 failed
[    0.179895][    T1] device: 'phy-f1018300.phy.3': device_add
[    0.179995][    T1] phy phy-f1018300.phy.4: Looking up phy-supply from device tree
[    0.180005][    T1] phy phy-f1018300.phy.4: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@4 failed
[    0.180043][    T1] device: 'phy-f1018300.phy.4': device_add
[    0.180140][    T1] phy phy-f1018300.phy.5: Looking up phy-supply from device tree
[    0.180150][    T1] phy phy-f1018300.phy.5: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@5 failed
[    0.180188][    T1] device: 'phy-f1018300.phy.5': device_add
[    0.180324][    T1] driver: 'armada-38x-comphy': driver_bound: bound to device 'f1018300.phy'
[    0.180421][    T1] bus: 'platform': really_probe: bound device f1018300.phy to driver armada-38x-comphy
[    0.180560][    T1] bus: 'platform': add driver armada-38x-pinctrl
[    0.180622][    T1] bus: 'platform': __driver_probe_device: matched device f1018000.pinctrl with driver armada-38x-pinctrl
[    0.180633][    T1] bus: 'platform': really_probe: probing driver armada-38x-pinctrl with device f1018000.pinctrl
[    0.180659][    T1] armada-38x-pinctrl f1018000.pinctrl: no pinctrl handle
[    0.181367][    T1] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
[    0.181413][    T1] driver: 'armada-38x-pinctrl': driver_bound: bound to device 'f1018000.pinctrl'
[    0.181585][    T1] bus: 'platform': really_probe: bound device f1018000.pinctrl to driver armada-38x-pinctrl
[    0.181731][    T1] bus: 'platform': add driver mvebu-gpio
[    0.181797][    T1] bus: 'platform': __driver_probe_device: matched device f1018100.gpio with driver mvebu-gpio
[    0.181807][    T1] bus: 'platform': really_probe: probing driver mvebu-gpio with device f1018100.gpio
[    0.181827][    T1] mvebu-gpio f1018100.gpio: no pinctrl handle
[    0.182549][    T1] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.182677][    T1] device: 'gpiochip0': device_add
[    0.182714][    T1] bus: 'gpio': add device gpiochip0
[    0.182971][    T1] device: 'gpiochip0': device_add
[    0.183402][    T1] driver: 'mvebu-gpio': driver_bound: bound to device 'f1018100.gpio'
[    0.183527][    T1] bus: 'platform': really_probe: bound device f1018100.gpio to driver mvebu-gpio
[    0.183547][    T1] bus: 'platform': __driver_probe_device: matched device f1018140.gpio with driver mvebu-gpio
[    0.183557][    T1] bus: 'platform': really_probe: probing driver mvebu-gpio with device f1018140.gpio
[    0.183587][    T1] mvebu-gpio f1018140.gpio: no pinctrl handle
[    0.184246][    T1] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.184318][    T1] device: 'gpiochip1': device_add
[    0.184353][    T1] bus: 'gpio': add device gpiochip1
[    0.184533][    T1] device: 'gpiochip32': device_add
[    0.184805][    T1] driver: 'mvebu-gpio': driver_bound: bound to device 'f1018140.gpio'
[    0.184873][    T1] bus: 'platform': really_probe: bound device f1018140.gpio to driver mvebu-gpio
[    0.185035][    T1] bus: 'pci': add driver pcieport
[    0.185124][    T1] bus: 'platform': add driver mvebu-pcie
[    0.185282][    T1] bus: 'platform': __driver_probe_device: matched device soc:pcie with driver mvebu-pcie
[    0.185294][    T1] bus: 'platform': really_probe: probing driver mvebu-pcie with device soc:pcie
[    0.185314][    T1] mvebu-pcie soc:pcie: no pinctrl handle
[    0.185371][    T1] mvebu-pcie soc:pcie: host bridge /soc/pcie ranges:
[    0.185443][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1080000..0x00f1081fff -> 0x0000080000
[    0.185495][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1040000..0x00f1041fff -> 0x0000040000
[    0.185545][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1044000..0x00f1045fff -> 0x0000044000
[    0.185594][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1048000..0x00f1049fff -> 0x0000048000
[    0.185641][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    0.185686][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    0.185730][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    0.185774][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    0.185818][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
[    0.185861][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
[    0.185905][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
[    0.185931][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
[    0.186664][    T1] device: 'pci0000:00': device_add
[    0.186705][    T1] device: '0000:00': device_add
[    0.186874][    T1] mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
[    0.186886][    T1] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.186897][    T1] pci_bus 0000:00: root bus resource [mem 0xf1080000-0xf1081fff] (bus address [0x00080000-0x00081fff])
[    0.186907][    T1] pci_bus 0000:00: root bus resource [mem 0xf1040000-0xf1041fff] (bus address [0x00040000-0x00041fff])
[    0.186917][    T1] pci_bus 0000:00: root bus resource [mem 0xf1044000-0xf1045fff] (bus address [0x00044000-0x00045fff])
[    0.186926][    T1] pci_bus 0000:00: root bus resource [mem 0xf1048000-0xf1049fff] (bus address [0x00048000-0x00049fff])
[    0.186935][    T1] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
[    0.186943][    T1] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
[    0.187114][    T1] pci 0000:00:01.0: [11ab:6820] type 01 class 0x060400
[    0.187276][    T1] device: '0000:00:01.0': device_add
[    0.187361][    T1] bus: 'pci': add device 0000:00:01.0
[    0.187656][    T1] pci 0000:00:02.0: [11ab:6820] type 01 class 0x060400
[    0.187773][    T1] device: '0000:00:02.0': device_add
[    0.187855][    T1] bus: 'pci': add device 0000:00:02.0
[    0.188869][    T1] PCI: bus0: Fast back to back transfers disabled
[    0.188880][    T1] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.188898][    T1] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.188951][    T1] device: '0000:01': device_add
[    0.189126][    T1] pci 0000:01:00.0: [11ab:2a55] type 00 class 0x020000
[    0.189164][    T1] pci 0000:01:00.0: reg 0x10: [mem 0x40000000-0x400fffff 64bit pref]
[    0.189191][    T1] pci 0000:01:00.0: reg 0x18: [mem 0x40100000-0x401fffff 64bit pref]
[    0.189338][    T1] pci 0000:01:00.0: supports D1 D2
[    0.189346][    T1] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold
[    0.189456][    T1] device: '0000:01:00.0': device_add
[    0.189517][    T1] bus: 'pci': add device 0000:01:00.0
[    0.189743][    T1] PCI: bus1: Fast back to back transfers disabled
[    0.189753][    T1] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.189806][    T1] device: '0000:02': device_add
[    0.189987][    T1] pci 0000:02:00.0: [11ab:2a55] type 00 class 0x020000
[    0.190028][    T1] pci 0000:02:00.0: reg 0x10: [mem 0x42000000-0x420fffff 64bit pref]
[    0.190056][    T1] pci 0000:02:00.0: reg 0x18: [mem 0x42100000-0x421fffff 64bit pref]
[    0.190228][    T1] pci 0000:02:00.0: supports D1 D2
[    0.190236][    T1] pci 0000:02:00.0: PME# supported from D0 D1 D3hot D3cold
[    0.190281][    T1] pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:02.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    0.190315][    T1] device: '0000:02:00.0': device_add
[    0.190368][    T1] bus: 'pci': add device 0000:02:00.0
[    0.190597][    T1] PCI: bus2: Fast back to back transfers disabled
[    0.190606][    T1] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    0.190631][    T1] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe01fffff]
[    0.190643][    T1] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0200000-0xe03fffff]
[    0.190656][    T1] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe00fffff 64bit pref]
[    0.190678][    T1] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0100000-0xe01fffff 64bit pref]
[    0.190698][    T1] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.190710][    T1] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe01fffff]
[    0.190733][    T1] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0200000-0xe02fffff 64bit pref]
[    0.190755][    T1] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0300000-0xe03fffff 64bit pref]
[    0.190775][    T1] pci 0000:00:02.0: PCI bridge to [bus 02]
[    0.190786][    T1] pci 0000:00:02.0:   bridge window [mem 0xe0200000-0xe03fffff]
[    0.190818][    T1] pci 0000:00:01.0: Max Payload Size set to  128/ 128 (was  128), Max Read Rq  128
[    0.190861][    T1] pci 0000:01:00.0: Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
[    0.190897][    T1] pci 0000:00:02.0: Max Payload Size set to  128/ 128 (was  128), Max Read Rq  128
[    0.190929][    T1] pci 0000:02:00.0: Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
[    0.191002][    T1] bus: 'pci': __driver_probe_device: matched device 0000:00:01.0 with driver pcieport
[    0.191017][    T1] bus: 'pci': really_probe: probing driver pcieport with device 0000:00:01.0
[    0.191040][    T1] pcieport 0000:00:01.0: no pinctrl handle
[    0.191101][    T1] pcieport 0000:00:01.0: enabling device (0140 -> 0142)
[    0.191125][    T1] pcieport: probe of 0000:00:01.0 rejects match -19
[    0.191169][    T1] bus: 'pci': __driver_probe_device: matched device 0000:00:02.0 with driver pcieport
[    0.191179][    T1] bus: 'pci': really_probe: probing driver pcieport with device 0000:00:02.0
[    0.191198][    T1] pcieport 0000:00:02.0: no pinctrl handle
[    0.191249][    T1] pcieport 0000:00:02.0: enabling device (0140 -> 0142)
[    0.191270][    T1] pcieport: probe of 0000:00:02.0 rejects match -19
[    0.191328][    T1] driver: 'mvebu-pcie': driver_bound: bound to device 'soc:pcie'
[    0.191397][    T1] bus: 'platform': really_probe: bound device soc:pcie to driver mvebu-pcie
[    0.191463][    T1] bus: 'platform': add driver of_fixed_factor_clk
[    0.191639][    T1] bus: 'platform': add driver of_fixed_clk
[    0.191790][    T1] bus: 'platform': add driver gpio-clk
[    0.191946][    T1] bus: 'platform': add driver mv_xor
[    0.192046][    T1] bus: 'platform': __driver_probe_device: matched device f1060800.xor with driver mv_xor
[    0.192057][    T1] bus: 'platform': really_probe: probing driver mv_xor with device f1060800.xor
[    0.192076][    T1] mv_xor f1060800.xor: no pinctrl handle
[    0.192130][    T1] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.255391][    T1] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.255500][    T1] device: 'dma0chan0': device_add
[    0.255731][    T1] driver: 'mv_xor': driver_bound: bound to device 'f1060800.xor'
[    0.255823][    T1] bus: 'platform': really_probe: bound device f1060800.xor to driver mv_xor
[    0.255842][    T1] bus: 'platform': __driver_probe_device: matched device f1060900.xor with driver mv_xor
[    0.255852][    T1] bus: 'platform': really_probe: probing driver mv_xor with device f1060900.xor
[    0.255873][    T1] mv_xor f1060900.xor: no pinctrl handle
[    0.255930][    T1] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.315392][    T1] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.315435][    T1] device: 'dma1chan0': device_add
[    0.315623][    T1] driver: 'mv_xor': driver_bound: bound to device 'f1060900.xor'
[    0.315711][    T1] bus: 'platform': really_probe: bound device f1060900.xor to driver mv_xor
[    0.315850][    T1] device: 'ptmx': device_add
[    0.316039][    T1] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.316073][    T1] Registering platform device 'serial8250'. Parent at platform
[    0.316082][    T1] device: 'serial8250': device_add
[    0.316104][    T1] bus: 'platform': add device serial8250
[    0.316309][    T1] device: 'ttyS0': device_add
[    0.316764][    T1] bus: 'platform': add driver serial8250
[    0.316845][    T1] bus: 'platform': __driver_probe_device: matched device serial8250 with driver serial8250
[    0.316857][    T1] bus: 'platform': really_probe: probing driver serial8250 with device serial8250
[    0.316877][    T1] serial8250 serial8250: no default pinctrl state
[    0.316907][    T1] driver: 'serial8250': driver_bound: bound to device 'serial8250'
[    0.316942][    T1] bus: 'platform': really_probe: bound device serial8250 to driver serial8250
[    0.316990][    T1] bus: 'platform': add driver dw-apb-uart
[    0.317047][    T1] bus: 'platform': __driver_probe_device: matched device f1012000.serial with driver dw-apb-uart
[    0.317057][    T1] bus: 'platform': really_probe: probing driver dw-apb-uart with device f1012000.serial
[    0.317083][    T1] dw-apb-uart f1012000.serial: no pinctrl handle
[    0.317441][    T1] device: 'ttyS0': device_unregister
[    0.318131][    T1] printk: console [ttyS0] disabled
[    0.338420][    T1] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 41, base_baud = 12500000) is a 16550A
[    0.338599][    T1] printk: console [ttyS0] enabled
[    3.904166][    T1] device: 'ttyS0': device_add
[    3.909336][    T1] driver: 'dw-apb-uart': driver_bound: bound to device 'f1012000.serial'
[    3.917762][    T1] bus: 'platform': really_probe: bound device f1012000.serial to driver dw-apb-uart
[    3.927253][    T1] device: 'ttyprintk': device_add
[    3.932607][    T1] device: 'loop-control': device_add
[    3.938677][    T1] device: 'loop0': device_add
[    3.944055][    T1] device: '7:0': device_add
[    3.948749][    T1] loop: module loaded
[    3.952615][    T1] device class 'zram-control': registering
[    3.958591][    T1] device: 'zram0': device_add
[    3.963951][    T1] device: '254:0': device_add
[    3.968808][    T1] zram: Added device: zram0
[    3.973241][    T1] device class 'scsi_disk': registering
[    3.978745][    T1] bus: 'scsi': add driver sd
[    3.983265][    T1] bus: 'pci': add driver ahci
[    3.987932][    T1] bus: 'platform': add driver ahci-mvebu
[    3.993594][    T1] bus: 'platform': __driver_probe_device: matched device f10a8000.sata with driver ahci-mvebu
[    4.003762][    T1] bus: 'platform': really_probe: probing driver ahci-mvebu with device f10a8000.sata
[    4.013131][    T1] ahci-mvebu f10a8000.sata: no pinctrl handle
[    4.019244][    T1] ahci-mvebu f10a8000.sata: Looking up ahci-supply from device tree
[    4.027143][    T1] ahci-mvebu f10a8000.sata: Looking up ahci-supply property in node /soc/internal-regs/sata@a8000 failed
[    4.038288][    T1] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
[    4.046754][    T1] device: 'regulator:regulator.0--platform:f10a8000.sata': device_add
[    4.055063][    T1] devices_kset: Moving f10a8000.sata to end of list
[    4.061545][    T1] ahci-mvebu f10a8000.sata: Linked as a consumer to regulator.0
[    4.069095][    T1] ahci-mvebu f10a8000.sata: Looking up phy-supply from device tree
[    4.076903][    T1] ahci-mvebu f10a8000.sata: Looking up phy-supply property in node /soc/internal-regs/sata@a8000 failed
[    4.087957][    T1] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
[    4.096317][    T1] ahci-mvebu f10a8000.sata: Looking up target-supply from device tree
[    4.104389][    T1] ahci-mvebu f10a8000.sata: Looking up target-supply property in node /soc/internal-regs/sata@a8000 failed
[    4.115712][    T1] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
[    4.124640][    T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    4.134463][    T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    4.144166][    T1] device: 'ata1': device_add
[    4.148665][    T1] device: 'ata1': device_add
[    4.153494][    T1] device: 'link1': device_add
[    4.158076][    T1] device: 'link1': device_add
[    4.162753][    T1] device: 'dev1.0': device_add
[    4.167441][    T1] device: 'dev1.0': device_add
[    4.172225][    T1] device: 'ata2': device_add
[    4.176746][    T1] device: 'ata2': device_add
[    4.181318][    T1] device: 'link2': device_add
[    4.185916][    T1] device: 'link2': device_add
[    4.190572][    T1] device: 'dev2.0': device_add
[    4.195257][    T1] device: 'dev2.0': device_add
[    4.200422][    T1] device: 'scsi_tmf_0': device_add
[    4.205482][    T1] bus: 'workqueue': add device scsi_tmf_0
[    4.211166][    T1] scsi host0: ahci-mvebu
[    4.215457][    T1] device: 'host0': device_add
[    4.220034][    T1] bus: 'scsi': add device host0
[    4.224894][    T1] device: 'host0': device_add
[    4.230035][    T1] device: 'scsi_tmf_1': device_add
[    4.235086][    T1] bus: 'workqueue': add device scsi_tmf_1
[    4.240764][    T1] scsi host1: ahci-mvebu
[    4.244976][    T1] device: 'host1': device_add
[    4.249551][    T1] bus: 'scsi': add device host1
[    4.254347][    T1] device: 'host1': device_add
[    4.259117][    T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
[    4.267796][    T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
[    4.276522][    T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[    4.284664][    T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
[    4.293790][    T1] device class 'mtd': registering
[    4.298760][    T1] device: 'mtd-0': device_add
[    4.303656][    T1] bus: 'platform': add driver marvell-nfc
[    4.309428][    T1] bus: 'platform': __driver_probe_device: matched device f10d0000.nand-controller with driver marvell-nfc
[    4.320642][    T1] bus: 'platform': really_probe: probing driver marvell-nfc with device f10d0000.nand-controller
[    4.331079][    T1] marvell-nfc f10d0000.nand-controller: no pinctrl handle
[    4.338645][    T1] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
[    4.345773][    T1] nand: AMD/Spansion S34ML01G2
[    4.350417][    T1] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    4.359130][    T1] Bad block table found at page 65472, version 0x01
[    4.366098][    T1] Bad block table found at page 65408, version 0x01
[    4.372977][    T1] 10 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    4.380809][    T1] Creating 10 MTD partitions on "pxa3xx_nand-0":
[    4.387045][    T1] 0x000000000000-0x000000200000 : "u-boot"
[    4.392853][    T1] device: 'mtd0': device_add
[    4.398063][    T1] device: 'mtd0ro': device_add
[    4.403286][    T1] device: 'mtdblock0': device_add
[    4.408943][    T1] device: '31:0': device_add
[    4.413714][    T1] 0x000000200000-0x000000240000 : "u_env"
[    4.419348][    T1] device: 'mtd1': device_add
[    4.424196][    T1] device: 'mtd1ro': device_add
[    4.429161][    T1] device: 'mtdblock1': device_add
[    4.434666][    T1] device: '31:1': device_add
[    4.439375][    T1] 0x000000240000-0x000000280000 : "s_env"
[    4.445026][    T1] device: 'mtd2': device_add
[    4.449822][    T1] device: 'mtd2ro': device_add
[    4.454814][    T1] device: 'mtdblock2': device_add
[    4.460283][    T1] device: '31:2': device_add
[    4.464991][    T1] 0x000000900000-0x000000a00000 : "devinfo"
[    4.470802][    T1] device: 'mtd3': device_add
[    4.475627][    T1] device: 'mtd3ro': device_add
[    4.480671][    T1] device: 'mtdblock3': device_add
[    4.486343][    T1] device: '31:3': device_add
[    4.491026][    T1] 0x000000a00000-0x000003200000 : "kernel1"
[    4.497574][    T1] device: 'mtd4': device_add
[    4.502393][    T1] device: 'mtd4ro': device_add
[    4.507422][    T1] device: 'mtdblock4': device_add
[    4.512897][    T1] device: '31:4': device_add
[    4.517595][    T1] 0x000001000000-0x000003200000 : "rootfs1"
[    4.524022][    T1] device: 'mtd5': device_add
[    4.528846][    T1] device: 'mtd5ro': device_add
[    4.533837][    T1] device: 'mtdblock5': device_add
[    4.539310][    T1] device: '31:5': device_add
[    4.544010][    T1] 0x000003200000-0x000005a00000 : "kernel2"
[    4.550523][    T1] device: 'mtd6': device_add
[    4.555347][    T1] device: 'mtd6ro': device_add
[    4.560333][    T1] device: 'mtdblock6': device_add
[    4.565869][    T1] device: '31:6': device_add
[    4.570544][    T1] 0x000003800000-0x000005a00000 : "rootfs2"
[    4.576983][    T1] device: 'mtd7': device_add
[    4.581798][    T1] device: 'mtd7ro': device_add
[    4.586787][    T1] device: 'mtdblock7': device_add
[    4.592257][    T1] device: '31:7': device_add
[    4.596967][    T1] 0x000005a00000-0x000008000000 : "syscfg"
[    4.603339][    T1] device: 'mtd8': device_add
[    4.608168][    T1] device: 'mtd8ro': device_add
[    4.613112][    T1] device: 'mtdblock8': device_add
[    4.618616][    T1] device: '31:8': device_add
[    4.623284][    T1] 0x000000280000-0x000000900000 : "unused_area"
[    4.629570][    T1] device: 'mtd9': device_add
[    4.634392][    T1] device: 'mtd9ro': device_add
[    4.635223][  T108] ata1: SATA link down (SStatus 0 SControl 300)
[    4.639358][    T1] device: 'mtdblock9': device_add
[    4.650694][    T1] device: '31:9': device_add
[    4.655423][    T1] driver: 'marvell-nfc': driver_bound: bound to device 'f10d0000.nand-controller'
[    4.664665][    T1] bus: 'platform': really_probe: bound device f10d0000.nand-controller to driver marvell-nfc
[    4.674824][    T1] bus: 'spi': add driver spi-nor
[    4.679694][    T1] bus: 'platform': add driver orion_spi
[    4.685420][    T1] bus: 'pci': add driver ehci-pci
[    4.690406][    T1] bus: 'platform': add driver orion-ehci
[    4.696033][    T1] bus: 'platform': __driver_probe_device: matched device f1058000.usb with driver orion-ehci
[    4.706111][    T1] bus: 'platform': really_probe: probing driver orion-ehci with device f1058000.usb
[    4.715420][    T1] orion-ehci f1058000.usb: no pinctrl handle
[    4.721508][    T1] orion-ehci f1058000.usb: EHCI Host Controller
[    4.727893][    T1] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
[    4.736445][    T1] orion-ehci f1058000.usb: irq 44, io mem 0xf1058000
[    4.763497][    T1] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
[    4.770833][    T1] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.02
[    4.779918][    T1] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.787901][    T1] usb usb1: Product: EHCI Host Controller
[    4.793525][    T1] usb usb1: Manufacturer: Linux 6.2.0-rc6-M95D-00001-gd783bde80fb1 ehci_hcd
[    4.802095][    T1] usb usb1: SerialNumber: f1058000.usb
[    4.807476][    T1] device: 'usb1': device_add
[    4.812226][    T1] bus: 'usb': add device usb1
[    4.817405][    T1] bus: 'usb': __driver_probe_device: matched device usb1 with driver usb
[    4.825814][    T1] bus: 'usb': really_probe: probing driver usb with device usb1
[    4.833724][    T1] device: '1-0:1.0': device_add
[    4.838539][    T1] bus: 'usb': add device 1-0:1.0
[    4.843577][    T1] bus: 'usb': __driver_probe_device: matched device 1-0:1.0 with driver hub
[    4.852178][    T1] bus: 'usb': really_probe: probing driver hub with device 1-0:1.0
[    4.860032][    T1] hub 1-0:1.0: USB hub found
[    4.864637][    T1] hub 1-0:1.0: 1 port detected
[    4.869619][    T1] device: 'usb1-port1': device_add
[    4.874854][    T1] usb usb1-port1: adding component (ops connector_ops)
[    4.881747][    T1] driver: 'hub': driver_bound: bound to device '1-0:1.0'
[    4.888795][    T1] bus: 'usb': really_probe: bound device 1-0:1.0 to driver hub
[    4.896355][    T1] device: 'ep_81': device_add
[    4.900994][    T1] driver: 'usb': driver_bound: bound to device 'usb1'
[    4.907829][    T1] bus: 'usb': really_probe: bound device usb1 to driver usb
[    4.915047][    T1] device: 'ep_00': device_add
[    4.919669][    T1] driver: 'orion-ehci': driver_bound: bound to device 'f1058000.usb'
[    4.927708][    T1] bus: 'platform': really_probe: bound device f1058000.usb to driver orion-ehci
[    4.936772][    T1] bus: 'pci': add driver xhci_hcd
[    4.941750][    T1] bus: 'platform': add driver xhci-hcd
[    4.947322][    T1] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
[    4.957313][    T1] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
[    4.966525][    T1] xhci-hcd f10f8000.usb3: no pinctrl handle
[    4.972620][    T1] xhci-hcd f10f8000.usb3: Driver xhci-hcd requests probe deferral
[    4.980772][    T1] platform f10f8000.usb3: Added to deferred list
[    4.987137][    T1] bus: 'usb': add driver usb-storage
[    4.992376][    T1] usbcore: registered new interface driver usb-storage
[    4.999142][    T1] i2c_dev: i2c /dev entries driver
[    5.004167][    T1] device class 'i2c-dev': registering
[    5.009459][    T1] bus: 'platform': add driver mv64xxx_i2c
[    5.015128][    T1] bus: 'platform': __driver_probe_device: matched device f1011000.i2c with driver mv64xxx_i2c
[    5.025293][    T1] bus: 'platform': really_probe: probing driver mv64xxx_i2c with device f1011000.i2c
[    5.034738][    T1] mv64xxx_i2c f1011000.i2c: no init pinctrl state
[    5.041364][    T1] device: 'i2c-0': device_add
[    5.045987][    T1] bus: 'i2c': add device i2c-0
[    5.050727][    T1] device: 'i2c-0': device_add
[    5.055975][    T1] device: '0-004c': device_add
[    5.060664][    T1] bus: 'i2c': add device 0-004c
[    5.065538][    T1] device: '0-0068': device_add
[    5.070221][    T1] bus: 'i2c': add device 0-0068
[    5.075126][    T1] driver: 'mv64xxx_i2c': driver_bound: bound to device 'f1011000.i2c'
[    5.083238][    T1] bus: 'platform': really_probe: bound device f1011000.i2c to driver mv64xxx_i2c
[    5.092429][    T1] bus: 'i2c': add driver tmp421
[    5.097200][    T1] bus: 'i2c': __driver_probe_device: matched device 0-004c with driver tmp421
[    5.105967][    T1] bus: 'i2c': really_probe: probing driver tmp421 with device 0-004c
[    5.113983][    T1] tmp421 0-004c: no pinctrl handle
[    5.120566][    T1] device: 'hwmon0': device_add
[    5.125468][    T1] driver: 'tmp421': driver_bound: bound to device '0-004c'
[    5.127046][  T113] ata2: SATA link down (SStatus 100 SControl 300)
[    5.132677][    T1] bus: 'i2c': really_probe: bound device 0-004c to driver tmp421
[    5.146582][    T1] bus: 'platform': add driver armada_thermal
[    5.152605][    T1] bus: 'platform': __driver_probe_device: matched device f10e4078.thermal with driver armada_thermal
[    5.163382][    T1] bus: 'platform': really_probe: probing driver armada_thermal with device f10e4078.thermal
[    5.173380][    T1] armada_thermal f10e4078.thermal: no pinctrl handle
[    5.181271][    T1] device: 'thermal_zone0': device_add
[    5.186817][    T1] device: 'hwmon1': device_add
[    5.191601][    T1] driver: 'armada_thermal': driver_bound: bound to device 'f10e4078.thermal'
[    5.200350][    T1] bus: 'platform': really_probe: bound device f10e4078.thermal to driver armada_thermal
[    5.210069][    T1] bus: 'platform': add driver orion_wdt
[    5.215608][    T1] bus: 'platform': __driver_probe_device: matched device f1020300.watchdog with driver orion_wdt
[    5.226033][    T1] bus: 'platform': really_probe: probing driver orion_wdt with device f1020300.watchdog
[    5.235681][    T1] orion_wdt f1020300.watchdog: no pinctrl handle
[    5.242461][    T1] device: 'watchdog': device_add
[    5.247620][    T1] device: 'watchdog0': device_add
[    5.252983][    T1] orion_wdt: Initial timeout 171 sec
[    5.258190][    T1] driver: 'orion_wdt': driver_bound: bound to device 'f1020300.watchdog'
[    5.266588][    T1] bus: 'platform': really_probe: bound device f1020300.watchdog to driver orion_wdt
[    5.276013][    T1] bus: 'platform': add driver leds-gpio
[    5.281559][    T1] bus: 'platform': __driver_probe_device: matched device gpio-leds with driver leds-gpio
[    5.291288][    T1] bus: 'platform': really_probe: probing driver leds-gpio with device gpio-leds
[    5.300303][    T1] leds-gpio gpio-leds: no init pinctrl state
[    5.306412][    T1] device: 'shelby:white:power': device_add
[    5.312553][    T1] device: 'shelby:white:sata': device_add
[    5.318358][    T1] driver: 'leds-gpio': driver_bound: bound to device 'gpio-leds'
[    5.326017][    T1] leds-gpio gpio-leds: Dropping the link to f1018140.gpio
[    5.333021][    T1] device: 'platform:f1018140.gpio--platform:gpio-leds': device_unregister
[    5.341661][    T1] bus: 'platform': really_probe: bound device gpio-leds to driver leds-gpio
[    5.350303][    T1] bus: 'i2c': add driver leds-pca963x
[    5.355603][    T1] bus: 'i2c': __driver_probe_device: matched device 0-0068 with driver leds-pca963x
[    5.364902][    T1] bus: 'i2c': really_probe: probing driver leds-pca963x with device 0-0068
[    5.373398][    T1] leds-pca963x 0-0068: no pinctrl handle
[    5.381600][    T1] device: 'pca963x:shelby:amber:wan': device_add
[    5.387975][    T1] device: 'pca963x:shelby:white:wan': device_add
[    5.394320][    T1] device: 'pca963x:shelby:white:wlan_2g': device_add
[    5.400996][    T1] device: 'pca963x:shelby:white:wlan_5g': device_add
[    5.407689][    T1] device: 'pca963x:shelby:white:usb2': device_add
[    5.414128][    T1] device: 'pca963x:shelby:white:usb3_1': device_add
[    5.420709][    T1] device: 'pca963x:shelby:white:usb3_2': device_add
[    5.427321][    T1] device: 'pca963x:shelby:white:wps': device_add
[    5.433666][    T1] device: 'pca963x:shelby:amber:wps': device_add
[    5.439962][    T1] driver: 'leds-pca963x': driver_bound: bound to device '0-0068'
[    5.447702][    T1] bus: 'i2c': really_probe: bound device 0-0068 to driver leds-pca963x
[    5.456218][    T1] bus: 'platform': add driver marvell-cesa
[    5.462067][    T1] bus: 'platform': __driver_probe_device: matched device f1090000.crypto with driver marvell-cesa
[    5.472583][    T1] bus: 'platform': really_probe: probing driver marvell-cesa with device f1090000.crypto
[    5.482321][    T1] marvell-cesa f1090000.crypto: no pinctrl handle
[    5.489799][    T1] marvell-cesa f1090000.crypto: CESA device successfully registered
[    5.497708][    T1] driver: 'marvell-cesa': driver_bound: bound to device 'f1090000.crypto'
[    5.506194][    T1] bus: 'platform': really_probe: bound device f1090000.crypto to driver marvell-cesa
[    5.515672][    T1] device class 'extcon': registering
[    5.520876][    T1] bus: 'platform': add driver mvebu-devbus
[    5.526788][    T1] Registering SWP/SWPB emulation handler
[    5.562880][   T22] devices_kset: Moving usb3_1-vbus to end of list
[    5.569355][   T22] devices_kset: Moving usb3_1-phy to end of list
[    5.575603][   T22] platform usb3_1-vbus: Retrying from deferred list
[    5.582133][   T22] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
[    5.592771][   T22] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device usb3_1-vbus
[    5.602734][   T22] reg-fixed-voltage usb3_1-vbus: no init pinctrl state
[    5.609849][   T22] usb3_1-vbus: 5000 mV, disabled
[    5.614702][   T22] device: 'regulator.1': device_add
[    5.620241][   T22] reg-fixed-voltage usb3_1-vbus: usb3_1-vbus supplying 5000000uV
[    5.627878][   T22] driver: 'reg-fixed-voltage': driver_bound: bound to device 'usb3_1-vbus'
[    5.636473][   T22] bus: 'platform': really_probe: bound device usb3_1-vbus to driver reg-fixed-voltage
[    5.645968][   T22] devices_kset: Moving usb3_1-phy to end of list
[    5.652190][   T22] platform usb3_1-phy: Retrying from deferred list
[    5.658617][   T22] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
[    5.668951][   T22] bus: 'platform': really_probe: probing driver usb_phy_generic with device usb3_1-phy
[    5.678512][   T22] usb_phy_generic usb3_1-phy: no pinctrl handle
[    5.684792][   T22] usb_phy_generic usb3_1-phy: Looking up vcc-supply from device tree
[    5.692902][   T22] device: 'regulator:regulator.1--platform:usb3_1-phy': device_add
[    5.700897][   T22] devices_kset: Moving usb3_1-phy to end of list
[    5.707136][   T22] usb_phy_generic usb3_1-phy: Linked as a consumer to regulator.1
[    5.714856][   T22] usb_phy_generic usb3_1-phy: Looking up vbus-supply from device tree
[    5.722908][   T22] usb_phy_generic usb3_1-phy: Looking up vbus-supply property in node /usb3_1-phy failed
[    5.732643][   T22] usb_phy_generic usb3_1-phy: dummy supplies not allowed for exclusive requests
[    5.741594][   T22] driver: 'usb_phy_generic': driver_bound: bound to device 'usb3_1-phy'
[    5.749893][   T22] bus: 'platform': really_probe: bound device usb3_1-phy to driver usb_phy_generic
[    5.759101][   T22] devices_kset: Moving f10f8000.usb3 to end of list
[    5.765599][   T22] platform f10f8000.usb3: Retrying from deferred list
[    5.772344][   T22] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
[    5.782331][   T22] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
[    5.791547][   T22] xhci-hcd f10f8000.usb3: no pinctrl handle
[    5.797688][   T22] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    5.803844][   T22] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 2
[    5.815748][   T22] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[    5.825904][   T22] xhci-hcd f10f8000.usb3: irq 45, io mem 0xf10f8000
[    5.832874][   T22] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    5.838959][   T22] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 3
[    5.847221][   T22] xhci-hcd f10f8000.usb3: Host supports USB 3.0 SuperSpeed
[    5.854811][   T22] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.02
[    5.863880][   T22] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.871843][   T22] usb usb2: Product: xHCI Host Controller
[    5.873495][  T113] ata2: SATA link down (SStatus 100 SControl 300)
[    5.877560][   T22] usb usb2: Manufacturer: Linux 6.2.0-rc6-M95D-00001-gd783bde80fb1 xhci-hcd
[    5.883845][  T113] ata2: limiting SATA link speed to 1.5 Gbps
[    5.892342][   T22] usb usb2: SerialNumber: f10f8000.usb3
[    5.903671][   T22] device: 'usb2': device_add
[    5.908401][   T22] bus: 'usb': add device usb2
[    5.913341][   T22] bus: 'usb': __driver_probe_device: matched device usb2 with driver usb
[    5.921835][   T22] bus: 'usb': really_probe: probing driver usb with device usb2
[    5.929553][   T22] device: '2-0:1.0': device_add
[    5.934415][   T22] bus: 'usb': add device 2-0:1.0
[    5.939337][   T22] bus: 'usb': __driver_probe_device: matched device 2-0:1.0 with driver hub
[    5.947963][   T22] bus: 'usb': really_probe: probing driver hub with device 2-0:1.0
[    5.955808][   T22] hub 2-0:1.0: USB hub found
[    5.960405][   T22] hub 2-0:1.0: 1 port detected
[    5.965266][   T22] device: 'usb2-port1': device_add
[    5.970351][   T22] usb usb2-port1: adding component (ops connector_ops)
[    5.977190][   T22] driver: 'hub': driver_bound: bound to device '2-0:1.0'
[    5.984226][   T22] bus: 'usb': really_probe: bound device 2-0:1.0 to driver hub
[    5.991687][   T22] device: 'ep_81': device_add
[    5.996344][   T22] driver: 'usb': driver_bound: bound to device 'usb2'
[    6.003061][   T22] bus: 'usb': really_probe: bound device usb2 to driver usb
[    6.010293][   T22] device: 'ep_00': device_add
[    6.015169][   T22] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    6.024305][   T22] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.02
[    6.033315][   T22] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    6.041298][   T22] usb usb3: Product: xHCI Host Controller
[    6.046928][   T22] usb usb3: Manufacturer: Linux 6.2.0-rc6-M95D-00001-gd783bde80fb1 xhci-hcd
[    6.055514][   T22] usb usb3: SerialNumber: f10f8000.usb3
[    6.060956][   T22] device: 'usb3': device_add
[    6.065662][   T22] bus: 'usb': add device usb3
[    6.070546][   T22] bus: 'usb': __driver_probe_device: matched device usb3 with driver usb
[    6.078914][   T22] bus: 'usb': really_probe: probing driver usb with device usb3
[    6.086614][   T22] device: '3-0:1.0': device_add
[    6.091431][   T22] bus: 'usb': add device 3-0:1.0
[    6.096360][   T22] bus: 'usb': __driver_probe_device: matched device 3-0:1.0 with driver hub
[    6.104967][   T22] bus: 'usb': really_probe: probing driver hub with device 3-0:1.0
[    6.112790][   T22] hub 3-0:1.0: USB hub found
[    6.117341][   T22] hub 3-0:1.0: 1 port detected
[    6.122113][   T22] device: 'usb3-port1': device_add
[    6.127206][   T22] usb usb3-port1: adding component (ops connector_ops)
[    6.134074][   T22] driver: 'hub': driver_bound: bound to device '3-0:1.0'
[    6.141051][   T22] bus: 'usb': really_probe: bound device 3-0:1.0 to driver hub
[    6.148534][   T22] device: 'ep_81': device_add
[    6.153173][   T22] driver: 'usb': driver_bound: bound to device 'usb3'
[    6.159906][   T22] bus: 'usb': really_probe: bound device usb3 to driver usb
[    6.167122][   T22] device: 'ep_00': device_add
[    6.171748][   T22] driver: 'xhci-hcd': driver_bound: bound to device 'f10f8000.usb3'
[    6.179703][   T22] bus: 'platform': really_probe: bound device f10f8000.usb3 to driver xhci-hcd
[    6.188719][    T1] device class 'ubi': registering
[    6.193754][    T1] device: 'ubi_ctrl': device_add
[    6.200728][    T1] Waiting 100 sec before mounting root device...
[    6.713487][  T201] usb 2-1: new high-speed USB device number 2 using xhci-hcd
[    6.833478][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[    6.840791][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[    6.849421][  T113] device: 'link2.0': device_add
[    6.854363][  T113] device: 'link2.0': device_add
[    6.859268][  T113] device: 'dev2.0.0': device_add
[    6.864156][  T113] device: 'dev2.0.0': device_add
[    6.869153][  T113] device: 'link2.1': device_add
[    6.873934][  T113] device: 'link2.1': device_add
[    6.878791][  T113] device: 'dev2.1.0': device_add
[    6.883657][  T113] device: 'dev2.1.0': device_add
[    6.888636][  T113] device: 'link2.2': device_add
[    6.893392][  T113] device: 'link2.2': device_add
[    6.898284][  T113] device: 'dev2.2.0': device_add
[    6.903128][  T113] device: 'dev2.2.0': device_add
[    6.908111][  T113] device: 'link2.3': device_add
[    6.912869][  T113] device: 'link2.3': device_add
[    6.917726][  T113] device: 'dev2.3.0': device_add
[    6.922572][  T113] device: 'dev2.3.0': device_add
[    6.927555][  T113] device: 'link2.4': device_add
[    6.932314][  T113] device: 'link2.4': device_add
[    6.937177][  T113] device: 'dev2.4.0': device_add
[    6.942024][  T113] device: 'dev2.4.0': device_add
[    6.947001][  T113] device: 'link2.5': device_add
[    6.951761][  T113] device: 'link2.5': device_add
[    6.956635][  T113] device: 'dev2.5.0': device_add
[    6.961483][  T113] device: 'dev2.5.0': device_add
[    6.966462][  T113] device: 'link2.6': device_add
[    6.971223][  T113] device: 'link2.6': device_add
[    6.976084][  T113] device: 'dev2.6.0': device_add
[    6.980939][  T113] device: 'dev2.6.0': device_add
[    6.985953][  T113] device: 'link2.7': device_add
[    6.990720][  T113] device: 'link2.7': device_add
[    6.995600][  T113] device: 'dev2.7.0': device_add
[    7.000451][  T113] device: 'dev2.7.0': device_add
[    7.005439][  T113] device: 'link2.8': device_add
[    7.010203][  T113] device: 'link2.8': device_add
[    7.015076][  T113] device: 'dev2.8.0': device_add
[    7.019926][  T113] device: 'dev2.8.0': device_add
[    7.024908][  T113] device: 'link2.9': device_add
[    7.029672][  T113] device: 'link2.9': device_add
[    7.034545][  T113] device: 'dev2.9.0': device_add
[    7.039396][  T113] device: 'dev2.9.0': device_add
[    7.044391][  T113] device: 'link2.10': device_add
[    7.049245][  T113] device: 'link2.10': device_add
[    7.054199][  T113] device: 'dev2.10.0': device_add
[    7.059139][  T113] device: 'dev2.10.0': device_add
[    7.064224][  T113] device: 'link2.11': device_add
[    7.069079][  T113] device: 'link2.11': device_add
[    7.074042][  T113] device: 'dev2.11.0': device_add
[    7.078984][  T113] device: 'dev2.11.0': device_add
[    7.084093][  T113] device: 'link2.12': device_add
[    7.088950][  T113] device: 'link2.12': device_add
[    7.093916][  T113] device: 'dev2.12.0': device_add
[    7.098859][  T113] device: 'dev2.12.0': device_add
[    7.103942][  T113] device: 'link2.13': device_add
[    7.108800][  T113] device: 'link2.13': device_add
[    7.113780][  T113] device: 'dev2.13.0': device_add
[    7.118725][  T113] device: 'dev2.13.0': device_add
[    7.123808][  T113] device: 'link2.14': device_add
[    7.128667][  T113] device: 'link2.14': device_add
[    7.133635][  T113] device: 'dev2.14.0': device_add
[    7.138581][  T113] device: 'dev2.14.0': device_add
[    7.143662][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
[    7.149993][  T113] ata2.00: hard resetting link
[    7.180668][  T201] usb 2-1: New USB device found, idVendor=058f, idProduct=6387, bcdDevice= 1.00
[    7.189672][  T201] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.197569][  T201] usb 2-1: Product: Mass Storage
[    7.202390][  T201] usb 2-1: Manufacturer: Generic
[    7.207242][  T201] usb 2-1: SerialNumber: 016E07B1
[    7.212167][  T201] device: '2-1': device_add
[    7.216803][  T201] bus: 'usb': add device 2-1
[    7.221626][  T201] bus: 'usb': __driver_probe_device: matched device 2-1 with driver usb
[    7.229942][  T201] bus: 'usb': really_probe: probing driver usb with device 2-1
[    7.237468][  T201] usb 2-1: no default pinctrl state
[    7.243329][  T201] device: '2-1:1.0': device_add
[    7.248194][  T201] bus: 'usb': add device 2-1:1.0
[    7.253118][  T201] bus: 'usb': __driver_probe_device: matched device 2-1:1.0 with driver usb-storage
[    7.262452][  T201] bus: 'usb': really_probe: probing driver usb-storage with device 2-1:1.0
[    7.270986][  T201] usb-storage 2-1:1.0: no default pinctrl state
[    7.277185][  T201] usb-storage 2-1:1.0: USB Mass Storage device detected
[    7.284403][  T201] device: 'scsi_tmf_2': device_add
[    7.289424][  T201] bus: 'workqueue': add device scsi_tmf_2
[    7.295374][  T201] scsi host2: usb-storage 2-1:1.0
[    7.300416][  T201] device: 'host2': device_add
[    7.305042][  T201] bus: 'scsi': add device host2
[    7.309848][  T201] device: 'host2': device_add
[    7.314708][  T201] driver: 'usb-storage': driver_bound: bound to device '2-1:1.0'
[    7.322384][  T201] bus: 'usb': really_probe: bound device 2-1:1.0 to driver usb-storage
[    7.330593][  T201] device: 'ep_01': device_add
[    7.335248][  T201] device: 'ep_82': device_add
[    7.339884][  T201] driver: 'usb': driver_bound: bound to device '2-1'
[    7.346517][  T201] bus: 'usb': really_probe: bound device 2-1 to driver usb
[    7.353671][  T201] device: 'ep_00': device_add
[    7.486174][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    7.493398][  T113] ata2.01: hard resetting link
[    7.826136][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    7.833353][  T113] ata2.02: hard resetting link
[    8.166136][  T113] ata2.02: SATA link down (SStatus 0 SControl 300)
[    8.172603][  T113] ata2.03: hard resetting link
[    8.395831][  T201] scsi 2:0:0:0: Direct-Access     Generic  Flash Disk       8.07 PQ: 0 ANSI: 4
[    8.404822][  T201] device: 'target2:0:0': device_add
[    8.409961][  T201] bus: 'scsi': add device target2:0:0
[    8.415397][  T201] device: '2:0:0:0': device_add
[    8.420330][  T201] bus: 'scsi': add device 2:0:0:0
[    8.425328][  T201] scsi 2:0:0:0: scheduling asynchronous probe
[    8.431348][  T201] device: '2:0:0:0': device_add
[    8.431369][   T22] bus: 'scsi': __driver_probe_device: matched device 2:0:0:0 with driver sd
[    8.436365][  T201] device: '2:0:0:0': device_add
[    8.444766][   T22] bus: 'scsi': really_probe: probing driver sd with device 2:0:0:0
[    8.457323][   T22] sd 2:0:0:0: no default pinctrl state
[    8.462925][   T22] device: '2:0:0:0': device_add
[    8.468998][   T22] sd 2:0:0:0: [sda] 122880000 512-byte logical blocks: (62.9 GB/58.6 GiB)
[    8.478142][   T22] sd 2:0:0:0: [sda] Write Protect is off
[    8.483700][   T22] sd 2:0:0:0: [sda] Mode Sense: 23 00 00 00
[    8.490182][   T22] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    8.500128][   T22] device: 'sda': device_add
[    8.505303][   T22] device: '8:0': device_add
[    8.507981][  T113] ata2.03: SATA link down (SStatus 0 SControl 300)
[    8.516425][  T113] ata2.04: hard resetting link
[    8.525164][   T22] sd 2:0:0:0: [sda] Attached SCSI removable disk
[    8.531387][   T22] driver: 'sd': driver_bound: bound to device '2:0:0:0'
[    8.538335][   T22] bus: 'scsi': really_probe: bound device 2:0:0:0 to driver sd
[    8.545813][   T22] sd 2:0:0:0: async probe completed
[    8.846145][  T113] ata2.04: SATA link down (SStatus 0 SControl 300)
[    8.852618][  T113] ata2.05: hard resetting link
[    9.186137][  T113] ata2.05: SATA link down (SStatus 0 SControl 300)
[    9.192606][  T113] ata2.06: hard resetting link
[    9.526131][  T113] ata2.06: SATA link down (SStatus 0 SControl 300)
[    9.532597][  T113] ata2.07: hard resetting link
[    9.866143][  T113] ata2.07: SATA link down (SStatus 0 SControl 300)
[    9.872700][  T113] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[    9.880350][  T113] ata2.00: 976773168 sectors, multi 0: LBA48 
[    9.886469][  T113] ata2.00: configured for UDMA/133
[    9.891543][  T113] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
[    9.898484][  T113] ata2.01: 23437498368 sectors, multi 0: LBA48 
[    9.904761][  T113] ata2.01: configured for UDMA/133
[    9.909902][  T113] ata2: EH complete
[    9.914304][  T201] scsi 1:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a  PQ: 0 ANSI: 5
[    9.924024][  T201] device: 'target1:0:0': device_add
[    9.929148][  T201] bus: 'scsi': add device target1:0:0
[    9.934522][  T201] device: '1:0:0:0': device_add
[    9.939530][  T201] bus: 'scsi': add device 1:0:0:0
[    9.944518][  T201] scsi 1:0:0:0: scheduling asynchronous probe
[    9.950515][  T201] device: '1:0:0:0': device_add
[    9.950530][   T22] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
[    9.955446][  T201] device: '1:0:0:0': device_add
[    9.963876][   T22] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
[    9.969160][  T201] scsi 1:1:0:0: Direct-Access     ATA      Areca   Archive  n/a  PQ: 0 ANSI: 5
[    9.976414][   T22] sd 1:0:0:0: no default pinctrl state
[    9.986095][  T201] device: 'target1:1:0': device_add
[    9.990662][   T22] device: '1:0:0:0': device_add
[    9.995694][  T201] bus: 'scsi': add device target1:1:0
[   10.001292][   T22] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[   10.005739][  T201] device: '1:1:0:0': device_add
[   10.014094][   T22] sd 1:0:0:0: [sdb] Write Protect is off
[   10.018913][  T201] bus: 'scsi': add device 1:1:0:0
[   10.024182][   T22] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[   10.024521][   T22] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   10.029129][  T201] scsi 1:1:0:0: scheduling asynchronous probe
[   10.035141][   T22] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[   10.044710][  T201] device: '1:1:0:0': device_add
[   10.050663][   T22] device: 'sdb': device_add
[   10.057645][  T201] device: '1:1:0:0': device_add
[   10.062473][    T8] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
[   10.073944][   T22] device: '8:16': device_add
[   10.080044][    T8] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
[   10.085794][   T22] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[   10.092278][    T8] sd 1:1:0:0: no default pinctrl state
[   10.098515][   T22] driver: 'sd': driver_bound: bound to device '1:0:0:0'
[   10.103921][    T8] device: '1:1:0:0': device_add
[   10.110722][   T22] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
[   10.116166][    T8] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
[   10.122869][   T22] sd 1:0:0:0: async probe completed
[   10.131515][    T8] sd 1:1:0:0: [sdc] Write Protect is off
[   10.142064][    T8] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
[   10.147997][    T8] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   10.157973][    T8] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
[   10.164952][    T8] device: 'sdc': device_add
[   10.169986][    T8] device: '8:32': device_add
[   10.175532][    T8] sd 1:1:0:0: [sdc] Attached SCSI removable disk
[   10.181753][    T8] driver: 'sd': driver_bound: bound to device '1:1:0:0'
[   10.188650][    T8] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
[   10.196111][    T8] sd 1:1:0:0: async probe completed

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-30  7:23                                         ` marius
@ 2023-01-30  7:37                                           ` Damien Le Moal
  2023-01-30 23:22                                             ` Damien Le Moal
  2023-01-31  7:20                                             ` marius
  0 siblings, 2 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-30  7:37 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/30/23 16:23, marius@psihoexpert.ro wrote:
> January 30, 2023 4:39 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>
>> Apologies for asking you to test again, but could you try this simpler
>> version of the initial tweak:
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 884ae73b11ea..2ea572628b1c 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3109,7 +3109,7 @@ int sata_down_spd_limit(struct ata_link *link, u32
>> spd_limit)
>> */
>> if (spd > 1)
>> mask &= (1 << (spd - 1)) - 1;
>> - else
>> + else if (link->sata_spd)
>> return -EINVAL;
>>
>> /* were we already at the bottom? */
>>
>> This is a partial revert of the commit that created the issue in the
>> first place. But better check this is OK.
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> No problem. I'll test everything until you find the best possible fix for the kernel.
> 
> It works:

Perfect. I prefer this version of the fix as it actually does *exactly* what the
comment above the if/else hunk says, that is not force 1.5gbps speed if we
already have a recorded speed. But in your case, we do not have a recorded speed
(link->sata_spd == 0), so retrying with 1.5gbps is the right thing to do.

I will write a nice commit message and post.

Thanks for testing.

> 
> [   15.805656][  T113] hardreset, Online=>Offline
> [   15.805666][  T113] sata_set_spd_needed, scontrol=0x300
> [   15.810139][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   15.815417][  T113] __sata_set_spd_needed, corrected limit=0xFFFFFFFF
> [   15.821719][  T113] __sata_set_spd_needed, target=0x0
> [   15.828208][  T113] __sata_set_spd_needed, spd=0x0
> [   15.833289][  T113] __sata_set_spd_needed, final *scontrol=0x300
> [   15.839192][  T113] resume, do loop
> [   16.073861][  T113] resume, after do loop
> [   16.133861][  T113] debounce, SCR=0x100
> [   16.193860][  T113] debounce, SCR=0x100
> [   16.253860][  T113] debounce, SCR=0x100
> [   16.313860][  T113] debounce, SCR=0x100
> [   16.373861][  T113] debounce, SCR=0x100
> [   16.433860][  T113] debounce, SCR=0x100
> [   16.493860][  T113] debounce, SCR=0x100
> [   16.553882][  T113] debounce, SCR=0x100
> [   16.613861][  T113] debounce, SCR=0x100
> [   16.617722][  T113] resume, return at end of function
> [   16.621581][  T113] hardreset, ata_phys_link_offline check failed
> [   16.626685][  T113] ata2: SATA link down (SStatus 101 SControl 300)
> [   16.639152][  T113] sata_down_spd_limit: limit 0x1, cur spd 0x0, saved limit 0xffffffff, hw limit 0xffffffff
> [   16.649046][  T113] ata2: limiting SATA link speed to 1.5 Gbps
> [   16.654931][  T113] hardreset, Online=>Offline
> [   16.654937][  T113] sata_set_spd_needed, scontrol=0x300
> [   16.659407][  T113] __sata_set_spd_needed, initial limit=0x1
> [   16.664675][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   16.670364][  T113] __sata_set_spd_needed, target=0x1
> [   16.676249][  T113] __sata_set_spd_needed, spd=0x0
> [   16.681329][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   16.686160][  T113] __sata_set_spd_needed, initial limit=0x1
> [   16.692200][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   16.697902][  T113] __sata_set_spd_needed, target=0x1
> [   16.703767][  T113] __sata_set_spd_needed, spd=0x0
> [   16.708858][  T113] __sata_set_spd_needed, final *scontrol=0x314
> [   16.714748][  T113] resume, do loop
> [   16.943861][  T113] resume, after do loop
> [   17.003861][  T113] debounce, SCR=0x113
> [   17.063882][  T113] debounce, SCR=0x113
> [   17.123860][  T113] debounce, SCR=0x113
> [   17.183861][  T113] debounce, SCR=0x113
> [   17.243860][  T113] debounce, SCR=0x113
> [   17.303861][  T113] debounce, SCR=0x113
> [   17.363860][  T113] debounce, SCR=0x113
> [   17.423860][  T113] debounce, SCR=0x113
> [   17.483860][  T113] debounce, SCR=0x113
> [   17.487721][  T113] resume, return at end of function
> [   17.491580][  T113] hardreset, Offline=>Online
> [   17.501142][  T113] hardreset, sata_pmp_supported, before check_ready
> [   17.673864][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [   17.687589][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
> [   17.696209][  T113] device: 'link2.0': device_add
> [   17.701015][  T113] device: 'link2.0': device_add
> [   17.706001][  T113] device: 'dev2.0.0': device_add
> [   17.710846][  T113] device: 'dev2.0.0': device_add
> [   17.715847][  T113] device: 'link2.1': device_add
> [   17.720606][  T113] device: 'link2.1': device_add
> [   17.725467][  T113] device: 'dev2.1.0': device_add
> [   17.730312][  T113] device: 'dev2.1.0': device_add
> [   17.735299][  T113] device: 'link2.2': device_add
> [   17.740056][  T113] device: 'link2.2': device_add
> [   17.744909][  T113] device: 'dev2.2.0': device_add
> [   17.749754][  T113] device: 'dev2.2.0': device_add
> [   17.754725][  T113] device: 'link2.3': device_add
> [   17.759483][  T113] device: 'link2.3': device_add
> [   17.764355][  T113] device: 'dev2.3.0': device_add
> [   17.769200][  T113] device: 'dev2.3.0': device_add
> [   17.774175][  T113] device: 'link2.4': device_add
> [   17.778934][  T113] device: 'link2.4': device_add
> [   17.783773][  T113] device: 'dev2.4.0': device_add
> [   17.788635][  T113] device: 'dev2.4.0': device_add
> [   17.793605][  T113] device: 'link2.5': device_add
> [   17.798397][  T113] device: 'link2.5': device_add
> [   17.803238][  T113] device: 'dev2.5.0': device_add
> [   17.808100][  T113] device: 'dev2.5.0': device_add
> [   17.813066][  T113] device: 'link2.6': device_add
> [   17.817848][  T113] device: 'link2.6': device_add
> [   17.822690][  T113] device: 'dev2.6.0': device_add
> [   17.827552][  T113] device: 'dev2.6.0': device_add
> [   17.832512][  T113] device: 'link2.7': device_add
> [   17.837289][  T113] device: 'link2.7': device_add
> [   17.842138][  T113] device: 'dev2.7.0': device_add
> [   17.847004][  T113] device: 'dev2.7.0': device_add
> [   17.851966][  T113] device: 'link2.8': device_add
> [   17.856752][  T113] device: 'link2.8': device_add
> [   17.861597][  T113] device: 'dev2.8.0': device_add
> [   17.866464][  T113] device: 'dev2.8.0': device_add
> [   17.871435][  T113] device: 'link2.9': device_add
> [   17.876216][  T113] device: 'link2.9': device_add
> [   17.881061][  T113] device: 'dev2.9.0': device_add
> [   17.885928][  T113] device: 'dev2.9.0': device_add
> [   17.890893][  T113] device: 'link2.10': device_add
> [   17.895761][  T113] device: 'link2.10': device_add
> [   17.900708][  T113] device: 'dev2.10.0': device_add
> [   17.905665][  T113] device: 'dev2.10.0': device_add
> [   17.910720][  T113] device: 'link2.11': device_add
> [   17.915597][  T113] device: 'link2.11': device_add
> [   17.920539][  T113] device: 'dev2.11.0': device_add
> [   17.925497][  T113] device: 'dev2.11.0': device_add
> [   17.930558][  T113] device: 'link2.12': device_add
> [   17.935429][  T113] device: 'link2.12': device_add
> [   17.940366][  T113] device: 'dev2.12.0': device_add
> [   17.945324][  T113] device: 'dev2.12.0': device_add
> [   17.950393][  T113] device: 'link2.13': device_add
> [   17.955265][  T113] device: 'link2.13': device_add
> [   17.960203][  T113] device: 'dev2.13.0': device_add
> [   17.965163][  T113] device: 'dev2.13.0': device_add
> [   17.970219][  T113] device: 'link2.14': device_add
> [   17.975099][  T113] device: 'link2.14': device_add
> [   17.980046][  T113] device: 'dev2.14.0': device_add
> [   17.985007][  T113] device: 'dev2.14.0': device_add
> [   17.990061][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
> [   17.995812][  T113] ata2.00: SCR_CONTROL = 0x300
> [   18.000492][  T113] ata2.01: SCR_CONTROL = 0x300
> [   18.005195][  T113] ata2.02: SCR_CONTROL = 0x300
> [   18.009873][  T113] ata2.03: SCR_CONTROL = 0x300
> [   18.014580][  T113] ata2.04: SCR_CONTROL = 0x300
> [   18.019257][  T113] ata2.05: SCR_CONTROL = 0x300
> [   18.023998][  T113] ata2.06: SCR_CONTROL = 0x300
> [   18.028676][  T113] ata2.07: SCR_CONTROL = 0x300
> [   18.033427][  T113] ata2.00: hard resetting link
> [   18.038105][  T113] hardreset, Online=>Offline
> [   18.038144][  T113] sata_set_spd_needed, scontrol=0x300
> [   18.042615][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   18.047892][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   18.054208][  T113] __sata_set_spd_needed, target=0x1
> [   18.060072][  T113] __sata_set_spd_needed, spd=0x0
> [   18.065164][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   18.070076][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   18.076145][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   18.082447][  T113] __sata_set_spd_needed, target=0x1
> [   18.088325][  T113] __sata_set_spd_needed, spd=0x0
> [   18.093406][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   18.099473][  T113] resume, do loop
> [   18.333896][  T113] resume, after do loop
> [   18.342538][  T113] debounce, SCR=0x123
> [   18.351693][  T113] debounce, SCR=0x123
> [   18.360674][  T113] debounce, SCR=0x123
> [   18.369653][  T113] debounce, SCR=0x123
> [   18.378614][  T113] debounce, SCR=0x123
> [   18.387574][  T113] debounce, SCR=0x123
> [   18.396533][  T113] debounce, SCR=0x123
> [   18.405493][  T113] debounce, SCR=0x123
> [   18.414452][  T113] debounce, SCR=0x123
> [   18.423411][  T113] debounce, SCR=0x123
> [   18.432390][  T113] debounce, SCR=0x123
> [   18.441371][  T113] debounce, SCR=0x123
> [   18.445312][  T113] resume, return at end of function
> [   18.449202][  T113] hardreset, Offline=>Online
> [   18.458767][  T113] hardreset, after check_ready
> [   18.458984][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [   18.470857][  T113] ata2.01: hard resetting link
> [   18.475524][  T113] hardreset, Online=>Offline
> [   18.475562][  T113] sata_set_spd_needed, scontrol=0x300
> [   18.480032][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   18.485305][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   18.491606][  T113] __sata_set_spd_needed, target=0x1
> [   18.497484][  T113] __sata_set_spd_needed, spd=0x0
> [   18.502564][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   18.507488][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   18.513527][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   18.519847][  T113] __sata_set_spd_needed, target=0x1
> [   18.525725][  T113] __sata_set_spd_needed, spd=0x0
> [   18.530804][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   18.536834][  T113] resume, do loop
> [   18.763894][  T113] resume, after do loop
> [   18.772537][  T113] debounce, SCR=0x123
> [   18.781691][  T113] debounce, SCR=0x123
> [   18.790671][  T113] debounce, SCR=0x123
> [   18.799650][  T113] debounce, SCR=0x123
> [   18.808610][  T113] debounce, SCR=0x123
> [   18.817570][  T113] debounce, SCR=0x123
> [   18.826530][  T113] debounce, SCR=0x123
> [   18.835489][  T113] debounce, SCR=0x123
> [   18.844448][  T113] debounce, SCR=0x123
> [   18.853407][  T113] debounce, SCR=0x123
> [   18.862386][  T113] debounce, SCR=0x123
> [   18.871368][  T113] debounce, SCR=0x123
> [   18.875309][  T113] resume, return at end of function
> [   18.879199][  T113] hardreset, Offline=>Online
> [   18.888761][  T113] hardreset, after check_ready
> [   18.888978][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [   18.900849][  T113] ata2.02: hard resetting link
> [   18.905516][  T113] hardreset, Online=>Offline
> [   18.905554][  T113] sata_set_spd_needed, scontrol=0x300
> [   18.910024][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   18.915297][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   18.921598][  T113] __sata_set_spd_needed, target=0x1
> [   18.927476][  T113] __sata_set_spd_needed, spd=0x0
> [   18.932555][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   18.937478][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   18.943517][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   18.949837][  T113] __sata_set_spd_needed, target=0x1
> [   18.955715][  T113] __sata_set_spd_needed, spd=0x0
> [   18.960794][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   18.966826][  T113] resume, do loop
> [   19.193895][  T113] resume, after do loop
> [   19.202536][  T113] debounce, SCR=0x0
> [   19.211691][  T113] debounce, SCR=0x0
> [   19.220496][  T113] debounce, SCR=0x0
> [   19.229301][  T113] debounce, SCR=0x0
> [   19.238087][  T113] debounce, SCR=0x0
> [   19.246872][  T113] debounce, SCR=0x0
> [   19.255658][  T113] debounce, SCR=0x0
> [   19.264443][  T113] debounce, SCR=0x0
> [   19.273228][  T113] debounce, SCR=0x0
> [   19.282034][  T113] debounce, SCR=0x0
> [   19.290839][  T113] debounce, SCR=0x0
> [   19.299646][  T113] debounce, SCR=0x0
> [   19.308430][  T113] debounce, SCR=0x0
> [   19.312175][  T113] resume, return at end of function
> [   19.315911][  T113] hardreset, ata_phys_link_offline check failed
> [   19.321203][  T113] ata2.02: SATA link down (SStatus 0 SControl 300)
> [   19.333802][  T113] ata2.03: hard resetting link
> [   19.338467][  T113] hardreset, Online=>Offline
> [   19.338504][  T113] sata_set_spd_needed, scontrol=0x300
> [   19.342974][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   19.348247][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   19.354562][  T113] __sata_set_spd_needed, target=0x1
> [   19.360426][  T113] __sata_set_spd_needed, spd=0x0
> [   19.365526][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   19.370436][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   19.376495][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   19.382796][  T113] __sata_set_spd_needed, target=0x1
> [   19.388674][  T113] __sata_set_spd_needed, spd=0x0
> [   19.393753][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   19.399778][  T113] resume, do loop
> [   19.633894][  T113] resume, after do loop
> [   19.642535][  T113] debounce, SCR=0x0
> [   19.651703][  T113] debounce, SCR=0x0
> [   19.660509][  T113] debounce, SCR=0x0
> [   19.669314][  T113] debounce, SCR=0x0
> [   19.678100][  T113] debounce, SCR=0x0
> [   19.686886][  T113] debounce, SCR=0x0
> [   19.695671][  T113] debounce, SCR=0x0
> [   19.704456][  T113] debounce, SCR=0x0
> [   19.713242][  T113] debounce, SCR=0x0
> [   19.722048][  T113] debounce, SCR=0x0
> [   19.730852][  T113] debounce, SCR=0x0
> [   19.739659][  T113] debounce, SCR=0x0
> [   19.748444][  T113] debounce, SCR=0x0
> [   19.752191][  T113] resume, return at end of function
> [   19.755927][  T113] hardreset, ata_phys_link_offline check failed
> [   19.761219][  T113] ata2.03: SATA link down (SStatus 0 SControl 300)
> [   19.773817][  T113] ata2.04: hard resetting link
> [   19.778481][  T113] hardreset, Online=>Offline
> [   19.778519][  T113] sata_set_spd_needed, scontrol=0x300
> [   19.782989][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   19.788262][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   19.794577][  T113] __sata_set_spd_needed, target=0x1
> [   19.800441][  T113] __sata_set_spd_needed, spd=0x0
> [   19.805541][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   19.810452][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   19.816511][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   19.822812][  T113] __sata_set_spd_needed, target=0x1
> [   19.828689][  T113] __sata_set_spd_needed, spd=0x0
> [   19.833769][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   19.839792][  T113] resume, do loop
> [   20.073895][  T113] resume, after do loop
> [   20.082536][  T113] debounce, SCR=0x0
> [   20.091690][  T113] debounce, SCR=0x0
> [   20.100496][  T113] debounce, SCR=0x0
> [   20.109301][  T113] debounce, SCR=0x0
> [   20.118087][  T113] debounce, SCR=0x0
> [   20.126872][  T113] debounce, SCR=0x0
> [   20.135658][  T113] debounce, SCR=0x0
> [   20.144443][  T113] debounce, SCR=0x0
> [   20.153228][  T113] debounce, SCR=0x0
> [   20.162047][  T113] debounce, SCR=0x0
> [   20.170854][  T113] debounce, SCR=0x0
> [   20.179660][  T113] debounce, SCR=0x0
> [   20.188447][  T113] debounce, SCR=0x0
> [   20.192193][  T113] resume, return at end of function
> [   20.195930][  T113] hardreset, ata_phys_link_offline check failed
> [   20.201220][  T113] ata2.04: SATA link down (SStatus 0 SControl 300)
> [   20.213818][  T113] ata2.05: hard resetting link
> [   20.218483][  T113] hardreset, Online=>Offline
> [   20.218520][  T113] sata_set_spd_needed, scontrol=0x300
> [   20.222990][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   20.228263][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   20.234578][  T113] __sata_set_spd_needed, target=0x1
> [   20.240442][  T113] __sata_set_spd_needed, spd=0x0
> [   20.245542][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   20.250452][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   20.256511][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   20.262812][  T113] __sata_set_spd_needed, target=0x1
> [   20.268689][  T113] __sata_set_spd_needed, spd=0x0
> [   20.273768][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   20.279792][  T113] resume, do loop
> [   20.513895][  T113] resume, after do loop
> [   20.522535][  T113] debounce, SCR=0x0
> [   20.531689][  T113] debounce, SCR=0x0
> [   20.540495][  T113] debounce, SCR=0x0
> [   20.549300][  T113] debounce, SCR=0x0
> [   20.558085][  T113] debounce, SCR=0x0
> [   20.566870][  T113] debounce, SCR=0x0
> [   20.575657][  T113] debounce, SCR=0x0
> [   20.584441][  T113] debounce, SCR=0x0
> [   20.593226][  T113] debounce, SCR=0x0
> [   20.602031][  T113] debounce, SCR=0x0
> [   20.610836][  T113] debounce, SCR=0x0
> [   20.619643][  T113] debounce, SCR=0x0
> [   20.628429][  T113] debounce, SCR=0x0
> [   20.632175][  T113] resume, return at end of function
> [   20.635911][  T113] hardreset, ata_phys_link_offline check failed
> [   20.641203][  T113] ata2.05: SATA link down (SStatus 0 SControl 300)
> [   20.653800][  T113] ata2.06: hard resetting link
> [   20.658466][  T113] hardreset, Online=>Offline
> [   20.658503][  T113] sata_set_spd_needed, scontrol=0x300
> [   20.662974][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   20.668261][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   20.674576][  T113] __sata_set_spd_needed, target=0x1
> [   20.680440][  T113] __sata_set_spd_needed, spd=0x0
> [   20.685539][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   20.690451][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   20.696510][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   20.702811][  T113] __sata_set_spd_needed, target=0x1
> [   20.708688][  T113] __sata_set_spd_needed, spd=0x0
> [   20.713768][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   20.719791][  T113] resume, do loop
> [   20.953895][  T113] resume, after do loop
> [   20.962536][  T113] debounce, SCR=0x0
> [   20.971690][  T113] debounce, SCR=0x0
> [   20.980496][  T113] debounce, SCR=0x0
> [   20.989301][  T113] debounce, SCR=0x0
> [   20.998087][  T113] debounce, SCR=0x0
> [   21.006872][  T113] debounce, SCR=0x0
> [   21.015657][  T113] debounce, SCR=0x0
> [   21.024442][  T113] debounce, SCR=0x0
> [   21.033227][  T113] debounce, SCR=0x0
> [   21.042033][  T113] debounce, SCR=0x0
> [   21.050838][  T113] debounce, SCR=0x0
> [   21.059644][  T113] debounce, SCR=0x0
> [   21.068429][  T113] debounce, SCR=0x0
> [   21.072176][  T113] resume, return at end of function
> [   21.075913][  T113] hardreset, ata_phys_link_offline check failed
> [   21.081202][  T113] ata2.06: SATA link down (SStatus 0 SControl 300)
> [   21.093800][  T113] ata2.07: hard resetting link
> [   21.098465][  T113] hardreset, Online=>Offline
> [   21.098502][  T113] sata_set_spd_needed, scontrol=0x300
> [   21.102972][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   21.108246][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   21.114560][  T113] __sata_set_spd_needed, target=0x1
> [   21.120424][  T113] __sata_set_spd_needed, spd=0x0
> [   21.125524][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   21.130435][  T113] __sata_set_spd_needed, initial limit=0xFFFFFFFF
> [   21.136494][  T113] __sata_set_spd_needed, corrected limit=0x1
> [   21.142795][  T113] __sata_set_spd_needed, target=0x1
> [   21.148673][  T113] __sata_set_spd_needed, spd=0x0
> [   21.153752][  T113] __sata_set_spd_needed, final *scontrol=0x310
> [   21.159775][  T113] resume, do loop
> [   21.393895][  T113] resume, after do loop
> [   21.402537][  T113] debounce, SCR=0x0
> [   21.411690][  T113] debounce, SCR=0x0
> [   21.420496][  T113] debounce, SCR=0x0
> [   21.429300][  T113] debounce, SCR=0x0
> [   21.438085][  T113] debounce, SCR=0x0
> [   21.446870][  T113] debounce, SCR=0x0
> [   21.455656][  T113] debounce, SCR=0x0
> [   21.464441][  T113] debounce, SCR=0x0
> [   21.473227][  T113] debounce, SCR=0x0
> [   21.482032][  T113] debounce, SCR=0x0
> [   21.490837][  T113] debounce, SCR=0x0
> [   21.499644][  T113] debounce, SCR=0x0
> [   21.508430][  T113] debounce, SCR=0x0
> [   21.512176][  T113] resume, return at end of function
> [   21.515913][  T113] hardreset, ata_phys_link_offline check failed
> [   21.521202][  T113] ata2.07: SATA link down (SStatus 0 SControl 300)
> [   21.533889][  T113] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
> [   21.541502][  T113] ata2.00: 976773168 sectors, multi 0: LBA48 
> [   21.547615][  T113] ata2.00: configured for UDMA/133
> [   21.552677][  T113] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
> [   21.559611][  T113] ata2.01: 23437498368 sectors, multi 0: LBA48 
> [   21.565886][  T113] ata2.01: configured for UDMA/133
> [   21.571033][  T113] ata2: EH complete
> [   21.575491][   T76] scsi 1:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a  PQ: 0 ANSI: 5
> [   21.585235][   T76] device: 'target1:0:0': device_add
> [   21.590356][   T76] bus: 'scsi': add device target1:0:0
> [   21.595735][   T76] device: '1:0:0:0': device_add
> [   21.600740][   T76] bus: 'scsi': add device 1:0:0:0
> [   21.605721][   T76] scsi 1:0:0:0: scheduling asynchronous probe
> [   21.611719][   T76] device: '1:0:0:0': device_add
> [   21.611734][   T22] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
> [   21.616593][   T76] device: '1:0:0:0': device_add
> [   21.625099][   T22] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
> [   21.637640][   T22] sd 1:0:0:0: no default pinctrl state
> [   21.643071][   T22] device: '1:0:0:0': device_add
> [   21.644450][   T76] scsi 1:1:0:0: Direct-Access     ATA      Areca   Archive  n/a  PQ: 0 ANSI: 5
> [   21.648193][   T22] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
> [   21.657934][   T76] device: 'target1:1:0': device_add
> [   21.665225][   T22] sd 1:0:0:0: [sdb] Write Protect is off
> [   21.670030][   T76] bus: 'scsi': add device target1:1:0
> [   21.675566][   T22] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
> [   21.680850][   T76] device: '1:1:0:0': device_add
> [   21.686703][   T22] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [   21.691586][   T76] bus: 'scsi': add device 1:1:0:0
> [   21.701326][   T22] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
> [   21.706077][   T76] scsi 1:1:0:0: scheduling asynchronous probe
> [   21.712958][   T22] device: 'sdb': device_add
> [   21.718923][   T76] device: '1:1:0:0': device_add
> [   21.723651][    T8] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
> [   21.728161][   T76] device: '1:1:0:0': device_add
> [   21.736660][    T8] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
> [   21.749211][    T8] sd 1:1:0:0: no default pinctrl state
> [   21.754659][    T8] device: '1:1:0:0': device_add
> [   21.759991][   T22] device: '8:16': device_add
> [   21.765576][    T8] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
> [   21.774242][    T8] sd 1:1:0:0: [sdc] Write Protect is off
> [   21.779764][    T8] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
> [   21.785698][    T8] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [   21.795680][    T8] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
> [   21.802612][    T8] device: 'sdc': device_add
> [   21.807704][    T8] device: '8:32': device_add
> [   21.836417][    T8] sd 1:1:0:0: [sdc] Attached SCSI removable disk
> [   21.842641][    T8] driver: 'sd': driver_bound: bound to device '1:1:0:0'
> [   21.849545][    T8] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
> [   21.857027][    T8] sd 1:1:0:0: async probe completed
> [   22.253067][   T22] sd 1:0:0:0: [sdb] Attached SCSI removable disk
> [   22.259320][   T22] driver: 'sd': driver_bound: bound to device '1:0:0:0'
> [   22.266220][   T22] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
> [   22.273664][   T22] sd 1:0:0:0: async probe completed
> 
> 
> I also tested it with the latest kernel, no other modifications
> (commit 6d796c50f84ca79f1722bb131799e5a5710c4700, tag: v6.2-rc6)
> This is the boot log with Areca DAS already connected:
> 
> BootROM - 1.73
> 
> Booting from NAND flash
> 
> 
> General initialization - Version: 1.0.0
> 
> Detected Device ID 6820
> 
> High speed PHY - Version: 2.0
> 
> 
> Init RD NAS topology Serdes Lane 3 is USB3
> 
> Serdes Lane 4 is SGMII
> 
> board SerDes lanes topology details:
> 
>  | Lane #  | Speed |  Type       |
> 
>  --------------------------------
> 
>  |   0    |  06   |  SATA0	|
> 
>  |   1    |  05   |  PCIe0	|
> 
>  |   2    |  06   |  SATA1	|
> 
>  |   3    |  05   |  USB3 HOST1	|
> 
>  |   4    |  05   |  PCIe1	|
> 
>  |   5    |  00   |  SGMII2	|
> 
>  --------------------------------
> 
> :** Link is Gen1, check the EP capability 
> 
> PCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities 
> 
> :** Link is Gen1, check the EP capability 
> 
> PCIe, Idx 1: remains Gen1
> 
> High speed PHY - Ended Successfully
> 
> DDR3 Training Sequence - Ver TIP-1.26.0
> 
> mvSysEnvGetTopologyUpdateInfo: TWSI Read failed
> 
> DDR3 Training Sequence - Switching XBAR Window to FastPath Window 
> 
> DDR3 Training Sequence - Ended Successfully
> 
> Not detected suspend to RAM indication
> 
> BootROM: Image checksum verification PASSED
> 
> l
>  __   __                      _ _
> |  \/  | __ _ _ ____   _____| | |
> | |\/| |/ _` | '__\ \ / / _ \ | |
> | |  | | (_| | |   \ V /  __/ | |
> |_|  |_|\__,_|_|    \_/ \___|_|_|
>          _   _     ____              _
>         | | | |   | __ )  ___   ___ | |_ 
>         | | | |___|  _ \ / _ \ / _ \| __| 
>         | |_| |___| |_) | (_) | (_) | |_ 
>          \___/    |____/ \___/ \___/ \__| 
>  ** LOADER **
> 
> 
> U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6
> 
> Boot version : v1.0.13
> 
> Board: RD-NAS-88F6820-DDR3
> SoC:   MV88F6820 Rev A0
>        running 2 CPUs
> CPU:   ARM Cortex A9 MPCore (Rev 1) LE
>        CPU 0
>        CPU    @ 1600 [MHz]
>        L2     @ 800 [MHz]
>        TClock @ 200 [MHz]
>        DDR    @ 800 [MHz]
>        DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
> DRAM:  512 MiB
> 
> Map:   Code:			0x1fea9000:0x1ff7632c
>        BSS:			0x1ffef6b4
>        Stack:			0x1f9a8f20
>        Heap:			0x1f9a9000:0x1fea9000
> raise: Signal # 8 caught
> U-ENV offset == 0x200000
> raise: Signal # 8 caught
> U-ENV offset == 0x200000
>        U-Boot Environment:	0x00200000:0x00220000 (NAND)
> 
> NAND:  128 MiB
> MMC:   mv_sdh: 0
> DEVINFO offset == 0x900000
> U-ENV offset == 0x200000
> U-ENV offset == 0x200000
> S-ENV offset == 0x240000
> 
> 
> #### auto_recovery ####
> [u_env] get auto_recovery == yes
> [u_env] get auto_recovery == yes
> [u_env] get boot_part == 2
> [u_env] get boot_part_ready == 3
> auto_recovery enabled:1, boot_part:2, boot_part_ready:3 
> 
> S-ENV offset == 0x240000
> [boot_count_read] block:0x240000, size:128KB, records:64 
> [boot_count_read_record] boot_count:1, next_record:11
> 
> [boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x245800
> 
> Updating boot_count ... 
> [boot_count_write] offset:0x245800 , length:2048
> done
> 
> PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
> PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
> USB2.0 0: Host Mode
> USB3.0 1: Host Mode
> USB3.0 0: Host Mode
> Board configuration detected:
> mvEthE6171SwitchBasicInit init 
> Net:   
> |  port  | Interface | PHY address  |
> |--------|-----------|--------------|
> | egiga0 |   RGMII   |     0x01     |
> | egiga1 |   SGMII   |     0x00     |
> egiga0 [PRIME], egiga1
> auto_recovery_check changes bootcmd: run altnandboot 
> Hit any key to stop autoboot:  3
> Marvell>> run bootcmd_tftp
> Using egiga0 device
> TFTP from server 192.168.1.254; our IP address is 192.168.1.1
> Filename 'uImage'.
> Load address: 0x2000000
> Loading: * #################################################################
> 	 #################################################################
> 	 ##########################################################
> 	 205.1 KiB/s
> done
> Bytes transferred = 2750299 (29f75b hex)
> 
> Starting kernel ...
> 
> [    0.000000][    T0] Booting Linux on physical CPU 0x0
> [    0.000000][    T0] Linux version 6.2.0-rc6-M95D-00001-gd783bde80fb1 (marius95@GRAPHIM) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 12.2.0 r21391+9-a8f3c97ce8) 12.2.0, GNU ld (GNU Binutils) 2.39) #1 SMP Mon Jan 30 09:02:19 EET 2023
> [    0.000000][    T0] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
> [    0.000000][    T0] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> [    0.000000][    T0] OF: fdt: Machine model: Linksys WRT1900ACS
> [    0.000000][    T0] Memory policy: Data cache writealloc
> [    0.000000][    T0] Zone ranges:
> [    0.000000][    T0]   Normal   [mem 0x0000000000000000-0x000000001fffffff]
> [    0.000000][    T0] Movable zone start for each node
> [    0.000000][    T0] Early memory node ranges
> [    0.000000][    T0]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
> [    0.000000][    T0] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
> [    0.000000][    T0] percpu: Embedded 13 pages/cpu s29648 r0 d23600 u53248
> [    0.000000][    T0] pcpu-alloc: s29648 r0 d23600 u53248 alloc=13*4096
> [    0.000000][    T0] pcpu-alloc: [0] 0 [0] 1 
> [    0.000000][    T0] Built 1 zonelists, mobility grouping on.  Total pages: 130048
> [    0.000000][    T0] Kernel command line:  console=ttyS0,115200 nfcConfig=4bitecc mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/sda rootdelay=100  dyndbg=\"file *ata* +plmft\"
> [    0.000000][    T0] Unknown kernel command line parameters "nfcConfig=4bitecc mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg)", will be passed to user space.
> [    0.000000][    T0] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
> [    0.000000][    T0] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
> [    0.000000][    T0] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.000000][    T0] Memory: 503304K/524288K available (6144K kernel code, 682K rwdata, 1724K rodata, 1024K init, 6363K bss, 20984K reserved, 0K cma-reserved)
> [    0.000000][    T0] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
> [    0.000000][    T0] trace event string verifier disabled
> [    0.000000][    T0] Running RCU self tests
> [    0.000000][    T0] rcu: Hierarchical RCU implementation.
> [    0.000000][    T0] rcu: 	RCU lockdep checking is enabled.
> [    0.000000][    T0] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
> [    0.000000][    T0] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
> [    0.000000][    T0] L2C: DT/platform modifies aux control register: 0x06070000 -> 0x16070000
> [    0.000000][    T0] L2C-310 enabling early BRESP for Cortex-A9
> [    0.000000][    T0] L2C-310 full line of zeros enabled for Cortex-A9
> [    0.000000][    T0] L2C-310 D prefetch enabled, offset 1 lines
> [    0.000000][    T0] L2C-310 dynamic clock gating enabled, standby mode enabled
> [    0.000000][    T0] L2C-310 Coherent cache controller enabled, 16 ways, 1024 kB
> [    0.000000][    T0] L2C-310 Coherent: CACHE_ID 0x410054c9, AUX_CTRL 0x56070001
> [    0.000000][    T0] rcu: srcu_init: Setting srcu_struct sizes based on contention.
> [    0.000001][    T0] sched_clock: 64 bits at 800MHz, resolution 1ns, wraps every 4398046511103ns
> [    0.000013][    T0] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
> [    0.000091][    T0] Switching to timer-based delay loop, resolution 1ns
> [    0.000336][    T0] Ignoring duplicate/late registration of read_current_timer delay
> [    0.000342][    T0] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
> [    0.000671][    T0] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
> [    0.000686][    T0] ... MAX_LOCKDEP_SUBCLASSES:  8
> [    0.000691][    T0] ... MAX_LOCK_DEPTH:          48
> [    0.000696][    T0] ... MAX_LOCKDEP_KEYS:        8192
> [    0.000700][    T0] ... CLASSHASH_SIZE:          4096
> [    0.000703][    T0] ... MAX_LOCKDEP_ENTRIES:     32768
> [    0.000707][    T0] ... MAX_LOCKDEP_CHAINS:      65536
> [    0.000711][    T0] ... CHAINHASH_SIZE:          32768
> [    0.000715][    T0]  memory used by lock dependency info: 4061 kB
> [    0.000720][    T0]  memory used for stack traces: 2112 kB
> [    0.000724][    T0]  per task-struct memory footprint: 1536 bytes
> [    0.000773][    T0] Calibrating delay loop (skipped), value calculated using timer frequency.. 1600.00 BogoMIPS (lpj=8000000)
> [    0.000787][    T0] pid_max: default: 32768 minimum: 301
> [    0.000886][    T0] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
> [    0.000895][    T0] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
> [    0.002105][    T0] CPU: Testing write buffer coherency: ok
> [    0.002168][    T0] Spectre V2: workarounds disabled by configuration
> [    0.003606][    T1] Setting up static identity map for 0x100000 - 0x100060
> [    0.003756][    T1] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
> [    0.003891][    T1] mvebu-pmsu: Initializing Power Management Service Unit
> [    0.004190][    T1] rcu: Hierarchical SRCU implementation.
> [    0.004196][    T1] rcu: 	Max phase no-delay instances is 1000.
> [    0.004870][    T1] dyndbg: unknown flag '\'
> [    0.004877][    T1] dyndbg: flags parse failed
> [    0.005143][    T1] smp: Bringing up secondary CPUs ...
> [    0.006060][    T1] Booting CPU 1
> [    0.006572][    T1] smp: Brought up 1 node, 2 CPUs
> [    0.006581][    T1] SMP: Total of 2 processors activated (3200.00 BogoMIPS).
> [    0.006589][    T1] CPU: All CPU(s) started in SVC mode.
> [    0.007669][    T1] devtmpfs: initialized
> [    0.016228][    T1] device: 'platform': device_add
> [    0.016350][    T1] bus: 'platform': registered
> [    0.016402][    T1] bus: 'cpu': registered
> [    0.016418][    T1] device: 'cpu': device_add
> [    0.016577][    T1] bus: 'container': registered
> [    0.016586][    T1] device: 'container': device_add
> [    0.017162][    T1] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
> [    0.017308][    T1] bus: 'workqueue': registered
> [    0.017318][    T1] device: 'workqueue': device_add
> [    0.017863][    T1] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
> [    0.017890][    T1] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
> [    0.018045][    T1] pinctrl core: initialized pinctrl subsystem
> [    0.018482][    T1] bus: 'gpio': registered
> [    0.018491][    T1] bus: 'gpio': add driver gpio_stub_drv
> [    0.018582][    T1] device class 'regulator': registering
> [    0.018665][    T1] Registering platform device 'reg-dummy'. Parent at platform
> [    0.018674][    T1] device: 'reg-dummy': device_add
> [    0.018694][    T1] bus: 'platform': add device reg-dummy
> [    0.018798][    T1] bus: 'platform': add driver reg-dummy
> [    0.018817][    T1] bus: 'platform': __driver_probe_device: matched device reg-dummy with driver reg-dummy
> [    0.018875][    T1] bus: 'platform': really_probe: probing driver reg-dummy with device reg-dummy
> [    0.018957][    T1] reg-dummy reg-dummy: no default pinctrl state
> [    0.019076][    T1] regulator-dummy: no parameters, enabled
> [    0.019088][    T1] device: 'regulator.0': device_add
> [    0.019451][    T1] driver: 'reg-dummy': driver_bound: bound to device 'reg-dummy'
> [    0.019504][    T1] bus: 'platform': really_probe: bound device reg-dummy to driver reg-dummy
> [    0.019630][    T1] bus: 'soc': registered
> [    0.020109][    T1] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [    0.020145][    T1] device: 'soc0': device_add
> [    0.020215][    T1] bus: 'soc': add device soc0
> [    0.021619][    T1] device class 'bdi': registering
> [    0.021727][    T1] device class 'gpio': registering
> [    0.021779][    T1] device class 'pci_bus': registering
> [    0.021860][    T1] bus: 'pci': registered
> [    0.021909][    T1] bus: 'pci_express': registered
> [    0.021917][    T1] device class 'tty': registering
> [    0.021941][    T1] device class 'devlink': registering
> [    0.022046][    T1] bus: 'platform': add driver sram
> [    0.022135][    T1] bus: 'spi': registered
> [    0.022141][    T1] device class 'spi_master': registering
> [    0.022231][    T1] bus: 'i2c': registered
> [    0.022238][    T1] bus: 'i2c': add driver dummy
> [    0.022359][    T1] thermal_sys: Registered thermal governor 'step_wise'
> [    0.022365][    T1] device class 'thermal': registering
> [    0.022520][    T1] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
> [    0.022529][    T1] hw-breakpoint: maximum watchpoint size is 4 bytes.
> [    0.022652][    T1] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
> [    0.022663][    T1] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
> [    0.022722][    T1] device class 'dma': registering
> [    0.022894][    T1] bus: 'platform': add driver mvebu-uart-clock
> [    0.022942][    T1] bus: 'platform': add driver mvebu-uart
> [    0.023168][    T1] device: 'pmu': device_add
> [    0.023201][    T1] bus: 'platform': add device pmu
> [    0.023374][    T1] device: 'soc': device_add
> [    0.023405][    T1] bus: 'platform': add device soc
> [    0.023761][    T1] i2c@11000 Linked as a fwnode consumer to pinctrl@18000
> [    0.026641][    T1] device: 'fff00000.bootrom': device_add
> [    0.026675][    T1] bus: 'platform': add device fff00000.bootrom
> [    0.026806][    T1] device: 'soc:internal-regs': device_add
> [    0.026845][    T1] bus: 'platform': add device soc:internal-regs
> [    0.027715][    T1] device: 'f1001400.sdramc': device_add
> [    0.027746][    T1] bus: 'platform': add device f1001400.sdramc
> [    0.027960][    T1] device: 'f1008000.cache-controller': device_add
> [    0.027990][    T1] bus: 'platform': add device f1008000.cache-controller
> [    0.028197][    T1] device: 'f100c000.scu': device_add
> [    0.028226][    T1] bus: 'platform': add device f100c000.scu
> [    0.028427][    T1] device: 'f100c200.timer': device_add
> [    0.028457][    T1] bus: 'platform': add device f100c200.timer
> [    0.028658][    T1] device: 'f100c600.timer': device_add
> [    0.028693][    T1] bus: 'platform': add device f100c600.timer
> [    0.028902][    T1] device: 'f1011000.i2c': device_add
> [    0.028932][    T1] bus: 'platform': add device f1011000.i2c
> [    0.029230][    T1] device: 'f1012000.serial': device_add
> [    0.029260][    T1] bus: 'platform': add device f1012000.serial
> [    0.029472][    T1] device: 'f1018000.pinctrl': device_add
> [    0.029501][    T1] bus: 'platform': add device f1018000.pinctrl
> [    0.029665][    T1] device: 'platform:f1018000.pinctrl--platform:f1011000.i2c': device_add
> [    0.029921][    T1] devices_kset: Moving f1011000.i2c to end of list
> [    0.029933][    T1] platform f1011000.i2c: Linked as a consumer to f1018000.pinctrl
> [    0.029941][    T1] i2c@11000 Dropping the fwnode link to pinctrl@18000
> [    0.030283][    T1] device: 'f1018100.gpio': device_add
> [    0.030315][    T1] bus: 'platform': add device f1018100.gpio
> [    0.030598][    T1] device: 'f1018140.gpio': device_add
> [    0.030628][    T1] bus: 'platform': add device f1018140.gpio
> [    0.030835][    T1] device: 'f1018200.system-controller': device_add
> [    0.030865][    T1] bus: 'platform': add device f1018200.system-controller
> [    0.031148][    T1] device: 'f1018300.phy': device_add
> [    0.031189][    T1] bus: 'platform': add device f1018300.phy
> [    0.031579][    T1] device: 'f1020000.mbus-controller': device_add
> [    0.031615][    T1] bus: 'platform': add device f1020000.mbus-controller
> [    0.031896][    T1] device: 'f1020300.timer': device_add
> [    0.031926][    T1] bus: 'platform': add device f1020300.timer
> [    0.032273][    T1] device: 'f1020300.watchdog': device_add
> [    0.032303][    T1] bus: 'platform': add device f1020300.watchdog
> [    0.032510][    T1] device: 'f1020800.cpurst': device_add
> [    0.032539][    T1] bus: 'platform': add device f1020800.cpurst
> [    0.032752][    T1] device: 'f1020d20.mpcore-soc-ctrl': device_add
> [    0.032783][    T1] bus: 'platform': add device f1020d20.mpcore-soc-ctrl
> [    0.032998][    T1] device: 'f1021010.coherency-fabric': device_add
> [    0.033034][    T1] bus: 'platform': add device f1021010.coherency-fabric
> [    0.033237][    T1] device: 'f1022000.pmsu': device_add
> [    0.033266][    T1] bus: 'platform': add device f1022000.pmsu
> [    0.033470][    T1] device: 'f1070000.ethernet': device_add
> [    0.033500][    T1] bus: 'platform': add device f1070000.ethernet
> [    0.033715][    T1] device: 'f1034000.ethernet': device_add
> [    0.033744][    T1] bus: 'platform': add device f1034000.ethernet
> [    0.033953][    T1] device: 'f1058000.usb': device_add
> [    0.033983][    T1] bus: 'platform': add device f1058000.usb
> [    0.034255][    T1] device: 'f1060800.xor': device_add
> [    0.034291][    T1] bus: 'platform': add device f1060800.xor
> [    0.034580][    T1] device: 'f1060900.xor': device_add
> [    0.034610][    T1] bus: 'platform': add device f1060900.xor
> [    0.034827][    T1] device: 'f1072004.mdio': device_add
> [    0.034856][    T1] bus: 'platform': add device f1072004.mdio
> [    0.035117][    T1] device: 'f1090000.crypto': device_add
> [    0.035146][    T1] bus: 'platform': add device f1090000.crypto
> [    0.035353][    T1] device: 'f10a8000.sata': device_add
> [    0.035382][    T1] bus: 'platform': add device f10a8000.sata
> [    0.035584][    T1] device: 'f10c8000.bm': device_add
> [    0.035620][    T1] bus: 'platform': add device f10c8000.bm
> [    0.035904][    T1] device: 'f10e4078.thermal': device_add
> [    0.035934][    T1] bus: 'platform': add device f10e4078.thermal
> [    0.036136][    T1] device: 'f10d0000.nand-controller': device_add
> [    0.036166][    T1] bus: 'platform': add device f10d0000.nand-controller
> [    0.036534][    T1] device: 'f10f8000.usb3': device_add
> [    0.036564][    T1] bus: 'platform': add device f10f8000.usb3
> [    0.036741][    T1] device: 'f1100000.sa-sram0': device_add
> [    0.036771][    T1] bus: 'platform': add device f1100000.sa-sram0
> [    0.036847][    T1] bus: 'platform': __driver_probe_device: matched device f1100000.sa-sram0 with driver sram
> [    0.036859][    T1] bus: 'platform': really_probe: probing driver sram with device f1100000.sa-sram0
> [    0.036879][    T1] sram f1100000.sa-sram0: no pinctrl handle
> [    0.037062][    T1] driver: 'sram': driver_bound: bound to device 'f1100000.sa-sram0'
> [    0.037141][    T1] bus: 'platform': really_probe: bound device f1100000.sa-sram0 to driver sram
> [    0.037259][    T1] device: 'f1110000.sa-sram1': device_add
> [    0.037292][    T1] bus: 'platform': add device f1110000.sa-sram1
> [    0.037359][    T1] bus: 'platform': __driver_probe_device: matched device f1110000.sa-sram1 with driver sram
> [    0.037369][    T1] bus: 'platform': really_probe: probing driver sram with device f1110000.sa-sram1
> [    0.037387][    T1] sram f1110000.sa-sram1: no pinctrl handle
> [    0.037492][    T1] driver: 'sram': driver_bound: bound to device 'f1110000.sa-sram1'
> [    0.037541][    T1] bus: 'platform': really_probe: bound device f1110000.sa-sram1 to driver sram
> [    0.037662][    T1] device: 'f1200000.bm-bppi': device_add
> [    0.037693][    T1] bus: 'platform': add device f1200000.bm-bppi
> [    0.037759][    T1] bus: 'platform': __driver_probe_device: matched device f1200000.bm-bppi with driver sram
> [    0.037769][    T1] bus: 'platform': really_probe: probing driver sram with device f1200000.bm-bppi
> [    0.037787][    T1] sram f1200000.bm-bppi: no pinctrl handle
> [    0.037897][    T1] driver: 'sram': driver_bound: bound to device 'f1200000.bm-bppi'
> [    0.037946][    T1] bus: 'platform': really_probe: bound device f1200000.bm-bppi to driver sram
> [    0.038019][    T1] device: 'soc:pcie': device_add
> [    0.038051][    T1] bus: 'platform': add device soc:pcie
> [    0.038193][    T1] device: 'usb3_1-phy': device_add
> [    0.038223][    T1] bus: 'platform': add device usb3_1-phy
> [    0.038291][    T1] usb3_1-phy Linked as a fwnode consumer to usb3_1-vbus
> [    0.038356][    T1] device: 'usb3_1-vbus': device_add
> [    0.038396][    T1] bus: 'platform': add device usb3_1-vbus
> [    0.038468][    T1] usb3_1-vbus Linked as a fwnode consumer to pinctrl@18000
> [    0.038499][    T1] usb3_1-vbus Linked as a fwnode consumer to gpio@18140
> [    0.038525][    T1] device: 'platform:usb3_1-vbus--platform:usb3_1-phy': device_add
> [    0.038633][    T1] devices_kset: Moving usb3_1-phy to end of list
> [    0.038643][    T1] platform usb3_1-phy: Linked as a consumer to usb3_1-vbus
> [    0.038651][    T1] usb3_1-phy Dropping the fwnode link to usb3_1-vbus
> [    0.038669][    T1] device: 'platform:f1018140.gpio--platform:usb3_1-vbus': device_add
> [    0.038771][    T1] devices_kset: Moving usb3_1-vbus to end of list
> [    0.038780][    T1] devices_kset: Moving usb3_1-phy to end of list
> [    0.038789][    T1] platform usb3_1-vbus: Linked as a consumer to f1018140.gpio
> [    0.038796][    T1] usb3_1-vbus Dropping the fwnode link to gpio@18140
> [    0.038815][    T1] device: 'platform:f1018000.pinctrl--platform:usb3_1-vbus': device_add
> [    0.038924][    T1] devices_kset: Moving usb3_1-vbus to end of list
> [    0.038933][    T1] devices_kset: Moving usb3_1-phy to end of list
> [    0.038942][    T1] platform usb3_1-vbus: Linked as a consumer to f1018000.pinctrl
> [    0.038949][    T1] usb3_1-vbus Dropping the fwnode link to pinctrl@18000
> [    0.039075][    T1] device: 'gpio-keys': device_add
> [    0.039105][    T1] bus: 'platform': add device gpio-keys
> [    0.039175][    T1] gpio-keys Linked as a fwnode consumer to pinctrl@18000
> [    0.039208][    T1] button-wps Linked as a fwnode consumer to gpio@18100
> [    0.039240][    T1] button-reset Linked as a fwnode consumer to gpio@18100
> [    0.039265][    T1] device: 'platform:f1018000.pinctrl--platform:gpio-keys': device_add
> [    0.039392][    T1] devices_kset: Moving gpio-keys to end of list
> [    0.039403][    T1] platform gpio-keys: Linked as a consumer to f1018000.pinctrl
> [    0.039410][    T1] gpio-keys Dropping the fwnode link to pinctrl@18000
> [    0.039504][    T1] device: 'platform:f1018100.gpio--platform:gpio-keys': device_add
> [    0.039608][    T1] platform gpio-keys: Linked as a sync state only consumer to f1018100.gpio
> [    0.039663][    T1] device: 'gpio-leds': device_add
> [    0.039692][    T1] bus: 'platform': add device gpio-leds
> [    0.039769][    T1] gpio-leds Linked as a fwnode consumer to pinctrl@18000
> [    0.039799][    T1] led-power Linked as a fwnode consumer to gpio@18140
> [    0.039831][    T1] led-sata Linked as a fwnode consumer to gpio@18140
> [    0.039859][    T1] device: 'platform:f1018000.pinctrl--platform:gpio-leds': device_add
> [    0.039963][    T1] devices_kset: Moving gpio-leds to end of list
> [    0.039973][    T1] platform gpio-leds: Linked as a consumer to f1018000.pinctrl
> [    0.039981][    T1] gpio-leds Dropping the fwnode link to pinctrl@18000
> [    0.040073][    T1] device: 'platform:f1018140.gpio--platform:gpio-leds': device_add
> [    0.040218][    T1] platform gpio-leds: Linked as a sync state only consumer to f1018140.gpio
> [    0.040293][    T1] device: 'cpu0': device_add
> [    0.040320][    T1] bus: 'cpu': add device cpu0
> [    0.040416][    T1] device: 'cpu1': device_add
> [    0.040443][    T1] bus: 'cpu': add device cpu1
> [    0.041005][    T1] device: 'writeback': device_add
> [    0.041037][    T1] bus: 'workqueue': add device writeback
> [    0.041548][    T1] device class 'block': registering
> [    0.041952][    T1] bus: 'platform': add driver reg-fixed-voltage
> [    0.042094][    T1] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
> [    0.042155][    T1] platform usb3_1-vbus: error -EPROBE_DEFER: supplier f1018140.gpio not ready
> [    0.042169][    T1] platform usb3_1-vbus: Added to deferred list
> [    0.042234][    T1] device class 'misc': registering
> [    0.042472][    T1] device class 'scsi_host': registering
> [    0.042554][    T1] bus: 'scsi': registered
> [    0.042560][    T1] device class 'scsi_device': registering
> [    0.042583][    T1] SCSI subsystem initialized
> [    0.042591][    T1] device class 'ata_link': registering
> [    0.042614][    T1] device class 'ata_port': registering
> [    0.042635][    T1] device class 'ata_device': registering
> [    0.042694][    T1] libata version 3.00 loaded.
> [    0.042839][    T1] bus: 'usb': registered
> [    0.042855][    T1] bus: 'usb': add driver usbfs
> [    0.042912][    T1] usbcore: registered new interface driver usbfs
> [    0.042949][    T1] bus: 'usb': add driver hub
> [    0.043000][    T1] usbcore: registered new interface driver hub
> [    0.043029][    T1] bus: 'usb': add driver usb
> [    0.043068][    T1] usbcore: registered new device driver usb
> [    0.043078][    T1] bus: 'platform': add driver usb_phy_generic
> [    0.043192][    T1] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
> [    0.043208][    T1] platform usb3_1-phy: error -EPROBE_DEFER: supplier usb3_1-vbus not ready
> [    0.043218][    T1] platform usb3_1-phy: Added to deferred list
> [    0.043262][    T1] device class 'input': registering
> [    0.043304][    T1] device class 'hwmon': registering
> [    0.043330][    T1] device class 'leds': registering
> [    0.043586][    T1] device class 'watchdog': registering
> [    0.053511][    T1] clocksource: Switched to clocksource arm_global_timer
> [    0.054823][    T1] device class 'mem': registering
> [    0.054860][    T1] device: 'null': device_add
> [    0.055308][    T1] device: 'zero': device_add
> [    0.055451][    T1] device: 'full': device_add
> [    0.055585][    T1] device: 'random': device_add
> [    0.055726][    T1] device: 'urandom': device_add
> [    0.055857][    T1] device: 'kmsg': device_add
> [    0.056022][    T1] device: 'tty': device_add
> [    0.056208][    T1] device: 'console': device_add
> [    0.056385][    T1] PCI: CLS 0 bytes, default 64
> [    0.056659][    T1] bus: 'platform': add driver armv7-pmu
> [    0.056689][    T1] bus: 'platform': __driver_probe_device: matched device pmu with driver armv7-pmu
> [    0.056701][    T1] bus: 'platform': really_probe: probing driver armv7-pmu with device pmu
> [    0.056723][    T1] armv7-pmu pmu: no pinctrl handle
> [    0.128996][    T1] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
> [    0.129014][    T1] driver: 'armv7-pmu': driver_bound: bound to device 'pmu'
> [    0.129105][    T1] bus: 'platform': really_probe: bound device pmu to driver armv7-pmu
> [    0.129535][    T1] bus: 'clocksource': registered
> [    0.129551][    T1] device: 'clocksource': device_add
> [    0.129576][    T1] device: 'clocksource0': device_add
> [    0.129610][    T1] bus: 'clocksource': add device clocksource0
> [    0.129710][    T1] bus: 'platform': add driver alarmtimer
> [    0.129908][    T1] bus: 'clockevents': registered
> [    0.129926][    T1] device: 'clockevents': device_add
> [    0.129949][    T1] device: 'clockevent0': device_add
> [    0.129968][    T1] bus: 'clockevents': add device clockevent0
> [    0.130054][    T1] device: 'clockevent1': device_add
> [    0.130078][    T1] bus: 'clockevents': add device clockevent1
> [    0.130136][    T1] device: 'broadcast': device_add
> [    0.130153][    T1] bus: 'clockevents': add device broadcast
> [    0.130374][    T1] bus: 'event_source': registered
> [    0.130397][    T1] device: 'software': device_add
> [    0.130417][    T1] bus: 'event_source': add device software
> [    0.130528][    T1] device: 'tracepoint': device_add
> [    0.130550][    T1] bus: 'event_source': add device tracepoint
> [    0.130604][    T1] device: 'breakpoint': device_add
> [    0.130623][    T1] bus: 'event_source': add device breakpoint
> [    0.130675][    T1] device: 'armv7_cortex_a9': device_add
> [    0.130833][    T1] bus: 'event_source': add device armv7_cortex_a9
> [    0.131094][    T1] workingset: timestamp_bits=30 max_order=17 bucket_order=0
> [    0.131792][    T1] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.178248][    T1] device class 'bsg': registering
> [    0.178294][    T1] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
> [    0.178445][    T1] bus: 'platform': add driver simple-pm-bus
> [    0.178478][    T1] bus: 'platform': __driver_probe_device: matched device soc with driver simple-pm-bus
> [    0.178491][    T1] bus: 'platform': really_probe: probing driver simple-pm-bus with device soc
> [    0.178514][    T1] simple-pm-bus soc: no pinctrl handle
> [    0.178567][    T1] simple-pm-bus: probe of soc rejects match -19
> [    0.178598][    T1] bus: 'platform': __driver_probe_device: matched device soc:internal-regs with driver simple-pm-bus
> [    0.178609][    T1] bus: 'platform': really_probe: probing driver simple-pm-bus with device soc:internal-regs
> [    0.178627][    T1] simple-pm-bus soc:internal-regs: no pinctrl handle
> [    0.178677][    T1] driver: 'simple-pm-bus': driver_bound: bound to device 'soc:internal-regs'
> [    0.178857][    T1] bus: 'platform': really_probe: bound device soc:internal-regs to driver simple-pm-bus
> [    0.179037][    T1] device class 'phy': registering
> [    0.179073][    T1] bus: 'platform': add driver armada-38x-comphy
> [    0.179137][    T1] bus: 'platform': __driver_probe_device: matched device f1018300.phy with driver armada-38x-comphy
> [    0.179149][    T1] bus: 'platform': really_probe: probing driver armada-38x-comphy with device f1018300.phy
> [    0.179169][    T1] armada-38x-comphy f1018300.phy: no pinctrl handle
> [    0.179321][    T1] phy phy-f1018300.phy.0: Looking up phy-supply from device tree
> [    0.179334][    T1] phy phy-f1018300.phy.0: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@0 failed
> [    0.179376][    T1] device: 'phy-f1018300.phy.0': device_add
> [    0.179545][    T1] phy phy-f1018300.phy.1: Looking up phy-supply from device tree
> [    0.179556][    T1] phy phy-f1018300.phy.1: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@1 failed
> [    0.179595][    T1] device: 'phy-f1018300.phy.1': device_add
> [    0.179700][    T1] phy phy-f1018300.phy.2: Looking up phy-supply from device tree
> [    0.179710][    T1] phy phy-f1018300.phy.2: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@2 failed
> [    0.179748][    T1] device: 'phy-f1018300.phy.2': device_add
> [    0.179847][    T1] phy phy-f1018300.phy.3: Looking up phy-supply from device tree
> [    0.179857][    T1] phy phy-f1018300.phy.3: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@3 failed
> [    0.179895][    T1] device: 'phy-f1018300.phy.3': device_add
> [    0.179995][    T1] phy phy-f1018300.phy.4: Looking up phy-supply from device tree
> [    0.180005][    T1] phy phy-f1018300.phy.4: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@4 failed
> [    0.180043][    T1] device: 'phy-f1018300.phy.4': device_add
> [    0.180140][    T1] phy phy-f1018300.phy.5: Looking up phy-supply from device tree
> [    0.180150][    T1] phy phy-f1018300.phy.5: Looking up phy-supply property in node /soc/internal-regs/phy@18300/phy@5 failed
> [    0.180188][    T1] device: 'phy-f1018300.phy.5': device_add
> [    0.180324][    T1] driver: 'armada-38x-comphy': driver_bound: bound to device 'f1018300.phy'
> [    0.180421][    T1] bus: 'platform': really_probe: bound device f1018300.phy to driver armada-38x-comphy
> [    0.180560][    T1] bus: 'platform': add driver armada-38x-pinctrl
> [    0.180622][    T1] bus: 'platform': __driver_probe_device: matched device f1018000.pinctrl with driver armada-38x-pinctrl
> [    0.180633][    T1] bus: 'platform': really_probe: probing driver armada-38x-pinctrl with device f1018000.pinctrl
> [    0.180659][    T1] armada-38x-pinctrl f1018000.pinctrl: no pinctrl handle
> [    0.181367][    T1] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
> [    0.181413][    T1] driver: 'armada-38x-pinctrl': driver_bound: bound to device 'f1018000.pinctrl'
> [    0.181585][    T1] bus: 'platform': really_probe: bound device f1018000.pinctrl to driver armada-38x-pinctrl
> [    0.181731][    T1] bus: 'platform': add driver mvebu-gpio
> [    0.181797][    T1] bus: 'platform': __driver_probe_device: matched device f1018100.gpio with driver mvebu-gpio
> [    0.181807][    T1] bus: 'platform': really_probe: probing driver mvebu-gpio with device f1018100.gpio
> [    0.181827][    T1] mvebu-gpio f1018100.gpio: no pinctrl handle
> [    0.182549][    T1] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
> [    0.182677][    T1] device: 'gpiochip0': device_add
> [    0.182714][    T1] bus: 'gpio': add device gpiochip0
> [    0.182971][    T1] device: 'gpiochip0': device_add
> [    0.183402][    T1] driver: 'mvebu-gpio': driver_bound: bound to device 'f1018100.gpio'
> [    0.183527][    T1] bus: 'platform': really_probe: bound device f1018100.gpio to driver mvebu-gpio
> [    0.183547][    T1] bus: 'platform': __driver_probe_device: matched device f1018140.gpio with driver mvebu-gpio
> [    0.183557][    T1] bus: 'platform': really_probe: probing driver mvebu-gpio with device f1018140.gpio
> [    0.183587][    T1] mvebu-gpio f1018140.gpio: no pinctrl handle
> [    0.184246][    T1] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
> [    0.184318][    T1] device: 'gpiochip1': device_add
> [    0.184353][    T1] bus: 'gpio': add device gpiochip1
> [    0.184533][    T1] device: 'gpiochip32': device_add
> [    0.184805][    T1] driver: 'mvebu-gpio': driver_bound: bound to device 'f1018140.gpio'
> [    0.184873][    T1] bus: 'platform': really_probe: bound device f1018140.gpio to driver mvebu-gpio
> [    0.185035][    T1] bus: 'pci': add driver pcieport
> [    0.185124][    T1] bus: 'platform': add driver mvebu-pcie
> [    0.185282][    T1] bus: 'platform': __driver_probe_device: matched device soc:pcie with driver mvebu-pcie
> [    0.185294][    T1] bus: 'platform': really_probe: probing driver mvebu-pcie with device soc:pcie
> [    0.185314][    T1] mvebu-pcie soc:pcie: no pinctrl handle
> [    0.185371][    T1] mvebu-pcie soc:pcie: host bridge /soc/pcie ranges:
> [    0.185443][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1080000..0x00f1081fff -> 0x0000080000
> [    0.185495][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1040000..0x00f1041fff -> 0x0000040000
> [    0.185545][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1044000..0x00f1045fff -> 0x0000044000
> [    0.185594][    T1] mvebu-pcie soc:pcie:      MEM 0x00f1048000..0x00f1049fff -> 0x0000048000
> [    0.185641][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
> [    0.185686][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
> [    0.185730][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
> [    0.185774][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
> [    0.185818][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
> [    0.185861][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
> [    0.185905][    T1] mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
> [    0.185931][    T1] mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
> [    0.186664][    T1] device: 'pci0000:00': device_add
> [    0.186705][    T1] device: '0000:00': device_add
> [    0.186874][    T1] mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
> [    0.186886][    T1] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.186897][    T1] pci_bus 0000:00: root bus resource [mem 0xf1080000-0xf1081fff] (bus address [0x00080000-0x00081fff])
> [    0.186907][    T1] pci_bus 0000:00: root bus resource [mem 0xf1040000-0xf1041fff] (bus address [0x00040000-0x00041fff])
> [    0.186917][    T1] pci_bus 0000:00: root bus resource [mem 0xf1044000-0xf1045fff] (bus address [0x00044000-0x00045fff])
> [    0.186926][    T1] pci_bus 0000:00: root bus resource [mem 0xf1048000-0xf1049fff] (bus address [0x00048000-0x00049fff])
> [    0.186935][    T1] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
> [    0.186943][    T1] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
> [    0.187114][    T1] pci 0000:00:01.0: [11ab:6820] type 01 class 0x060400
> [    0.187276][    T1] device: '0000:00:01.0': device_add
> [    0.187361][    T1] bus: 'pci': add device 0000:00:01.0
> [    0.187656][    T1] pci 0000:00:02.0: [11ab:6820] type 01 class 0x060400
> [    0.187773][    T1] device: '0000:00:02.0': device_add
> [    0.187855][    T1] bus: 'pci': add device 0000:00:02.0
> [    0.188869][    T1] PCI: bus0: Fast back to back transfers disabled
> [    0.188880][    T1] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> [    0.188898][    T1] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> [    0.188951][    T1] device: '0000:01': device_add
> [    0.189126][    T1] pci 0000:01:00.0: [11ab:2a55] type 00 class 0x020000
> [    0.189164][    T1] pci 0000:01:00.0: reg 0x10: [mem 0x40000000-0x400fffff 64bit pref]
> [    0.189191][    T1] pci 0000:01:00.0: reg 0x18: [mem 0x40100000-0x401fffff 64bit pref]
> [    0.189338][    T1] pci 0000:01:00.0: supports D1 D2
> [    0.189346][    T1] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold
> [    0.189456][    T1] device: '0000:01:00.0': device_add
> [    0.189517][    T1] bus: 'pci': add device 0000:01:00.0
> [    0.189743][    T1] PCI: bus1: Fast back to back transfers disabled
> [    0.189753][    T1] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
> [    0.189806][    T1] device: '0000:02': device_add
> [    0.189987][    T1] pci 0000:02:00.0: [11ab:2a55] type 00 class 0x020000
> [    0.190028][    T1] pci 0000:02:00.0: reg 0x10: [mem 0x42000000-0x420fffff 64bit pref]
> [    0.190056][    T1] pci 0000:02:00.0: reg 0x18: [mem 0x42100000-0x421fffff 64bit pref]
> [    0.190228][    T1] pci 0000:02:00.0: supports D1 D2
> [    0.190236][    T1] pci 0000:02:00.0: PME# supported from D0 D1 D3hot D3cold
> [    0.190281][    T1] pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:02.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
> [    0.190315][    T1] device: '0000:02:00.0': device_add
> [    0.190368][    T1] bus: 'pci': add device 0000:02:00.0
> [    0.190597][    T1] PCI: bus2: Fast back to back transfers disabled
> [    0.190606][    T1] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
> [    0.190631][    T1] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe01fffff]
> [    0.190643][    T1] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0200000-0xe03fffff]
> [    0.190656][    T1] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe00fffff 64bit pref]
> [    0.190678][    T1] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0100000-0xe01fffff 64bit pref]
> [    0.190698][    T1] pci 0000:00:01.0: PCI bridge to [bus 01]
> [    0.190710][    T1] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe01fffff]
> [    0.190733][    T1] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0200000-0xe02fffff 64bit pref]
> [    0.190755][    T1] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0300000-0xe03fffff 64bit pref]
> [    0.190775][    T1] pci 0000:00:02.0: PCI bridge to [bus 02]
> [    0.190786][    T1] pci 0000:00:02.0:   bridge window [mem 0xe0200000-0xe03fffff]
> [    0.190818][    T1] pci 0000:00:01.0: Max Payload Size set to  128/ 128 (was  128), Max Read Rq  128
> [    0.190861][    T1] pci 0000:01:00.0: Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
> [    0.190897][    T1] pci 0000:00:02.0: Max Payload Size set to  128/ 128 (was  128), Max Read Rq  128
> [    0.190929][    T1] pci 0000:02:00.0: Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
> [    0.191002][    T1] bus: 'pci': __driver_probe_device: matched device 0000:00:01.0 with driver pcieport
> [    0.191017][    T1] bus: 'pci': really_probe: probing driver pcieport with device 0000:00:01.0
> [    0.191040][    T1] pcieport 0000:00:01.0: no pinctrl handle
> [    0.191101][    T1] pcieport 0000:00:01.0: enabling device (0140 -> 0142)
> [    0.191125][    T1] pcieport: probe of 0000:00:01.0 rejects match -19
> [    0.191169][    T1] bus: 'pci': __driver_probe_device: matched device 0000:00:02.0 with driver pcieport
> [    0.191179][    T1] bus: 'pci': really_probe: probing driver pcieport with device 0000:00:02.0
> [    0.191198][    T1] pcieport 0000:00:02.0: no pinctrl handle
> [    0.191249][    T1] pcieport 0000:00:02.0: enabling device (0140 -> 0142)
> [    0.191270][    T1] pcieport: probe of 0000:00:02.0 rejects match -19
> [    0.191328][    T1] driver: 'mvebu-pcie': driver_bound: bound to device 'soc:pcie'
> [    0.191397][    T1] bus: 'platform': really_probe: bound device soc:pcie to driver mvebu-pcie
> [    0.191463][    T1] bus: 'platform': add driver of_fixed_factor_clk
> [    0.191639][    T1] bus: 'platform': add driver of_fixed_clk
> [    0.191790][    T1] bus: 'platform': add driver gpio-clk
> [    0.191946][    T1] bus: 'platform': add driver mv_xor
> [    0.192046][    T1] bus: 'platform': __driver_probe_device: matched device f1060800.xor with driver mv_xor
> [    0.192057][    T1] bus: 'platform': really_probe: probing driver mv_xor with device f1060800.xor
> [    0.192076][    T1] mv_xor f1060800.xor: no pinctrl handle
> [    0.192130][    T1] mv_xor f1060800.xor: Marvell shared XOR driver
> [    0.255391][    T1] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
> [    0.255500][    T1] device: 'dma0chan0': device_add
> [    0.255731][    T1] driver: 'mv_xor': driver_bound: bound to device 'f1060800.xor'
> [    0.255823][    T1] bus: 'platform': really_probe: bound device f1060800.xor to driver mv_xor
> [    0.255842][    T1] bus: 'platform': __driver_probe_device: matched device f1060900.xor with driver mv_xor
> [    0.255852][    T1] bus: 'platform': really_probe: probing driver mv_xor with device f1060900.xor
> [    0.255873][    T1] mv_xor f1060900.xor: no pinctrl handle
> [    0.255930][    T1] mv_xor f1060900.xor: Marvell shared XOR driver
> [    0.315392][    T1] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
> [    0.315435][    T1] device: 'dma1chan0': device_add
> [    0.315623][    T1] driver: 'mv_xor': driver_bound: bound to device 'f1060900.xor'
> [    0.315711][    T1] bus: 'platform': really_probe: bound device f1060900.xor to driver mv_xor
> [    0.315850][    T1] device: 'ptmx': device_add
> [    0.316039][    T1] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
> [    0.316073][    T1] Registering platform device 'serial8250'. Parent at platform
> [    0.316082][    T1] device: 'serial8250': device_add
> [    0.316104][    T1] bus: 'platform': add device serial8250
> [    0.316309][    T1] device: 'ttyS0': device_add
> [    0.316764][    T1] bus: 'platform': add driver serial8250
> [    0.316845][    T1] bus: 'platform': __driver_probe_device: matched device serial8250 with driver serial8250
> [    0.316857][    T1] bus: 'platform': really_probe: probing driver serial8250 with device serial8250
> [    0.316877][    T1] serial8250 serial8250: no default pinctrl state
> [    0.316907][    T1] driver: 'serial8250': driver_bound: bound to device 'serial8250'
> [    0.316942][    T1] bus: 'platform': really_probe: bound device serial8250 to driver serial8250
> [    0.316990][    T1] bus: 'platform': add driver dw-apb-uart
> [    0.317047][    T1] bus: 'platform': __driver_probe_device: matched device f1012000.serial with driver dw-apb-uart
> [    0.317057][    T1] bus: 'platform': really_probe: probing driver dw-apb-uart with device f1012000.serial
> [    0.317083][    T1] dw-apb-uart f1012000.serial: no pinctrl handle
> [    0.317441][    T1] device: 'ttyS0': device_unregister
> [    0.318131][    T1] printk: console [ttyS0] disabled
> [    0.338420][    T1] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 41, base_baud = 12500000) is a 16550A
> [    0.338599][    T1] printk: console [ttyS0] enabled
> [    3.904166][    T1] device: 'ttyS0': device_add
> [    3.909336][    T1] driver: 'dw-apb-uart': driver_bound: bound to device 'f1012000.serial'
> [    3.917762][    T1] bus: 'platform': really_probe: bound device f1012000.serial to driver dw-apb-uart
> [    3.927253][    T1] device: 'ttyprintk': device_add
> [    3.932607][    T1] device: 'loop-control': device_add
> [    3.938677][    T1] device: 'loop0': device_add
> [    3.944055][    T1] device: '7:0': device_add
> [    3.948749][    T1] loop: module loaded
> [    3.952615][    T1] device class 'zram-control': registering
> [    3.958591][    T1] device: 'zram0': device_add
> [    3.963951][    T1] device: '254:0': device_add
> [    3.968808][    T1] zram: Added device: zram0
> [    3.973241][    T1] device class 'scsi_disk': registering
> [    3.978745][    T1] bus: 'scsi': add driver sd
> [    3.983265][    T1] bus: 'pci': add driver ahci
> [    3.987932][    T1] bus: 'platform': add driver ahci-mvebu
> [    3.993594][    T1] bus: 'platform': __driver_probe_device: matched device f10a8000.sata with driver ahci-mvebu
> [    4.003762][    T1] bus: 'platform': really_probe: probing driver ahci-mvebu with device f10a8000.sata
> [    4.013131][    T1] ahci-mvebu f10a8000.sata: no pinctrl handle
> [    4.019244][    T1] ahci-mvebu f10a8000.sata: Looking up ahci-supply from device tree
> [    4.027143][    T1] ahci-mvebu f10a8000.sata: Looking up ahci-supply property in node /soc/internal-regs/sata@a8000 failed
> [    4.038288][    T1] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
> [    4.046754][    T1] device: 'regulator:regulator.0--platform:f10a8000.sata': device_add
> [    4.055063][    T1] devices_kset: Moving f10a8000.sata to end of list
> [    4.061545][    T1] ahci-mvebu f10a8000.sata: Linked as a consumer to regulator.0
> [    4.069095][    T1] ahci-mvebu f10a8000.sata: Looking up phy-supply from device tree
> [    4.076903][    T1] ahci-mvebu f10a8000.sata: Looking up phy-supply property in node /soc/internal-regs/sata@a8000 failed
> [    4.087957][    T1] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
> [    4.096317][    T1] ahci-mvebu f10a8000.sata: Looking up target-supply from device tree
> [    4.104389][    T1] ahci-mvebu f10a8000.sata: Looking up target-supply property in node /soc/internal-regs/sata@a8000 failed
> [    4.115712][    T1] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
> [    4.124640][    T1] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
> [    4.134463][    T1] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
> [    4.144166][    T1] device: 'ata1': device_add
> [    4.148665][    T1] device: 'ata1': device_add
> [    4.153494][    T1] device: 'link1': device_add
> [    4.158076][    T1] device: 'link1': device_add
> [    4.162753][    T1] device: 'dev1.0': device_add
> [    4.167441][    T1] device: 'dev1.0': device_add
> [    4.172225][    T1] device: 'ata2': device_add
> [    4.176746][    T1] device: 'ata2': device_add
> [    4.181318][    T1] device: 'link2': device_add
> [    4.185916][    T1] device: 'link2': device_add
> [    4.190572][    T1] device: 'dev2.0': device_add
> [    4.195257][    T1] device: 'dev2.0': device_add
> [    4.200422][    T1] device: 'scsi_tmf_0': device_add
> [    4.205482][    T1] bus: 'workqueue': add device scsi_tmf_0
> [    4.211166][    T1] scsi host0: ahci-mvebu
> [    4.215457][    T1] device: 'host0': device_add
> [    4.220034][    T1] bus: 'scsi': add device host0
> [    4.224894][    T1] device: 'host0': device_add
> [    4.230035][    T1] device: 'scsi_tmf_1': device_add
> [    4.235086][    T1] bus: 'workqueue': add device scsi_tmf_1
> [    4.240764][    T1] scsi host1: ahci-mvebu
> [    4.244976][    T1] device: 'host1': device_add
> [    4.249551][    T1] bus: 'scsi': add device host1
> [    4.254347][    T1] device: 'host1': device_add
> [    4.259117][    T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
> [    4.267796][    T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
> [    4.276522][    T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
> [    4.284664][    T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu
> [    4.293790][    T1] device class 'mtd': registering
> [    4.298760][    T1] device: 'mtd-0': device_add
> [    4.303656][    T1] bus: 'platform': add driver marvell-nfc
> [    4.309428][    T1] bus: 'platform': __driver_probe_device: matched device f10d0000.nand-controller with driver marvell-nfc
> [    4.320642][    T1] bus: 'platform': really_probe: probing driver marvell-nfc with device f10d0000.nand-controller
> [    4.331079][    T1] marvell-nfc f10d0000.nand-controller: no pinctrl handle
> [    4.338645][    T1] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
> [    4.345773][    T1] nand: AMD/Spansion S34ML01G2
> [    4.350417][    T1] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
> [    4.359130][    T1] Bad block table found at page 65472, version 0x01
> [    4.366098][    T1] Bad block table found at page 65408, version 0x01
> [    4.372977][    T1] 10 fixed-partitions partitions found on MTD device pxa3xx_nand-0
> [    4.380809][    T1] Creating 10 MTD partitions on "pxa3xx_nand-0":
> [    4.387045][    T1] 0x000000000000-0x000000200000 : "u-boot"
> [    4.392853][    T1] device: 'mtd0': device_add
> [    4.398063][    T1] device: 'mtd0ro': device_add
> [    4.403286][    T1] device: 'mtdblock0': device_add
> [    4.408943][    T1] device: '31:0': device_add
> [    4.413714][    T1] 0x000000200000-0x000000240000 : "u_env"
> [    4.419348][    T1] device: 'mtd1': device_add
> [    4.424196][    T1] device: 'mtd1ro': device_add
> [    4.429161][    T1] device: 'mtdblock1': device_add
> [    4.434666][    T1] device: '31:1': device_add
> [    4.439375][    T1] 0x000000240000-0x000000280000 : "s_env"
> [    4.445026][    T1] device: 'mtd2': device_add
> [    4.449822][    T1] device: 'mtd2ro': device_add
> [    4.454814][    T1] device: 'mtdblock2': device_add
> [    4.460283][    T1] device: '31:2': device_add
> [    4.464991][    T1] 0x000000900000-0x000000a00000 : "devinfo"
> [    4.470802][    T1] device: 'mtd3': device_add
> [    4.475627][    T1] device: 'mtd3ro': device_add
> [    4.480671][    T1] device: 'mtdblock3': device_add
> [    4.486343][    T1] device: '31:3': device_add
> [    4.491026][    T1] 0x000000a00000-0x000003200000 : "kernel1"
> [    4.497574][    T1] device: 'mtd4': device_add
> [    4.502393][    T1] device: 'mtd4ro': device_add
> [    4.507422][    T1] device: 'mtdblock4': device_add
> [    4.512897][    T1] device: '31:4': device_add
> [    4.517595][    T1] 0x000001000000-0x000003200000 : "rootfs1"
> [    4.524022][    T1] device: 'mtd5': device_add
> [    4.528846][    T1] device: 'mtd5ro': device_add
> [    4.533837][    T1] device: 'mtdblock5': device_add
> [    4.539310][    T1] device: '31:5': device_add
> [    4.544010][    T1] 0x000003200000-0x000005a00000 : "kernel2"
> [    4.550523][    T1] device: 'mtd6': device_add
> [    4.555347][    T1] device: 'mtd6ro': device_add
> [    4.560333][    T1] device: 'mtdblock6': device_add
> [    4.565869][    T1] device: '31:6': device_add
> [    4.570544][    T1] 0x000003800000-0x000005a00000 : "rootfs2"
> [    4.576983][    T1] device: 'mtd7': device_add
> [    4.581798][    T1] device: 'mtd7ro': device_add
> [    4.586787][    T1] device: 'mtdblock7': device_add
> [    4.592257][    T1] device: '31:7': device_add
> [    4.596967][    T1] 0x000005a00000-0x000008000000 : "syscfg"
> [    4.603339][    T1] device: 'mtd8': device_add
> [    4.608168][    T1] device: 'mtd8ro': device_add
> [    4.613112][    T1] device: 'mtdblock8': device_add
> [    4.618616][    T1] device: '31:8': device_add
> [    4.623284][    T1] 0x000000280000-0x000000900000 : "unused_area"
> [    4.629570][    T1] device: 'mtd9': device_add
> [    4.634392][    T1] device: 'mtd9ro': device_add
> [    4.635223][  T108] ata1: SATA link down (SStatus 0 SControl 300)
> [    4.639358][    T1] device: 'mtdblock9': device_add
> [    4.650694][    T1] device: '31:9': device_add
> [    4.655423][    T1] driver: 'marvell-nfc': driver_bound: bound to device 'f10d0000.nand-controller'
> [    4.664665][    T1] bus: 'platform': really_probe: bound device f10d0000.nand-controller to driver marvell-nfc
> [    4.674824][    T1] bus: 'spi': add driver spi-nor
> [    4.679694][    T1] bus: 'platform': add driver orion_spi
> [    4.685420][    T1] bus: 'pci': add driver ehci-pci
> [    4.690406][    T1] bus: 'platform': add driver orion-ehci
> [    4.696033][    T1] bus: 'platform': __driver_probe_device: matched device f1058000.usb with driver orion-ehci
> [    4.706111][    T1] bus: 'platform': really_probe: probing driver orion-ehci with device f1058000.usb
> [    4.715420][    T1] orion-ehci f1058000.usb: no pinctrl handle
> [    4.721508][    T1] orion-ehci f1058000.usb: EHCI Host Controller
> [    4.727893][    T1] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
> [    4.736445][    T1] orion-ehci f1058000.usb: irq 44, io mem 0xf1058000
> [    4.763497][    T1] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
> [    4.770833][    T1] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.02
> [    4.779918][    T1] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    4.787901][    T1] usb usb1: Product: EHCI Host Controller
> [    4.793525][    T1] usb usb1: Manufacturer: Linux 6.2.0-rc6-M95D-00001-gd783bde80fb1 ehci_hcd
> [    4.802095][    T1] usb usb1: SerialNumber: f1058000.usb
> [    4.807476][    T1] device: 'usb1': device_add
> [    4.812226][    T1] bus: 'usb': add device usb1
> [    4.817405][    T1] bus: 'usb': __driver_probe_device: matched device usb1 with driver usb
> [    4.825814][    T1] bus: 'usb': really_probe: probing driver usb with device usb1
> [    4.833724][    T1] device: '1-0:1.0': device_add
> [    4.838539][    T1] bus: 'usb': add device 1-0:1.0
> [    4.843577][    T1] bus: 'usb': __driver_probe_device: matched device 1-0:1.0 with driver hub
> [    4.852178][    T1] bus: 'usb': really_probe: probing driver hub with device 1-0:1.0
> [    4.860032][    T1] hub 1-0:1.0: USB hub found
> [    4.864637][    T1] hub 1-0:1.0: 1 port detected
> [    4.869619][    T1] device: 'usb1-port1': device_add
> [    4.874854][    T1] usb usb1-port1: adding component (ops connector_ops)
> [    4.881747][    T1] driver: 'hub': driver_bound: bound to device '1-0:1.0'
> [    4.888795][    T1] bus: 'usb': really_probe: bound device 1-0:1.0 to driver hub
> [    4.896355][    T1] device: 'ep_81': device_add
> [    4.900994][    T1] driver: 'usb': driver_bound: bound to device 'usb1'
> [    4.907829][    T1] bus: 'usb': really_probe: bound device usb1 to driver usb
> [    4.915047][    T1] device: 'ep_00': device_add
> [    4.919669][    T1] driver: 'orion-ehci': driver_bound: bound to device 'f1058000.usb'
> [    4.927708][    T1] bus: 'platform': really_probe: bound device f1058000.usb to driver orion-ehci
> [    4.936772][    T1] bus: 'pci': add driver xhci_hcd
> [    4.941750][    T1] bus: 'platform': add driver xhci-hcd
> [    4.947322][    T1] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
> [    4.957313][    T1] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
> [    4.966525][    T1] xhci-hcd f10f8000.usb3: no pinctrl handle
> [    4.972620][    T1] xhci-hcd f10f8000.usb3: Driver xhci-hcd requests probe deferral
> [    4.980772][    T1] platform f10f8000.usb3: Added to deferred list
> [    4.987137][    T1] bus: 'usb': add driver usb-storage
> [    4.992376][    T1] usbcore: registered new interface driver usb-storage
> [    4.999142][    T1] i2c_dev: i2c /dev entries driver
> [    5.004167][    T1] device class 'i2c-dev': registering
> [    5.009459][    T1] bus: 'platform': add driver mv64xxx_i2c
> [    5.015128][    T1] bus: 'platform': __driver_probe_device: matched device f1011000.i2c with driver mv64xxx_i2c
> [    5.025293][    T1] bus: 'platform': really_probe: probing driver mv64xxx_i2c with device f1011000.i2c
> [    5.034738][    T1] mv64xxx_i2c f1011000.i2c: no init pinctrl state
> [    5.041364][    T1] device: 'i2c-0': device_add
> [    5.045987][    T1] bus: 'i2c': add device i2c-0
> [    5.050727][    T1] device: 'i2c-0': device_add
> [    5.055975][    T1] device: '0-004c': device_add
> [    5.060664][    T1] bus: 'i2c': add device 0-004c
> [    5.065538][    T1] device: '0-0068': device_add
> [    5.070221][    T1] bus: 'i2c': add device 0-0068
> [    5.075126][    T1] driver: 'mv64xxx_i2c': driver_bound: bound to device 'f1011000.i2c'
> [    5.083238][    T1] bus: 'platform': really_probe: bound device f1011000.i2c to driver mv64xxx_i2c
> [    5.092429][    T1] bus: 'i2c': add driver tmp421
> [    5.097200][    T1] bus: 'i2c': __driver_probe_device: matched device 0-004c with driver tmp421
> [    5.105967][    T1] bus: 'i2c': really_probe: probing driver tmp421 with device 0-004c
> [    5.113983][    T1] tmp421 0-004c: no pinctrl handle
> [    5.120566][    T1] device: 'hwmon0': device_add
> [    5.125468][    T1] driver: 'tmp421': driver_bound: bound to device '0-004c'
> [    5.127046][  T113] ata2: SATA link down (SStatus 100 SControl 300)
> [    5.132677][    T1] bus: 'i2c': really_probe: bound device 0-004c to driver tmp421
> [    5.146582][    T1] bus: 'platform': add driver armada_thermal
> [    5.152605][    T1] bus: 'platform': __driver_probe_device: matched device f10e4078.thermal with driver armada_thermal
> [    5.163382][    T1] bus: 'platform': really_probe: probing driver armada_thermal with device f10e4078.thermal
> [    5.173380][    T1] armada_thermal f10e4078.thermal: no pinctrl handle
> [    5.181271][    T1] device: 'thermal_zone0': device_add
> [    5.186817][    T1] device: 'hwmon1': device_add
> [    5.191601][    T1] driver: 'armada_thermal': driver_bound: bound to device 'f10e4078.thermal'
> [    5.200350][    T1] bus: 'platform': really_probe: bound device f10e4078.thermal to driver armada_thermal
> [    5.210069][    T1] bus: 'platform': add driver orion_wdt
> [    5.215608][    T1] bus: 'platform': __driver_probe_device: matched device f1020300.watchdog with driver orion_wdt
> [    5.226033][    T1] bus: 'platform': really_probe: probing driver orion_wdt with device f1020300.watchdog
> [    5.235681][    T1] orion_wdt f1020300.watchdog: no pinctrl handle
> [    5.242461][    T1] device: 'watchdog': device_add
> [    5.247620][    T1] device: 'watchdog0': device_add
> [    5.252983][    T1] orion_wdt: Initial timeout 171 sec
> [    5.258190][    T1] driver: 'orion_wdt': driver_bound: bound to device 'f1020300.watchdog'
> [    5.266588][    T1] bus: 'platform': really_probe: bound device f1020300.watchdog to driver orion_wdt
> [    5.276013][    T1] bus: 'platform': add driver leds-gpio
> [    5.281559][    T1] bus: 'platform': __driver_probe_device: matched device gpio-leds with driver leds-gpio
> [    5.291288][    T1] bus: 'platform': really_probe: probing driver leds-gpio with device gpio-leds
> [    5.300303][    T1] leds-gpio gpio-leds: no init pinctrl state
> [    5.306412][    T1] device: 'shelby:white:power': device_add
> [    5.312553][    T1] device: 'shelby:white:sata': device_add
> [    5.318358][    T1] driver: 'leds-gpio': driver_bound: bound to device 'gpio-leds'
> [    5.326017][    T1] leds-gpio gpio-leds: Dropping the link to f1018140.gpio
> [    5.333021][    T1] device: 'platform:f1018140.gpio--platform:gpio-leds': device_unregister
> [    5.341661][    T1] bus: 'platform': really_probe: bound device gpio-leds to driver leds-gpio
> [    5.350303][    T1] bus: 'i2c': add driver leds-pca963x
> [    5.355603][    T1] bus: 'i2c': __driver_probe_device: matched device 0-0068 with driver leds-pca963x
> [    5.364902][    T1] bus: 'i2c': really_probe: probing driver leds-pca963x with device 0-0068
> [    5.373398][    T1] leds-pca963x 0-0068: no pinctrl handle
> [    5.381600][    T1] device: 'pca963x:shelby:amber:wan': device_add
> [    5.387975][    T1] device: 'pca963x:shelby:white:wan': device_add
> [    5.394320][    T1] device: 'pca963x:shelby:white:wlan_2g': device_add
> [    5.400996][    T1] device: 'pca963x:shelby:white:wlan_5g': device_add
> [    5.407689][    T1] device: 'pca963x:shelby:white:usb2': device_add
> [    5.414128][    T1] device: 'pca963x:shelby:white:usb3_1': device_add
> [    5.420709][    T1] device: 'pca963x:shelby:white:usb3_2': device_add
> [    5.427321][    T1] device: 'pca963x:shelby:white:wps': device_add
> [    5.433666][    T1] device: 'pca963x:shelby:amber:wps': device_add
> [    5.439962][    T1] driver: 'leds-pca963x': driver_bound: bound to device '0-0068'
> [    5.447702][    T1] bus: 'i2c': really_probe: bound device 0-0068 to driver leds-pca963x
> [    5.456218][    T1] bus: 'platform': add driver marvell-cesa
> [    5.462067][    T1] bus: 'platform': __driver_probe_device: matched device f1090000.crypto with driver marvell-cesa
> [    5.472583][    T1] bus: 'platform': really_probe: probing driver marvell-cesa with device f1090000.crypto
> [    5.482321][    T1] marvell-cesa f1090000.crypto: no pinctrl handle
> [    5.489799][    T1] marvell-cesa f1090000.crypto: CESA device successfully registered
> [    5.497708][    T1] driver: 'marvell-cesa': driver_bound: bound to device 'f1090000.crypto'
> [    5.506194][    T1] bus: 'platform': really_probe: bound device f1090000.crypto to driver marvell-cesa
> [    5.515672][    T1] device class 'extcon': registering
> [    5.520876][    T1] bus: 'platform': add driver mvebu-devbus
> [    5.526788][    T1] Registering SWP/SWPB emulation handler
> [    5.562880][   T22] devices_kset: Moving usb3_1-vbus to end of list
> [    5.569355][   T22] devices_kset: Moving usb3_1-phy to end of list
> [    5.575603][   T22] platform usb3_1-vbus: Retrying from deferred list
> [    5.582133][   T22] bus: 'platform': __driver_probe_device: matched device usb3_1-vbus with driver reg-fixed-voltage
> [    5.592771][   T22] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device usb3_1-vbus
> [    5.602734][   T22] reg-fixed-voltage usb3_1-vbus: no init pinctrl state
> [    5.609849][   T22] usb3_1-vbus: 5000 mV, disabled
> [    5.614702][   T22] device: 'regulator.1': device_add
> [    5.620241][   T22] reg-fixed-voltage usb3_1-vbus: usb3_1-vbus supplying 5000000uV
> [    5.627878][   T22] driver: 'reg-fixed-voltage': driver_bound: bound to device 'usb3_1-vbus'
> [    5.636473][   T22] bus: 'platform': really_probe: bound device usb3_1-vbus to driver reg-fixed-voltage
> [    5.645968][   T22] devices_kset: Moving usb3_1-phy to end of list
> [    5.652190][   T22] platform usb3_1-phy: Retrying from deferred list
> [    5.658617][   T22] bus: 'platform': __driver_probe_device: matched device usb3_1-phy with driver usb_phy_generic
> [    5.668951][   T22] bus: 'platform': really_probe: probing driver usb_phy_generic with device usb3_1-phy
> [    5.678512][   T22] usb_phy_generic usb3_1-phy: no pinctrl handle
> [    5.684792][   T22] usb_phy_generic usb3_1-phy: Looking up vcc-supply from device tree
> [    5.692902][   T22] device: 'regulator:regulator.1--platform:usb3_1-phy': device_add
> [    5.700897][   T22] devices_kset: Moving usb3_1-phy to end of list
> [    5.707136][   T22] usb_phy_generic usb3_1-phy: Linked as a consumer to regulator.1
> [    5.714856][   T22] usb_phy_generic usb3_1-phy: Looking up vbus-supply from device tree
> [    5.722908][   T22] usb_phy_generic usb3_1-phy: Looking up vbus-supply property in node /usb3_1-phy failed
> [    5.732643][   T22] usb_phy_generic usb3_1-phy: dummy supplies not allowed for exclusive requests
> [    5.741594][   T22] driver: 'usb_phy_generic': driver_bound: bound to device 'usb3_1-phy'
> [    5.749893][   T22] bus: 'platform': really_probe: bound device usb3_1-phy to driver usb_phy_generic
> [    5.759101][   T22] devices_kset: Moving f10f8000.usb3 to end of list
> [    5.765599][   T22] platform f10f8000.usb3: Retrying from deferred list
> [    5.772344][   T22] bus: 'platform': __driver_probe_device: matched device f10f8000.usb3 with driver xhci-hcd
> [    5.782331][   T22] bus: 'platform': really_probe: probing driver xhci-hcd with device f10f8000.usb3
> [    5.791547][   T22] xhci-hcd f10f8000.usb3: no pinctrl handle
> [    5.797688][   T22] xhci-hcd f10f8000.usb3: xHCI Host Controller
> [    5.803844][   T22] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 2
> [    5.815748][   T22] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
> [    5.825904][   T22] xhci-hcd f10f8000.usb3: irq 45, io mem 0xf10f8000
> [    5.832874][   T22] xhci-hcd f10f8000.usb3: xHCI Host Controller
> [    5.838959][   T22] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 3
> [    5.847221][   T22] xhci-hcd f10f8000.usb3: Host supports USB 3.0 SuperSpeed
> [    5.854811][   T22] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.02
> [    5.863880][   T22] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    5.871843][   T22] usb usb2: Product: xHCI Host Controller
> [    5.873495][  T113] ata2: SATA link down (SStatus 100 SControl 300)
> [    5.877560][   T22] usb usb2: Manufacturer: Linux 6.2.0-rc6-M95D-00001-gd783bde80fb1 xhci-hcd
> [    5.883845][  T113] ata2: limiting SATA link speed to 1.5 Gbps
> [    5.892342][   T22] usb usb2: SerialNumber: f10f8000.usb3
> [    5.903671][   T22] device: 'usb2': device_add
> [    5.908401][   T22] bus: 'usb': add device usb2
> [    5.913341][   T22] bus: 'usb': __driver_probe_device: matched device usb2 with driver usb
> [    5.921835][   T22] bus: 'usb': really_probe: probing driver usb with device usb2
> [    5.929553][   T22] device: '2-0:1.0': device_add
> [    5.934415][   T22] bus: 'usb': add device 2-0:1.0
> [    5.939337][   T22] bus: 'usb': __driver_probe_device: matched device 2-0:1.0 with driver hub
> [    5.947963][   T22] bus: 'usb': really_probe: probing driver hub with device 2-0:1.0
> [    5.955808][   T22] hub 2-0:1.0: USB hub found
> [    5.960405][   T22] hub 2-0:1.0: 1 port detected
> [    5.965266][   T22] device: 'usb2-port1': device_add
> [    5.970351][   T22] usb usb2-port1: adding component (ops connector_ops)
> [    5.977190][   T22] driver: 'hub': driver_bound: bound to device '2-0:1.0'
> [    5.984226][   T22] bus: 'usb': really_probe: bound device 2-0:1.0 to driver hub
> [    5.991687][   T22] device: 'ep_81': device_add
> [    5.996344][   T22] driver: 'usb': driver_bound: bound to device 'usb2'
> [    6.003061][   T22] bus: 'usb': really_probe: bound device usb2 to driver usb
> [    6.010293][   T22] device: 'ep_00': device_add
> [    6.015169][   T22] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
> [    6.024305][   T22] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.02
> [    6.033315][   T22] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    6.041298][   T22] usb usb3: Product: xHCI Host Controller
> [    6.046928][   T22] usb usb3: Manufacturer: Linux 6.2.0-rc6-M95D-00001-gd783bde80fb1 xhci-hcd
> [    6.055514][   T22] usb usb3: SerialNumber: f10f8000.usb3
> [    6.060956][   T22] device: 'usb3': device_add
> [    6.065662][   T22] bus: 'usb': add device usb3
> [    6.070546][   T22] bus: 'usb': __driver_probe_device: matched device usb3 with driver usb
> [    6.078914][   T22] bus: 'usb': really_probe: probing driver usb with device usb3
> [    6.086614][   T22] device: '3-0:1.0': device_add
> [    6.091431][   T22] bus: 'usb': add device 3-0:1.0
> [    6.096360][   T22] bus: 'usb': __driver_probe_device: matched device 3-0:1.0 with driver hub
> [    6.104967][   T22] bus: 'usb': really_probe: probing driver hub with device 3-0:1.0
> [    6.112790][   T22] hub 3-0:1.0: USB hub found
> [    6.117341][   T22] hub 3-0:1.0: 1 port detected
> [    6.122113][   T22] device: 'usb3-port1': device_add
> [    6.127206][   T22] usb usb3-port1: adding component (ops connector_ops)
> [    6.134074][   T22] driver: 'hub': driver_bound: bound to device '3-0:1.0'
> [    6.141051][   T22] bus: 'usb': really_probe: bound device 3-0:1.0 to driver hub
> [    6.148534][   T22] device: 'ep_81': device_add
> [    6.153173][   T22] driver: 'usb': driver_bound: bound to device 'usb3'
> [    6.159906][   T22] bus: 'usb': really_probe: bound device usb3 to driver usb
> [    6.167122][   T22] device: 'ep_00': device_add
> [    6.171748][   T22] driver: 'xhci-hcd': driver_bound: bound to device 'f10f8000.usb3'
> [    6.179703][   T22] bus: 'platform': really_probe: bound device f10f8000.usb3 to driver xhci-hcd
> [    6.188719][    T1] device class 'ubi': registering
> [    6.193754][    T1] device: 'ubi_ctrl': device_add
> [    6.200728][    T1] Waiting 100 sec before mounting root device...
> [    6.713487][  T201] usb 2-1: new high-speed USB device number 2 using xhci-hcd
> [    6.833478][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [    6.840791][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
> [    6.849421][  T113] device: 'link2.0': device_add
> [    6.854363][  T113] device: 'link2.0': device_add
> [    6.859268][  T113] device: 'dev2.0.0': device_add
> [    6.864156][  T113] device: 'dev2.0.0': device_add
> [    6.869153][  T113] device: 'link2.1': device_add
> [    6.873934][  T113] device: 'link2.1': device_add
> [    6.878791][  T113] device: 'dev2.1.0': device_add
> [    6.883657][  T113] device: 'dev2.1.0': device_add
> [    6.888636][  T113] device: 'link2.2': device_add
> [    6.893392][  T113] device: 'link2.2': device_add
> [    6.898284][  T113] device: 'dev2.2.0': device_add
> [    6.903128][  T113] device: 'dev2.2.0': device_add
> [    6.908111][  T113] device: 'link2.3': device_add
> [    6.912869][  T113] device: 'link2.3': device_add
> [    6.917726][  T113] device: 'dev2.3.0': device_add
> [    6.922572][  T113] device: 'dev2.3.0': device_add
> [    6.927555][  T113] device: 'link2.4': device_add
> [    6.932314][  T113] device: 'link2.4': device_add
> [    6.937177][  T113] device: 'dev2.4.0': device_add
> [    6.942024][  T113] device: 'dev2.4.0': device_add
> [    6.947001][  T113] device: 'link2.5': device_add
> [    6.951761][  T113] device: 'link2.5': device_add
> [    6.956635][  T113] device: 'dev2.5.0': device_add
> [    6.961483][  T113] device: 'dev2.5.0': device_add
> [    6.966462][  T113] device: 'link2.6': device_add
> [    6.971223][  T113] device: 'link2.6': device_add
> [    6.976084][  T113] device: 'dev2.6.0': device_add
> [    6.980939][  T113] device: 'dev2.6.0': device_add
> [    6.985953][  T113] device: 'link2.7': device_add
> [    6.990720][  T113] device: 'link2.7': device_add
> [    6.995600][  T113] device: 'dev2.7.0': device_add
> [    7.000451][  T113] device: 'dev2.7.0': device_add
> [    7.005439][  T113] device: 'link2.8': device_add
> [    7.010203][  T113] device: 'link2.8': device_add
> [    7.015076][  T113] device: 'dev2.8.0': device_add
> [    7.019926][  T113] device: 'dev2.8.0': device_add
> [    7.024908][  T113] device: 'link2.9': device_add
> [    7.029672][  T113] device: 'link2.9': device_add
> [    7.034545][  T113] device: 'dev2.9.0': device_add
> [    7.039396][  T113] device: 'dev2.9.0': device_add
> [    7.044391][  T113] device: 'link2.10': device_add
> [    7.049245][  T113] device: 'link2.10': device_add
> [    7.054199][  T113] device: 'dev2.10.0': device_add
> [    7.059139][  T113] device: 'dev2.10.0': device_add
> [    7.064224][  T113] device: 'link2.11': device_add
> [    7.069079][  T113] device: 'link2.11': device_add
> [    7.074042][  T113] device: 'dev2.11.0': device_add
> [    7.078984][  T113] device: 'dev2.11.0': device_add
> [    7.084093][  T113] device: 'link2.12': device_add
> [    7.088950][  T113] device: 'link2.12': device_add
> [    7.093916][  T113] device: 'dev2.12.0': device_add
> [    7.098859][  T113] device: 'dev2.12.0': device_add
> [    7.103942][  T113] device: 'link2.13': device_add
> [    7.108800][  T113] device: 'link2.13': device_add
> [    7.113780][  T113] device: 'dev2.13.0': device_add
> [    7.118725][  T113] device: 'dev2.13.0': device_add
> [    7.123808][  T113] device: 'link2.14': device_add
> [    7.128667][  T113] device: 'link2.14': device_add
> [    7.133635][  T113] device: 'dev2.14.0': device_add
> [    7.138581][  T113] device: 'dev2.14.0': device_add
> [    7.143662][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
> [    7.149993][  T113] ata2.00: hard resetting link
> [    7.180668][  T201] usb 2-1: New USB device found, idVendor=058f, idProduct=6387, bcdDevice= 1.00
> [    7.189672][  T201] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [    7.197569][  T201] usb 2-1: Product: Mass Storage
> [    7.202390][  T201] usb 2-1: Manufacturer: Generic
> [    7.207242][  T201] usb 2-1: SerialNumber: 016E07B1
> [    7.212167][  T201] device: '2-1': device_add
> [    7.216803][  T201] bus: 'usb': add device 2-1
> [    7.221626][  T201] bus: 'usb': __driver_probe_device: matched device 2-1 with driver usb
> [    7.229942][  T201] bus: 'usb': really_probe: probing driver usb with device 2-1
> [    7.237468][  T201] usb 2-1: no default pinctrl state
> [    7.243329][  T201] device: '2-1:1.0': device_add
> [    7.248194][  T201] bus: 'usb': add device 2-1:1.0
> [    7.253118][  T201] bus: 'usb': __driver_probe_device: matched device 2-1:1.0 with driver usb-storage
> [    7.262452][  T201] bus: 'usb': really_probe: probing driver usb-storage with device 2-1:1.0
> [    7.270986][  T201] usb-storage 2-1:1.0: no default pinctrl state
> [    7.277185][  T201] usb-storage 2-1:1.0: USB Mass Storage device detected
> [    7.284403][  T201] device: 'scsi_tmf_2': device_add
> [    7.289424][  T201] bus: 'workqueue': add device scsi_tmf_2
> [    7.295374][  T201] scsi host2: usb-storage 2-1:1.0
> [    7.300416][  T201] device: 'host2': device_add
> [    7.305042][  T201] bus: 'scsi': add device host2
> [    7.309848][  T201] device: 'host2': device_add
> [    7.314708][  T201] driver: 'usb-storage': driver_bound: bound to device '2-1:1.0'
> [    7.322384][  T201] bus: 'usb': really_probe: bound device 2-1:1.0 to driver usb-storage
> [    7.330593][  T201] device: 'ep_01': device_add
> [    7.335248][  T201] device: 'ep_82': device_add
> [    7.339884][  T201] driver: 'usb': driver_bound: bound to device '2-1'
> [    7.346517][  T201] bus: 'usb': really_probe: bound device 2-1 to driver usb
> [    7.353671][  T201] device: 'ep_00': device_add
> [    7.486174][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [    7.493398][  T113] ata2.01: hard resetting link
> [    7.826136][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [    7.833353][  T113] ata2.02: hard resetting link
> [    8.166136][  T113] ata2.02: SATA link down (SStatus 0 SControl 300)
> [    8.172603][  T113] ata2.03: hard resetting link
> [    8.395831][  T201] scsi 2:0:0:0: Direct-Access     Generic  Flash Disk       8.07 PQ: 0 ANSI: 4
> [    8.404822][  T201] device: 'target2:0:0': device_add
> [    8.409961][  T201] bus: 'scsi': add device target2:0:0
> [    8.415397][  T201] device: '2:0:0:0': device_add
> [    8.420330][  T201] bus: 'scsi': add device 2:0:0:0
> [    8.425328][  T201] scsi 2:0:0:0: scheduling asynchronous probe
> [    8.431348][  T201] device: '2:0:0:0': device_add
> [    8.431369][   T22] bus: 'scsi': __driver_probe_device: matched device 2:0:0:0 with driver sd
> [    8.436365][  T201] device: '2:0:0:0': device_add
> [    8.444766][   T22] bus: 'scsi': really_probe: probing driver sd with device 2:0:0:0
> [    8.457323][   T22] sd 2:0:0:0: no default pinctrl state
> [    8.462925][   T22] device: '2:0:0:0': device_add
> [    8.468998][   T22] sd 2:0:0:0: [sda] 122880000 512-byte logical blocks: (62.9 GB/58.6 GiB)
> [    8.478142][   T22] sd 2:0:0:0: [sda] Write Protect is off
> [    8.483700][   T22] sd 2:0:0:0: [sda] Mode Sense: 23 00 00 00
> [    8.490182][   T22] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
> [    8.500128][   T22] device: 'sda': device_add
> [    8.505303][   T22] device: '8:0': device_add
> [    8.507981][  T113] ata2.03: SATA link down (SStatus 0 SControl 300)
> [    8.516425][  T113] ata2.04: hard resetting link
> [    8.525164][   T22] sd 2:0:0:0: [sda] Attached SCSI removable disk
> [    8.531387][   T22] driver: 'sd': driver_bound: bound to device '2:0:0:0'
> [    8.538335][   T22] bus: 'scsi': really_probe: bound device 2:0:0:0 to driver sd
> [    8.545813][   T22] sd 2:0:0:0: async probe completed
> [    8.846145][  T113] ata2.04: SATA link down (SStatus 0 SControl 300)
> [    8.852618][  T113] ata2.05: hard resetting link
> [    9.186137][  T113] ata2.05: SATA link down (SStatus 0 SControl 300)
> [    9.192606][  T113] ata2.06: hard resetting link
> [    9.526131][  T113] ata2.06: SATA link down (SStatus 0 SControl 300)
> [    9.532597][  T113] ata2.07: hard resetting link
> [    9.866143][  T113] ata2.07: SATA link down (SStatus 0 SControl 300)
> [    9.872700][  T113] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
> [    9.880350][  T113] ata2.00: 976773168 sectors, multi 0: LBA48 
> [    9.886469][  T113] ata2.00: configured for UDMA/133
> [    9.891543][  T113] ata2.01: ATA-6: Areca   Archive, 0100 AX, max UDMA/133
> [    9.898484][  T113] ata2.01: 23437498368 sectors, multi 0: LBA48 
> [    9.904761][  T113] ata2.01: configured for UDMA/133
> [    9.909902][  T113] ata2: EH complete
> [    9.914304][  T201] scsi 1:0:0:0: Direct-Access     ATA      WDC WD50ARC-5040 n/a  PQ: 0 ANSI: 5
> [    9.924024][  T201] device: 'target1:0:0': device_add
> [    9.929148][  T201] bus: 'scsi': add device target1:0:0
> [    9.934522][  T201] device: '1:0:0:0': device_add
> [    9.939530][  T201] bus: 'scsi': add device 1:0:0:0
> [    9.944518][  T201] scsi 1:0:0:0: scheduling asynchronous probe
> [    9.950515][  T201] device: '1:0:0:0': device_add
> [    9.950530][   T22] bus: 'scsi': __driver_probe_device: matched device 1:0:0:0 with driver sd
> [    9.955446][  T201] device: '1:0:0:0': device_add
> [    9.963876][   T22] bus: 'scsi': really_probe: probing driver sd with device 1:0:0:0
> [    9.969160][  T201] scsi 1:1:0:0: Direct-Access     ATA      Areca   Archive  n/a  PQ: 0 ANSI: 5
> [    9.976414][   T22] sd 1:0:0:0: no default pinctrl state
> [    9.986095][  T201] device: 'target1:1:0': device_add
> [    9.990662][   T22] device: '1:0:0:0': device_add
> [    9.995694][  T201] bus: 'scsi': add device target1:1:0
> [   10.001292][   T22] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/466 GiB)
> [   10.005739][  T201] device: '1:1:0:0': device_add
> [   10.014094][   T22] sd 1:0:0:0: [sdb] Write Protect is off
> [   10.018913][  T201] bus: 'scsi': add device 1:1:0:0
> [   10.024182][   T22] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
> [   10.024521][   T22] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [   10.029129][  T201] scsi 1:1:0:0: scheduling asynchronous probe
> [   10.035141][   T22] sd 1:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
> [   10.044710][  T201] device: '1:1:0:0': device_add
> [   10.050663][   T22] device: 'sdb': device_add
> [   10.057645][  T201] device: '1:1:0:0': device_add
> [   10.062473][    T8] bus: 'scsi': __driver_probe_device: matched device 1:1:0:0 with driver sd
> [   10.073944][   T22] device: '8:16': device_add
> [   10.080044][    T8] bus: 'scsi': really_probe: probing driver sd with device 1:1:0:0
> [   10.085794][   T22] sd 1:0:0:0: [sdb] Attached SCSI removable disk
> [   10.092278][    T8] sd 1:1:0:0: no default pinctrl state
> [   10.098515][   T22] driver: 'sd': driver_bound: bound to device '1:0:0:0'
> [   10.103921][    T8] device: '1:1:0:0': device_add
> [   10.110722][   T22] bus: 'scsi': really_probe: bound device 1:0:0:0 to driver sd
> [   10.116166][    T8] sd 1:1:0:0: [sdc] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
> [   10.122869][   T22] sd 1:0:0:0: async probe completed
> [   10.131515][    T8] sd 1:1:0:0: [sdc] Write Protect is off
> [   10.142064][    T8] sd 1:1:0:0: [sdc] Mode Sense: 00 3a 00 00
> [   10.147997][    T8] sd 1:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [   10.157973][    T8] sd 1:1:0:0: [sdc] Preferred minimum I/O size 512 bytes
> [   10.164952][    T8] device: 'sdc': device_add
> [   10.169986][    T8] device: '8:32': device_add
> [   10.175532][    T8] sd 1:1:0:0: [sdc] Attached SCSI removable disk
> [   10.181753][    T8] driver: 'sd': driver_bound: bound to device '1:1:0:0'
> [   10.188650][    T8] bus: 'scsi': really_probe: bound device 1:1:0:0 to driver sd
> [   10.196111][    T8] sd 1:1:0:0: async probe completed
> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-30  7:37                                           ` Damien Le Moal
@ 2023-01-30 23:22                                             ` Damien Le Moal
  2023-01-31  7:20                                             ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-30 23:22 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/30/23 16:37, Damien Le Moal wrote:
> On 1/30/23 16:23, marius@psihoexpert.ro wrote:
>> January 30, 2023 4:39 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
>>>
>>> Apologies for asking you to test again, but could you try this simpler
>>> version of the initial tweak:
>>>
>>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>>> index 884ae73b11ea..2ea572628b1c 100644
>>> --- a/drivers/ata/libata-core.c
>>> +++ b/drivers/ata/libata-core.c
>>> @@ -3109,7 +3109,7 @@ int sata_down_spd_limit(struct ata_link *link, u32
>>> spd_limit)
>>> */
>>> if (spd > 1)
>>> mask &= (1 << (spd - 1)) - 1;
>>> - else
>>> + else if (link->sata_spd)
>>> return -EINVAL;
>>>
>>> /* were we already at the bottom? */
>>>
>>> This is a partial revert of the commit that created the issue in the
>>> first place. But better check this is OK.
>>>
>>> --
>>> Damien Le Moal
>>> Western Digital Research
>>
>> No problem. I'll test everything until you find the best possible fix for the kernel.
>>
>> It works:
> 
> Perfect. I prefer this version of the fix as it actually does *exactly* what the
> comment above the if/else hunk says, that is not force 1.5gbps speed if we
> already have a recorded speed. But in your case, we do not have a recorded speed
> (link->sata_spd == 0), so retrying with 1.5gbps is the right thing to do.
> 
> I will write a nice commit message and post.

I sent the official patch and CC-ed you. Can I add your
"Tested-by: Marius Dinu <marius@psihoexpert.ro>" tag to the patch and queue it ?



-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-30  7:37                                           ` Damien Le Moal
  2023-01-30 23:22                                             ` Damien Le Moal
@ 2023-01-31  7:20                                             ` marius
  2023-01-31  7:28                                               ` Damien Le Moal
  2023-02-07 18:40                                               ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-01-31  7:20 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 31, 2023 1:22 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
> I sent the official patch and CC-ed you. Can I add your
> "Tested-by: Marius Dinu <marius@psihoexpert.ro>" tag to the patch and queue it ?
> 
> --
> Damien Le Moal
> Western Digital Research

Yes, I was planning to reply myself, but I'm not done testing yet. At this point I can only say it's working on mvebu / Armada 385. I plan to backport to v5.15 and test with the other router that I have (mvebu / Armada XP), a laptop and two x86_64 desktops, one of which has various PATA and SATA controllers in all sorts of weird configurations. I hope to do it all this weekend.
Thank you for the patch!

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-01-31  7:20                                             ` marius
@ 2023-01-31  7:28                                               ` Damien Le Moal
  2023-02-07 18:40                                               ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-01-31  7:28 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 1/31/23 16:20, marius@psihoexpert.ro wrote:
> January 31, 2023 1:22 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com>
> wrote:
>> 
>> I sent the official patch and CC-ed you. Can I add your "Tested-by: Marius
>> Dinu <marius@psihoexpert.ro>" tag to the patch and queue it ?
>> 
>> -- Damien Le Moal Western Digital Research
> 
> Yes, I was planning to reply myself, but I'm not done testing yet. At this
> point I can only say it's working on mvebu / Armada 385. I plan to backport
> to v5.15 and test with the other router that I have (mvebu / Armada XP), a
> laptop and two x86_64 desktops, one of which has various PATA and SATA
> controllers in all sorts of weird configurations. I hope to do it all this
> weekend. Thank you for the patch!
I did testing on Intel & AMD machines with different adpaters/drives/pmp that I
have (AHCI, ASMedia and Marvell adapters). Everything was OK on my end.

The tag is for this kernel only. If backporting to 5.15 does not solve the
issue, we will need to take that separately and redo debugging on that version.
I would like to send the patch to Linus by the end of the week...

> 
> Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-01-31  7:20                                             ` marius
  2023-01-31  7:28                                               ` Damien Le Moal
@ 2023-02-07 18:40                                               ` marius
  2023-02-07 23:39                                                 ` Damien Le Moal
  2023-02-08 12:17                                                 ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-02-07 18:40 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

January 31, 2023 9:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> I did testing on Intel & AMD machines with different adpaters/drives/pmp that I
> have (AHCI, ASMedia and Marvell adapters). Everything was OK on my end.
> 
> The tag is for this kernel only. If backporting to 5.15 does not solve the
> issue, we will need to take that separately and redo debugging on that version.
> I would like to send the patch to Linus by the end of the week...
> 
> --
> Damien Le Moal
> Western Digital Research

I saw that the patch was applied to v5.15 too. That was probably not a good ideea. This weekend I tried to test the patch in OpenWrt kernel v5.15. It doesn't work:

--- RAID box connected ---
[ 1772.100899] ata2: SATA link down (SStatus 111 SControl 310)
[ 1772.114132] ata2: limiting SATA link speed to 1.5 Gbps
...and these two lines repeat forever. There is no "giving up".

I tried the workaround "libata.force=2:1.5Gbps". It works, but with a delay:

[ 116.705772] ata2: SATA link down (SStatus 101 SControl 300)
[ 119.175752] ata2: COMRESET failed (errno=-32)
[ 119.180133] ata2: reset failed (errno=-32), retrying in 8 secs
[ 127.205713] ata2: limiting SATA link speed to <unknown>
[ 129.475703] ata2: COMRESET failed (errno=-32)
[ 129.480084] ata2: reset failed (errno=-32), retrying in 8 secs
[ 137.445667] ata2: limiting SATA link speed to <unknown>
[ 139.715666] ata2: COMRESET failed (errno=-32)
[ 139.720052] ata2: reset failed (errno=-32), retrying in 33 secs
[ 172.645529] ata2: limiting SATA link speed to <unknown>
[ 173.585525] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 3D0)
[ 173.591831] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[ 173.600838] ahci-mvebu f10a8000.sata: FBS is enabled
[ 173.605977] ata2.00: hard resetting link
[ 173.937078] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 173.943563] ata2.01: hard resetting link
[ 174.277073] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 174.283555] ata2.02: hard resetting link
[ 174.617075] ata2.02: SATA link down (SStatus 0 SControl 300)
[ 174.622787] ata2.03: hard resetting link
[ 174.957074] ata2.03: SATA link down (SStatus 0 SControl 300)
[ 174.962785] ata2.04: hard resetting link
[ 175.297075] ata2.04: SATA link down (SStatus 0 SControl 300)
[ 175.302784] ata2.05: hard resetting link
[ 175.637072] ata2.05: SATA link down (SStatus 0 SControl 300)
[ 175.642781] ata2.06: hard resetting link
[ 175.977071] ata2.06: SATA link down (SStatus 0 SControl 300)
[ 175.982781] ata2.07: hard resetting link
[ 176.317063] ata2.07: SATA link down (SStatus 0 SControl 300)
[ 176.322839] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
[ 176.329758] ata2.00: 976773168 sectors, multi 0: LBA48
[ 176.335595] ata2.00: configured for UDMA/133
[ 176.339944] ata2.01: ATA-6: Areca Archive, 0100 AX, max UDMA/133
[ 176.346160] ata2.01: 23437498368 sectors, multi 0: LBA48
[ 176.351830] ata2.01: configured for UDMA/133
[ 176.356303] ata2: EH complete

So probably some other commit needs backporting before this one works. Any ideea which might it be?
I will try another bisect when I have time. Any clues would help a lot.

Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-02-07 18:40                                               ` marius
@ 2023-02-07 23:39                                                 ` Damien Le Moal
  2023-02-08 12:17                                                 ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-02-07 23:39 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 2023/02/08 3:40, marius@psihoexpert.ro wrote:
> January 31, 2023 9:28 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> I did testing on Intel & AMD machines with different adpaters/drives/pmp that I
>> have (AHCI, ASMedia and Marvell adapters). Everything was OK on my end.
>>
>> The tag is for this kernel only. If backporting to 5.15 does not solve the
>> issue, we will need to take that separately and redo debugging on that version.
>> I would like to send the patch to Linus by the end of the week...
>>
>> --
>> Damien Le Moal
>> Western Digital Research
> 
> I saw that the patch was applied to v5.15 too. That was probably not a good ideea. This weekend I tried to test the patch in OpenWrt kernel v5.15. It doesn't work:
> 
> --- RAID box connected ---
> [ 1772.100899] ata2: SATA link down (SStatus 111 SControl 310)
> [ 1772.114132] ata2: limiting SATA link speed to 1.5 Gbps
> ...and these two lines repeat forever. There is no "giving up".
> 
> I tried the workaround "libata.force=2:1.5Gbps". It works, but with a delay:
> 
> [ 116.705772] ata2: SATA link down (SStatus 101 SControl 300)
> [ 119.175752] ata2: COMRESET failed (errno=-32)

EPIPE is supposed to be to tell the upper layer to lower the speed...

> [ 119.180133] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 127.205713] ata2: limiting SATA link speed to <unknown>

...which here ends up not looking good as the speed limit is still UINT_MAX, so
unknown for that drive. So I guess that for 5.15, we need to fix not only the
current speed, but also the speed limit.

> [ 129.475703] ata2: COMRESET failed (errno=-32)
> [ 129.480084] ata2: reset failed (errno=-32), retrying in 8 secs
> [ 137.445667] ata2: limiting SATA link speed to <unknown>
> [ 139.715666] ata2: COMRESET failed (errno=-32)
> [ 139.720052] ata2: reset failed (errno=-32), retrying in 33 secs
> [ 172.645529] ata2: limiting SATA link speed to <unknown>
> [ 173.585525] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 3D0)

And then here, automagically, the libata.force limit seem to kick in... Very weird.

> [ 173.591831] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
> [ 173.600838] ahci-mvebu f10a8000.sata: FBS is enabled
> [ 173.605977] ata2.00: hard resetting link
> [ 173.937078] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [ 173.943563] ata2.01: hard resetting link
> [ 174.277073] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [ 174.283555] ata2.02: hard resetting link
> [ 174.617075] ata2.02: SATA link down (SStatus 0 SControl 300)
> [ 174.622787] ata2.03: hard resetting link
> [ 174.957074] ata2.03: SATA link down (SStatus 0 SControl 300)
> [ 174.962785] ata2.04: hard resetting link
> [ 175.297075] ata2.04: SATA link down (SStatus 0 SControl 300)
> [ 175.302784] ata2.05: hard resetting link
> [ 175.637072] ata2.05: SATA link down (SStatus 0 SControl 300)
> [ 175.642781] ata2.06: hard resetting link
> [ 175.977071] ata2.06: SATA link down (SStatus 0 SControl 300)
> [ 175.982781] ata2.07: hard resetting link
> [ 176.317063] ata2.07: SATA link down (SStatus 0 SControl 300)

That is weird too. No point in repeatedly resetting if the link is up. So the
patch really screwed up something for 5.15.

> [ 176.322839] ata2.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
> [ 176.329758] ata2.00: 976773168 sectors, multi 0: LBA48
> [ 176.335595] ata2.00: configured for UDMA/133
> [ 176.339944] ata2.01: ATA-6: Areca Archive, 0100 AX, max UDMA/133
> [ 176.346160] ata2.01: 23437498368 sectors, multi 0: LBA48
> [ 176.351830] ata2.01: configured for UDMA/133
> [ 176.356303] ata2: EH complete
> 
> So probably some other commit needs backporting before this one works. Any ideea which might it be?
> I will try another bisect when I have time. Any clues would help a lot.

No clue either. Will have a look.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-02-07 18:40                                               ` marius
  2023-02-07 23:39                                                 ` Damien Le Moal
@ 2023-02-08 12:17                                                 ` marius
  2023-02-08 23:00                                                   ` Damien Le Moal
  2023-02-12 13:14                                                   ` marius
  1 sibling, 2 replies; 67+ messages in thread
From: marius @ 2023-02-08 12:17 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

February 8, 2023 1:40 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> On 2023/02/08 3:40, marius@psihoexpert.ro wrote:
>
>> [ 173.591831] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
>> [ 173.600838] ahci-mvebu f10a8000.sata: FBS is enabled
>> [ 173.605977] ata2.00: hard resetting link
>> [ 173.937078] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>> [ 173.943563] ata2.01: hard resetting link
>> [ 174.277073] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>> [ 174.283555] ata2.02: hard resetting link
>> [ 174.617075] ata2.02: SATA link down (SStatus 0 SControl 300)
>> [ 174.622787] ata2.03: hard resetting link
>> [ 174.957074] ata2.03: SATA link down (SStatus 0 SControl 300)
>> [ 174.962785] ata2.04: hard resetting link
>> [ 175.297075] ata2.04: SATA link down (SStatus 0 SControl 300)
>> [ 175.302784] ata2.05: hard resetting link
>> [ 175.637072] ata2.05: SATA link down (SStatus 0 SControl 300)
>> [ 175.642781] ata2.06: hard resetting link
>> [ 175.977071] ata2.06: SATA link down (SStatus 0 SControl 300)
>> [ 175.982781] ata2.07: hard resetting link
>> [ 176.317063] ata2.07: SATA link down (SStatus 0 SControl 300)
> 
> That is weird too. No point in repeatedly resetting if the link is up. So the
> patch really screwed up something for 5.15.

Nothing weird here. There is one reset for each logical port. Only two ports are used.

I'm going to insert the debug messages in this kernel version too and test again.


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

* Re: Bug report for ahci-mvebu driver
  2023-02-08 12:17                                                 ` marius
@ 2023-02-08 23:00                                                   ` Damien Le Moal
  2023-02-12 13:14                                                   ` marius
  1 sibling, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-02-08 23:00 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 2023/02/08 21:17, marius@psihoexpert.ro wrote:
> February 8, 2023 1:40 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:
> 
>> On 2023/02/08 3:40, marius@psihoexpert.ro wrote:
>>
>>> [ 173.591831] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
>>> [ 173.600838] ahci-mvebu f10a8000.sata: FBS is enabled
>>> [ 173.605977] ata2.00: hard resetting link
>>> [ 173.937078] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>>> [ 173.943563] ata2.01: hard resetting link
>>> [ 174.277073] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>>> [ 174.283555] ata2.02: hard resetting link
>>> [ 174.617075] ata2.02: SATA link down (SStatus 0 SControl 300)
>>> [ 174.622787] ata2.03: hard resetting link
>>> [ 174.957074] ata2.03: SATA link down (SStatus 0 SControl 300)
>>> [ 174.962785] ata2.04: hard resetting link
>>> [ 175.297075] ata2.04: SATA link down (SStatus 0 SControl 300)
>>> [ 175.302784] ata2.05: hard resetting link
>>> [ 175.637072] ata2.05: SATA link down (SStatus 0 SControl 300)
>>> [ 175.642781] ata2.06: hard resetting link
>>> [ 175.977071] ata2.06: SATA link down (SStatus 0 SControl 300)
>>> [ 175.982781] ata2.07: hard resetting link
>>> [ 176.317063] ata2.07: SATA link down (SStatus 0 SControl 300)
>>
>> That is weird too. No point in repeatedly resetting if the link is up. So the
>> patch really screwed up something for 5.15.
> 
> Nothing weird here. There is one reset for each logical port. Only two ports are used.

Ah! missed the port number changing :) You are right.

> 
> I'm going to insert the debug messages in this kernel version too and test again.

Thanks. Did you test the other LTS 6.1 kernel too ? The patch was backported
there too.

-- 
Damien Le Moal
Western Digital Research


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

* Re: Bug report for ahci-mvebu driver
  2023-02-08 12:17                                                 ` marius
  2023-02-08 23:00                                                   ` Damien Le Moal
@ 2023-02-12 13:14                                                   ` marius
  2023-02-12 23:11                                                     ` Damien Le Moal
  1 sibling, 1 reply; 67+ messages in thread
From: marius @ 2023-02-12 13:14 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: linux-ide

February 9, 2023 1:00 AM, "Damien Le Moal" <damien.lemoal@opensource.wdc.com> wrote:

> Thanks. Did you test the other LTS 6.1 kernel too ? The patch was backported
> there too.
> 
> --
> Damien Le Moal
> Western Digital Research


I tested the patch applied to github tags "v6.1" and "v5.15". They both work fine.

I build another OpenWrt image and it doesn't work. I don't know why and it's difficult to add modifications into OpenWrt kernel, because the kernel sources don't persist. The build system erases everything, unpacks fresh kernel sources and then patches them. To make any modification I have to add .diff files into the patches dir and build again, write the new firmware into the router flash, test, etc. It's very slow.
I think I'm going to leave it as it is and limit the speed from the kernel command line until OpenWrt updates the kernel.

Thank you for your help.
Marius Dinu


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

* Re: Bug report for ahci-mvebu driver
  2023-02-12 13:14                                                   ` marius
@ 2023-02-12 23:11                                                     ` Damien Le Moal
  0 siblings, 0 replies; 67+ messages in thread
From: Damien Le Moal @ 2023-02-12 23:11 UTC (permalink / raw)
  To: marius; +Cc: linux-ide

On 2/12/23 22:14, marius@psihoexpert.ro wrote:
> February 9, 2023 1:00 AM, "Damien Le Moal"
> <damien.lemoal@opensource.wdc.com> wrote:
> 
>> Thanks. Did you test the other LTS 6.1 kernel too ? The patch was
>> backported there too.
>> 
>> -- Damien Le Moal Western Digital Research
> 
> 
> I tested the patch applied to github tags "v6.1" and "v5.15". They both
> work fine.
> 
> I build another OpenWrt image and it doesn't work. I don't know why and
> it's difficult to add modifications into OpenWrt kernel, because the
> kernel sources don't persist. The build system erases everything,
> unpacks fresh kernel sources and then patches them. To make any
> modification I have to add .diff files into the patches dir and build
> again, write the new firmware into the router flash, test, etc. It's
> very slow. I think I'm going to leave it as it is and limit the speed
> from the kernel command line until OpenWrt updates the kernel.

OK. Sounds good. Thanks a lot for testing.

> 
> Thank you for your help. Marius Dinu
> 

-- 
Damien Le Moal
Western Digital Research


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

end of thread, other threads:[~2023-02-12 23:12 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-01 19:21 Bug report for ahci-mvebu driver Dinu Marius
2022-11-06  7:05 ` Damien Le Moal
2022-11-07  9:22 ` marius
2022-11-08  6:27   ` Damien Le Moal
2022-11-09 19:52   ` marius
2022-11-09 19:55   ` marius
2022-11-10  2:05     ` Damien Le Moal
2022-11-11 22:32     ` marius
2022-11-12  1:57       ` Damien Le Moal
2022-11-14 20:52       ` marius
2022-11-15  3:02         ` Damien Le Moal
2022-11-15  7:28         ` marius
2022-11-15  8:10           ` Damien Le Moal
2022-11-18 18:24             ` Dinu Marius
2022-11-24  2:40               ` Damien Le Moal
2022-12-04  1:41               ` marius
2022-12-04 10:22                 ` Pali Rohár
2022-12-04 21:14                 ` marius
2022-12-04 21:46                   ` Pali Rohár
2022-12-05  2:02                   ` Damien Le Moal
2022-12-06  6:08                 ` Damien Le Moal
2022-12-08 21:26                   ` Pali Rohár
2022-12-09  1:54                     ` Damien Le Moal
2022-12-07 18:27                 ` marius
2022-12-07 21:54                   ` Damien Le Moal
2022-12-07 22:51                   ` Damien Le Moal
2022-12-08 18:06                   ` marius
2022-12-09  0:34                     ` Damien Le Moal
2022-12-09  2:58                     ` Damien Le Moal
2022-12-09  7:31                     ` marius
2022-12-09  9:28                       ` Damien Le Moal
2022-12-09 18:30                       ` marius
2023-01-14 18:01                       ` marius
2023-01-15 23:37                         ` Damien Le Moal
2023-01-17  8:26                         ` Damien Le Moal
2023-01-18 19:43                         ` marius
2023-01-19  0:29                           ` Damien Le Moal
2023-01-19 18:46                           ` marius
2023-01-23  7:02                             ` Damien Le Moal
2023-01-23 20:00                             ` marius
2023-01-23 23:00                               ` Damien Le Moal
2023-01-24  8:04                               ` marius
2023-01-24  9:53                                 ` Damien Le Moal
2023-01-24 17:02                                 ` marius
2023-01-27  5:13                                   ` Damien Le Moal
2023-01-27  6:28                                     ` Damien Le Moal
2023-01-28 17:08                                     ` marius
2023-01-29  2:23                                       ` Damien Le Moal
2023-01-29 10:24                                       ` marius
2023-01-30  1:16                                         ` Damien Le Moal
2023-01-30  2:38                                         ` Damien Le Moal
2023-01-30  7:23                                         ` marius
2023-01-30  7:37                                           ` Damien Le Moal
2023-01-30 23:22                                             ` Damien Le Moal
2023-01-31  7:20                                             ` marius
2023-01-31  7:28                                               ` Damien Le Moal
2023-02-07 18:40                                               ` marius
2023-02-07 23:39                                                 ` Damien Le Moal
2023-02-08 12:17                                                 ` marius
2023-02-08 23:00                                                   ` Damien Le Moal
2023-02-12 13:14                                                   ` marius
2023-02-12 23:11                                                     ` Damien Le Moal
2023-01-24 17:06                       ` Bug report for sata_via driver marius
2023-01-25  1:26                         ` Damien Le Moal
2022-11-26 14:26 ` Bug report for ahci-mvebu driver Pali Rohár
2023-01-23  9:10 ` Hajo Noerenberg
2023-01-23 12:13   ` Damien Le Moal

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.