Changeset 88193 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Mar 18, 2021 2:21:20 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 143351
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevHDA.cpp
r88186 r88193 1374 1374 if (fInReset) 1375 1375 { 1376 A ssert(!fReset);1377 A ssert(!fInRun && !fRun);1376 ASSERT_GUEST(!fReset); 1377 ASSERT_GUEST(!fInRun && !fRun); 1378 1378 1379 1379 /* Exit reset state. */ … … 1388 1388 { 1389 1389 /* ICH6 datasheet 18.2.33 says that RUN bit should be cleared before initiation of reset. */ 1390 A ssert(!fInRun && !fRun);1390 ASSERT_GUEST(!fInRun && !fRun); 1391 1391 1392 1392 LogFunc(("[SD%RU8] Reset enter\n", uSD)); … … 1397 1397 hdaR3StreamAsyncIOLock(pStreamR3); 1398 1398 # endif 1399 /* Deal with reset while running. */ 1400 if (pStreamShared->State.fRunning) 1401 { 1402 hdaR3StreamEnable(pStreamShared, pStreamR3, false /* fEnable */); 1403 ASMAtomicWriteBool(&pStreamShared->State.fRunning, false); 1404 if (pThisCC->cStreamsActive > 0) 1405 pThisCC->cStreamsActive++; 1406 } 1407 1399 1408 /* Make sure to remove the run bit before doing the actual stream reset. */ 1400 1409 HDA_STREAM_REG(pThis, CTL, uSD) &= ~HDA_SDCTL_RUN; 1401 1402 1410 hdaR3StreamReset(pThis, pThisCC, pStreamShared, pStreamR3, uSD); 1403 1411 … … 1414 1422 if (fInRun != fRun) 1415 1423 { 1416 Assert(!fReset && !fInReset); 1424 Assert(!fReset && !fInReset); /* (code change paranoia, currently impossible ) */ 1417 1425 LogFunc(("[SD%RU8] State changed (fRun=%RTbool)\n", uSD, fRun)); 1418 1426 … … 1456 1464 /* Any vital stream change occurred so that we need to (re-)add the stream to our setup? 1457 1465 * Otherwise just skip this, as this costs a lot of performance. */ 1466 /** @todo r=bird: hdaR3StreamSetUp does not return VINF_NO_CHANGE since r142810. */ 1458 1467 && rc2 != VINF_NO_CHANGE) 1459 1468 { … … 2942 2951 for (size_t idxStream = 0; idxStream < RT_ELEMENTS(pThis->aStreams); idxStream++) 2943 2952 { 2953 /** @todo r=bird: insufficient locking here, I think... May race stream timer 2954 * and AIO threads. We should probably do this a lot earlier too. */ 2944 2955 int rc2 = hdaR3StreamEnable(&pThis->aStreams[idxStream], &pThisCC->aStreams[idxStream], false /* fEnable */); 2945 2956 if (RT_SUCCESS(rc2)) -
trunk/src/VBox/Devices/Audio/DevHDA.h
r88170 r88193 231 231 /** Mapping table between stream tags and stream states. */ 232 232 HDATAG aTags[HDA_MAX_TAGS]; 233 /** Number of active (running) SDn streams. */ 233 /** Number of active (running) SDn streams. 234 * @todo pointless, not used for anything at all. */ 234 235 uint8_t cStreamsActive; 235 236 uint8_t abPadding0[7];
Note:
See TracChangeset
for help on using the changeset viewer.