Changeset 30992 in vbox
- Timestamp:
- Jul 22, 2010 1:38:57 PM (14 years ago)
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 2 edited
-
DevCodec.cpp (modified) (4 diffs)
-
DevIchIntelHDA.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevCodec.cpp
r30985 r30992 217 217 case 0: 218 218 pNode->root.node.name = "Root"; 219 //** @todo r=michaln: I fear the use of RT_MAKE_U32_FROM_U8() here makes the 220 // code much harder to read, not easier. 219 221 pNode->node.au32F00_param[0] = RT_MAKE_U32_FROM_U8(0x80, 0x76, 0x84, 0x83); /* VendorID = STAC9220/ DevId = 0x7680 */ 220 222 pNode->node.au32F00_param[2] = RT_MAKE_U32_FROM_U8(0x1, 0x31, 0x10, 0x00); /* rev id */ … … 223 225 case 1: 224 226 pNode->afg.node.name = "AFG"; 227 //** @todo r=michaln: Are the comments right? Looks like copy & paste. 225 228 pNode->node.au32F00_param[4] = RT_MAKE_U32_FROM_U8(0x1a, 0x00, 0x02, 0x00); /* node info (start node: 1, start id = 1) */ 226 229 pNode->node.au32F00_param[5] = RT_MAKE_U32_FROM_U8(0x1, 0x01, 0x00, 0x0); /* node info (start node: 1, start id = 1) */ … … 388 391 pNode->node.name = "VolumeKnob"; 389 392 pNode->node.au32F00_param[0x9] = (0x6 << 20); 393 //** @todo r=michaln: The next assignment is out of array bounds (0x13 items in array); 394 // the array needs to be bigger. 390 395 pNode->node.au32F00_param[0x13] = RT_BIT(7)| 0x7F; 391 396 pNode->node.au32F00_param[0xe] = 0x4; … … 577 582 pState->cVerbs = STAC9220_VERB_SIZE; 578 583 pState->pfnLookup = codecLookup; 584 //** @todo r=michaln: Where is this memory freed? 579 585 pState->pNodes = (PCODECNODE)RTMemAllocZ(sizeof(CODECNODE) * STAC9220_NODE_COUNT); 580 586 uint8_t i; -
trunk/src/VBox/Devices/Audio/DevIchIntelHDA.cpp
r30984 r30992 91 91 #define INTCTL_SALL(pState) (INTCTL((pState)) & 0xFF) 92 92 93 /* Note: The HDA specification defines a SSYNC register at offset 0x38. The 94 * ICH6/ICH9 datahseet defines SSYNC at offset 0x34. The Linux HDA driver matches 95 * the datasheet. 96 */ 93 97 #define ICH6_HDA_REG_SSYNC 12 /* 0x34 */ 94 98 #define SSYNC(pState) (HDA_REG((pState), SSYNC)) … … 424 428 } s_ichIntelHDRegMap[] = 425 429 { 426 //** @todo r=michaln: Please align the table properly for reasier readability.427 430 /* offset size read mask write mask read callback write callback abbrev full name */ 428 431 /*------- ------- ---------- ---------- ----------------------- ------------------------ ---------- ------------------------------*/ … … 438 441 { 0x00020, 0x00004, 0xC00000FF, 0xC00000FF, hdaRegReadU32 , hdaRegWriteU32 , "INTCTL" , "Interrupt Control" }, 439 442 { 0x00024, 0x00004, 0xC00000FF, 0x400000FF, hdaRegReadINTSTS , hdaRegWriteINTSTS , "INTSTS" , "Interrupt Status" }, 443 //** @todo r=michaln: Are guests really not reading the WALCLK register at all? 440 444 { 0x00030, 0x00004, 0xFFFFFFFF, 0x00000000, hdaRegReadUnimplemented, hdaRegWriteUnimplemented, "WALCLK" , "Wall Clock Counter" }, 445 //** @todo r=michaln: Doesn't the SSYNC register need to actually stop the stream(s)? 441 446 { 0x00034, 0x00004, 0x000000FF, 0x000000FF, hdaRegReadU32 , hdaRegWriteU32 , "SSYNC" , "Stream Synchronization" }, 442 447 { 0x00040, 0x00004, 0xFFFFFF80, 0xFFFFFF80, hdaRegReadU32 , hdaRegWriteBase , "CORBLBASE" , "CORB Lower Base Address" }, … … 1321 1326 pThis->hda.cbCorbBuf = CORBSIZE(&pThis->hda) * sizeof(uint32_t); 1322 1327 1328 //** @todo r=michaln: Where are the Corb/RirbBuf allocations freed? 1323 1329 if (pThis->hda.pu32CorbBuf) 1324 1330 memset(pThis->hda.pu32CorbBuf, 0, pThis->hda.cbCorbBuf);
Note:
See TracChangeset
for help on using the changeset viewer.

