VirtualBox

Changeset 48997 in vbox for trunk/src/VBox/Devices/Audio


Ignore:
Timestamp:
Oct 9, 2013 11:31:38 AM (11 years ago)
Author:
vboxsync
Message:

HDA: Stripped redundant ICH6 prefix. The identifiers are long enough already.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/DevIchHda.cpp

    r46272 r48997  
    7676#define HDA_NREGS 112
    7777/* Registers */
    78 #define HDA_REG_IND_NAME(x)                 ICH6_HDA_REG_##x
    79 #define HDA_REG_FIELD_NAME(reg, x)          ICH6_HDA_##reg##_##x
    80 #define HDA_REG_FIELD_MASK(reg, x)          ICH6_HDA_##reg##_##x##_MASK
    81 #define HDA_REG_FIELD_FLAG_MASK(reg, x)     RT_BIT(ICH6_HDA_##reg##_##x##_SHIFT)
    82 #define HDA_REG_FIELD_SHIFT(reg, x)         ICH6_HDA_##reg##_##x##_SHIFT
     78#define HDA_REG_IND_NAME(x)                 HDA_REG_##x
     79#define HDA_REG_FIELD_NAME(reg, x)          HDA_##reg##_##x
     80#define HDA_REG_FIELD_MASK(reg, x)          HDA_##reg##_##x##_MASK
     81#define HDA_REG_FIELD_FLAG_MASK(reg, x)     RT_BIT(HDA_##reg##_##x##_SHIFT)
     82#define HDA_REG_FIELD_SHIFT(reg, x)         HDA_##reg##_##x##_SHIFT
    8383#define HDA_REG_IND(pThis, x)               ((pThis)->au32Regs[(x)])
    8484#define HDA_REG(pThis, x)                   (HDA_REG_IND((pThis), HDA_REG_IND_NAME(x)))
     
    8787#define HDA_REG_SVALUE(pThis, reg, val)     (HDA_REG_VALUE(pThis, reg, val) >> (HDA_REG_FIELD_SHIFT(reg, val)))
    8888
    89 #define ICH6_HDA_REG_GCAP 0 /* range 0x00-0x01*/
     89#define HDA_REG_GCAP 0 /* range 0x00-0x01*/
    9090#define GCAP(pThis) (HDA_REG((pThis), GCAP))
    9191/* GCAP HDASpec 3.3.2 This macro encodes the following information about HDA in a compact manner:
     
    102102     | (((bds) & 0x3)  << 2)    \
    103103     | ((b64sup) & 1))
    104 #define ICH6_HDA_REG_VMIN           1 /* range 0x02 */
     104#define HDA_REG_VMIN                1 /* range 0x02 */
    105105#define VMIN(pThis)                 (HDA_REG((pThis), VMIN))
    106106
    107 #define ICH6_HDA_REG_VMAJ           2 /* range 0x03 */
     107#define HDA_REG_VMAJ                2 /* range 0x03 */
    108108#define VMAJ(pThis)                 (HDA_REG((pThis), VMAJ))
    109109
    110 #define ICH6_HDA_REG_OUTPAY         3 /* range 0x04-0x05 */
     110#define HDA_REG_OUTPAY              3 /* range 0x04-0x05 */
    111111#define OUTPAY(pThis)               (HDA_REG((pThis), OUTPAY))
    112112
    113 #define ICH6_HDA_REG_INPAY          4 /* range 0x06-0x07 */
     113#define HDA_REG_INPAY               4 /* range 0x06-0x07 */
    114114#define INPAY(pThis)                (HDA_REG((pThis), INPAY))
    115115
    116 #define ICH6_HDA_REG_GCTL           (5)
    117 #define ICH6_HDA_GCTL_RST_SHIFT     (0)
    118 #define ICH6_HDA_GCTL_FSH_SHIFT     (1)
    119 #define ICH6_HDA_GCTL_UR_SHIFT      (8)
     116#define HDA_REG_GCTL                5
     117#define HDA_GCTL_RST_SHIFT          0
     118#define HDA_GCTL_FSH_SHIFT          1
     119#define HDA_GCTL_UR_SHIFT           8
    120120#define GCTL(pThis)                 (HDA_REG((pThis), GCTL))
    121121
    122 #define ICH6_HDA_REG_WAKEEN         6 /* 0x0C */
     122#define HDA_REG_WAKEEN              6 /* 0x0C */
    123123#define WAKEEN(pThis)               (HDA_REG((pThis), WAKEEN))
    124124
    125 #define ICH6_HDA_REG_STATESTS       7 /* range 0x0E */
     125#define HDA_REG_STATESTS            7 /* range 0x0E */
    126126#define STATESTS(pThis)             (HDA_REG((pThis), STATESTS))
    127 #define ICH6_HDA_STATES_SCSF        0x7
    128 
    129 #define ICH6_HDA_REG_GSTS           8 /* range 0x10-0x11*/
    130 #define ICH6_HDA_GSTS_FSH_SHIFT     (1)
     127#define HDA_STATES_SCSF             0x7
     128
     129#define HDA_REG_GSTS                8 /* range 0x10-0x11*/
     130#define HDA_GSTS_FSH_SHIFT          1
    131131#define GSTS(pThis)                 (HDA_REG(pThis, GSTS))
    132132
    133 #define ICH6_HDA_REG_INTCTL         9 /* 0x20 */
    134 #define ICH6_HDA_INTCTL_GIE_SHIFT   31
    135 #define ICH6_HDA_INTCTL_CIE_SHIFT   30
    136 #define ICH6_HDA_INTCTL_S0_SHIFT    (0)
    137 #define ICH6_HDA_INTCTL_S1_SHIFT    (1)
    138 #define ICH6_HDA_INTCTL_S2_SHIFT    (2)
    139 #define ICH6_HDA_INTCTL_S3_SHIFT    (3)
    140 #define ICH6_HDA_INTCTL_S4_SHIFT    (4)
    141 #define ICH6_HDA_INTCTL_S5_SHIFT    (5)
    142 #define ICH6_HDA_INTCTL_S6_SHIFT    (6)
    143 #define ICH6_HDA_INTCTL_S7_SHIFT    (7)
     133#define HDA_REG_INTCTL              9 /* 0x20 */
     134#define HDA_INTCTL_GIE_SHIFT        31
     135#define HDA_INTCTL_CIE_SHIFT        30
     136#define HDA_INTCTL_S0_SHIFT         0
     137#define HDA_INTCTL_S1_SHIFT         1
     138#define HDA_INTCTL_S2_SHIFT         2
     139#define HDA_INTCTL_S3_SHIFT         3
     140#define HDA_INTCTL_S4_SHIFT         4
     141#define HDA_INTCTL_S5_SHIFT         5
     142#define HDA_INTCTL_S6_SHIFT         6
     143#define HDA_INTCTL_S7_SHIFT         7
    144144#define INTCTL(pThis)               (HDA_REG((pThis), INTCTL))
    145145#define INTCTL_GIE(pThis)           (HDA_REG_FLAG_VALUE(pThis, INTCTL, GIE))
     
    152152 * the datasheet.
    153153 */
    154 #define ICH6_HDA_REG_SSYNC          12 /* 0x34 */
     154#define HDA_REG_SSYNC               12 /* 0x34 */
    155155#define SSYNC(pThis)                (HDA_REG((pThis), SSYNC))
    156156
    157 #define ICH6_HDA_REG_INTSTS         10 /* 0x24 */
    158 #define ICH6_HDA_INTSTS_GIS_SHIFT   (31)
    159 #define ICH6_HDA_INTSTS_CIS_SHIFT   (30)
    160 #define ICH6_HDA_INTSTS_S0_SHIFT    (0)
    161 #define ICH6_HDA_INTSTS_S1_SHIFT    (1)
    162 #define ICH6_HDA_INTSTS_S2_SHIFT    (2)
    163 #define ICH6_HDA_INTSTS_S3_SHIFT    (3)
    164 #define ICH6_HDA_INTSTS_S4_SHIFT    (4)
    165 #define ICH6_HDA_INTSTS_S5_SHIFT    (5)
    166 #define ICH6_HDA_INTSTS_S6_SHIFT    (6)
    167 #define ICH6_HDA_INTSTS_S7_SHIFT    (7)
    168 #define ICH6_HDA_INTSTS_S_MASK(num) RT_BIT(HDA_REG_FIELD_SHIFT(S##num))
     157#define HDA_REG_INTSTS              10 /* 0x24 */
     158#define HDA_INTSTS_GIS_SHIFT        31
     159#define HDA_INTSTS_CIS_SHIFT        30
     160#define HDA_INTSTS_S0_SHIFT         0
     161#define HDA_INTSTS_S1_SHIFT         1
     162#define HDA_INTSTS_S2_SHIFT         2
     163#define HDA_INTSTS_S3_SHIFT         3
     164#define HDA_INTSTS_S4_SHIFT         4
     165#define HDA_INTSTS_S5_SHIFT         5
     166#define HDA_INTSTS_S6_SHIFT         6
     167#define HDA_INTSTS_S7_SHIFT         7
     168#define HDA_INTSTS_S_MASK(num)      RT_BIT(HDA_REG_FIELD_SHIFT(S##num))
    169169#define INTSTS(pThis)               (HDA_REG((pThis), INTSTS))
    170170#define INTSTS_GIS(pThis)           (HDA_REG_FLAG_VALUE((pThis), INTSTS, GIS)
     
    173173#define INTSTS_SANY(pThis)          (INTSTS((pThis)) & 0xFF)
    174174
    175 #define ICH6_HDA_REG_CORBLBASE      13 /* 0x40 */
     175#define HDA_REG_CORBLBASE           13 /* 0x40 */
    176176#define CORBLBASE(pThis)            (HDA_REG((pThis), CORBLBASE))
    177 #define ICH6_HDA_REG_CORBUBASE      14 /* 0x44 */
     177#define HDA_REG_CORBUBASE           14 /* 0x44 */
    178178#define CORBUBASE(pThis)            (HDA_REG((pThis), CORBUBASE))
    179 #define ICH6_HDA_REG_CORBWP         15 /* 48 */
    180 #define ICH6_HDA_REG_CORBRP         16 /* 4A */
    181 #define ICH6_HDA_CORBRP_RST_SHIFT   15
    182 #define ICH6_HDA_CORBRP_WP_SHIFT    0
    183 #define ICH6_HDA_CORBRP_WP_MASK     0xFF
     179#define HDA_REG_CORBWP              15 /* 48 */
     180#define HDA_REG_CORBRP              16 /* 4A */
     181#define HDA_CORBRP_RST_SHIFT        15
     182#define HDA_CORBRP_WP_SHIFT         0
     183#define HDA_CORBRP_WP_MASK          0xFF
    184184
    185185#define CORBRP(pThis)               (HDA_REG(pThis, CORBRP))
    186186#define CORBWP(pThis)               (HDA_REG(pThis, CORBWP))
    187187
    188 #define ICH6_HDA_REG_CORBCTL        17 /* 0x4C */
    189 #define ICH6_HDA_CORBCTL_DMA_SHIFT  (1)
    190 #define ICH6_HDA_CORBCTL_CMEIE_SHIFT (0)
     188#define HDA_REG_CORBCTL             17 /* 0x4C */
     189#define HDA_CORBCTL_DMA_SHIFT       1
     190#define HDA_CORBCTL_CMEIE_SHIFT     0
    191191
    192192#define CORBCTL(pThis)              (HDA_REG(pThis, CORBCTL))
    193193
    194194
    195 #define ICH6_HDA_REG_CORBSTS        18 /* 0x4D */
     195#define HDA_REG_CORBSTS             18 /* 0x4D */
    196196#define CORBSTS(pThis)              (HDA_REG(pThis, CORBSTS))
    197 #define ICH6_HDA_CORBSTS_CMEI_SHIFT (0)
    198 
    199 #define ICH6_HDA_REG_CORBSIZE       19 /* 0x4E */
    200 #define ICH6_HDA_CORBSIZE_SZ_CAP    0xF0
    201 #define ICH6_HDA_CORBSIZE_SZ        0x3
    202 #define CORBSIZE_SZ(pThis)          (HDA_REG(pThis, ICH6_HDA_REG_CORBSIZE) & ICH6_HDA_CORBSIZE_SZ)
    203 #define CORBSIZE_SZ_CAP(pThis)      (HDA_REG(pThis, ICH6_HDA_REG_CORBSIZE) & ICH6_HDA_CORBSIZE_SZ_CAP)
     197#define HDA_CORBSTS_CMEI_SHIFT      0
     198
     199#define HDA_REG_CORBSIZE            19 /* 0x4E */
     200#define HDA_CORBSIZE_SZ_CAP         0xF0
     201#define HDA_CORBSIZE_SZ             0x3
     202#define CORBSIZE_SZ(pThis)          (HDA_REG(pThis, HDA_REG_CORBSIZE) & HDA_CORBSIZE_SZ)
     203#define CORBSIZE_SZ_CAP(pThis)      (HDA_REG(pThis, HDA_REG_CORBSIZE) & HDA_CORBSIZE_SZ_CAP)
    204204/* till ich 10 sizes of CORB and RIRB are hardcoded to 256 in real hw */
    205205
    206 #define ICH6_HDA_REG_RIRLBASE       20 /* 0x50 */
     206#define HDA_REG_RIRLBASE            20 /* 0x50 */
    207207#define RIRLBASE(pThis)             (HDA_REG((pThis), RIRLBASE))
    208208
    209 #define ICH6_HDA_REG_RIRUBASE       21 /* 0x54 */
     209#define HDA_REG_RIRUBASE            21 /* 0x54 */
    210210#define RIRUBASE(pThis)             (HDA_REG((pThis), RIRUBASE))
    211211
    212 #define ICH6_HDA_REG_RIRBWP         22 /* 0x58 */
    213 #define ICH6_HDA_RIRBWP_RST_SHIFT   (15)
    214 #define ICH6_HDA_RIRBWP_WP_MASK     0xFF
     212#define HDA_REG_RIRBWP              22 /* 0x58 */
     213#define HDA_RIRBWP_RST_SHIFT        15
     214#define HDA_RIRBWP_WP_MASK          0xFF
    215215#define RIRBWP(pThis)              (HDA_REG(pThis, RIRBWP))
    216216
    217 #define ICH6_HDA_REG_RINTCNT        23 /* 0x5A */
     217#define HDA_REG_RINTCNT             23 /* 0x5A */
    218218#define RINTCNT(pThis)              (HDA_REG((pThis), RINTCNT))
    219219#define RINTCNT_N(pThis)            (RINTCNT((pThis)) & 0xff)
    220220
    221 #define ICH6_HDA_REG_RIRBCTL        24 /* 0x5C */
    222 #define ICH6_HDA_RIRBCTL_RIC_SHIFT  (0)
    223 #define ICH6_HDA_RIRBCTL_DMA_SHIFT  (1)
    224 #define ICH6_HDA_ROI_DMA_SHIFT      (2)
     221#define HDA_REG_RIRBCTL             24 /* 0x5C */
     222#define HDA_RIRBCTL_RIC_SHIFT       0
     223#define HDA_RIRBCTL_DMA_SHIFT       1
     224#define HDA_ROI_DMA_SHIFT           2
    225225#define RIRBCTL(pThis)              (HDA_REG((pThis), RIRBCTL))
    226226#define RIRBCTL_RIRB_RIC(pThis)     (HDA_REG_FLAG_VALUE(pThis, RIRBCTL, RIC))
     
    228228#define RIRBCTL_ROI(pThis)          (HDA_REG_FLAG_VALUE((pThis), RIRBCTL, ROI))
    229229
    230 #define ICH6_HDA_REG_RIRBSTS        25 /* 0x5D */
    231 #define ICH6_HDA_RIRBSTS_RINTFL_SHIFT (0)
    232 #define ICH6_HDA_RIRBSTS_RIRBOIS_SHIFT (2)
     230#define HDA_REG_RIRBSTS             25 /* 0x5D */
     231#define HDA_RIRBSTS_RINTFL_SHIFT    0
     232#define HDA_RIRBSTS_RIRBOIS_SHIFT   2
    233233#define RIRBSTS(pThis)              (HDA_REG(pThis, RIRBSTS))
    234234#define RIRBSTS_RINTFL(pThis)       (HDA_REG_FLAG_VALUE(pThis, RIRBSTS, RINTFL))
    235235#define RIRBSTS_RIRBOIS(pThis)      (HDA_REG_FLAG_VALUE(pThis, RIRBSTS, RIRBOIS))
    236236
    237 #define ICH6_HDA_REG_RIRBSIZE       26 /* 0x5E */
    238 #define ICH6_HDA_RIRBSIZE_SZ_CAP    0xF0
    239 #define ICH6_HDA_RIRBSIZE_SZ        0x3
    240 
    241 #define RIRBSIZE_SZ(pThis)          (HDA_REG(pThis, ICH6_HDA_REG_RIRBSIZE) & ICH6_HDA_RIRBSIZE_SZ)
    242 #define RIRBSIZE_SZ_CAP(pThis)      (HDA_REG(pThis, ICH6_HDA_REG_RIRBSIZE) & ICH6_HDA_RIRBSIZE_SZ_CAP)
    243 
    244 
    245 #define ICH6_HDA_REG_IC             27 /* 0x60 */
     237#define HDA_REG_RIRBSIZE            26 /* 0x5E */
     238#define HDA_RIRBSIZE_SZ_CAP         0xF0
     239#define HDA_RIRBSIZE_SZ             0x3
     240
     241#define RIRBSIZE_SZ(pThis)          (HDA_REG(pThis, HDA_REG_RIRBSIZE) & HDA_RIRBSIZE_SZ)
     242#define RIRBSIZE_SZ_CAP(pThis)      (HDA_REG(pThis, HDA_REG_RIRBSIZE) & HDA_RIRBSIZE_SZ_CAP)
     243
     244
     245#define HDA_REG_IC                  27 /* 0x60 */
    246246#define IC(pThis)                   (HDA_REG(pThis, IC))
    247 #define ICH6_HDA_REG_IR             28 /* 0x64 */
     247#define HDA_REG_IR                  28 /* 0x64 */
    248248#define IR(pThis)                   (HDA_REG(pThis, IR))
    249 #define ICH6_HDA_REG_IRS            29 /* 0x68 */
    250 #define ICH6_HDA_IRS_ICB_SHIFT      (0)
    251 #define ICH6_HDA_IRS_IRV_SHIFT      (1)
     249#define HDA_REG_IRS                 29 /* 0x68 */
     250#define HDA_IRS_ICB_SHIFT           0
     251#define HDA_IRS_IRV_SHIFT           1
    252252#define IRS(pThis)                  (HDA_REG(pThis, IRS))
    253253#define IRS_ICB(pThis)              (HDA_REG_FLAG_VALUE(pThis, IRS, ICB))
    254254#define IRS_IRV(pThis)              (HDA_REG_FLAG_VALUE(pThis, IRS, IRV))
    255255
    256 #define ICH6_HDA_REG_DPLBASE        30 /* 0x70 */
     256#define HDA_REG_DPLBASE             30 /* 0x70 */
    257257#define DPLBASE(pThis)              (HDA_REG((pThis), DPLBASE))
    258 #define ICH6_HDA_REG_DPUBASE        31 /* 0x74 */
     258#define HDA_REG_DPUBASE             31 /* 0x74 */
    259259#define DPUBASE(pThis)              (HDA_REG((pThis), DPUBASE))
    260260#define DPBASE_ENABLED              1
    261261#define DPBASE_ADDR_MASK            (~(uint64_t)0x7f)
    262262
    263 #define HDA_STREAM_REG_DEF(name, num)           (ICH6_HDA_REG_SD##num##name)
     263#define HDA_STREAM_REG_DEF(name, num)           (HDA_REG_SD##num##name)
    264264#define HDA_STREAM_REG(pThis, name, num)        (HDA_REG((pThis), N_(HDA_STREAM_REG_DEF(name, num))))
    265265/* Note: sdnum here _MUST_ be stream reg number [0,7] */
    266 #define HDA_STREAM_REG2(pThis, name, sdnum)     (HDA_REG_IND((pThis), ICH6_HDA_REG_SD0##name + (sdnum) * 10))
    267 
    268 #define ICH6_HDA_REG_SD0CTL         32 /* 0x80 */
    269 #define ICH6_HDA_REG_SD1CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 10) /* 0xA0 */
    270 #define ICH6_HDA_REG_SD2CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 20) /* 0xC0 */
    271 #define ICH6_HDA_REG_SD3CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 30) /* 0xE0 */
    272 #define ICH6_HDA_REG_SD4CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 40) /* 0x100 */
    273 #define ICH6_HDA_REG_SD5CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 50) /* 0x120 */
    274 #define ICH6_HDA_REG_SD6CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 60) /* 0x140 */
    275 #define ICH6_HDA_REG_SD7CTL         (HDA_STREAM_REG_DEF(CTL, 0) + 70) /* 0x160 */
     266#define HDA_STREAM_REG2(pThis, name, sdnum)     (HDA_REG_IND((pThis), HDA_REG_SD0##name + (sdnum) * 10))
     267
     268#define HDA_REG_SD0CTL              32 /* 0x80 */
     269#define HDA_REG_SD1CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 10) /* 0xA0 */
     270#define HDA_REG_SD2CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 20) /* 0xC0 */
     271#define HDA_REG_SD3CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 30) /* 0xE0 */
     272#define HDA_REG_SD4CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 40) /* 0x100 */
     273#define HDA_REG_SD5CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 50) /* 0x120 */
     274#define HDA_REG_SD6CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 60) /* 0x140 */
     275#define HDA_REG_SD7CTL              (HDA_STREAM_REG_DEF(CTL, 0) + 70) /* 0x160 */
    276276
    277277#define SD(func, num)               SD##num##func
    278278#define SDCTL(pThis, num)           HDA_REG((pThis), SD(CTL, num))
    279279#define SDCTL_NUM(pThis, num)       ((SDCTL((pThis), num) & HDA_REG_FIELD_MASK(SDCTL,NUM)) >> HDA_REG_FIELD_SHIFT(SDCTL, NUM))
    280 #define ICH6_HDA_SDCTL_NUM_MASK     (0xF)
    281 #define ICH6_HDA_SDCTL_NUM_SHIFT    (20)
    282 #define ICH6_HDA_SDCTL_DIR_SHIFT    (19)
    283 #define ICH6_HDA_SDCTL_TP_SHIFT     (18)
    284 #define ICH6_HDA_SDCTL_STRIPE_MASK  (0x3)
    285 #define ICH6_HDA_SDCTL_STRIPE_SHIFT (16)
    286 #define ICH6_HDA_SDCTL_DEIE_SHIFT   (4)
    287 #define ICH6_HDA_SDCTL_FEIE_SHIFT   (3)
    288 #define ICH6_HDA_SDCTL_ICE_SHIFT    (2)
    289 #define ICH6_HDA_SDCTL_RUN_SHIFT    (1)
    290 #define ICH6_HDA_SDCTL_SRST_SHIFT   (0)
    291 
    292 #define ICH6_HDA_REG_SD0STS         33 /* 0x83 */
    293 #define ICH6_HDA_REG_SD1STS         (HDA_STREAM_REG_DEF(STS, 0) + 10) /* 0xA3 */
    294 #define ICH6_HDA_REG_SD2STS         (HDA_STREAM_REG_DEF(STS, 0) + 20) /* 0xC3 */
    295 #define ICH6_HDA_REG_SD3STS         (HDA_STREAM_REG_DEF(STS, 0) + 30) /* 0xE3 */
    296 #define ICH6_HDA_REG_SD4STS         (HDA_STREAM_REG_DEF(STS, 0) + 40) /* 0x103 */
    297 #define ICH6_HDA_REG_SD5STS         (HDA_STREAM_REG_DEF(STS, 0) + 50) /* 0x123 */
    298 #define ICH6_HDA_REG_SD6STS         (HDA_STREAM_REG_DEF(STS, 0) + 60) /* 0x143 */
    299 #define ICH6_HDA_REG_SD7STS         (HDA_STREAM_REG_DEF(STS, 0) + 70) /* 0x163 */
     280#define HDA_SDCTL_NUM_MASK          0xF
     281#define HDA_SDCTL_NUM_SHIFT         20
     282#define HDA_SDCTL_DIR_SHIFT         19
     283#define HDA_SDCTL_TP_SHIFT          18
     284#define HDA_SDCTL_STRIPE_MASK       0x3
     285#define HDA_SDCTL_STRIPE_SHIFT      16
     286#define HDA_SDCTL_DEIE_SHIFT        4
     287#define HDA_SDCTL_FEIE_SHIFT        3
     288#define HDA_SDCTL_ICE_SHIFT         2
     289#define HDA_SDCTL_RUN_SHIFT         1
     290#define HDA_SDCTL_SRST_SHIFT        0
     291
     292#define HDA_REG_SD0STS              33 /* 0x83 */
     293#define HDA_REG_SD1STS              (HDA_STREAM_REG_DEF(STS, 0) + 10) /* 0xA3 */
     294#define HDA_REG_SD2STS              (HDA_STREAM_REG_DEF(STS, 0) + 20) /* 0xC3 */
     295#define HDA_REG_SD3STS              (HDA_STREAM_REG_DEF(STS, 0) + 30) /* 0xE3 */
     296#define HDA_REG_SD4STS              (HDA_STREAM_REG_DEF(STS, 0) + 40) /* 0x103 */
     297#define HDA_REG_SD5STS              (HDA_STREAM_REG_DEF(STS, 0) + 50) /* 0x123 */
     298#define HDA_REG_SD6STS              (HDA_STREAM_REG_DEF(STS, 0) + 60) /* 0x143 */
     299#define HDA_REG_SD7STS              (HDA_STREAM_REG_DEF(STS, 0) + 70) /* 0x163 */
    300300
    301301#define SDSTS(pThis, num)           HDA_REG((pThis), SD(STS, num))
    302 #define ICH6_HDA_SDSTS_FIFORDY_SHIFT (5)
    303 #define ICH6_HDA_SDSTS_DE_SHIFT     (4)
    304 #define ICH6_HDA_SDSTS_FE_SHIFT     (3)
    305 #define ICH6_HDA_SDSTS_BCIS_SHIFT   (2)
    306 
    307 #define ICH6_HDA_REG_SD0LPIB        34 /* 0x84 */
    308 #define ICH6_HDA_REG_SD1LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 10) /* 0xA4 */
    309 #define ICH6_HDA_REG_SD2LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 20) /* 0xC4 */
    310 #define ICH6_HDA_REG_SD3LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 30) /* 0xE4 */
    311 #define ICH6_HDA_REG_SD4LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 40) /* 0x104 */
    312 #define ICH6_HDA_REG_SD5LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 50) /* 0x124 */
    313 #define ICH6_HDA_REG_SD6LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 60) /* 0x144 */
    314 #define ICH6_HDA_REG_SD7LPIB        (HDA_STREAM_REG_DEF(LPIB, 0) + 70) /* 0x164 */
     302#define HDA_SDSTS_FIFORDY_SHIFT     5
     303#define HDA_SDSTS_DE_SHIFT          4
     304#define HDA_SDSTS_FE_SHIFT          3
     305#define HDA_SDSTS_BCIS_SHIFT        2
     306
     307#define HDA_REG_SD0LPIB             34 /* 0x84 */
     308#define HDA_REG_SD1LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 10) /* 0xA4 */
     309#define HDA_REG_SD2LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 20) /* 0xC4 */
     310#define HDA_REG_SD3LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 30) /* 0xE4 */
     311#define HDA_REG_SD4LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 40) /* 0x104 */
     312#define HDA_REG_SD5LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 50) /* 0x124 */
     313#define HDA_REG_SD6LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 60) /* 0x144 */
     314#define HDA_REG_SD7LPIB             (HDA_STREAM_REG_DEF(LPIB, 0) + 70) /* 0x164 */
    315315
    316316#define SDLPIB(pThis, num)          HDA_REG((pThis), SD(LPIB, num))
    317317
    318 #define ICH6_HDA_REG_SD0CBL         35 /* 0x88 */
    319 #define ICH6_HDA_REG_SD1CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 10) /* 0xA8 */
    320 #define ICH6_HDA_REG_SD2CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 20) /* 0xC8 */
    321 #define ICH6_HDA_REG_SD3CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 30) /* 0xE8 */
    322 #define ICH6_HDA_REG_SD4CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 40) /* 0x108 */
    323 #define ICH6_HDA_REG_SD5CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 50) /* 0x128 */
    324 #define ICH6_HDA_REG_SD6CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 60) /* 0x148 */
    325 #define ICH6_HDA_REG_SD7CBL         (HDA_STREAM_REG_DEF(CBL, 0) + 70) /* 0x168 */
     318#define HDA_REG_SD0CBL              35 /* 0x88 */
     319#define HDA_REG_SD1CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 10) /* 0xA8 */
     320#define HDA_REG_SD2CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 20) /* 0xC8 */
     321#define HDA_REG_SD3CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 30) /* 0xE8 */
     322#define HDA_REG_SD4CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 40) /* 0x108 */
     323#define HDA_REG_SD5CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 50) /* 0x128 */
     324#define HDA_REG_SD6CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 60) /* 0x148 */
     325#define HDA_REG_SD7CBL              (HDA_STREAM_REG_DEF(CBL, 0) + 70) /* 0x168 */
    326326
    327327#define SDLCBL(pThis, num)          HDA_REG((pThis), SD(CBL, num))
    328328
    329 #define ICH6_HDA_REG_SD0LVI         36 /* 0x8C */
    330 #define ICH6_HDA_REG_SD1LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 10) /* 0xAC */
    331 #define ICH6_HDA_REG_SD2LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 20) /* 0xCC */
    332 #define ICH6_HDA_REG_SD3LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 30) /* 0xEC */
    333 #define ICH6_HDA_REG_SD4LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 40) /* 0x10C */
    334 #define ICH6_HDA_REG_SD5LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 50) /* 0x12C */
    335 #define ICH6_HDA_REG_SD6LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 60) /* 0x14C */
    336 #define ICH6_HDA_REG_SD7LVI         (HDA_STREAM_REG_DEF(LVI, 0) + 70) /* 0x16C */
     329#define HDA_REG_SD0LVI              36 /* 0x8C */
     330#define HDA_REG_SD1LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 10) /* 0xAC */
     331#define HDA_REG_SD2LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 20) /* 0xCC */
     332#define HDA_REG_SD3LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 30) /* 0xEC */
     333#define HDA_REG_SD4LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 40) /* 0x10C */
     334#define HDA_REG_SD5LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 50) /* 0x12C */
     335#define HDA_REG_SD6LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 60) /* 0x14C */
     336#define HDA_REG_SD7LVI              (HDA_STREAM_REG_DEF(LVI, 0) + 70) /* 0x16C */
    337337
    338338#define SDLVI(pThis, num)           HDA_REG((pThis), SD(LVI, num))
    339339
    340 #define ICH6_HDA_REG_SD0FIFOW       37 /* 0x8E */
    341 #define ICH6_HDA_REG_SD1FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 10) /* 0xAE */
    342 #define ICH6_HDA_REG_SD2FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 20) /* 0xCE */
    343 #define ICH6_HDA_REG_SD3FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 30) /* 0xEE */
    344 #define ICH6_HDA_REG_SD4FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 40) /* 0x10E */
    345 #define ICH6_HDA_REG_SD5FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 50) /* 0x12E */
    346 #define ICH6_HDA_REG_SD6FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 60) /* 0x14E */
    347 #define ICH6_HDA_REG_SD7FIFOW       (HDA_STREAM_REG_DEF(FIFOW, 0) + 70) /* 0x16E */
     340#define HDA_REG_SD0FIFOW            37 /* 0x8E */
     341#define HDA_REG_SD1FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 10) /* 0xAE */
     342#define HDA_REG_SD2FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 20) /* 0xCE */
     343#define HDA_REG_SD3FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 30) /* 0xEE */
     344#define HDA_REG_SD4FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 40) /* 0x10E */
     345#define HDA_REG_SD5FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 50) /* 0x12E */
     346#define HDA_REG_SD6FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 60) /* 0x14E */
     347#define HDA_REG_SD7FIFOW            (HDA_STREAM_REG_DEF(FIFOW, 0) + 70) /* 0x16E */
    348348
    349349/*
    350350 * ICH6 datasheet defined limits for FIFOW values (18.2.38)
    351351 */
    352 #define HDA_SDFIFOW_8B              (0x2)
    353 #define HDA_SDFIFOW_16B             (0x3)
    354 #define HDA_SDFIFOW_32B             (0x4)
     352#define HDA_SDFIFOW_8B              0x2
     353#define HDA_SDFIFOW_16B             0x3
     354#define HDA_SDFIFOW_32B             0x4
    355355#define SDFIFOW(pThis, num)         HDA_REG((pThis), SD(FIFOW, num))
    356356
    357 #define ICH6_HDA_REG_SD0FIFOS       38 /* 0x90 */
    358 #define ICH6_HDA_REG_SD1FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 10) /* 0xB0 */
    359 #define ICH6_HDA_REG_SD2FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 20) /* 0xD0 */
    360 #define ICH6_HDA_REG_SD3FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 30) /* 0xF0 */
    361 #define ICH6_HDA_REG_SD4FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 40) /* 0x110 */
    362 #define ICH6_HDA_REG_SD5FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 50) /* 0x130 */
    363 #define ICH6_HDA_REG_SD6FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 60) /* 0x150 */
    364 #define ICH6_HDA_REG_SD7FIFOS       (HDA_STREAM_REG_DEF(FIFOS, 0) + 70) /* 0x170 */
     357#define HDA_REG_SD0FIFOS            38 /* 0x90 */
     358#define HDA_REG_SD1FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 10) /* 0xB0 */
     359#define HDA_REG_SD2FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 20) /* 0xD0 */
     360#define HDA_REG_SD3FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 30) /* 0xF0 */
     361#define HDA_REG_SD4FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 40) /* 0x110 */
     362#define HDA_REG_SD5FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 50) /* 0x130 */
     363#define HDA_REG_SD6FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 60) /* 0x150 */
     364#define HDA_REG_SD7FIFOS            (HDA_STREAM_REG_DEF(FIFOS, 0) + 70) /* 0x170 */
    365365
    366366/*
     
    369369 * Other values not listed are not supported.
    370370 */
    371 #define HDA_SDONFIFO_16B            (0x0F) /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
    372 #define HDA_SDONFIFO_32B            (0x1F) /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
    373 #define HDA_SDONFIFO_64B            (0x3F) /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
    374 #define HDA_SDONFIFO_128B           (0x7F) /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
    375 #define HDA_SDONFIFO_192B           (0xBF) /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
    376 #define HDA_SDONFIFO_256B           (0xFF) /* 20-, 24-bit Output Streams */
    377 #define HDA_SDINFIFO_120B           (0x77) /* 8-, 16-, 20-, 24-, 32-bit Input Streams */
    378 #define HDA_SDINFIFO_160B           (0x9F) /* 20-, 24-bit Input Streams Streams */
     371#define HDA_SDONFIFO_16B            0x0F /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
     372#define HDA_SDONFIFO_32B            0x1F /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
     373#define HDA_SDONFIFO_64B            0x3F /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
     374#define HDA_SDONFIFO_128B           0x7F /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
     375#define HDA_SDONFIFO_192B           0xBF /* 8-, 16-, 20-, 24-, 32-bit Output Streams */
     376#define HDA_SDONFIFO_256B           0xFF /* 20-, 24-bit Output Streams */
     377#define HDA_SDINFIFO_120B           0x77 /* 8-, 16-, 20-, 24-, 32-bit Input Streams */
     378#define HDA_SDINFIFO_160B           0x9F /* 20-, 24-bit Input Streams Streams */
    379379#define SDFIFOS(pThis, num)         HDA_REG((pThis), SD(FIFOS, num))
    380380
    381 #define ICH6_HDA_REG_SD0FMT         39 /* 0x92 */
    382 #define ICH6_HDA_REG_SD1FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 10) /* 0xB2 */
    383 #define ICH6_HDA_REG_SD2FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 20) /* 0xD2 */
    384 #define ICH6_HDA_REG_SD3FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 30) /* 0xF2 */
    385 #define ICH6_HDA_REG_SD4FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 40) /* 0x112 */
    386 #define ICH6_HDA_REG_SD5FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 50) /* 0x132 */
    387 #define ICH6_HDA_REG_SD6FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 60) /* 0x152 */
    388 #define ICH6_HDA_REG_SD7FMT         (HDA_STREAM_REG_DEF(FMT, 0) + 70) /* 0x172 */
     381#define HDA_REG_SD0FMT              39 /* 0x92 */
     382#define HDA_REG_SD1FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 10) /* 0xB2 */
     383#define HDA_REG_SD2FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 20) /* 0xD2 */
     384#define HDA_REG_SD3FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 30) /* 0xF2 */
     385#define HDA_REG_SD4FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 40) /* 0x112 */
     386#define HDA_REG_SD5FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 50) /* 0x132 */
     387#define HDA_REG_SD6FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 60) /* 0x152 */
     388#define HDA_REG_SD7FMT              (HDA_STREAM_REG_DEF(FMT, 0) + 70) /* 0x172 */
    389389
    390390#define SDFMT(pThis, num)           (HDA_REG((pThis), SD(FMT, num)))
    391 #define ICH6_HDA_SDFMT_BASE_RATE_SHIFT (14)
    392 #define ICH6_HDA_SDFMT_MULT_SHIFT   (11)
    393 #define ICH6_HDA_SDFMT_MULT_MASK    (0x7)
    394 #define ICH6_HDA_SDFMT_DIV_SHIFT    (8)
    395 #define ICH6_HDA_SDFMT_DIV_MASK     (0x7)
    396 #define ICH6_HDA_SDFMT_BITS_SHIFT   (4)
    397 #define ICH6_HDA_SDFMT_BITS_MASK    (0x7)
     391#define HDA_SDFMT_BASE_RATE_SHIFT   14
     392#define HDA_SDFMT_MULT_SHIFT        11
     393#define HDA_SDFMT_MULT_MASK         0x7
     394#define HDA_SDFMT_DIV_SHIFT         8
     395#define HDA_SDFMT_DIV_MASK          0x7
     396#define HDA_SDFMT_BITS_SHIFT        4
     397#define HDA_SDFMT_BITS_MASK         0x7
    398398#define SDFMT_BASE_RATE(pThis, num) ((SDFMT(pThis, num) & HDA_REG_FIELD_FLAG_MASK(SDFMT, BASE_RATE)) >> HDA_REG_FIELD_SHIFT(SDFMT, BASE_RATE))
    399399#define SDFMT_MULT(pThis, num)      ((SDFMT((pThis), num) & HDA_REG_FIELD_MASK(SDFMT,MULT)) >> HDA_REG_FIELD_SHIFT(SDFMT, MULT))
    400400#define SDFMT_DIV(pThis, num)       ((SDFMT((pThis), num) & HDA_REG_FIELD_MASK(SDFMT,DIV)) >> HDA_REG_FIELD_SHIFT(SDFMT, DIV))
    401401
    402 #define ICH6_HDA_REG_SD0BDPL        40 /* 0x98 */
    403 #define ICH6_HDA_REG_SD1BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 10) /* 0xB8 */
    404 #define ICH6_HDA_REG_SD2BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 20) /* 0xD8 */
    405 #define ICH6_HDA_REG_SD3BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 30) /* 0xF8 */
    406 #define ICH6_HDA_REG_SD4BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 40) /* 0x118 */
    407 #define ICH6_HDA_REG_SD5BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 50) /* 0x138 */
    408 #define ICH6_HDA_REG_SD6BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 60) /* 0x158 */
    409 #define ICH6_HDA_REG_SD7BDPL        (HDA_STREAM_REG_DEF(BDPL, 0) + 70) /* 0x178 */
     402#define HDA_REG_SD0BDPL             40 /* 0x98 */
     403#define HDA_REG_SD1BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 10) /* 0xB8 */
     404#define HDA_REG_SD2BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 20) /* 0xD8 */
     405#define HDA_REG_SD3BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 30) /* 0xF8 */
     406#define HDA_REG_SD4BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 40) /* 0x118 */
     407#define HDA_REG_SD5BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 50) /* 0x138 */
     408#define HDA_REG_SD6BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 60) /* 0x158 */
     409#define HDA_REG_SD7BDPL             (HDA_STREAM_REG_DEF(BDPL, 0) + 70) /* 0x178 */
    410410
    411411#define SDBDPL(pThis, num)          HDA_REG((pThis), SD(BDPL, num))
    412412
    413 #define ICH6_HDA_REG_SD0BDPU        41 /* 0x9C */
    414 #define ICH6_HDA_REG_SD1BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 10) /* 0xBC */
    415 #define ICH6_HDA_REG_SD2BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 20) /* 0xDC */
    416 #define ICH6_HDA_REG_SD3BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 30) /* 0xFC */
    417 #define ICH6_HDA_REG_SD4BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 40) /* 0x11C */
    418 #define ICH6_HDA_REG_SD5BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 50) /* 0x13C */
    419 #define ICH6_HDA_REG_SD6BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 60) /* 0x15C */
    420 #define ICH6_HDA_REG_SD7BDPU        (HDA_STREAM_REG_DEF(BDPU, 0) + 70) /* 0x17C */
     413#define HDA_REG_SD0BDPU             41 /* 0x9C */
     414#define HDA_REG_SD1BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 10) /* 0xBC */
     415#define HDA_REG_SD2BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 20) /* 0xDC */
     416#define HDA_REG_SD3BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 30) /* 0xFC */
     417#define HDA_REG_SD4BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 40) /* 0x11C */
     418#define HDA_REG_SD5BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 50) /* 0x13C */
     419#define HDA_REG_SD6BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 60) /* 0x15C */
     420#define HDA_REG_SD7BDPU             (HDA_STREAM_REG_DEF(BDPU, 0) + 70) /* 0x17C */
    421421
    422422#define SDBDPU(pThis, num)          HDA_REG((pThis), SD(BDPU, num))
     
    10421042        {
    10431043            Log(("hda: unexpected unsolicited response.\n"));
    1044             pThis->au32Regs[ICH6_HDA_REG_CORBRP] = corbRp;
     1044            pThis->au32Regs[HDA_REG_CORBRP] = corbRp;
    10451045            return rc;
    10461046        }
     
    10501050            break;
    10511051    }
    1052     pThis->au32Regs[ICH6_HDA_REG_CORBRP] = corbRp;
    1053     pThis->au32Regs[ICH6_HDA_REG_RIRBWP] = rirbWp;
     1052    pThis->au32Regs[HDA_REG_CORBRP] = corbRp;
     1053    pThis->au32Regs[HDA_REG_RIRBWP] = rirbWp;
    10541054    rc = hdaCmdSync(pThis, false);
    10551055    Log(("hda: CORB(RP:%x, WP:%x) RIRBWP:%x\n", CORBRP(pThis), CORBWP(pThis), RIRBWP(pThis)));
     
    12001200{
    12011201    uint32_t v = pThis->au32Regs[iReg];
    1202     uint32_t nv = u32Value & ICH6_HDA_STATES_SCSF;
     1202    uint32_t nv = u32Value & HDA_STATES_SCSF;
    12031203    pThis->au32Regs[iReg] &= ~(v & nv); /* write of 1 clears corresponding bit */
    12041204    return VINF_SUCCESS;
     
    13271327        switch (iReg)
    13281328        {
    1329             case ICH6_HDA_REG_SD0CTL:
     1329            case HDA_REG_SD0CTL:
    13301330                u8Strm = 0;
    13311331                pBdle = &pThis->StInBdle;
    13321332                break;
    1333             case ICH6_HDA_REG_SD4CTL:
     1333            case HDA_REG_SD4CTL:
    13341334                u8Strm = 4;
    13351335                pBdle = &pThis->StOutBdle;
     
    13561356            switch (iReg)
    13571357            {
    1358                 case ICH6_HDA_REG_SD0CTL:
     1358                case HDA_REG_SD0CTL:
    13591359                    AUD_set_active_in(pThis->pCodec->SwVoiceIn, fRun);
    13601360                    break;
    1361                 case ICH6_HDA_REG_SD4CTL:
     1361                case HDA_REG_SD4CTL:
    13621362                    AUD_set_active_out(pThis->pCodec->SwVoiceOut, fRun);
    13631363                    break;
     
    14161416    {
    14171417        /* SDInFIFOS is RO, n=0-3 */
    1418         case ICH6_HDA_REG_SD0FIFOS:
    1419         case ICH6_HDA_REG_SD1FIFOS:
    1420         case ICH6_HDA_REG_SD2FIFOS:
    1421         case ICH6_HDA_REG_SD3FIFOS:
     1418        case HDA_REG_SD0FIFOS:
     1419        case HDA_REG_SD1FIFOS:
     1420        case HDA_REG_SD2FIFOS:
     1421        case HDA_REG_SD3FIFOS:
    14221422            Log(("hda: Guest tries change value of FIFO size of Input Stream\n"));
    14231423            return VINF_SUCCESS;
    1424         case ICH6_HDA_REG_SD4FIFOS:
    1425         case ICH6_HDA_REG_SD5FIFOS:
    1426         case ICH6_HDA_REG_SD6FIFOS:
    1427         case ICH6_HDA_REG_SD7FIFOS:
     1424        case HDA_REG_SD4FIFOS:
     1425        case HDA_REG_SD5FIFOS:
     1426        case HDA_REG_SD6FIFOS:
     1427        case HDA_REG_SD7FIFOS:
    14281428            switch(u32Value)
    14291429            {
     
    14521452    Assert((pAudSetting));
    14531453#define EXTRACT_VALUE(v, mask, shift) ((v & ((mask) << (shift))) >> (shift))
    1454     uint32_t u32Hz = (u32SdFmt & ICH6_HDA_SDFMT_BASE_RATE_SHIFT) ? 44100 : 48000;
     1454    uint32_t u32Hz = (u32SdFmt & HDA_SDFMT_BASE_RATE_SHIFT) ? 44100 : 48000;
    14551455    uint32_t u32HzMult = 1;
    14561456    uint32_t u32HzDiv = 1;
    1457     switch (EXTRACT_VALUE(u32SdFmt, ICH6_HDA_SDFMT_MULT_MASK, ICH6_HDA_SDFMT_MULT_SHIFT))
     1457    switch (EXTRACT_VALUE(u32SdFmt, HDA_SDFMT_MULT_MASK, HDA_SDFMT_MULT_SHIFT))
    14581458    {
    14591459        case 0: u32HzMult = 1; break;
     
    14641464            Log(("hda: unsupported multiplier %x\n", u32SdFmt));
    14651465    }
    1466     switch (EXTRACT_VALUE(u32SdFmt, ICH6_HDA_SDFMT_DIV_MASK, ICH6_HDA_SDFMT_DIV_SHIFT))
     1466    switch (EXTRACT_VALUE(u32SdFmt, HDA_SDFMT_DIV_MASK, HDA_SDFMT_DIV_SHIFT))
    14671467    {
    14681468        case 0: u32HzDiv = 1; break;
     
    14771477    pAudSetting->freq = u32Hz * u32HzMult / u32HzDiv;
    14781478
    1479     switch (EXTRACT_VALUE(u32SdFmt, ICH6_HDA_SDFMT_BITS_MASK, ICH6_HDA_SDFMT_BITS_SHIFT))
     1479    switch (EXTRACT_VALUE(u32SdFmt, HDA_SDFMT_BITS_MASK, HDA_SDFMT_BITS_SHIFT))
    14801480    {
    14811481        case 0:
     
    15201520    switch (iReg)
    15211521    {
    1522         case ICH6_HDA_REG_SD0FMT:
     1522        case HDA_REG_SD0FMT:
    15231523            rc = hdaCodecOpenVoice(pThis->pCodec, PI_INDEX, &as);
    15241524            break;
    1525         case ICH6_HDA_REG_SD4FMT:
     1525        case HDA_REG_SD4FMT:
    15261526            rc = hdaCodecOpenVoice(pThis->pCodec, PO_INDEX, &as);
    15271527            break;
     
    16331633    switch(iReg)
    16341634    {
    1635         case ICH6_HDA_REG_CORBLBASE:
     1635        case HDA_REG_CORBLBASE:
    16361636            pThis->u64CORBBase &= UINT64_C(0xFFFFFFFF00000000);
    16371637            pThis->u64CORBBase |= pThis->au32Regs[iReg];
    16381638            break;
    1639         case ICH6_HDA_REG_CORBUBASE:
     1639        case HDA_REG_CORBUBASE:
    16401640            pThis->u64CORBBase &= UINT64_C(0x00000000FFFFFFFF);
    16411641            pThis->u64CORBBase |= ((uint64_t)pThis->au32Regs[iReg] << 32);
    16421642            break;
    1643         case ICH6_HDA_REG_RIRLBASE:
     1643        case HDA_REG_RIRLBASE:
    16441644            pThis->u64RIRBBase &= UINT64_C(0xFFFFFFFF00000000);
    16451645            pThis->u64RIRBBase |= pThis->au32Regs[iReg];
    16461646            break;
    1647         case ICH6_HDA_REG_RIRUBASE:
     1647        case HDA_REG_RIRUBASE:
    16481648            pThis->u64RIRBBase &= UINT64_C(0x00000000FFFFFFFF);
    16491649            pThis->u64RIRBBase |= ((uint64_t)pThis->au32Regs[iReg] << 32);
    16501650            break;
    1651         case ICH6_HDA_REG_DPLBASE:
     1651        case HDA_REG_DPLBASE:
    16521652            /** @todo: first bit has special meaning */
    16531653            pThis->u64DPBase &= UINT64_C(0xFFFFFFFF00000000);
    16541654            pThis->u64DPBase |= pThis->au32Regs[iReg];
    16551655            break;
    1656         case ICH6_HDA_REG_DPUBASE:
     1656        case HDA_REG_DPUBASE:
    16571657            pThis->u64DPBase &= UINT64_C(0x00000000FFFFFFFF);
    16581658            pThis->u64DPBase |= ((uint64_t)pThis->au32Regs[iReg] << 32);
     
    21002100    Assert(cb == 4); Assert((offReg & 3) == 0);
    21012101
    2102     if (pThis->fInReset && idxReg != ICH6_HDA_REG_GCTL)
     2102    if (pThis->fInReset && idxReg != HDA_REG_GCTL)
    21032103        Log(("hda: access to registers except GCTL is blocked while reset\n"));
    21042104
     
    22152215DECLINLINE(int) hdaWriteReg(PHDASTATE pThis, int idxReg, uint32_t u32Value, char const *pszLog)
    22162216{
    2217     if (pThis->fInReset && idxReg != ICH6_HDA_REG_GCTL)
     2217    if (pThis->fInReset && idxReg != HDA_REG_GCTL)
    22182218        Log(("hda: access to registers except GCTL is blocked while reset\n"));  /** @todo where is this enforced? */
    22192219
     
    24312431#endif
    24322432                               IOMMMIO_FLAGS_WRITE_PASSTHRU,
    2433                                hdaMMIOWrite, hdaMMIORead, "ICH6_HDA");
     2433                               hdaMMIOWrite, hdaMMIORead, "HDA");
    24342434
    24352435    if (RT_FAILURE(rc))
     
    25842584                       "SDCTL(raw: %#x, strm:%#x, dir:%RTbool, tp:%RTbool strip:%x, deie:%RTbool, ioce:%RTbool, run:%RTbool, srst:%RTbool)",
    25852585                       sdCtl,
    2586                        (sdCtl & HDA_REG_FIELD_MASK(SDCTL, NUM)) >> ICH6_HDA_SDCTL_NUM_SHIFT,
     2586                       (sdCtl & HDA_REG_FIELD_MASK(SDCTL, NUM)) >> HDA_SDCTL_NUM_SHIFT,
    25872587                       RT_BOOL(sdCtl & HDA_REG_FIELD_FLAG_MASK(SDCTL, DIR)),
    25882588                       RT_BOOL(sdCtl & HDA_REG_FIELD_FLAG_MASK(SDCTL, TP)),
    2589                        (sdCtl & HDA_REG_FIELD_MASK(SDCTL, STRIPE)) >> ICH6_HDA_SDCTL_STRIPE_SHIFT,
     2589                       (sdCtl & HDA_REG_FIELD_MASK(SDCTL, STRIPE)) >> HDA_SDCTL_STRIPE_SHIFT,
    25902590                       RT_BOOL(sdCtl & HDA_REG_FIELD_FLAG_MASK(SDCTL, DEIE)),
    25912591                       RT_BOOL(sdCtl & HDA_REG_FIELD_FLAG_MASK(SDCTL, ICE)),
     
    27902790    OUTPAY(pThis) = 0x003C;   /* see 6.2.4 */
    27912791    INPAY(pThis)  = 0x001D;   /* see 6.2.5 */
    2792     pThis->au32Regs[ICH6_HDA_REG_CORBSIZE] = 0x42; /* see 6.2.1 */
    2793     pThis->au32Regs[ICH6_HDA_REG_RIRBSIZE] = 0x42; /* see 6.2.1 */
     2792    pThis->au32Regs[HDA_REG_CORBSIZE] = 0x42; /* see 6.2.1 */
     2793    pThis->au32Regs[HDA_REG_RIRBSIZE] = 0x42; /* see 6.2.1 */
    27942794    CORBRP(pThis) = 0x0;
    27952795    RIRBWP(pThis) = 0x0;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette