本文整理汇总了C++中PVR_TRACE函数的典型用法代码示例。如果您正苦于以下问题:C++ PVR_TRACE函数的具体用法?C++ PVR_TRACE怎么用?C++ PVR_TRACE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PVR_TRACE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EnableSystemClocks
/*!
******************************************************************************
@Function EnableSystemClocks
@Description Setup up the clocks for the graphics device to work.
@Return PVRSRV_ERROR
******************************************************************************/
PVRSRV_ERROR EnableSystemClocks(SYS_DATA *psSysData)
{
SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
#if !defined(PM_RUNTIME_SUPPORT)
struct clk *psCLK;
#endif
PVR_TRACE(("EnableSystemClocks: Enabling System Clocks"));
if (!psSysSpecData->bSysClocksOneTimeInit)
{
mutex_init(&psSysSpecData->sPowerLock);
atomic_set(&psSysSpecData->sSGXClocksEnabled, 0);
psSysSpecData->bSysClocksOneTimeInit = IMG_TRUE;
#if !defined(PM_RUNTIME_SUPPORT)
psCLK = clk_get(NULL, "sgx_ck");
if (IS_ERR(psCLK))
{
PVR_DPF((PVR_DBG_ERROR, "EnableSsystemClocks: Couldn't get SGX Functional Clock"));
return PVRSRV_ERROR_UNABLE_TO_GET_CLOCK;
}
psSysSpecData->psSGX_FCK = psCLK;
#endif
}
return AcquireGPTimer(psSysSpecData);
}
示例2: DisableSystemClocks
IMG_VOID DisableSystemClocks(SYS_DATA *psSysData)
{
struct clk *psCLK;
SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
PVR_TRACE(("DisableSystemClocks: Disabling System Clocks"));
DisableSGXClocks(psSysData);
psCLK = clk_get(NULL, "sgx_fck");
if (IS_ERR(psCLK))
{
PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't get SGX Interface Clock"));
return;
}
clk_disable(psCLK);
psCLK = clk_get(NULL, "sgx_ick");
if (IS_ERR(psCLK))
{
PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't get SGX Interface Clock"));
return;
}
clk_disable(psCLK);
ReleaseGPTimer(psSysSpecData);
}
示例3: PVRSRVDRMOpen
static int PVRSRVDRMOpen(struct drm_device *dev, struct drm_file *file)
{
while (!bInitComplete)
{
DEFINE_WAIT(sWait);
prepare_to_wait(&sWaitForInit, &sWait, TASK_INTERRUPTIBLE);
if (!bInitComplete)
{
PVR_TRACE(("%s: Waiting for module initialisation to complete", __FUNCTION__));
schedule();
}
finish_wait(&sWaitForInit, &sWait);
if (signal_pending(current))
{
return -ERESTARTSYS;
}
}
if (bInitFailed)
{
PVR_DPF((PVR_DBG_ERROR, "%s: Module initialisation failed", __FUNCTION__));
return -EINVAL;
}
return PVRSRVOpen(dev, file);
}
示例4: PVRSRVDrmProbe
static int
PVRSRVDrmProbe(struct platform_device *pDevice)
{
PVR_TRACE(("PVRSRVDrmProbe"));
return drm_get_platform_dev(pDevice, &sPVRDrmDriver);
}
示例5: EnableSystemClocks
PVRSRV_ERROR EnableSystemClocks(SYS_DATA *psSysData)
{
SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
int err;
PVR_TRACE(("EnableSystemClocks: Enabling System Clocks"));
/* power up */
err = cpm_pwc_enable(psSysSpecData->pCPMHandle);
if (err) {
PVR_DPF((PVR_DBG_ERROR, "%s failed to power up GPU: %d", __func__, err));
return PVRSRV_ERROR_UNKNOWN_POWER_STATE;
}
/* enable clock */
err = clk_set_rate(psSysSpecData->psSGXClock, SYS_SGX_CLOCK_SPEED);
if (!err)
err = clk_prepare_enable(psSysSpecData->psSGXClock);
if (err) {
PVR_DPF((PVR_DBG_ERROR, "%s failed to initialise GPU clock: %d", __func__, err));
return PVRSRV_ERROR_CLOCK_REQUEST_FAILED;
}
return PVRSRV_OK;
}
示例6: EnableSystemClocks
/*!
******************************************************************************
@Function EnableSystemClocks
@Description Setup up the clocks for the graphics device to work.
@Return PVRSRV_ERROR
******************************************************************************/
PVRSRV_ERROR EnableSystemClocks(SYS_DATA *psSysData)
{
SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
#if !defined(PM_RUNTIME_SUPPORT)
struct clk *psCLK;
IMG_INT res;
#endif
PVR_TRACE(("EnableSystemClocks: Enabling System Clocks"));
if (!psSysSpecData->bSysClocksOneTimeInit)
{
mutex_init(&psSysSpecData->sPowerLock);
atomic_set(&psSysSpecData->sSGXClocksEnabled, 0);
psCLK = clk_get(NULL, SGX_PARENT_CLOCK);
if (IS_ERR(psCLK))
{
PVR_DPF((PVR_DBG_ERROR, "EnableSsystemClocks: Couldn't get Core Clock"));
return PVRSRV_ERROR_UNABLE_TO_GET_PARENT_CLOCK;
}
psSysSpecData->psCORE_CK = psCLK;
// psSysSpecData->bSysClocksOneTimeInit = IMG_TRUE;
#if !defined(PM_RUNTIME_SUPPORT)
psCLK = clk_get(NULL, "sgx_fck");
if (IS_ERR(psCLK))
{
PVR_DPF((PVR_DBG_ERROR, "EnableSsystemClocks: Couldn't get SGX Functional Clock"));
return PVRSRV_ERROR_UNABLE_TO_GET_CLOCK;
}
psSysSpecData->psSGX_FCK = psCLK;
psCLK = clk_get(NULL, "sgx_ick");
if (IS_ERR(psCLK))
{
PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't get SGX Interface Clock"));
return PVRSRV_ERROR_UNABLE_TO_GET_CLOCK;
}
psSysSpecData->psSGX_ICK = psCLK;
res = clk_set_parent(psSysSpecData->psSGX_FCK, psSysSpecData->psCORE_CK);
if (res < 0)
{
PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't set SGX parent clock (%d)", res));
return PVRSRV_ERROR_UNABLE_TO_GET_PARENT_CLOCK;
}
psSysSpecData->bSysClocksOneTimeInit = IMG_TRUE;
#endif
}
return AcquireGPTimer(psSysSpecData);
}
示例7: PVRSRVDRMUnload
static int PVRSRVDRMUnload(struct drm_device *dev)
{
struct pvr_drm_dev_priv *psDevPriv = (struct pvr_drm_dev_priv *)dev->dev_private;
#if defined(SUPPORT_SYSTEM_INTERRUPT_HANDLING)
IMG_HANDLE hSysData = psDevPriv->hSysData;
#endif
PVR_TRACE(("PVRSRVDRMUnload"));
#if defined(SUPPORT_DRM_DC_MODULE)
(void)PVRSRVDRMDisplayDeinit(dev);
#endif
psDevPriv->dev_node = NULL;
PVRSRVSystemDeInit();
#if defined(SUPPORT_SYSTEM_INTERRUPT_HANDLING)
psDevPriv->hSysData = NULL;
SysReleaseSystemData(hSysData);
drm_irq_uninstall(dev);
#endif
return 0;
}
示例8: Init_IRQ_CTRL
static IMG_VOID Init_IRQ_CTRL(PLAT_DATA *psPlatData)
{
IMG_CPU_PHYADDR sICRCpuPBase;
IMG_VOID *pvICRCpuVBase;
IMG_UINT32 ui32Value;
/* Map into CPU address space */
sICRCpuPBase.uiAddr = IMG_CAST_TO_CPUPHYADDR_UINT(psPlatData->uiICRCpuPAddr);
pvICRCpuVBase = OSMapPhysToLin(sICRCpuPBase,
psPlatData->uiICRSize,
0);
/* Configure IRQ_CTRL: For Rogue, enable IRQ, set sense to active low */
ui32Value = OSReadHWReg32(pvICRCpuVBase, EMULATOR_RGX_ICR_REG_IRQ_CTRL);
ui32Value &= ~EMULATOR_RGX_ICR_REG_IRQ_CTRL_IRQ_HINLO;
ui32Value |= EMULATOR_RGX_ICR_REG_IRQ_CTRL_IRQ_EN;
OSWriteHWReg32(pvICRCpuVBase,EMULATOR_RGX_ICR_REG_IRQ_CTRL, ui32Value);
/* Flush register write */
(void) OSReadHWReg32(pvICRCpuVBase, EMULATOR_RGX_ICR_REG_IRQ_CTRL);
OSWaitus(10);
PVR_TRACE(("Emulator FPGA image version (ICR_REG_CORE_REVISION): 0x%08x",
OSReadHWReg32(pvICRCpuVBase, EMULATOR_RGX_ICR_REG_CORE_REVISION)));
/* Unmap from CPU address space */
OSUnMapPhysToLin(pvICRCpuVBase, psPlatData->uiICRSize, 0);
}
示例9: PVRSRVDrmLoad
DRI_DRM_STATIC int
PVRSRVDrmLoad(struct drm_device *dev, unsigned long flags)
{
int iRes = 0;
PVR_TRACE(("PVRSRVDrmLoad"));
gpsPVRDRMDev = dev;
#if !defined(PVR_DRI_DRM_NOT_PCI) && !defined(SUPPORT_DRI_DRM_EXTERNAL)
#if defined(PVR_DRI_DRM_PLATFORM_DEV)
gpsPVRLDMDev = dev->platformdev;
#else
gpsPVRLDMDev = dev->pdev;
#endif
#endif
#if defined(PDUMP)
iRes = dbgdrv_init();
if (iRes != 0)
{
goto exit;
}
#endif
/* Module initialisation */
iRes = PVRCore_Init();
if (iRes != 0)
{
goto exit_dbgdrv_cleanup;
}
#if defined(DISPLAY_CONTROLLER)
iRes = PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Init)(dev);
if (iRes != 0)
{
goto exit_pvrcore_cleanup;
}
#endif
goto exit;
#if defined(DISPLAY_CONTROLLER)
exit_pvrcore_cleanup:
PVRCore_Cleanup();
#endif
exit_dbgdrv_cleanup:
#if defined(PDUMP)
dbgdrv_cleanup();
#endif
exit:
if (iRes != 0)
{
bInitFailed = IMG_TRUE;
}
bInitComplete = IMG_TRUE;
wake_up_interruptible(&sWaitForInit);
return iRes;
}
示例10: SysFinalise
/*!
******************************************************************************
@Function SysFinalise
@Description Final part of initialisation at 'driver load' time
@Return PVRSRV_ERROR :
******************************************************************************/
PVRSRV_ERROR SysFinalise(IMG_VOID)
{
PVRSRV_ERROR eError = PVRSRV_OK;
#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
eError = EnableSGXClocksWrap(gpsSysData);
if (eError != PVRSRV_OK)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to Enable SGX clocks (%d)", eError));
return eError;
}
#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
eError = OSInstallMISR(gpsSysData);
if (eError != PVRSRV_OK)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to install MISR"));
return eError;
}
SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_MISR);
#if defined(SYS_USING_INTERRUPTS)
/* install a Device ISR */
eError = OSInstallDeviceLISR(gpsSysData, gsSGXDeviceMap.ui32IRQ, "SGX ISR", gpsSGXDevNode);
if (eError != PVRSRV_OK)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to install ISR"));
return eError;
}
SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR);
#if !defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
SysEnableSGXInterrupts(gpsSysData);
#endif
#endif /* defined(SYS_USING_INTERRUPTS) */
#if defined(__linux__)
/* Create a human readable version string for this system */
gpsSysData->pszVersionString = SysCreateVersionString();
if (!gpsSysData->pszVersionString)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to create a system version string"));
return PVRSRV_ERROR_INIT_FAILURE;
}
else
{
PVR_TRACE(("SysFinalise: Version string: %s", gpsSysData->pszVersionString));
}
#endif
#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
/* SGX defaults to D3 power state */
DisableSGXClocks(gpsSysData);
#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
gpsSysSpecificData->bSGXInitComplete = IMG_TRUE;
return eError;
}
示例11: PVRSRVDrmRemove
static int
PVRSRVDrmRemove(struct platform_device *pDevice)
{
PVR_TRACE(("PVRSRVDrmRemove"));
drm_put_dev(gpsPVRDRMDev);
return 0;
}
示例12: DisableSystemClocks
IMG_VOID DisableSystemClocks(SYS_DATA *psSysData)
{
SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
PVR_TRACE(("DisableSystemClocks: Disabling System Clocks"));
DisableSGXClocks(psSysData);
ReleaseGPTimer(psSysSpecData);
}
示例13: RegisterConstraintNotifications
static IMG_VOID RegisterConstraintNotifications(IMG_VOID)
{
PVR_TRACE(("Registering constraint notifications"));
PVR_ASSERT(!gpsSysSpecificData->bConstraintNotificationsEnabled);
constraint_register_pre_notification(gpsSysSpecificData->pVdd2Handle, &sVDD2Pre,
max_vdd2_opp+1);
constraint_register_post_notification(gpsSysSpecificData->pVdd2Handle, &sVDD2Post,
max_vdd2_opp+1);
NotifyLock(gpsSysSpecificData);
gpsSysSpecificData->bConstraintNotificationsEnabled = IMG_TRUE;
NotifyUnlock(gpsSysSpecificData);
PVR_TRACE(("VDD2 constraint notifications registered"));
}
示例14: SysFinalise
PVRSRV_ERROR SysFinalise(IMG_VOID)
{
PVRSRV_ERROR eError = PVRSRV_OK;
#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
eError = EnableSGXClocksWrap(gpsSysData);
if (eError != PVRSRV_OK)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to Enable SGX clocks (%d)", eError));
return eError;
}
#endif
eError = OSInstallMISR(gpsSysData);
if (eError != PVRSRV_OK)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to install MISR"));
return eError;
}
SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_MISR);
#if defined(SYS_USING_INTERRUPTS)
eError = OSInstallDeviceLISR(gpsSysData, gsSGXDeviceMap.ui32IRQ, "SGX ISR", gpsSGXDevNode);
if (eError != PVRSRV_OK)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to install ISR"));
return eError;
}
SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR);
#endif
#if defined(__linux__)
gpsSysData->pszVersionString = SysCreateVersionString();
if (!gpsSysData->pszVersionString)
{
PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to create a system version string"));
}
else
{
PVR_TRACE(("SysFinalise: Version string: %s", gpsSysData->pszVersionString));
}
#endif
#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
DisableSGXClocks(gpsSysData);
#endif
gpsSysSpecificData->bSGXInitComplete = IMG_TRUE;
return eError;
}
示例15: DisableSystemClocks
IMG_VOID DisableSystemClocks(SYS_DATA *psSysData)
{
SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
PVR_TRACE(("DisableSystemClocks: Disabling System Clocks"));
DisableSGXClocks(psSysData);
/* disable & gate clock, power down */
clk_disable_unprepare(psSysSpecData->psSGXClock);
cpm_pwc_disable(psSysSpecData->pCPMHandle);
}