Cannot detect SATA disks w/ CONFIG_SATA_PMP w/o actually using SATA multiplier
Tejun Heo
htejun at gmail.com
Tue Nov 30 09:08:52 EST 2010
On 11/30/2010 05:02 AM, Lin Mac wrote:
> Hi,
>
> I found that if I enabled CONFIG_SATA_PMP while not using multiplier
> and connect the disks directly to the board, the disk cannot be found
> due to software reset always failed.
>
> With arm/cns3xxx
> linux-2.6.37-rc3
> ahci-platform driver
>
> # modprobe ahci-platform
> [ 12.790000] ahci ahci.0: forcing PORTS_IMPL to 0x3
> [ 12.800000] ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3
> impl platform mode
> [ 12.810000] ahci ahci.0: flags: ncq sntf pm led clo only pmp pio
> slum part ccc
> [ 12.850000] scsi0 : ahci_platform
> [ 12.860000] scsi1 : ahci_platform
> [ 12.870000] ata1: SATA max UDMA/133 irq_stat 0x00400040, connection
> status changed irq 65
> [ 12.880000] ata2: SATA max UDMA/133 mmio [mem
> 0x83000000-0x83ffffff] port 0x180 irq 65
> [ 13.240000] ata2: SATA link down (SStatus 0 SControl 300)
> [ 18.900000] ata1: link is slow to respond, please be patient (ready=0)
> [ 22.930000] ata1: softreset failed (device not ready)
> [ 28.940000] ata1: link is slow to respond, please be patient (ready=0)
> [ 32.970000] ata1: softreset failed (device not ready)
> [ 38.980000] ata1: link is slow to respond, please be patient (ready=0)
> [ 68.030000] ata1: softreset failed (device not ready)
> [ 68.040000] ata1: limiting SATA link speed to 1.5 Gbps
> [ 70.280000] ata1: SATA link down (SStatus 1 SControl 310)
>
> With some debug, ahci_check_ready always get PORT_TFDATA(20)=0x1d0
>
> While using multiplier with CONFIG_SATA_PMP enabled, or using disks
> directly without CONFIG_SATA_PMP have no issue.
> After some googling, it seems common and the only fix is to disable
> CONFIG_SATA_PMP.
> So, before I keep on going, I would like to know whether this is a
> limitation, or a bug?
Most likely a quirk in the controller. Maybe we should disable PMP
support for it?
--
tejun
More information about the linux-arm-kernel
mailing list