Even if we are skipping SATA hard reset - set power management bits in
SControl register. This should make things consistent and help to avoid unexpected PHY events that I've noticed in some cases on VIA controllers.
This commit is contained in:
parent
1f6aa21d47
commit
5c2a4ae217
@ -153,8 +153,12 @@ ata_sata_phy_reset(device_t dev, int port, int quick)
|
||||
if (quick) {
|
||||
if (ata_sata_scr_read(ch, port, ATA_SCONTROL, &val))
|
||||
return (0);
|
||||
if ((val & ATA_SC_DET_MASK) == ATA_SC_DET_IDLE)
|
||||
if ((val & ATA_SC_DET_MASK) == ATA_SC_DET_IDLE) {
|
||||
ata_sata_scr_write(ch, port, ATA_SCONTROL,
|
||||
ATA_SC_DET_IDLE | ((ch->pm_level > 0) ? 0 :
|
||||
ATA_SC_IPM_DIS_PARTIAL | ATA_SC_IPM_DIS_SLUMBER));
|
||||
return ata_sata_connect(ch, port, quick);
|
||||
}
|
||||
}
|
||||
|
||||
if (bootverbose) {
|
||||
|
Loading…
Reference in New Issue
Block a user