Changeset 68535 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Aug 28, 2017 12:13:04 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r67806 r68535 343 343 /** Device has spun up. */ 344 344 bool fSpunUp; 345 /** First D2H FIS was sen d. */346 bool fFirstD2HFisSen d;345 /** First D2H FIS was sent. */ 346 bool fFirstD2HFisSent; 347 347 /** Attached device is a CD/DVD drive. */ 348 348 bool fATAPI; … … 957 957 static void ahciPortResetFinish(PAHCIPort pAhciPort) 958 958 { 959 ahciLog(("%s: Initiated.\n", __FUNCTION__)); 960 959 961 /* Cancel all tasks first. */ 960 962 bool fAllTasksCanceled = ahciCancelActiveTasks(pAhciPort); … … 972 974 pAhciPort->regTFD |= ATA_STAT_BUSY; 973 975 974 if ((pAhciPort->regCMD & AHCI_PORT_CMD_FRE) && (!pAhciPort->fFirstD2HFisSen d))976 if ((pAhciPort->regCMD & AHCI_PORT_CMD_FRE) && (!pAhciPort->fFirstD2HFisSent)) 975 977 { 976 978 ahciPostFirstD2HFisIntoMemory(pAhciPort); … … 1056 1058 if (ASMAtomicReadBool(&pAhciPort->fWrkThreadSleeping)) 1057 1059 ahciIoThreadKick(pAhci, pAhciPort); 1058 } 1060 else 1061 ahciLog(("%s: Worker thread busy, no need to kick.\n", __FUNCTION__)); 1062 } 1063 else 1064 ahciLog(("%s: Nothing to do (CMD=%08x).\n", __FUNCTION__, pAhciPort->regCMD)); 1059 1065 1060 1066 pAhciPort->regCI |= u32Value; … … 1151 1157 pAhciPort->regSIG = UINT32_MAX; 1152 1158 pAhciPort->regTFD = 0x7f; 1153 pAhciPort->fFirstD2HFisSen d= false;1159 pAhciPort->fFirstD2HFisSent = false; 1154 1160 pAhciPort->regSCTL = u32Value; 1155 1161 } … … 1309 1315 } 1310 1316 else 1317 { 1318 if (!pAhciPort->pDrvBase) 1319 ahciLog(("%s: No pDrvBase, clearing PxCMD.CR!\n", __FUNCTION__)); 1320 else 1321 ahciLog(("%s: PxIS.PCS set (PxIS=%#010x), clearing PxCMD.CR!\n", __FUNCTION__, pAhciPort->regIS)); 1322 1311 1323 u32Value &= ~AHCI_PORT_CMD_CR; 1324 } 1312 1325 } 1313 1326 else … … 1363 1376 } 1364 1377 } 1378 else 1379 ahciLog(("%s: No pDrvBase, no fPoweredOn + fSpunUp, doing nothing!\n", __FUNCTION__)); 1365 1380 1366 1381 if (u32Value & AHCI_PORT_CMD_FRE) … … 1370 1385 u32Value |= AHCI_PORT_CMD_FR; 1371 1386 1372 /* Send the first D2H FIS only if it wasn't already sen d. */1373 if ( !pAhciPort->fFirstD2HFisSen d1387 /* Send the first D2H FIS only if it wasn't already sent. */ 1388 if ( !pAhciPort->fFirstD2HFisSent 1374 1389 && pAhciPort->pDrvBase) 1375 1390 { … … 1378 1393 #else 1379 1394 ahciPostFirstD2HFisIntoMemory(pAhciPort); 1380 pAhciPort->fFirstD2HFisSen d= true;1395 pAhciPort->fFirstD2HFisSent = true; 1381 1396 #endif 1382 1397 } … … 2731 2746 uint8_t d2hFis[AHCI_CMDFIS_TYPE_D2H_SIZE]; 2732 2747 2733 pAhciPort->fFirstD2HFisSen d= true;2748 pAhciPort->fFirstD2HFisSent = true; 2734 2749 2735 2750 ahciLog(("%s: Sending First D2H FIS from FIFO\n", __FUNCTION__)); … … 4779 4794 pHlp->pfnPrintf(pHlp, "PortPoweredOn=%RTbool\n", pThisPort->fPoweredOn); 4780 4795 pHlp->pfnPrintf(pHlp, "PortSpunUp=%RTbool\n", pThisPort->fSpunUp); 4781 pHlp->pfnPrintf(pHlp, "PortFirstD2HFisSen d=%RTbool\n", pThisPort->fFirstD2HFisSend);4796 pHlp->pfnPrintf(pHlp, "PortFirstD2HFisSent=%RTbool\n", pThisPort->fFirstD2HFisSent); 4782 4797 pHlp->pfnPrintf(pHlp, "PortATAPI=%RTbool\n", pThisPort->fATAPI); 4783 4798 pHlp->pfnPrintf(pHlp, "PortTasksFinished=%#x\n", pThisPort->u32TasksFinished);
Note:
See TracChangeset
for help on using the changeset viewer.