Changeset 44643 in vbox for trunk/src/VBox
- Timestamp:
- Feb 11, 2013 7:48:28 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 83731
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevIchIntelHDA.cpp
r44642 r44643 491 491 static FNPDMDEVRESET hdaReset; 492 492 493 /** @todo r=bird: Why aren't these static? And why use DECLCALLBACK for 494 * internal functions? */ 495 DECLCALLBACK(int) hdaRegReadUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 496 DECLCALLBACK(int) hdaRegWriteUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 497 DECLCALLBACK(int) hdaRegReadGCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 498 DECLCALLBACK(int) hdaRegWriteGCTL(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 499 DECLCALLBACK(int) hdaRegReadSTATESTS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 500 DECLCALLBACK(int) hdaRegWriteSTATESTS(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 501 DECLCALLBACK(int) hdaRegReadGCAP(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 502 DECLCALLBACK(int) hdaRegReadINTSTS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 503 DECLCALLBACK(int) hdaRegReadWALCLK(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 504 DECLCALLBACK(int) hdaRegWriteINTSTS(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 505 DECLCALLBACK(int) hdaRegWriteCORBWP(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 506 DECLCALLBACK(int) hdaRegWriteCORBRP(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 507 DECLCALLBACK(int) hdaRegWriteCORBCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 508 DECLCALLBACK(int) hdaRegWriteCORBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 509 DECLCALLBACK(int) hdaRegWriteRIRBWP(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 510 DECLCALLBACK(int) hdaRegWriteRIRBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 511 DECLCALLBACK(int) hdaRegWriteIRS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 512 DECLCALLBACK(int) hdaRegReadIRS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 513 DECLCALLBACK(int) hdaRegWriteSDCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 514 DECLCALLBACK(int) hdaRegReadSDCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 515 516 DECLCALLBACK(int) hdaRegWriteSDSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 517 DECLCALLBACK(int) hdaRegWriteSDLVI(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 518 DECLCALLBACK(int) hdaRegWriteSDFIFOW(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 519 DECLCALLBACK(int) hdaRegWriteSDFIFOS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 520 DECLCALLBACK(int) hdaRegWriteSDFMT(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 521 DECLCALLBACK(int) hdaRegWriteSDBDPL(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 522 DECLCALLBACK(int) hdaRegWriteSDBDPU(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 523 DECLCALLBACK(int) hdaRegWriteBase(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 524 DECLCALLBACK(int) hdaRegReadU32(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 525 DECLCALLBACK(int) hdaRegWriteU32(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 526 DECLCALLBACK(int) hdaRegReadU24(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 527 DECLCALLBACK(int) hdaRegWriteU24(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 528 DECLCALLBACK(int) hdaRegReadU16(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 529 DECLCALLBACK(int) hdaRegWriteU16(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 530 DECLCALLBACK(int) hdaRegReadU8(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 531 DECLCALLBACK(int) hdaRegWriteU8(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 493 static int hdaRegReadUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 494 static int hdaRegWriteUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 495 static int hdaRegReadGCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 496 static int hdaRegWriteGCTL(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 497 static int hdaRegReadSTATESTS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 498 static int hdaRegWriteSTATESTS(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 499 static int hdaRegReadGCAP(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 500 static int hdaRegReadINTSTS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 501 static int hdaRegReadWALCLK(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 502 static int hdaRegWriteINTSTS(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 503 static int hdaRegWriteCORBWP(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 504 static int hdaRegWriteCORBRP(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 505 static int hdaRegWriteCORBCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 506 static int hdaRegWriteCORBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 507 static int hdaRegWriteRIRBWP(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 508 static int hdaRegWriteRIRBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 509 static int hdaRegWriteIRS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 510 static int hdaRegReadIRS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 511 static int hdaRegWriteSDCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 512 static int hdaRegReadSDCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 513 514 static int hdaRegWriteSDSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 515 static int hdaRegWriteSDLVI(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 516 static int hdaRegWriteSDFIFOW(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 517 static int hdaRegWriteSDFIFOS(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 518 static int hdaRegWriteSDFMT(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 519 static int hdaRegWriteSDBDPL(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 520 static int hdaRegWriteSDBDPU(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 521 static int hdaRegWriteBase(PHDASTATE pThis, uint32_t index, uint32_t u32Value); 522 static int hdaRegReadU32(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 523 static int hdaRegWriteU32(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 524 static int hdaRegReadU24(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 525 static int hdaRegWriteU24(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 526 static int hdaRegReadU16(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 527 static int hdaRegWriteU16(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 528 static int hdaRegReadU8(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value); 529 static int hdaRegWriteU8(PHDASTATE pThis, uint32_t index, uint32_t pu32Value); 532 530 533 531 DECLINLINE(void) hdaInitTransferDescriptor(PHDASTATE pThis, PHDABDLEDESC pBdle, uint8_t u8Strm, … … 966 964 967 965 968 DECLCALLBACK(int) hdaRegReadUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 966 /* Register access handlers. */ 967 968 static int hdaRegReadUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 969 969 { 970 970 *pu32Value = 0; … … 972 972 } 973 973 974 DECLCALLBACK(int)hdaRegWriteUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t u32Value)974 static int hdaRegWriteUnimplemented(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 975 975 { 976 976 return VINF_SUCCESS; … … 978 978 979 979 /* U8 */ 980 DECLCALLBACK(int)hdaRegReadU8(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)980 static int hdaRegReadU8(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 981 981 { 982 982 Assert(((pThis->au32Regs[index] & g_aIchIntelHDRegMap[index].readable) & 0xffffff00) == 0); … … 984 984 } 985 985 986 DECLCALLBACK(int)hdaRegWriteU8(PHDASTATE pThis, uint32_t index, uint32_t u32Value)986 static int hdaRegWriteU8(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 987 987 { 988 988 Assert((u32Value & 0xffffff00) == 0); … … 991 991 992 992 /* U16 */ 993 DECLCALLBACK(int)hdaRegReadU16(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)993 static int hdaRegReadU16(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 994 994 { 995 995 Assert(((pThis->au32Regs[index] & g_aIchIntelHDRegMap[index].readable) & 0xffff0000) == 0); … … 997 997 } 998 998 999 DECLCALLBACK(int)hdaRegWriteU16(PHDASTATE pThis, uint32_t index, uint32_t u32Value)999 static int hdaRegWriteU16(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1000 1000 { 1001 1001 Assert((u32Value & 0xffff0000) == 0); … … 1004 1004 1005 1005 /* U24 */ 1006 DECLCALLBACK(int)hdaRegReadU24(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1006 static int hdaRegReadU24(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1007 1007 { 1008 1008 Assert(((pThis->au32Regs[index] & g_aIchIntelHDRegMap[index].readable) & 0xff000000) == 0); … … 1010 1010 } 1011 1011 1012 DECLCALLBACK(int)hdaRegWriteU24(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1012 static int hdaRegWriteU24(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1013 1013 { 1014 1014 Assert((u32Value & 0xff000000) == 0); … … 1017 1017 1018 1018 /* U32 */ 1019 DECLCALLBACK(int)hdaRegReadU32(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1019 static int hdaRegReadU32(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1020 1020 { 1021 1021 *pu32Value = pThis->au32Regs[index] & g_aIchIntelHDRegMap[index].readable; … … 1023 1023 } 1024 1024 1025 DECLCALLBACK(int)hdaRegWriteU32(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1025 static int hdaRegWriteU32(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1026 1026 { 1027 1027 pThis->au32Regs[index] = (u32Value & g_aIchIntelHDRegMap[index].writable) … … 1030 1030 } 1031 1031 1032 DECLCALLBACK(int)hdaRegReadGCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1032 static int hdaRegReadGCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1033 1033 { 1034 1034 return hdaRegReadU32(pThis, index, pu32Value); 1035 1035 } 1036 1036 1037 DECLCALLBACK(int)hdaRegWriteGCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1037 static int hdaRegWriteGCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1038 1038 { 1039 1039 if (u32Value & HDA_REG_FIELD_FLAG_MASK(GCTL, RST)) … … 1066 1066 } 1067 1067 1068 DECLCALLBACK(int)hdaRegWriteSTATESTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1068 static int hdaRegWriteSTATESTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1069 1069 { 1070 1070 uint32_t v = pThis->au32Regs[index]; … … 1074 1074 } 1075 1075 1076 DECLCALLBACK(int)hdaRegReadINTSTS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1076 static int hdaRegReadINTSTS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1077 1077 { 1078 1078 uint32_t v = 0; … … 1100 1100 } 1101 1101 1102 DECLCALLBACK(int)hdaRegReadWALCLK(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1102 static int hdaRegReadWALCLK(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1103 1103 { 1104 1104 /* HDA spec (1a): 3.3.16 WALCLK counter ticks with 24Mhz bitclock rate. */ … … 1108 1108 } 1109 1109 1110 DECLCALLBACK(int)hdaRegReadGCAP(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1110 static int hdaRegReadGCAP(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1111 1111 { 1112 1112 return hdaRegReadU16(pThis, index, pu32Value); 1113 1113 } 1114 1114 1115 DECLCALLBACK(int)hdaRegWriteCORBRP(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1115 static int hdaRegWriteCORBRP(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1116 1116 { 1117 1117 if (u32Value & HDA_REG_FIELD_FLAG_MASK(CORBRP, RST)) … … 1122 1122 } 1123 1123 1124 DECLCALLBACK(int)hdaRegWriteCORBCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1124 static int hdaRegWriteCORBCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1125 1125 { 1126 1126 int rc = hdaRegWriteU8(pThis, index, u32Value); … … 1132 1132 } 1133 1133 1134 DECLCALLBACK(int)hdaRegWriteCORBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1134 static int hdaRegWriteCORBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1135 1135 { 1136 1136 uint32_t v = CORBSTS(pThis); … … 1139 1139 } 1140 1140 1141 DECLCALLBACK(int)hdaRegWriteCORBWP(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1141 static int hdaRegWriteCORBWP(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1142 1142 { 1143 1143 int rc; … … 1153 1153 } 1154 1154 1155 DECLCALLBACK(int)hdaRegReadSDCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1155 static int hdaRegReadSDCTL(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1156 1156 { 1157 1157 return hdaRegReadU24(pThis, index, pu32Value); 1158 1158 } 1159 1159 1160 DECLCALLBACK(int)hdaRegWriteSDCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1160 static int hdaRegWriteSDCTL(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1161 1161 { 1162 1162 bool fRun = RT_BOOL(u32Value & HDA_REG_FIELD_FLAG_MASK(SDCTL, RUN)); … … 1229 1229 } 1230 1230 1231 DECLCALLBACK(int)hdaRegWriteSDSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1231 static int hdaRegWriteSDSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1232 1232 { 1233 1233 uint32_t v = HDA_REG_IND(pThis, index); … … 1238 1238 } 1239 1239 1240 DECLCALLBACK(int)hdaRegWriteSDLVI(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1240 static int hdaRegWriteSDLVI(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1241 1241 { 1242 1242 int rc = hdaRegWriteU32(pThis, index, u32Value); … … 1246 1246 } 1247 1247 1248 DECLCALLBACK(int)hdaRegWriteSDFIFOW(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1248 static int hdaRegWriteSDFIFOW(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1249 1249 { 1250 1250 switch (u32Value) … … 1265 1265 * 1266 1266 */ 1267 DECLCALLBACK(int)hdaRegWriteSDFIFOS(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1267 static int hdaRegWriteSDFIFOS(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1268 1268 { 1269 1269 switch (index) … … 1359 1359 } 1360 1360 1361 DECLCALLBACK(int)hdaRegWriteSDFMT(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1361 static int hdaRegWriteSDFMT(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1362 1362 { 1363 1363 #ifdef VBOX_WITH_HDA_CODEC_EMU … … 1387 1387 } 1388 1388 1389 DECLCALLBACK(int)hdaRegWriteSDBDPL(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1389 static int hdaRegWriteSDBDPL(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1390 1390 { 1391 1391 int rc = hdaRegWriteU32(pThis, index, u32Value); … … 1395 1395 } 1396 1396 1397 DECLCALLBACK(int)hdaRegWriteSDBDPU(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1397 static int hdaRegWriteSDBDPU(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1398 1398 { 1399 1399 int rc = hdaRegWriteU32(pThis, index, u32Value); … … 1403 1403 } 1404 1404 1405 DECLCALLBACK(int)hdaRegReadIRS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value)1405 static int hdaRegReadIRS(PHDASTATE pThis, uint32_t index, uint32_t *pu32Value) 1406 1406 { 1407 1407 int rc = VINF_SUCCESS; … … 1415 1415 } 1416 1416 1417 DECLCALLBACK(int)hdaRegWriteIRS(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1417 static int hdaRegWriteIRS(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1418 1418 { 1419 1419 int rc = VINF_SUCCESS; … … 1459 1459 } 1460 1460 1461 DECLCALLBACK(int)hdaRegWriteRIRBWP(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1461 static int hdaRegWriteRIRBWP(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1462 1462 { 1463 1463 if (u32Value & HDA_REG_FIELD_FLAG_MASK(RIRBWP, RST)) … … 1469 1469 } 1470 1470 1471 DECLCALLBACK(int)hdaRegWriteBase(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1471 static int hdaRegWriteBase(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1472 1472 { 1473 1473 int rc = hdaRegWriteU32(pThis, index, u32Value); … … 1508 1508 } 1509 1509 1510 DECLCALLBACK(int)hdaRegWriteRIRBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value)1510 static int hdaRegWriteRIRBSTS(PHDASTATE pThis, uint32_t index, uint32_t u32Value) 1511 1511 { 1512 1512 uint8_t v = RIRBSTS(pThis);
Note:
See TracChangeset
for help on using the changeset viewer.