VirtualBox

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


Ignore:
Timestamp:
Jul 9, 2021 9:02:07 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
145640
Message:

DevHda: Only HDACODECR3, no HDACODEC structure any more. bugref:9890

Location:
trunk/src/VBox/Devices/Audio
Files:
4 edited

Legend:

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

    r90137 r90138  
    49914991    /* ICH6 datasheet defines 0 values for SVID and SID (18.1.14-15), which together with values returned for
    49924992       verb F20 should provide device/codec recognition. */
    4993     Assert(pThisCC->Codec.State.u16VendorId);
    4994     Assert(pThisCC->Codec.State.u16DeviceId);
    4995     PDMPciDevSetSubSystemVendorId(pPciDev, pThisCC->Codec.State.u16VendorId); /* 2c ro - intel.) */
    4996     PDMPciDevSetSubSystemId(      pPciDev, pThisCC->Codec.State.u16DeviceId); /* 2e ro. */
     4993    Assert(pThisCC->Codec.u16VendorId);
     4994    Assert(pThisCC->Codec.u16DeviceId);
     4995    PDMPciDevSetSubSystemVendorId(pPciDev, pThisCC->Codec.u16VendorId); /* 2c ro - intel.) */
     4996    PDMPciDevSetSubSystemId(      pPciDev, pThisCC->Codec.u16DeviceId); /* 2e ro. */
    49974997
    49984998    /*
  • trunk/src/VBox/Devices/Audio/DevHda.h

    r90137 r90138  
    806806
    807807
    808 /** @name DevHDA.cpp functions used by the codec.
     808/** @name HDA device functions used by the codec.
    809809 * @{ */
    810810DECLHIDDEN(int)     hdaR3MixerAddStream(PHDACODECR3 pCodec, PDMAUDIOMIXERCTL enmMixerCtl, PCPDMAUDIOSTREAMCFG pCfg);
  • trunk/src/VBox/Devices/Audio/DevHdaCodec.cpp

    r90137 r90138  
    119119     *
    120120     * @param   pThis   The shared codec intance data.
    121      * @param   pThisCC The codec instance data for the current context (ring-3).
    122121     * @param   uCmd    The command.
    123122     * @param   puResp  Where to return the response value.
     
    125124     * @thread  EMT or task worker thread (see HDASTATE::hCorbDmaTask).
    126125     */
    127     DECLCALLBACKMEMBER(int,    pfn, (PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp));
     126    DECLCALLBACKMEMBER(int,    pfn, (PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp));
    128127    /** Friendly name, for debugging. */
    129128    const char                *pszName;
     
    197196 * @param   pNode               Node to reset.
    198197 */
    199 static void stac9220NodeReset(PHDACODEC pThis, uint8_t uNID, PCODECNODE pNode)
     198static void stac9220NodeReset(PHDACODECR3 pThis, uint8_t uNID, PCODECNODE pNode)
    200199{
    201200    LogFlowFunc(("NID=0x%x (%RU8)\n", uNID, uNID));
     
    772771 * @param   pThis               HDA codec to reset.
    773772 */
    774 static DECLCALLBACK(void) stac9220Reset(PHDACODEC pThis)
     773static void stac9220Reset(PHDACODECR3 pThis)
    775774{
    776775    AssertPtrReturnVoid(pThis->aNodes);
     
    788787
    789788
    790 static int stac9220Construct(PHDACODEC pThis)
     789static int stac9220Construct(PHDACODECR3 pThis)
    791790{
    792791    pThis->u16VendorId  = 0x8384; /* SigmaTel */
     
    856855 */
    857856#define HDA_CODEC_IS_NODE_OF_TYPE_FUNC(a_Type) \
    858     DECLINLINE(bool) hdaCodecIs##a_Type##Node(PHDACODEC pThis, uint8_t idNode) \
     857    DECLINLINE(bool) hdaCodecIs##a_Type##Node(PHDACODECR3 pThis, uint8_t idNode) \
    859858    { \
    860859        Assert(pThis->au8##a_Type##s); \
     
    895894 * Misc helpers.
    896895 */
    897 static int hdaR3CodecToAudVolume(PHDACODECR3 pThisCC, PCODECNODE pNode, AMPLIFIER *pAmp, PDMAUDIOMIXERCTL enmMixerCtl)
     896static int hdaR3CodecToAudVolume(PHDACODECR3 pThis, PCODECNODE pNode, AMPLIFIER *pAmp, PDMAUDIOMIXERCTL enmMixerCtl)
    898897{
    899898    RT_NOREF(pNode);
     
    940939             PDMAudioMixerCtlGetName(enmMixerCtl), bLeft, bRight, Vol.fMuted ? "- Muted!" : ""));
    941940
    942     return hdaR3MixerSetVolume(pThisCC, enmMixerCtl, &Vol);
     941    return hdaR3MixerSetVolume(pThis, enmMixerCtl, &Vol);
    943942}
    944943
     
    970969 * @interface_method_impl{CODECVERB,pfn, Unimplemented}
    971970 */
    972 static DECLCALLBACK(int) vrbProcUnimplemented(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    973 {
    974     RT_NOREF(pThis, pThisCC, uCmd);
     971static DECLCALLBACK(int) vrbProcUnimplemented(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     972{
     973    RT_NOREF(pThis, uCmd);
    975974    LogFlowFunc(("uCmd(raw:%x: cad:%x, d:%c, nid:%x, verb:%x)\n", uCmd,
    976975                 CODEC_CAD(uCmd), CODEC_DIRECT(uCmd) ? 'N' : 'Y', CODEC_NID(uCmd), CODEC_VERBDATA(uCmd)));
     
    983982 * @interface_method_impl{CODECVERB,pfn, ??? }
    984983 */
    985 static DECLCALLBACK(int) vrbProcBreak(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
     984static DECLCALLBACK(int) vrbProcBreak(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
    986985{
    987986    int rc;
    988     rc = vrbProcUnimplemented(pThis, pThisCC, uCmd, puResp);
     987    rc = vrbProcUnimplemented(pThis, uCmd, puResp);
    989988    *puResp |= CODEC_RESPONSE_UNSOLICITED;
    990989    return rc;
     
    996995 * @interface_method_impl{CODECVERB,pfn, b-- }
    997996 */
    998 static DECLCALLBACK(int) vrbProcGetAmplifier(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    999 {
    1000     RT_NOREF(pThisCC);
     997static DECLCALLBACK(int) vrbProcGetAmplifier(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     998{
    1001999    *puResp = 0;
    10021000
     
    10461044 * @interface_method_impl{CODECVERB,pfn, ??? }
    10471045 */
    1048 static DECLCALLBACK(int) vrbProcGetParameter(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1049 {
    1050     RT_NOREF(pThisCC);
     1046static DECLCALLBACK(int) vrbProcGetParameter(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1047{
    10511048    Assert((uCmd & CODEC_VERB_8BIT_DATA) < CODECNODE_F00_PARAM_LENGTH);
    10521049    if ((uCmd & CODEC_VERB_8BIT_DATA) >= CODECNODE_F00_PARAM_LENGTH)
     
    10661063 * @interface_method_impl{CODECVERB,pfn, f01 }
    10671064 */
    1068 static DECLCALLBACK(int) vrbProcGetConSelectCtrl(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1069 {
    1070     RT_NOREF(pThisCC);
     1065static DECLCALLBACK(int) vrbProcGetConSelectCtrl(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1066{
    10711067    *puResp = 0;
    10721068
     
    10911087 * @interface_method_impl{CODECVERB,pfn, 701 }
    10921088 */
    1093 static DECLCALLBACK(int) vrbProcSetConSelectCtrl(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1094 {
    1095     RT_NOREF(pThisCC);
     1089static DECLCALLBACK(int) vrbProcSetConSelectCtrl(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1090{
    10961091    *puResp = 0;
    10971092
     
    11201115 * @interface_method_impl{CODECVERB,pfn, f07 }
    11211116 */
    1122 static DECLCALLBACK(int) vrbProcGetPinCtrl(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1123 {
    1124     RT_NOREF(pThisCC);
     1117static DECLCALLBACK(int) vrbProcGetPinCtrl(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1118{
    11251119    *puResp = 0;
    11261120
     
    11471141 * @interface_method_impl{CODECVERB,pfn, 707 }
    11481142 */
    1149 static DECLCALLBACK(int) vrbProcSetPinCtrl(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1150 {
    1151     RT_NOREF(pThisCC);
     1143static DECLCALLBACK(int) vrbProcSetPinCtrl(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1144{
    11521145    *puResp = 0;
    11531146
     
    11791172 * @interface_method_impl{CODECVERB,pfn, f08 }
    11801173 */
    1181 static DECLCALLBACK(int) vrbProcGetUnsolicitedEnabled(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1182 {
    1183     RT_NOREF(pThisCC);
     1174static DECLCALLBACK(int) vrbProcGetUnsolicitedEnabled(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1175{
    11841176    *puResp = 0;
    11851177
     
    12061198 * @interface_method_impl{CODECVERB,pfn, 708 }
    12071199 */
    1208 static DECLCALLBACK(int) vrbProcSetUnsolicitedEnabled(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1209 {
    1210     RT_NOREF(pThisCC);
     1200static DECLCALLBACK(int) vrbProcSetUnsolicitedEnabled(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1201{
    12111202    *puResp = 0;
    12121203
     
    12371228 * @interface_method_impl{CODECVERB,pfn, f09 }
    12381229 */
    1239 static DECLCALLBACK(int) vrbProcGetPinSense(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1240 {
    1241     RT_NOREF(pThisCC);
     1230static DECLCALLBACK(int) vrbProcGetPinSense(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1231{
    12421232    *puResp = 0;
    12431233
     
    12591249 * @interface_method_impl{CODECVERB,pfn, 709 }
    12601250 */
    1261 static DECLCALLBACK(int) vrbProcSetPinSense(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1262 {
    1263     RT_NOREF(pThisCC);
     1251static DECLCALLBACK(int) vrbProcSetPinSense(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1252{
    12641253    *puResp = 0;
    12651254
     
    12821271 * @interface_method_impl{CODECVERB,pfn, ??? }
    12831272 */
    1284 static DECLCALLBACK(int) vrbProcGetConnectionListEntry(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1285 {
    1286     RT_NOREF(pThisCC);
     1273static DECLCALLBACK(int) vrbProcGetConnectionListEntry(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1274{
    12871275    *puResp = 0;
    12881276
     
    13011289 * @interface_method_impl{CODECVERB,pfn, f03 }
    13021290 */
    1303 static DECLCALLBACK(int) vrbProcGetProcessingState(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1304 {
    1305     RT_NOREF(pThisCC);
     1291static DECLCALLBACK(int) vrbProcGetProcessingState(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1292{
    13061293    *puResp = 0;
    13071294
     
    13161303 * @interface_method_impl{CODECVERB,pfn, 703 }
    13171304 */
    1318 static DECLCALLBACK(int) vrbProcSetProcessingState(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1319 {
    1320     RT_NOREF(pThisCC);
     1305static DECLCALLBACK(int) vrbProcSetProcessingState(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1306{
    13211307    *puResp = 0;
    13221308
     
    13301316 * @interface_method_impl{CODECVERB,pfn, f0d }
    13311317 */
    1332 static DECLCALLBACK(int) vrbProcGetDigitalConverter(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1333 {
    1334     RT_NOREF(pThisCC);
     1318static DECLCALLBACK(int) vrbProcGetDigitalConverter(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1319{
    13351320    *puResp = 0;
    13361321
     
    13431328
    13441329
    1345 static int codecSetDigitalConverter(PHDACODEC pThis, uint32_t uCmd, uint8_t u8Offset, uint64_t *puResp)
     1330static int codecSetDigitalConverter(PHDACODECR3 pThis, uint32_t uCmd, uint8_t u8Offset, uint64_t *puResp)
    13461331{
    13471332    *puResp = 0;
     
    13581343 * @interface_method_impl{CODECVERB,pfn, 70d }
    13591344 */
    1360 static DECLCALLBACK(int) vrbProcSetDigitalConverter1(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1361 {
    1362     RT_NOREF(pThisCC);
     1345static DECLCALLBACK(int) vrbProcSetDigitalConverter1(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1346{
    13631347    return codecSetDigitalConverter(pThis, uCmd, 0, puResp);
    13641348}
     
    13681352 * @interface_method_impl{CODECVERB,pfn, 70e }
    13691353 */
    1370 static DECLCALLBACK(int) vrbProcSetDigitalConverter2(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1371 {
    1372     RT_NOREF(pThisCC);
     1354static DECLCALLBACK(int) vrbProcSetDigitalConverter2(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1355{
    13731356    return codecSetDigitalConverter(pThis, uCmd, 8, puResp);
    13741357}
     
    13781361 * @interface_method_impl{CODECVERB,pfn, f20 }
    13791362 */
    1380 static DECLCALLBACK(int) vrbProcGetSubId(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1381 {
    1382     RT_NOREF(pThisCC);
     1363static DECLCALLBACK(int) vrbProcGetSubId(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1364{
    13831365    Assert(CODEC_CAD(uCmd) == pThis->id);
    13841366    uint8_t const cTotalNodes = (uint8_t)RT_MIN(pThis->cTotalNodes, RT_ELEMENTS(pThis->aNodes));
     
    13981380
    13991381
    1400 static int codecSetSubIdX(PHDACODEC pThis, uint32_t uCmd, uint8_t u8Offset)
     1382static int codecSetSubIdX(PHDACODECR3 pThis, uint32_t uCmd, uint8_t u8Offset)
    14011383{
    14021384    Assert(CODEC_CAD(uCmd) == pThis->id);
     
    14211403 * @interface_method_impl{CODECVERB,pfn, 720 }
    14221404 */
    1423 static DECLCALLBACK(int) vrbProcSetSubId0(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1424 {
    1425     RT_NOREF(pThisCC);
     1405static DECLCALLBACK(int) vrbProcSetSubId0(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1406{
    14261407    *puResp = 0;
    14271408    return codecSetSubIdX(pThis, uCmd, 0);
     
    14321413 * @interface_method_impl{CODECVERB,pfn, 721 }
    14331414 */
    1434 static DECLCALLBACK(int) vrbProcSetSubId1(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1435 {
    1436     RT_NOREF(pThisCC);
     1415static DECLCALLBACK(int) vrbProcSetSubId1(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1416{
    14371417    *puResp = 0;
    14381418    return codecSetSubIdX(pThis, uCmd, 8);
     
    14431423 * @interface_method_impl{CODECVERB,pfn, 722 }
    14441424 */
    1445 static DECLCALLBACK(int) vrbProcSetSubId2(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1446 {
    1447     RT_NOREF(pThisCC);
     1425static DECLCALLBACK(int) vrbProcSetSubId2(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1426{
    14481427    *puResp = 0;
    14491428    return codecSetSubIdX(pThis, uCmd, 16);
     
    14541433 * @interface_method_impl{CODECVERB,pfn, 723 }
    14551434 */
    1456 static DECLCALLBACK(int) vrbProcSetSubId3(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1457 {
    1458     RT_NOREF(pThisCC);
     1435static DECLCALLBACK(int) vrbProcSetSubId3(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1436{
    14591437    *puResp = 0;
    14601438    return codecSetSubIdX(pThis, uCmd, 24);
     
    14651443 * @interface_method_impl{CODECVERB,pfn, ??? }
    14661444 */
    1467 static DECLCALLBACK(int) vrbProcReset(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1468 {
    1469     RT_NOREF(pThisCC);
     1445static DECLCALLBACK(int) vrbProcReset(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1446{
    14701447    Assert(CODEC_CAD(uCmd) == pThis->id);
    14711448
     
    14881465 * @interface_method_impl{CODECVERB,pfn, f05 }
    14891466 */
    1490 static DECLCALLBACK(int) vrbProcGetPowerState(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1491 {
    1492     RT_NOREF(pThisCC);
     1467static DECLCALLBACK(int) vrbProcGetPowerState(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1468{
    14931469    *puResp = 0;
    14941470
     
    15221498 * @interface_method_impl{CODECVERB,pfn, 705 }
    15231499 */
    1524 static DECLCALLBACK(int) vrbProcSetPowerState(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1525 {
    1526     RT_NOREF(pThisCC);
     1500static DECLCALLBACK(int) vrbProcSetPowerState(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1501{
    15271502    *puResp = 0;
    15281503
     
    16351610 * @interface_method_impl{CODECVERB,pfn, 705 }
    16361611 */
    1637 static DECLCALLBACK(int) vrbProcSetPowerState(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1638 {
    1639     RT_NOREF(pThisCC);
     1612static DECLCALLBACK(int) vrbProcSetPowerState(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1613{
    16401614    Assert(CODEC_CAD(uCmd) == pThis->id);
    16411615    uint8_t const cTotalNodes = (uint8_t)RT_MIN(pThis->cTotalNodes, RT_ELEMENTS(pThis->aNodes));
     
    17091683 * @interface_method_impl{CODECVERB,pfn, f06 }
    17101684 */
    1711 static DECLCALLBACK(int) vrbProcGetStreamId(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1712 {
    1713     RT_NOREF(pThisCC);
     1685static DECLCALLBACK(int) vrbProcGetStreamId(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1686{
    17141687    *puResp = 0;
    17151688
     
    17371710 * @interface_method_impl{CODECVERB,pfn, a0 }
    17381711 */
    1739 static DECLCALLBACK(int) vrbProcGetConverterFormat(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1740 {
    1741     RT_NOREF(pThisCC);
     1712static DECLCALLBACK(int) vrbProcGetConverterFormat(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1713{
    17421714    *puResp = 0;
    17431715
     
    17621734 * @interface_method_impl{CODECVERB,pfn, ??? - Also see section 3.7.1. }
    17631735 */
    1764 static DECLCALLBACK(int) vrbProcSetConverterFormat(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1765 {
    1766     RT_NOREF(pThisCC);
     1736static DECLCALLBACK(int) vrbProcSetConverterFormat(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1737{
    17671738    *puResp = 0;
    17681739
     
    17851756 * @interface_method_impl{CODECVERB,pfn, f0c }
    17861757 */
    1787 static DECLCALLBACK(int) vrbProcGetEAPD_BTLEnabled(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1788 {
    1789     RT_NOREF(pThisCC);
     1758static DECLCALLBACK(int) vrbProcGetEAPD_BTLEnabled(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1759{
    17901760    *puResp = 0;
    17911761
     
    18061776 * @interface_method_impl{CODECVERB,pfn, 70c }
    18071777 */
    1808 static DECLCALLBACK(int) vrbProcSetEAPD_BTLEnabled(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1809 {
    1810     RT_NOREF(pThisCC);
     1778static DECLCALLBACK(int) vrbProcSetEAPD_BTLEnabled(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1779{
    18111780    *puResp = 0;
    18121781
     
    18311800 * @interface_method_impl{CODECVERB,pfn, f0f }
    18321801 */
    1833 static DECLCALLBACK(int) vrbProcGetVolumeKnobCtrl(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1834 {
    1835     RT_NOREF(pThisCC);
     1802static DECLCALLBACK(int) vrbProcGetVolumeKnobCtrl(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1803{
    18361804    *puResp = 0;
    18371805
     
    18481816 * @interface_method_impl{CODECVERB,pfn, 70f }
    18491817 */
    1850 static DECLCALLBACK(int) vrbProcSetVolumeKnobCtrl(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1851 {
    1852     RT_NOREF(pThisCC);
     1818static DECLCALLBACK(int) vrbProcSetVolumeKnobCtrl(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1819{
    18531820    *puResp = 0;
    18541821
     
    18691836 * @interface_method_impl{CODECVERB,pfn, f15 }
    18701837 */
    1871 static DECLCALLBACK(int) vrbProcGetGPIOData(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1872 {
    1873     RT_NOREF(pThis, pThisCC, uCmd);
     1838static DECLCALLBACK(int) vrbProcGetGPIOData(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1839{
     1840    RT_NOREF(pThis, uCmd);
    18741841    *puResp = 0;
    18751842    return VINF_SUCCESS;
     
    18801847 * @interface_method_impl{CODECVERB,pfn, 715 }
    18811848 */
    1882 static DECLCALLBACK(int) vrbProcSetGPIOData(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1883 {
    1884     RT_NOREF(pThis, pThisCC, uCmd);
     1849static DECLCALLBACK(int) vrbProcSetGPIOData(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1850{
     1851    RT_NOREF(pThis, uCmd);
    18851852    *puResp = 0;
    18861853    return VINF_SUCCESS;
     
    18911858 * @interface_method_impl{CODECVERB,pfn, f16 }
    18921859 */
    1893 static DECLCALLBACK(int) vrbProcGetGPIOEnableMask(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1894 {
    1895     RT_NOREF(pThis, pThisCC, uCmd);
     1860static DECLCALLBACK(int) vrbProcGetGPIOEnableMask(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1861{
     1862    RT_NOREF(pThis, uCmd);
    18961863    *puResp = 0;
    18971864    return VINF_SUCCESS;
     
    19021869 * @interface_method_impl{CODECVERB,pfn, 716 }
    19031870 */
    1904 static DECLCALLBACK(int) vrbProcSetGPIOEnableMask(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1905 {
    1906     RT_NOREF(pThis, pThisCC, uCmd);
     1871static DECLCALLBACK(int) vrbProcSetGPIOEnableMask(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1872{
     1873    RT_NOREF(pThis, uCmd);
    19071874    *puResp = 0;
    19081875    return VINF_SUCCESS;
     
    19131880 * @interface_method_impl{CODECVERB,pfn, f17 }
    19141881 */
    1915 static DECLCALLBACK(int) vrbProcGetGPIODirection(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1916 {
    1917     RT_NOREF(pThisCC);
     1882static DECLCALLBACK(int) vrbProcGetGPIODirection(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1883{
    19181884    *puResp = 0;
    19191885
     
    19311897 * @interface_method_impl{CODECVERB,pfn, 717 }
    19321898 */
    1933 static DECLCALLBACK(int) vrbProcSetGPIODirection(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1934 {
    1935     RT_NOREF(pThisCC);
     1899static DECLCALLBACK(int) vrbProcSetGPIODirection(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1900{
    19361901    *puResp = 0;
    19371902
     
    19521917 * @interface_method_impl{CODECVERB,pfn, f1c }
    19531918 */
    1954 static DECLCALLBACK(int) vrbProcGetConfig(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    1955 {
    1956     RT_NOREF(pThisCC);
     1919static DECLCALLBACK(int) vrbProcGetConfig(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1920{
    19571921    *puResp = 0;
    19581922
     
    19751939}
    19761940
    1977 static int codecSetConfigX(PHDACODEC pThis, uint32_t uCmd, uint8_t u8Offset)
     1941static int codecSetConfigX(PHDACODECR3 pThis, uint32_t uCmd, uint8_t u8Offset)
    19781942{
    19791943    uint32_t *pu32Reg = NULL;
     
    20031967 * @interface_method_impl{CODECVERB,pfn, 71c }
    20041968 */
    2005 static DECLCALLBACK(int) vrbProcSetConfig0(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2006 {
    2007     RT_NOREF(pThisCC);
     1969static DECLCALLBACK(int) vrbProcSetConfig0(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1970{
    20081971    *puResp = 0;
    20091972    return codecSetConfigX(pThis, uCmd, 0);
     
    20141977 * @interface_method_impl{CODECVERB,pfn, 71d }
    20151978 */
    2016 static DECLCALLBACK(int) vrbProcSetConfig1(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2017 {
    2018     RT_NOREF(pThisCC);
     1979static DECLCALLBACK(int) vrbProcSetConfig1(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1980{
    20191981    *puResp = 0;
    20201982    return codecSetConfigX(pThis, uCmd, 8);
     
    20251987 * @interface_method_impl{CODECVERB,pfn, 71e }
    20261988 */
    2027 static DECLCALLBACK(int) vrbProcSetConfig2(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2028 {
    2029     RT_NOREF(pThisCC);
     1989static DECLCALLBACK(int) vrbProcSetConfig2(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     1990{
    20301991    *puResp = 0;
    20311992    return codecSetConfigX(pThis, uCmd, 16);
     
    20361997 * @interface_method_impl{CODECVERB,pfn, 71e }
    20371998 */
    2038 static DECLCALLBACK(int) vrbProcSetConfig3(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2039 {
    2040     RT_NOREF(pThisCC);
     1999static DECLCALLBACK(int) vrbProcSetConfig3(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     2000{
    20412001    *puResp = 0;
    20422002    return codecSetConfigX(pThis, uCmd, 24);
     
    20472007 * @interface_method_impl{CODECVERB,pfn, f04 }
    20482008 */
    2049 static DECLCALLBACK(int) vrbProcGetSDISelect(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2050 {
    2051     RT_NOREF(pThisCC);
     2009static DECLCALLBACK(int) vrbProcGetSDISelect(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     2010{
    20522011    *puResp = 0;
    20532012
     
    20642023 * @interface_method_impl{CODECVERB,pfn, 704 }
    20652024 */
    2066 static DECLCALLBACK(int) vrbProcSetSDISelect(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2067 {
    2068     RT_NOREF(pThisCC);
     2025static DECLCALLBACK(int) vrbProcSetSDISelect(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     2026{
    20692027    *puResp = 0;
    20702028
     
    20852043 * @interface_method_impl{CODECVERB,pfn, 3-- }
    20862044 */
    2087 static DECLCALLBACK(int) vrbProcR3SetAmplifier(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
     2045static DECLCALLBACK(int) vrbProcR3SetAmplifier(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
    20882046{
    20892047    *puResp = 0;
     
    21322090    //    if (CODEC_NID(uCmd) == pThis->u8AdcVolsLineIn)
    21332091    //    {
    2134             hdaR3CodecToAudVolume(pThisCC, pNode, pAmplifier, PDMAUDIOMIXERCTL_LINE_IN);
     2092            hdaR3CodecToAudVolume(pThis, pNode, pAmplifier, PDMAUDIOMIXERCTL_LINE_IN);
    21352093    //    }
    21362094    }
     
    21432101
    21442102        if (CODEC_NID(uCmd) == pThis->u8DacLineOut)
    2145             hdaR3CodecToAudVolume(pThisCC, pNode, pAmplifier, PDMAUDIOMIXERCTL_FRONT);
     2103            hdaR3CodecToAudVolume(pThis, pNode, pAmplifier, PDMAUDIOMIXERCTL_FRONT);
    21462104    }
    21472105
     
    21532111 * @interface_method_impl{CODECVERB,pfn, 706 }
    21542112 */
    2155 static DECLCALLBACK(int) vrbProcR3SetStreamId(PHDACODEC pThis, PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
     2113static DECLCALLBACK(int) vrbProcR3SetStreamId(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
    21562114{
    21572115    *puResp = 0;
     
    22042162
    22052163        /* Propagate to the controller. */
    2206         hdaR3MixerControl(pThisCC, PDMAUDIOMIXERCTL_FRONT,      uSD, uChannel);
     2164        hdaR3MixerControl(pThis, PDMAUDIOMIXERCTL_FRONT,      uSD, uChannel);
    22072165# ifdef VBOX_WITH_AUDIO_HDA_51_SURROUND
    2208         hdaR3MixerControl(pThisCC, PDMAUDIOMIXERCTL_CENTER_LFE, uSD, uChannel);
    2209         hdaR3MixerControl(pThisCC, PDMAUDIOMIXERCTL_REAR,       uSD, uChannel);
     2166        hdaR3MixerControl(pThis, PDMAUDIOMIXERCTL_CENTER_LFE, uSD, uChannel);
     2167        hdaR3MixerControl(pThis, PDMAUDIOMIXERCTL_REAR,       uSD, uChannel);
    22102168# endif
    22112169    }
    22122170    else if (enmDir == PDMAUDIODIR_IN)
    22132171    {
    2214         hdaR3MixerControl(pThisCC, PDMAUDIOMIXERCTL_LINE_IN,    uSD, uChannel);
     2172        hdaR3MixerControl(pThis, PDMAUDIOMIXERCTL_LINE_IN,    uSD, uChannel);
    22152173# ifdef VBOX_WITH_AUDIO_HDA_MIC_IN
    2216         hdaR3MixerControl(pThisCC, PDMAUDIOMIXERCTL_MIC_IN,     uSD, uChannel);
     2174        hdaR3MixerControl(pThis, PDMAUDIOMIXERCTL_MIC_IN,     uSD, uChannel);
    22172175# endif
    22182176    }
     
    22902248 * @returns VBox status code (not strict).
    22912249 */
    2292 DECLHIDDEN(int) hdaR3CodecLookup(PHDACODECCC pThisCC, uint32_t uCmd, uint64_t *puResp)
    2293 {
    2294     PHDACODEC pThis = &pThisCC->State;
    2295 
     2250DECLHIDDEN(int) hdaR3CodecLookup(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp)
     2251{
    22962252    /*
    22972253     * Clear the return value and assert some sanity.
     
    22992255    AssertPtr(puResp);
    23002256    *puResp = 0;
    2301     AssertPtr(pThisCC);
     2257    AssertPtr(pThis);
    23022258    AssertMsgReturn(CODEC_CAD(uCmd) == pThis->id,
    23032259                    ("Unknown codec address 0x%x\n", CODEC_CAD(uCmd)),
     
    23412297            AssertPtrReturn(g_aCodecVerbs[iCur].pfn, VERR_INTERNAL_ERROR_5); /* Paranoia^2. */
    23422298
    2343             int rc = g_aCodecVerbs[iCur].pfn(pThis, pThisCC, uCmd, puResp);
     2299            int rc = g_aCodecVerbs[iCur].pfn(pThis, uCmd, puResp);
    23442300            AssertRC(rc);
    23452301            Log3Func(("[NID0x%02x] (0x%x) %s: 0x%x -> 0x%x\n",
     
    23762332    uint8_t         uLevel;
    23772333    /** Pointer to codec state. */
    2378     PHDACODEC       pThis;
     2334    PHDACODECR3       pThis;
    23792335} CODECDEBUG;
    23802336/** Pointer to the debug info item printing state for the codec. */
     
    25782534 * Worker for hdaR3DbgInfoCodecNodes implementing the 'hdcnodes' info item.
    25792535 */
    2580 DECLHIDDEN(void) hdaR3CodecDbgListNodes(PHDACODECR3 pThisCC, PCDBGFINFOHLP pHlp, const char *pszArgs)
    2581 {
    2582     RT_NOREF(pThisCC, pszArgs);
     2536DECLHIDDEN(void) hdaR3CodecDbgListNodes(PHDACODECR3 pThis, PCDBGFINFOHLP pHlp, const char *pszArgs)
     2537{
     2538    RT_NOREF(pszArgs);
    25832539
    25842540    pHlp->pfnPrintf(pHlp, "HDA LINK / INPUTS\n");
     
    25862542    CODECDEBUG DbgInfo;
    25872543    DbgInfo.pHlp    = pHlp;
    2588     DbgInfo.pThis   = &pThisCC->State;
     2544    DbgInfo.pThis   = pThis;
    25892545    DbgInfo.uLevel  = 0;
    25902546
     
    25922548
    25932549    CODECDBG_INDENT
    2594         for (uint8_t i = 0; i < pThisCC->State.cTotalNodes; i++)
    2595         {
    2596             PCODECNODE pNode = &pThisCC->State.aNodes[i];
     2550        for (uint8_t i = 0; i < pThis->cTotalNodes; i++)
     2551        {
     2552            PCODECNODE pNode = &pThis->aNodes[i];
    25972553
    25982554            /* Start with all nodes which have connection entries set. */
     
    26072563 * Worker for hdaR3DbgInfoCodecSelector implementing the 'hdcselector' info item.
    26082564 */
    2609 DECLHIDDEN(void) hdaR3CodecDbgSelector(PHDACODECR3 pThisCC, PCDBGFINFOHLP pHlp, const char *pszArgs)
    2610 {
    2611     RT_NOREF(pThisCC, pHlp, pszArgs);
     2565DECLHIDDEN(void) hdaR3CodecDbgSelector(PHDACODECR3 pThis, PCDBGFINFOHLP pHlp, const char *pszArgs)
     2566{
     2567    RT_NOREF(pThis, pHlp, pszArgs);
    26122568}
    26132569
    26142570
    26152571#if 0 /* unused */
    2616 static DECLCALLBACK(void) stac9220DbgNodes(PHDACODEC pThis, PCDBGFINFOHLP pHlp, const char *pszArgs)
     2572static DECLCALLBACK(void) stac9220DbgNodes(PHDACODECR3 pThis, PCDBGFINFOHLP pHlp, const char *pszArgs)
    26172573{
    26182574    RT_NOREF(pszArgs);
     
    26362592*********************************************************************************************************************************/
    26372593
    2638 int hdaR3CodecAddStream(PHDACODECR3 pThisCC, PDMAUDIOMIXERCTL enmMixerCtl, PPDMAUDIOSTREAMCFG pCfg)
    2639 {
    2640     AssertPtrReturn(pThisCC, VERR_INVALID_POINTER);
     2594int hdaR3CodecAddStream(PHDACODECR3 pThis, PDMAUDIOMIXERCTL enmMixerCtl, PPDMAUDIOSTREAMCFG pCfg)
     2595{
     2596    AssertPtrReturn(pThis, VERR_INVALID_POINTER);
    26412597    AssertPtrReturn(pCfg,  VERR_INVALID_POINTER);
    26422598
     
    26662622
    26672623    if (RT_SUCCESS(rc))
    2668         rc = hdaR3MixerAddStream(pThisCC, enmMixerCtl, pCfg);
     2624        rc = hdaR3MixerAddStream(pThis, enmMixerCtl, pCfg);
    26692625
    26702626    LogFlowFuncLeaveRC(rc);
     
    26732629
    26742630
    2675 int hdaR3CodecRemoveStream(PHDACODECR3 pThisCC, PDMAUDIOMIXERCTL enmMixerCtl, bool fImmediate)
    2676 {
    2677     AssertPtrReturn(pThisCC, VERR_INVALID_POINTER);
    2678 
    2679     int rc = hdaR3MixerRemoveStream(pThisCC, enmMixerCtl, fImmediate);
     2631int hdaR3CodecRemoveStream(PHDACODECR3 pThis, PDMAUDIOMIXERCTL enmMixerCtl, bool fImmediate)
     2632{
     2633    AssertPtrReturn(pThis, VERR_INVALID_POINTER);
     2634
     2635    int rc = hdaR3MixerRemoveStream(pThis, enmMixerCtl, fImmediate);
    26802636
    26812637    LogFlowFuncLeaveRC(rc);
     
    26892645 * @returns VBox status code.
    26902646 * @param   pDevIns             The device instance of the HDA device.
    2691  * @param   pThisCC             The codec instance data.
     2647 * @param   pThis               The codec instance data.
    26922648 * @param   pSSM                The saved state handle.
    26932649 */
    2694 int hdaCodecSaveState(PPDMDEVINS pDevIns, PHDACODECR3 pThisCC, PSSMHANDLE pSSM)
    2695 {
    2696     PHDACODEC       pThis   = &pThisCC->State;
    2697     PCPDMDEVHLPR3   pHlp    = pDevIns->pHlpR3;
     2650int hdaCodecSaveState(PPDMDEVINS pDevIns, PHDACODECR3 pThis, PSSMHANDLE pSSM)
     2651{
     2652    PCPDMDEVHLPR3 pHlp = pDevIns->pHlpR3;
    26982653    AssertLogRelMsgReturn(pThis->cTotalNodes == STAC9221_NUM_NODES, ("cTotalNodes=%#x, should be 0x1c", pThis->cTotalNodes),
    26992654                          VERR_INTERNAL_ERROR);
     
    27112666 * @returns VBox status code.
    27122667 * @param   pDevIns             The device instance of the HDA device.
    2713  * @param   pThisCC             The codec instance data.
     2668 * @param   pThis               The codec instance data.
    27142669 * @param   pSSM                The saved state handle.
    27152670 * @param   uVersion            The state version.
    27162671 */
    2717 int hdaR3CodecLoadState(PPDMDEVINS pDevIns, PHDACODECR3 pThisCC, PSSMHANDLE pSSM, uint32_t uVersion)
    2718 {
    2719     PHDACODEC       pThis   = &pThisCC->State;
     2672int hdaR3CodecLoadState(PPDMDEVINS pDevIns, PHDACODECR3 pThis, PSSMHANDLE pSSM, uint32_t uVersion)
     2673{
    27202674    PCPDMDEVHLPR3   pHlp    = pDevIns->pHlpR3;
    27212675    PCSSMFIELD      pFields = NULL;
     
    27662720    {
    27672721        pNode = &pThis->aNodes[pThis->u8DacLineOut];
    2768         hdaR3CodecToAudVolume(pThisCC, pNode, &pNode->dac.B_params, PDMAUDIOMIXERCTL_FRONT);
     2722        hdaR3CodecToAudVolume(pThis, pNode, &pNode->dac.B_params, PDMAUDIOMIXERCTL_FRONT);
    27692723    }
    27702724    else if (hdaCodecIsSpdifOutNode(pThis, pThis->u8DacLineOut))
    27712725    {
    27722726        pNode = &pThis->aNodes[pThis->u8DacLineOut];
    2773         hdaR3CodecToAudVolume(pThisCC, pNode, &pNode->spdifout.B_params, PDMAUDIOMIXERCTL_FRONT);
     2727        hdaR3CodecToAudVolume(pThis, pNode, &pNode->spdifout.B_params, PDMAUDIOMIXERCTL_FRONT);
    27742728    }
    27752729
    27762730    pNode = &pThis->aNodes[pThis->u8AdcVolsLineIn];
    2777     hdaR3CodecToAudVolume(pThisCC, pNode, &pNode->adcvol.B_params, PDMAUDIOMIXERCTL_LINE_IN);
     2731    hdaR3CodecToAudVolume(pThis, pNode, &pNode->adcvol.B_params, PDMAUDIOMIXERCTL_LINE_IN);
    27782732
    27792733    LogFlowFuncLeaveRC(VINF_SUCCESS);
     
    27852739 * Powers off the codec (ring-3).
    27862740 *
    2787  * @param   pThisCC     The codec data.
    2788  */
    2789 void hdaR3CodecPowerOff(PHDACODECR3 pThisCC)
     2741 * @param   pThis       The codec data.
     2742 */
     2743void hdaR3CodecPowerOff(PHDACODECR3 pThis)
    27902744{
    27912745    LogFlowFuncEnter();
    27922746    LogRel2(("HDA: Powering off codec ...\n"));
    27932747
    2794     int rc2 = hdaR3CodecRemoveStream(pThisCC, PDMAUDIOMIXERCTL_FRONT, true /*fImmediate*/);
     2748    int rc2 = hdaR3CodecRemoveStream(pThis, PDMAUDIOMIXERCTL_FRONT, true /*fImmediate*/);
    27952749    AssertRC(rc2);
    27962750#ifdef VBOX_WITH_AUDIO_HDA_51_SURROUND
    2797     rc2 = hdaR3CodecRemoveStream(pThisCC, PDMAUDIOMIXERCTL_CENTER_LFE, true /*fImmediate*/);
     2751    rc2 = hdaR3CodecRemoveStream(pThis, PDMAUDIOMIXERCTL_CENTER_LFE, true /*fImmediate*/);
    27982752    AssertRC(rc2);
    2799     rc2 = hdaR3CodecRemoveStream(pThisCC, PDMAUDIOMIXERCTL_REAR, true /*fImmediate*/);
     2753    rc2 = hdaR3CodecRemoveStream(pThis, PDMAUDIOMIXERCTL_REAR, true /*fImmediate*/);
    28002754    AssertRC(rc2);
    28012755#endif
    28022756
    28032757#ifdef VBOX_WITH_AUDIO_HDA_MIC_IN
    2804     rc2 = hdaR3CodecRemoveStream(pThisCC, PDMAUDIOMIXERCTL_MIC_IN, true /*fImmediate*/);
     2758    rc2 = hdaR3CodecRemoveStream(pThis, PDMAUDIOMIXERCTL_MIC_IN, true /*fImmediate*/);
    28052759    AssertRC(rc2);
    28062760#endif
    2807     rc2 = hdaR3CodecRemoveStream(pThisCC, PDMAUDIOMIXERCTL_LINE_IN, true /*fImmediate*/);
     2761    rc2 = hdaR3CodecRemoveStream(pThis, PDMAUDIOMIXERCTL_LINE_IN, true /*fImmediate*/);
    28082762    AssertRC(rc2);
    28092763}
     
    28152769 * @returns VBox status code.
    28162770 * @param   pDevIns     The associated device instance.
    2817  * @param   pThisCC     The codec data.
     2771 * @param   pThis       The codec data.
    28182772 * @param   uLUN        Device LUN to assign.
    28192773 * @param   pCfg        CFGM node to use for configuration.
    28202774 */
    2821 int hdaR3CodecConstruct(PPDMDEVINS pDevIns, PHDACODECR3 pThisCC, uint16_t uLUN, PCFGMNODE pCfg)
     2775int hdaR3CodecConstruct(PPDMDEVINS pDevIns, PHDACODECR3 pThis, uint16_t uLUN, PCFGMNODE pCfg)
    28222776{
    28232777    AssertPtrReturn(pDevIns, VERR_INVALID_POINTER);
    2824     AssertPtrReturn(pThisCC, VERR_INVALID_POINTER);
     2778    AssertPtrReturn(pThis VERR_INVALID_POINTER);
    28252779    AssertPtrReturn(pCfg,    VERR_INVALID_POINTER);
    2826     PHDACODEC pThis = &pThisCC->State;
    28272780
    28282781    pThis->id      = uLUN;
     
    28492802     */
    28502803    PCODECNODE pNode = &pThis->aNodes[pThis->u8DacLineOut];
    2851     rc = hdaR3CodecToAudVolume(pThisCC, pNode, &pNode->dac.B_params, PDMAUDIOMIXERCTL_FRONT);
     2804    rc = hdaR3CodecToAudVolume(pThis, pNode, &pNode->dac.B_params, PDMAUDIOMIXERCTL_FRONT);
    28522805    AssertRCReturn(rc, rc);
    28532806
    28542807    pNode = &pThis->aNodes[pThis->u8AdcVolsLineIn];
    2855     rc = hdaR3CodecToAudVolume(pThisCC, pNode, &pNode->adcvol.B_params, PDMAUDIOMIXERCTL_LINE_IN);
     2808    rc = hdaR3CodecToAudVolume(pThis, pNode, &pNode->adcvol.B_params, PDMAUDIOMIXERCTL_LINE_IN);
    28562809    AssertRCReturn(rc, rc);
    28572810
     
    28752828 * Destructs a codec.
    28762829 *
    2877  * @param   pThisCC     Codec to destruct.
    2878  */
    2879 void hdaCodecDestruct(PHDACODECR3 pThisCC)
     2830 * @param   pThis       Codec to destruct.
     2831 */
     2832void hdaCodecDestruct(PHDACODECR3 pThis)
    28802833{
    28812834    LogFlowFuncEnter();
    28822835
    28832836    /* Nothing to do here atm. */
    2884     RT_NOREF(pThisCC);
     2837    RT_NOREF(pThis);
    28852838}
    28862839
     
    28892842 * Resets a codec.
    28902843 *
    2891  * @param   pThisCC     Codec to reset.
    2892  */
    2893 void hdaCodecReset(PHDACODECR3 pThisCC)
    2894 {
    2895     switch (pThisCC->State.enmType)
     2844 * @param   pThis       Codec to reset.
     2845 */
     2846void hdaCodecReset(PHDACODECR3 pThis)
     2847{
     2848    switch (pThis->enmType)
    28962849    {
    28972850        case CODECTYPE_STAC9220:
    2898             stac9220Reset(&pThisCC->State);
     2851            stac9220Reset(pThis);
    28992852            break;
    29002853
  • trunk/src/VBox/Devices/Audio/DevHdaCodec.h

    r90137 r90138  
    3030
    3131
    32 /** The ICH HDA (Intel) common codec state. */
    33 typedef struct HDACODEC *PHDACODEC;
    3432/** The ICH HDA (Intel) ring-3 codec state. */
    3533typedef struct HDACODECR3 *PHDACODECR3;
    36 #ifdef IN_RING3 /* (A leftover from attempt at running the codec in ring-0.  Deemed unsafe
    37                     and not a help with performance when it mattered.) */
    38 /** The ICH HDA (Intel) current context codec state. */
    39 typedef CTX_SUFF(PHDACODEC) PHDACODECCC;
    40 #endif
    4134
    4235/**
     
    798791
    799792/**
    800  * HDA codec state (shared).
     793 * HDA codec state (ring-3, no shared state).
    801794 */
    802 typedef struct HDACODEC
     795typedef struct HDACODECR3
    803796{
    804797    /** Codec implementation type. */
     
    837830
    838831    STAMCOUNTER StatLookupsR3;
    839 #if 0 /* Codec is not yet kosher enough for ring-0.  @bugref{9890c64} */
    840     STAMCOUNTER StatLookupsR0;
    841 #endif
    842 } HDACODEC;
    843 
    844 
    845 /**
    846  * HDA codec state (ring-3).
    847  */
    848 typedef struct HDACODECR3
    849 {
    850     /** The state (was shared with ring-0 for a while). */
    851     HDACODEC                State;
    852832} HDACODECR3;
     833
    853834
    854835/** @name HDA Codec API used by the device emulation.
    855836 * @{ */
    856 int     hdaR3CodecConstruct(PPDMDEVINS pDevIns, PHDACODECR3 pThisCC, uint16_t uLUN, PCFGMNODE pCfg);
    857 void    hdaR3CodecPowerOff(PHDACODECR3 pThisCC);
    858 int     hdaR3CodecLoadState(PPDMDEVINS pDevIns, PHDACODECR3 pThisCC, PSSMHANDLE pSSM, uint32_t uVersion);
    859 int     hdaR3CodecAddStream(PHDACODECR3 pThisCC, PDMAUDIOMIXERCTL enmMixerCtl, PPDMAUDIOSTREAMCFG pCfg);
    860 int     hdaR3CodecRemoveStream(PHDACODECR3 pThisCC, PDMAUDIOMIXERCTL enmMixerCtl, bool fImmediate);
    861 
    862 int     hdaCodecSaveState(PPDMDEVINS pDevIns, PHDACODECR3 pThisCC, PSSMHANDLE pSSM);
    863 void    hdaCodecDestruct(PHDACODECR3 pThisCC);
    864 void    hdaCodecReset(PHDACODECR3 pThisCC);
    865 
    866 DECLHIDDEN(int)  hdaR3CodecLookup(PHDACODECR3 pThisCC, uint32_t uCmd, uint64_t *puResp);
    867 DECLHIDDEN(void) hdaR3CodecDbgListNodes(PHDACODECR3 pThisCC, PCDBGFINFOHLP pHlp, const char *pszArgs);
    868 DECLHIDDEN(void) hdaR3CodecDbgSelector(PHDACODECR3 pThisCC, PCDBGFINFOHLP pHlp, const char *pszArgs);
     837int     hdaR3CodecConstruct(PPDMDEVINS pDevIns, PHDACODECR3 pThis, uint16_t uLUN, PCFGMNODE pCfg);
     838void    hdaR3CodecPowerOff(PHDACODECR3 pThis);
     839int     hdaR3CodecLoadState(PPDMDEVINS pDevIns, PHDACODECR3 pThis, PSSMHANDLE pSSM, uint32_t uVersion);
     840int     hdaR3CodecAddStream(PHDACODECR3 pThis, PDMAUDIOMIXERCTL enmMixerCtl, PPDMAUDIOSTREAMCFG pCfg);
     841int     hdaR3CodecRemoveStream(PHDACODECR3 pThis, PDMAUDIOMIXERCTL enmMixerCtl, bool fImmediate);
     842
     843int     hdaCodecSaveState(PPDMDEVINS pDevIns, PHDACODECR3 pThis, PSSMHANDLE pSSM);
     844void    hdaCodecDestruct(PHDACODECR3 pThis);
     845void    hdaCodecReset(PHDACODECR3 pThis);
     846
     847DECLHIDDEN(int)  hdaR3CodecLookup(PHDACODECR3 pThis, uint32_t uCmd, uint64_t *puResp);
     848DECLHIDDEN(void) hdaR3CodecDbgListNodes(PHDACODECR3 pThis, PCDBGFINFOHLP pHlp, const char *pszArgs);
     849DECLHIDDEN(void) hdaR3CodecDbgSelector(PHDACODECR3 pThis, PCDBGFINFOHLP pHlp, const char *pszArgs);
    869850/** @} */
    870851
Note: See TracChangeset for help on using the changeset viewer.

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