tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

ahcisata and "clearing WDCTL_RST failed"



Hi folks --

I'm working with an Arm board (SolidRun Honeycomb LX2K) and it is supposed to have standard AHCI SATA controllers. I have confirmed that the generic driver attaches in Linux when booting in ACPI mode, so there shouldn't be any vendor specific magic going on here.

Drives that I've tried are detected properly by firmware (Tianocore EDK2) and Linux (Fedora 31), but NetBSD seems to have trouble with them. Debug output is below. Any help would be appreciated! I have been banging my head on the desk trying to sort this one out and have had no luck so far.

Device is:

[     1.000007] ahcisata0 at acpi0 (SAT0, NXP0004-0): mem 0x3200000-0x320ffff,0x700100520-0x700100523 irq 165,166,167
[     1.000007] ahcisata0: using 64-bit DMA
[     1.000007] ahcisata0: AHCI revision 1.31, 1 port, 32 slots, CAP 0xe537ff80<CCCS,PSC,SSC,PMD,FBSS,SPM,SAM,ISS=0x3=Gen3,SCLO,SALP,SSNTF,SNCQ,S64A>

Probing the disk looks like this:

orange# drvctl -r -a ata_hl atabus0
[ 351.5569230] ata_queue_alloc_slot: channel 0 qavail 0xffffffff qact 0orange# ahcisata0 port 0: device present, speed: 6.0Gb/s
[ 352.1669178] ahcisata0 ahci_intr 0x1
[ 352.1669178] ahci_intr_port ahcisata0 port 0 is 0x48000022 CI 0x0 SACT 0x0 TFD 0x451
[ 352.1669178] ahcisata0 port 0: TFE: sact 0x0 is 0x48000022 tfd 0x451
[ 352.1669178] ahcisata0 port 0: SERR 0x200500
[ 352.1669178] ata_channel_freeze_locked(chp=0xffffc00005ddc218) -> 1
[ 352.1669178] ata_channel_thaw_locked(chp=0xffffc00005ddc218) -> 0
[ 352.1669178] ata_thread_run flags 0x0 ch_flags 0x0
[ 352.1669178] ata_channel_freeze_locked(chp=0xffffc00005ddc218) -> 1
[ 352.1669178] ahcisata0 ahci_intr 0x1
[ 352.1669178] ahci_intr_port ahcisata0 port 0 is 0x0 CI 0x0 SACT 0x0 TFD 0x451
ahcisata0 port 0: clearing WDCTL_RST failed for drive 0
[ 353.5419060] ata_thread_run flags 0x8 ch_flags 0x8000
[ 353.5419060] ata_channel_freeze_locked(chp=0xffffc00005ddc218) -> 2
[ 353.5529529] ata_read_log_ext_ncq
[ 353.5529529] ata_channel_thaw_locked(chp=0xffffc00005ddc218) -> 1
[ 353.5529529] ata_channel_thaw_locked(chp=0xffffc00005ddc218) -> 0
[ 353.5681382] atastart(chp=0xffffc00005ddc218): channel 0 queue_xfer is empty
[ 353.5750819] wd0 at atabus0 drive 0wdattach

[ 353.5750819] ata_get_params
[ 353.5750819] ahci_exec_command port 0 CI 0x0
[ 353.5750819] ata_exec_xfer 0xffff0000db746040 channel 0 drive 0
[ 353.5750819] atastart from ata_exec_xfer, flags 0x0
[ 353.5750819] ata_queue_alloc_slot: channel 0 qavail 0xffffffff qact 0atastart(chp=0xffffc00005ddc218): xfer 0xffff0000db746040 channel 0 drive 0
[ 353.5750819] ahci_cmd_start CI 0x0 timo 3000
[ 353.5750819]  slot 0ahcisata0 port 0 tbl 0xffff0000d94a1000
[ 353.5750819] ahcisata0 port 0 header 0xffff0000d949f000
[ 353.5750819] atastart(chp=0xffffc00005ddc218): channel 0 queue_xfer is empty
[ 356.6213159] ata_timeout: slot 0
[ 356.6213159] ahci_cmd_complete port 0 CMD 0x1000c017 CI 0x1
[ 356.6213159] ahci_cmd_done port 0 flags 0x12/0x109
[ 356.6345178] ata_get_parms: ata_c.flags=0x129
[ 356.6345178] ata_queue_alloc_slot: channel 0 qavail 0xffffffff qact 0ahcisata0 port 0: setting WDCTL_RST failed for drive 0
[ 357.2313100] ata_get_params
[ 357.2413096] ahci_exec_command port 0 CI 0x0
[ 357.2413096] ata_exec_xfer 0xffff0000db746040 channel 0 drive 0
[ 357.2513096] atastart from ata_exec_xfer, flags 0x0
[ 357.2513096] ata_queue_alloc_slot: channel 0 qavail 0xffffffff qact 0atastart(chp=0xffffc00005ddc218): xfer 0xffff0000db746040 channel 0 drive 0
[ 357.2713094] ahci_cmd_start CI 0x0 timo 3000
[ 357.2713094]  slot 0ahcisata0 port 0 tbl 0xffff0000d94a1000
[ 357.2713094] ahcisata0 port 0 header 0xffff0000d949f000
[ 357.2813092] atastart(chp=0xffffc00005ddc218): channel 0 queue_xfer is empty
[ 360.2812795] ata_timeout: slot 0
[ 360.2812795] ahci_cmd_complete port 0 CMD 0x1000c017 CI 0x1
[ 360.2812795] ahci_cmd_done port 0 flags 0x12/0x109
[ 360.2944759] ata_get_parms: ata_c.flags=0x129
[ 360.2944759] wd0: IDENTIFY failed
[ 360.3012793] wd0: fixing 0 sector size
[ 360.3012793] wd0: secperunit and ncylinders are zero
[ 360.3012793] wdopen
[ 360.3112793] ata_get_params
[ 360.3112793] ahci_exec_command port 0 CI 0x1
[ 360.3112793] ata_exec_xfer 0xffff0000db746040 channel 0 drive 0
[ 360.3212791] atastart from ata_exec_xfer, flags 0x0
[ 360.3212791] ata_queue_alloc_slot: channel 0 qavail 0xffffffff qact 0atastart(chp=0xffffc00005ddc218): xfer 0xffff0000db746040 channel 0 drive 0
[ 360.3412789] ahci_cmd_start CI 0x1 timo 3000
[ 360.3412789]  slot 0ahcisata0 port 0 tbl 0xffff0000d94a1000
[ 360.3512789] ahcisata0 port 0 header 0xffff0000d949f000
[ 360.3512789] atastart(chp=0xffffc00005ddc218): channel 0 queue_xfer is empty
[ 363.3512493] ata_timeout: slot 0
[ 363.3512493] ahci_cmd_complete port 0 CMD 0x1000c017 CI 0x1
[ 363.3512493] ahci_cmd_done port 0 flags 0x12/0x109
[ 363.3644453] ata_get_parms: ata_c.flags=0x129


Home | Main Index | Thread Index | Old Index