Lines Matching refs:pDrvIns

51     PPDMDRVINS              pDrvIns;
147 pThis->pDrvIns->iInstance, rc));
200 pThis->pDrvIns->iInstance,
224 pThis->pDrvIns->iInstance, rc));
295 pThis->pDrvIns->iInstance, rc));
298 pThis->pDrvIns->iInstance, rc));
311 pThis->pDrvIns->iInstance,
351 pThis->pDrvIns->iInstance, rc));
368 pThis->pDrvIns->iInstance, rc));
405 pThis->pDrvIns->iInstance,
491 PDMDrvHlpAsyncNotificationCompleted(pThis->pDrvIns);
504 PDMDrvHlpAsyncNotificationCompleted(pThis->pDrvIns);
517 PDMDrvHlpAsyncNotificationCompleted(pThis->pDrvIns);
525 * @param pDrvIns Pointer to the driver instance data.
528 static int drvscsiAsyncIOLoop(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
531 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
567 static int drvscsiAsyncIOLoopWakeup(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
569 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
577 LogRel(("drvscsiAsyncIOLoopWakeup#%u: previous dummy request is still pending\n", pDrvIns->iInstance));
587 LogRel(("drvscsiAsyncIOLoopWakeup#%u: %Rrc pReq=%p\n", pDrvIns->iInstance, rc, pReq));
657 PPDMDRVINS pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
658 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
662 PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBASE, &pDrvIns->IBase);
714 * @param pDrvIns The driver instance.
717 static void drvscsiR3ResetOrSuspendOrPowerOff(PPDMDRVINS pDrvIns, PFNPDMDRVASYNCNOTIFY pfnAsyncNotify)
719 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
756 PDMDrvHlpSetAsyncNotification(pDrvIns, pfnAsyncNotify);
763 * @param pDrvIns The driver instance.
765 static DECLCALLBACK(bool) drvscsiIsAsyncSuspendOrPowerOffDone(PPDMDRVINS pDrvIns)
767 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
789 static DECLCALLBACK(void) drvscsiPowerOff(PPDMDRVINS pDrvIns)
791 drvscsiR3ResetOrSuspendOrPowerOff(pDrvIns, drvscsiIsAsyncSuspendOrPowerOffDone);
797 static DECLCALLBACK(void) drvscsiSuspend(PPDMDRVINS pDrvIns)
799 drvscsiR3ResetOrSuspendOrPowerOff(pDrvIns, drvscsiIsAsyncSuspendOrPowerOffDone);
806 * @param pDrvIns The driver instance.
808 static DECLCALLBACK(bool) drvscsiIsAsyncResetDone(PPDMDRVINS pDrvIns)
810 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
831 static DECLCALLBACK(void) drvscsiReset(PPDMDRVINS pDrvIns)
833 drvscsiR3ResetOrSuspendOrPowerOff(pDrvIns, drvscsiIsAsyncResetDone);
842 * @param pDrvIns The driver instance data.
844 static DECLCALLBACK(void) drvscsiDestruct(PPDMDRVINS pDrvIns)
846 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
847 PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
852 LogRel(("drvscsiDestruct#%u: previous dummy request is still pending\n", pDrvIns->iInstance));
882 static DECLCALLBACK(int) drvscsiConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfg, uint32_t fFlags)
885 PDRVSCSI pThis = PDMINS_2_DATA(pDrvIns, PDRVSCSI);
886 LogFlowFunc(("pDrvIns=%#p pCfg=%#p\n", pDrvIns, pCfg));
887 PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
892 pThis->pDrvIns = pDrvIns;
895 pDrvIns->IBase.pfnQueryInterface = drvscsiQueryInterface;
904 pThis->pDevScsiPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMISCSIPORT);
908 pThis->pLedPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMILEDPORTS);
923 return PDMDRV_SET_ERROR(pDrvIns, VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES,
928 return PDMDRV_SET_ERROR(pDrvIns, rc,
933 return PDMDRV_SET_ERROR(pDrvIns, rc,
939 rc = PDMDrvHlpAttach(pDrvIns, fFlags, &pThis->pDrvBase);
975 return PDMDrvHlpVMSetError(pDrvIns, VERR_PDM_UNSUPPORTED_BLOCK_TYPE, RT_SRC_POS,
1022 PDMDrvHlpSTAMRegisterF(pDrvIns, &pThis->StatBytesRead, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES,
1023 "Amount of data read.", "/Devices/SCSI0/%d/ReadBytes", pDrvIns->iInstance);
1024 PDMDrvHlpSTAMRegisterF(pDrvIns, &pThis->StatBytesWritten, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES,
1025 "Amount of data written.", "/Devices/SCSI0/%d/WrittenBytes", pDrvIns->iInstance);
1029 PDMDrvHlpSTAMRegisterF(pDrvIns, (void *)&pThis->StatIoDepth, STAMTYPE_U32, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT,
1030 "Number of active tasks.", "/Devices/SCSI0/%d/IoDepth", pDrvIns->iInstance);
1038 rc = PDMDrvHlpThreadCreate(pDrvIns, &pThis->pAsyncIOThread, pThis, drvscsiAsyncIOLoop,
1042 LogRel(("SCSI#%d: using normal I/O\n", pDrvIns->iInstance));
1045 LogRel(("SCSI#%d: using async I/O\n", pDrvIns->iInstance));