/*! * \name PDumpOSDebugDriverWrite */ IMG_UINT32 PDumpOSDebugDriverWrite( PDBG_STREAM psStream, PDUMP_DDWMODE eDbgDrvWriteMode, IMG_UINT8 *pui8Data, IMG_UINT32 ui32BCount, IMG_UINT32 ui32Level, IMG_UINT32 ui32DbgDrvFlags) { switch(eDbgDrvWriteMode) { case PDUMP_WRITE_MODE_CONTINUOUS: PVR_UNREFERENCED_PARAMETER(ui32DbgDrvFlags); return gpfnDbgDrv->pfnDBGDrivWrite2(psStream, pui8Data, ui32BCount, ui32Level); case PDUMP_WRITE_MODE_LASTFRAME: return gpfnDbgDrv->pfnWriteLF(psStream, pui8Data, ui32BCount, ui32Level, ui32DbgDrvFlags); case PDUMP_WRITE_MODE_BINCM: PVR_UNREFERENCED_PARAMETER(ui32DbgDrvFlags); return gpfnDbgDrv->pfnWriteBINCM(psStream, pui8Data, ui32BCount, ui32Level); case PDUMP_WRITE_MODE_PERSISTENT: PVR_UNREFERENCED_PARAMETER(ui32DbgDrvFlags); return gpfnDbgDrv->pfnWritePersist(psStream, pui8Data, ui32BCount, ui32Level); default: PVR_UNREFERENCED_PARAMETER(ui32DbgDrvFlags); break; } return 0xFFFFFFFFU; }
static IMG_UINT32 DbgWrite(PDBG_STREAM psStream, IMG_UINT8 *pui8Data, IMG_UINT32 ui32BCount, IMG_UINT32 ui32Flags) { IMG_UINT32 ui32BytesWritten; if ((ui32Flags & PDUMP_FLAGS_CONTINUOUS) != 0) { if (((psStream->ui32CapMode & DEBUG_CAPMODE_FRAMED) != 0) && (psStream->ui32Start == 0xFFFFFFFFUL) && (psStream->ui32End == 0xFFFFFFFFUL) && psStream->bInitPhaseComplete) { ui32BytesWritten = ui32BCount; } else { ui32BytesWritten = gpfnDbgDrv->pfnDBGDrivWrite2(psStream, pui8Data, ui32BCount, 1); } } else { if (ui32Flags & PDUMP_FLAGS_LASTFRAME) { IMG_UINT32 ui32DbgFlags; ui32DbgFlags = 0; if (ui32Flags & PDUMP_FLAGS_RESETLFBUFFER) { ui32DbgFlags |= WRITELF_FLAGS_RESETBUF; } ui32BytesWritten = gpfnDbgDrv->pfnWriteLF(psStream, pui8Data, ui32BCount, 1, ui32DbgFlags); } else { ui32BytesWritten = gpfnDbgDrv->pfnWriteBINCM(psStream, pui8Data, ui32BCount, 1); } } return ui32BytesWritten; }