コード例 #1
0
ファイル: g2d_drv_api.c プロジェクト: benoitm974/cink-peax
void g2d_drv_run(g2d_context_t *g2d_ctx)
{
#ifdef G2D_PROFILE
    struct timeval t1, t2;
    do_gettimeofday(&t1);
#endif

    HARD_RESET_G2D_ENGINE;
    REG_G2D_MODE_CON = 0;
    REG_G2D_ROI_CON = 0;
    REG_G2D_SLOW_DOWN = 0x00400000;
    REG_G2D_IRQ |= G2D_IRQ_ENABLE_BIT;

    _g2d_drv_set_dst_info(g2d_ctx);

    if (g2d_ctx->flag & G2D_FLAG_MIRROR_FRONT_FB)
        _g2d_drv_set_mirror_fb(g2d_ctx);
    else if (g2d_ctx->flag & G2D_FLAG_AFFINE_TRANSFORM)
        _g2d_drv_set_affine_info(g2d_ctx);
    else
        _g2d_drv_set_bitblt_info(g2d_ctx);

    _g2d_drv_set_roi_info(g2d_ctx);
    
#ifdef G2D_PROFILE
    do_gettimeofday(&t2);
    G2D_DBG("register config time (%u)\n", (t2.tv_sec - t1.tv_sec) * 1000000 + (t2.tv_usec - t1.tv_usec));
#endif
            
    START_G2D_ENGINE;
}
コード例 #2
0
void g2d_drv_run(g2d_context_t *g2d_ctx)
{
#ifdef G2D_PROFILE
    struct timeval t1, t2;
    do_gettimeofday(&t1);
#endif

    HARD_RESET_G2D_ENGINE;
    REG_G2D_MODE_CON = 0;
    REG_G2D_ROI_CON = 0;
    REG_G2D_SLOW_DOWN = 0x00400000;
    REG_G2D_IRQ |= G2D_IRQ_ENABLE_BIT;

    _g2d_drv_set_dst_info(g2d_ctx);

    if (g2d_ctx->flag & G2D_FLAG_MIRROR_FRONT_FB)
        _g2d_drv_set_mirror_fb(g2d_ctx);
    else if (g2d_ctx->flag & G2D_FLAG_AFFINE_TRANSFORM)
        _g2d_drv_set_affine_info(g2d_ctx);
    else
        _g2d_drv_set_bitblt_info(g2d_ctx);

    _g2d_drv_set_roi_info(g2d_ctx);
    
#ifdef G2D_PROFILE
    do_gettimeofday(&t2);
    G2D_DBG("register config time (%u)\n", (t2.tv_sec - t1.tv_sec) * 1000000 + (t2.tv_usec - t1.tv_usec));
#endif
            
    if (g2d_ctx->cache_clean)
    {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
        on_each_cpu(per_cpu_cache_flush, NULL, 1);
#else
        on_each_cpu(per_cpu_cache_flush, NULL, 0, 1);
#endif

#ifdef CONFIG_OUTER_CACHE
        outer_clean_all();
#endif
    }
            
    START_G2D_ENGINE;
}