Block FPDMA TRIM for ASMedia HBAs.
Experiments show FPDMA TRIM command timeouts on ASMedia HBAs, while the same SSDs working fine on Intel HBAs. MFC after: 2 weeks
This commit is contained in:
parent
6b59de42d2
commit
1384f37b76
@ -2692,7 +2692,9 @@ ahciaction(struct cam_sim *sim, union ccb *ccb)
|
||||
if (ch->caps & AHCI_CAP_SPM)
|
||||
cpi->hba_inquiry |= PI_SATAPM;
|
||||
cpi->target_sprt = 0;
|
||||
cpi->hba_misc = PIM_SEQSCAN | PIM_UNMAPPED | PIM_ATA_EXT;
|
||||
cpi->hba_misc = PIM_SEQSCAN | PIM_UNMAPPED;
|
||||
if ((ch->quirks & AHCI_Q_NOAUX) == 0)
|
||||
cpi->hba_misc |= PIM_ATA_EXT;
|
||||
cpi->hba_eng_cnt = 0;
|
||||
if (ch->caps & AHCI_CAP_SPM)
|
||||
cpi->max_target = 15;
|
||||
|
@ -600,6 +600,7 @@ enum ahci_err_type {
|
||||
#define AHCI_Q_NOMSIX 0x00100000
|
||||
#define AHCI_Q_MRVL_SR_DEL 0x00200000
|
||||
#define AHCI_Q_NOCCS 0x00400000
|
||||
#define AHCI_Q_NOAUX 0x00800000
|
||||
|
||||
#define AHCI_Q_BIT_STRING \
|
||||
"\020" \
|
||||
@ -625,7 +626,8 @@ enum ahci_err_type {
|
||||
"\024RESTORE_CAP" \
|
||||
"\025NOMSIX" \
|
||||
"\026MRVL_SR_DEL" \
|
||||
"\027NOCCS"
|
||||
"\027NOCCS" \
|
||||
"\030NOAUX"
|
||||
|
||||
int ahci_attach(device_t dev);
|
||||
int ahci_detach(device_t dev);
|
||||
|
@ -73,15 +73,15 @@ static const struct {
|
||||
{0x78021022, 0x00, "AMD Hudson-2", 0},
|
||||
{0x78031022, 0x00, "AMD Hudson-2", 0},
|
||||
{0x78041022, 0x00, "AMD Hudson-2", 0},
|
||||
{0x06011b21, 0x00, "ASMedia ASM1060", AHCI_Q_NOCCS},
|
||||
{0x06021b21, 0x00, "ASMedia ASM1060", AHCI_Q_NOCCS},
|
||||
{0x06111b21, 0x00, "ASMedia ASM1061", AHCI_Q_NOCCS},
|
||||
{0x06121b21, 0x00, "ASMedia ASM1062", AHCI_Q_NOCCS},
|
||||
{0x06201b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS},
|
||||
{0x06211b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS},
|
||||
{0x06221b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS},
|
||||
{0x06241b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS},
|
||||
{0x06251b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS},
|
||||
{0x06011b21, 0x00, "ASMedia ASM1060", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06021b21, 0x00, "ASMedia ASM1060", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06111b21, 0x00, "ASMedia ASM1061", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06121b21, 0x00, "ASMedia ASM1062", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06201b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06211b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06221b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06241b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x06251b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX},
|
||||
{0x26528086, 0x00, "Intel ICH6", AHCI_Q_NOFORCE},
|
||||
{0x26538086, 0x00, "Intel ICH6M", AHCI_Q_NOFORCE},
|
||||
{0x26818086, 0x00, "Intel ESB2", 0},
|
||||
|
Loading…
Reference in New Issue
Block a user