VirtualBox

Changeset 33810 in vbox


Ignore:
Timestamp:
Nov 5, 2010 7:03:02 PM (14 years ago)
Author:
vboxsync
Message:

Audio/HDA: right semantic of VerbID: F20

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

Legend:

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

    r33803 r33810  
    318318#define CODEC_DEFAULT_CONF_SEQ_SHIFT                 (0)
    319319
     320/* Implementation identification (7.3.3.30) */
     321#define CODEC_MAKE_F20(bmid, bsku, aid)     \
     322    (  (((bmid) & 0xFFFF) << 16)            \
     323     | (((bsku) & 0xFF) << 8)               \
     324     | (((aid) & 0xFF))                     \
     325    )
     326
    320327/* macro definition helping in filling the configuration registers. */
    321328#define CODEC_MAKE_U32_DEFAULT_CONF(port_connectivity, location, device, connection_type, color, misc, association, sequence)    \
     
    352359    pState->u16VendorId = 0x8384;
    353360    pState->u16DeviceId = 0x7680;
     361    pState->u8BSKU = 0x76;
     362    pState->u8AssemblyId = 0x80;
    354363    pState->pNodes = (PCODECNODE)RTMemAllocZ(sizeof(CODECNODE) * pState->cTotalNodes);
    355364    pState->fInReset = false;
     
    401410            pNode->node.au32F00_param[0xF] = CODEC_F00_0F_D3|CODEC_F00_0F_D2|CODEC_F00_0F_D1|CODEC_F00_0F_D0;
    402411            pNode->afg.u32F05_param = CODEC_MAKE_F05(0, 0, 0, CODEC_F05_D2, CODEC_F05_D2);//0x2 << 4| 0x2; /* PS-Act: D3, PS->Set D3  */
    403             pNode->afg.u32F20_param = pState->u16VendorId << 16 | pState->u16DeviceId;
    404412            pNode->afg.u32F08_param = 0;
    405413            pNode->afg.u32F17_param = 0;
     
    773781    pState->u16VendorId = 0x10ec;
    774782    pState->u16DeviceId =  0x0885;
     783    pState->u8BSKU = 0x08;
     784    pState->u8AssemblyId = 0x85;
    775785    pState->pfnCodecNodeReset = alc885ResetNode;
    776786    pState->pNodes = (PCODECNODE)RTMemAllocZ(sizeof(CODECNODE) * pState->cTotalNodes);
     
    809819            break;
    810820        case 0x1: /* AFG */
    811             pNode->afg.u32F20_param = pState->u16VendorId << 16 | pState->u16DeviceId;
    812821            pNode->node.au32F00_param[0xB] = CODEC_F00_0B_PCM;
    813822            pNode->node.au32F00_param[0x11] = RT_BIT(30)|0x2;
     
    22742283    pState->pNodes[1].node.au32F00_param[4] = CODEC_MAKE_F00_04(0x2, pState->cTotalNodes - 2);
    22752284    pState->pNodes[1].node.au32F00_param[5] = CODEC_MAKE_F00_05(CODEC_F00_05_UNSOL, CODEC_F00_05_AFG);
     2285    pState->pNodes[1].afg.u32F20_param = CODEC_MAKE_F20(pState->u16VendorId, pState->u8BSKU, pState->u8AssemblyId);
    22762286
    22772287    //** @todo r=michaln: Was this meant to be 'HDA' or something like that? (AC'97 was on ICH0)
  • trunk/src/VBox/Devices/Audio/DevCodec.h

    r33676 r33810  
    269269    uint16_t                u16VendorId;
    270270    uint16_t                u16DeviceId;
     271    uint8_t                 u8BSKU;
     272    uint8_t                 u8AssemblyId;
    271273    CODECVERB               *pVerbs;
    272274    int                     cVerbs;
     
    311313} CODECState;
    312314
    313 
    314315int codecConstruct(CODECState *pCodecState, ENMCODEC enmCodec);
    315316int codecDestruct(CODECState *pCodecState);
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