Ignore:
Timestamp:
Jul 24, 2023, 5:51:46 PM (2 years ago)
Author:
David Azarewicz
Message:

Added workaround to help with VirtualBox issues.
Improved diagnostic messages.
Changed how timeouts are reset and how ctx hooks are triggered.
Added quirk for devices with issues executing some standard commands.
Changed to make /N the default.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/ahci.h

    r205 r211  
    7777#define RX_FIS_SDB              0x58 /* offset of SDB FIS data */
    7878#define RX_FIS_UNK              0x60 /* offset of Unknown FIS data */
    79 
    80 #define board_ahci              0
    81 #define board_ahci_vt8251       1
    82 #define board_ahci_ign_iferr    2
    83 #define board_ahci_sb600        3
    84 #define board_ahci_mv           4
    85 #define board_ahci_sb700        5 /* for SB700 and SB800 */
    86 #define board_ahci_mcp65        6
    87 #define board_ahci_nopmp        7
    88 #define board_ahci_yesncq       8
    89 #define board_ahci_nosntf       9
    9079
    9180/* global controller registers */
     
    156145
    157146/* PORT_IRQ_{STAT,MASK} bits */
    158 #define PORT_IRQ_COLD_PRES      (1UL << 31) /* cold presence detect */
    159 #define PORT_IRQ_TF_ERR         (1UL << 30) /* task file error */
    160 #define PORT_IRQ_HBUS_ERR       (1UL << 29) /* host bus fatal error */
    161 #define PORT_IRQ_HBUS_DATA_ERR  (1UL << 28) /* host bus data error */
    162 #define PORT_IRQ_IF_ERR         (1UL << 27) /* interface fatal error */
    163 #define PORT_IRQ_IF_NONFATAL    (1UL << 26) /* interface non-fatal error */
    164 #define PORT_IRQ_OVERFLOW       (1UL << 24) /* xfer exhausted available S/G */
    165 #define PORT_IRQ_BAD_PMP        (1UL << 23) /* incorrect port multiplier */
    166 #define PORT_IRQ_PHYRDY         (1UL << 22) /* PhyRdy changed */
    167 #define PORT_IRQ_DEV_ILCK       (1UL << 7)  /* device interlock */
    168 #define PORT_IRQ_CONNECT        (1UL << 6)  /* port connect change status */
    169 #define PORT_IRQ_SG_DONE        (1UL << 5)  /* descriptor processed */
    170 #define PORT_IRQ_UNK_FIS        (1UL << 4)  /* unknown FIS rx'd */
    171 #define PORT_IRQ_SDB_FIS        (1UL << 3)  /* Set Device Bits FIS rx'd */
    172 #define PORT_IRQ_DMAS_FIS       (1UL << 2)  /* DMA Setup FIS rx'd */
    173 #define PORT_IRQ_PIOS_FIS       (1UL << 1)  /* PIO Setup FIS rx'd */
    174 #define PORT_IRQ_D2H_REG_FIS    (1UL << 0)  /* D2H Register FIS rx'd */
     147#define PORT_IRQ_COLD_PRES      (1UL << 31) /* 80000000 cold presence detect */
     148#define PORT_IRQ_TF_ERR         (1UL << 30) /* 40000000 task file error */
     149#define PORT_IRQ_HBUS_ERR       (1UL << 29) /* 20000000 host bus fatal error */
     150#define PORT_IRQ_HBUS_DATA_ERR  (1UL << 28) /* 10000000 host bus data error */
     151#define PORT_IRQ_IF_ERR         (1UL << 27) /* 08000000 interface fatal error */
     152#define PORT_IRQ_IF_NONFATAL    (1UL << 26) /* 04000000 interface non-fatal error */
     153#define PORT_IRQ_OVERFLOW       (1UL << 24) /* 01000000 xfer exhausted available S/G */
     154#define PORT_IRQ_BAD_PMP        (1UL << 23) /* 00800000 incorrect port multiplier */
     155#define PORT_IRQ_PHYRDY         (1UL << 22) /* 00400000 PhyRdy changed */
     156#define PORT_IRQ_DEV_ILCK       (1UL << 7)  /* 00000080 device interlock */
     157#define PORT_IRQ_CONNECT        (1UL << 6)  /* 00000040 port connect change status */
     158#define PORT_IRQ_SG_DONE        (1UL << 5)  /* 00000020 descriptor processed */
     159#define PORT_IRQ_UNK_FIS        (1UL << 4)  /* 00000010 unknown FIS rx'd */
     160#define PORT_IRQ_SDB_FIS        (1UL << 3)  /* 00000008 Set Device Bits FIS rx'd */
     161#define PORT_IRQ_DMAS_FIS       (1UL << 2)  /* 00000004 DMA Setup FIS rx'd */
     162#define PORT_IRQ_PIOS_FIS       (1UL << 1)  /* 00000002 PIO Setup FIS rx'd */
     163#define PORT_IRQ_D2H_REG_FIS    (1UL << 0)  /* 00000001 D2H Register FIS rx'd */
    175164#define PORT_IRQ_FREEZE         (PORT_IRQ_HBUS_ERR | PORT_IRQ_IF_ERR   | \
    176165                                 PORT_IRQ_CONNECT  | PORT_IRQ_PHYRDY   | \
Note: See TracChangeset for help on using the changeset viewer.