当前位置: 首页>>代码示例>>C++>>正文


C++ DDPMSG函数代码示例

本文整理汇总了C++中DDPMSG函数的典型用法代码示例。如果您正苦于以下问题:C++ DDPMSG函数的具体用法?C++ DDPMSG怎么用?C++ DDPMSG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了DDPMSG函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ddp_path_top_clock_on

int ddp_path_top_clock_on(void)
{
    DDPMSG("ddp path top clock on\n");
    enable_clock(MT_CG_DISP0_SMI_COMMON   , "DDP");
    enable_clock(MT_CG_DISP0_SMI_LARB0   , "DDP");
    enable_clock(MT_CG_DISP0_MUTEX_32K   , "DDP");
    DDPMSG("ddp CG:%x\n", DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON0));
    return 0;
}
开发者ID:SelfImp,项目名称:m75,代码行数:9,代码来源:ddp_path.c

示例2: setup_rdma_sec

static int setup_rdma_sec(DISP_MODULE_ENUM module, disp_ddp_path_config* pConfig, void *handle)
	{
	static int rdma_is_sec[2];
	CMDQ_ENG_ENUM cmdq_engine;
	int rdma_idx = rdma_index(module);
	DISP_BUFFER_TYPE security = pConfig->rdma_config.security;
	enum RDMA_MODE mode = rdma_config_mode(pConfig->rdma_config.address);

	cmdq_engine = rdma_idx==0 ? CMDQ_ENG_DISP_RDMA0 : CMDQ_ENG_DISP_RDMA1;
	
	if(!handle) {
		DDPMSG("[SVP] bypass rdma sec setting sec=%d,handle=NULL\n", security);
		return 0;
		}
	/* sec setting make sence only in memory mode ! */
	if(mode == RDMA_MODE_MEMORY) {
	if(security == DISP_SECURE_BUFFER) {
		cmdqRecSetSecure(handle, 1);
		/* set engine as sec */
		cmdqRecSecureEnablePortSecurity(handle, (1LL << cmdq_engine));
		//cmdqRecSecureEnableDAPC(handle, (1LL << cmdq_engine));

		if(rdma_is_sec[rdma_idx] == 0)
			DDPMSG("[SVP] switch rdma%d to sec\n", rdma_idx);
		rdma_is_sec[rdma_idx] = 1;
	} else {
		if(rdma_is_sec[rdma_idx]) {
			/* rdma is in sec stat, we need to switch it to nonsec */
			cmdqRecHandle nonsec_switch_handle;
			int ret;
			ret = cmdqRecCreate(CMDQ_SCENARIO_DISP_PRIMARY_DISABLE_SECURE_PATH, &(nonsec_switch_handle));
			if(ret)
				DDPAEE("[SVP]fail to create disable handle %s ret=%d\n", __FUNCTION__, ret);

			cmdqRecReset(nonsec_switch_handle);
			_cmdq_insert_wait_frame_done_token_mira(nonsec_switch_handle);
			cmdqRecSetSecure(nonsec_switch_handle, 1);

			/*ugly work around by kzhang !!. will remove when cmdq delete disable scenario.
			 * To avoid translation fault like ovl (see notes in ovl.c)*/
			do_rdma_config_l(module, pConfig, nonsec_switch_handle);
	
			/*in fact, dapc/port_sec will be disabled by cmdq*/
			cmdqRecSecureEnablePortSecurity(nonsec_switch_handle, (1LL << cmdq_engine));
			//cmdqRecSecureEnableDAPC(nonsec_switch_handle, (1LL << cmdq_engine));

				cmdqRecFlush(nonsec_switch_handle);
			cmdqRecDestroy(nonsec_switch_handle);
				DDPMSG("[SVP] switch rdma%d to nonsec done\n", rdma_idx);
		}
		rdma_is_sec[rdma_idx] = 0;
	}
	}
	return 0;
	}
开发者ID:TechExhibeo,项目名称:kernel_lenovo_a7000,代码行数:55,代码来源:ddp_rdma.c

示例3: ovl_dump_analysis

void ovl_dump_analysis(DISP_MODULE_ENUM module)
{
	int i = 0;
	unsigned int layer_offset = 0;
	unsigned int rdma_offset = 0;
	int index = (module==DISP_MODULE_OVL0)?0:1;
	unsigned int offset = index*DISP_INDEX_OFFSET;
	unsigned int src_on = DISP_REG_GET(DISP_REG_OVL_SRC_CON+offset);
	DDPMSG("==DISP OVL%d ANALYSIS==\n", index);
	DDPMSG("ovl_en=%d,layer_enable(%d,%d,%d,%d),bg(w=%d, h=%d),"
		"cur_pos(x=%d,y=%d),layer_hit(%d,%d,%d,%d)\n",
		DISP_REG_GET(DISP_REG_OVL_EN+offset),

		DISP_REG_GET(DISP_REG_OVL_SRC_CON+offset)&0x1,
		(DISP_REG_GET(DISP_REG_OVL_SRC_CON+offset)>>1)&0x1,
		(DISP_REG_GET(DISP_REG_OVL_SRC_CON+offset)>>2)&0x1,
		(DISP_REG_GET(DISP_REG_OVL_SRC_CON+offset)>>3)&0x1,

		DISP_REG_GET(DISP_REG_OVL_ROI_SIZE+offset)&0xfff,
		(DISP_REG_GET(DISP_REG_OVL_ROI_SIZE+offset)>>16)&0xfff,

		DISP_REG_GET_FIELD(ADDCON_DBG_FLD_ROI_X, DISP_REG_OVL_ADDCON_DBG+offset),
		DISP_REG_GET_FIELD(ADDCON_DBG_FLD_ROI_Y, DISP_REG_OVL_ADDCON_DBG+offset),

		DISP_REG_GET_FIELD(ADDCON_DBG_FLD_L0_WIN_HIT, DISP_REG_OVL_ADDCON_DBG+offset),
		DISP_REG_GET_FIELD(ADDCON_DBG_FLD_L1_WIN_HIT, DISP_REG_OVL_ADDCON_DBG+offset),
		DISP_REG_GET_FIELD(ADDCON_DBG_FLD_L2_WIN_HIT, DISP_REG_OVL_ADDCON_DBG+offset),
		DISP_REG_GET_FIELD(ADDCON_DBG_FLD_L3_WIN_HIT, DISP_REG_OVL_ADDCON_DBG+offset)
	       );
	for (i = 0; i < 4; i++) {
		layer_offset = i * 0x20 + offset;
		rdma_offset  = i * 0x4 + offset;
		if (src_on & (0x1<<i)) {
			DDPMSG("layer%d: w=%d,h=%d,off(x=%d,y=%d),pitch=%d,addr=0x%x,fmt=%s, source=%s\n",
				i,
				DISP_REG_GET(layer_offset+DISP_REG_OVL_L0_SRC_SIZE)&0xfff,
				(DISP_REG_GET(layer_offset+DISP_REG_OVL_L0_SRC_SIZE)>>16)&0xfff,
				DISP_REG_GET(layer_offset+DISP_REG_OVL_L0_OFFSET)&0xfff,
				(DISP_REG_GET(layer_offset+DISP_REG_OVL_L0_OFFSET)>>16)&0xfff,
				DISP_REG_GET(layer_offset+DISP_REG_OVL_L0_PITCH)&0xffff,
				DISP_REG_GET(layer_offset+DISP_REG_OVL_L0_ADDR),
				ovl_intput_format_name(
					DISP_REG_GET_FIELD(L_CON_FLD_CFMT, DISP_REG_OVL_L0_CON+layer_offset),
					DISP_REG_GET_FIELD(L_CON_FLD_BTSW, DISP_REG_OVL_L0_CON+layer_offset)),
					(DISP_REG_GET_FIELD(L_CON_FLD_LARC, DISP_REG_OVL_L0_CON+layer_offset)==0)?"memory":"constant_color"
					);
			DDPMSG("ovl rdma%d status:(en %d)\n", i, DISP_REG_GET(layer_offset+DISP_REG_OVL_RDMA0_CTRL));		

		}
	}
开发者ID:Scorpio92,项目名称:mediatek,代码行数:50,代码来源:ddp_ovl.c

示例4: ddp_path_top_clock_off

int ddp_path_top_clock_off(void)
{
    DDPMSG("ddp path top clock off\n");
    if(clk_is_force_on(MT_CG_DISP0_SMI_LARB0) || clk_is_force_on(MT_CG_DISP0_SMI_COMMON))
    {
    	DDPMSG("clear SMI_LARB0 & SMI_COMMON forced on\n");
    	clk_clr_force_on(MT_CG_DISP0_SMI_LARB0);
    	clk_clr_force_on(MT_CG_DISP0_SMI_COMMON);
    }
    disable_clock(MT_CG_DISP0_MUTEX_32K   , "DDP");
    disable_clock(MT_CG_DISP0_SMI_LARB0   , "DDP");
    disable_clock(MT_CG_DISP0_SMI_COMMON  , "DDP");
    return 0;
}
开发者ID:SelfImp,项目名称:m75,代码行数:14,代码来源:ddp_path.c

示例5: disp_irq_log_kthread_func

// extern smi_dumpDebugMsg(void);
static int disp_irq_log_kthread_func(void *data)
{
    unsigned int i=0;
    while(1)
    {
        wait_event_interruptible(disp_irq_log_wq, disp_irq_log_module);
        DDPMSG("disp_irq_log_kthread_func dump intr register: disp_irq_log_module=%d \n", disp_irq_log_module);
        if((disp_irq_log_module&(1<<DISP_MODULE_RDMA0))!=0 )
        {
            // ddp_dump_analysis(DISP_MODULE_CONFIG);
            ddp_dump_analysis(DISP_MODULE_RDMA0);
            ddp_dump_analysis(DISP_MODULE_OVL0);
            ddp_dump_analysis(DISP_MODULE_OVL1);
            
            // dump ultra/preultra related regs
            DDPMSG("wdma_con1(2c)=0x%x, wdma_con2(0x38)=0x%x, rdma_gmc0(30)=0x%x, rdma_gmc1(38)=0x%x, fifo_con(40)=0x%x \n",
               DISP_REG_GET(DISP_REG_WDMA_BUF_CON1),
               DISP_REG_GET(DISP_REG_WDMA_BUF_CON2),
               DISP_REG_GET(DISP_REG_RDMA_MEM_GMC_SETTING_0),
               DISP_REG_GET(DISP_REG_RDMA_MEM_GMC_SETTING_1),
               DISP_REG_GET(DISP_REG_RDMA_FIFO_CON));
            DDPMSG("ovl0_gmc: 0x%x, 0x%x, 0x%x, 0x%x, ovl1_gmc: 0x%x, 0x%x, 0x%x, 0x%x, \n",
               DISP_REG_GET(DISP_REG_OVL_RDMA0_MEM_GMC_SETTING),
               DISP_REG_GET(DISP_REG_OVL_RDMA1_MEM_GMC_SETTING),
               DISP_REG_GET(DISP_REG_OVL_RDMA2_MEM_GMC_SETTING),
               DISP_REG_GET(DISP_REG_OVL_RDMA3_MEM_GMC_SETTING),
               DISP_REG_GET(DISP_REG_OVL_RDMA0_MEM_GMC_SETTING+DISP_OVL_INDEX_OFFSET),
               DISP_REG_GET(DISP_REG_OVL_RDMA1_MEM_GMC_SETTING+DISP_OVL_INDEX_OFFSET),
               DISP_REG_GET(DISP_REG_OVL_RDMA2_MEM_GMC_SETTING+DISP_OVL_INDEX_OFFSET),
               DISP_REG_GET(DISP_REG_OVL_RDMA3_MEM_GMC_SETTING+DISP_OVL_INDEX_OFFSET));
            
            // dump smi regs
            // smi_dumpDebugMsg();
        }
        else
        {
            for(i=0;i<DISP_MODULE_NUM;i++)
            {
                if( (disp_irq_log_module&(1<<i))!=0 )
                {
                    ddp_dump_reg(i);
                }
            }
        }
        disp_irq_log_module = 0;
    }
    return 0;
}
开发者ID:TechExhibeo,项目名称:kernel_lenovo_a7000,代码行数:49,代码来源:ddp_irq.c

示例6: ddp_is_scenario_on_primary

int ddp_is_scenario_on_primary(DDP_SCENARIO_ENUM scenario)
{
   int on_primary = 0;
   switch(scenario)
   {
        case DDP_SCENARIO_PRIMARY_DISP:
        case DDP_SCENARIO_PRIMARY_RDMA0_COLOR0_DISP:
        case DDP_SCENARIO_PRIMARY_RDMA0_DISP:
        case DDP_SCENARIO_PRIMARY_BYPASS_RDMA:
        case DDP_SCENARIO_PRIMARY_OVL_MEMOUT:
        case DDP_SCENARIO_PRIMARY_DITHER_MEMOUT:
        case DDP_SCENARIO_PRIMARY_UFOE_MEMOUT:
        case DDP_SCENARIO_PRIMARY_ALL:     
        case DDP_SCENARIO_MULTIPLE_OVL:
            on_primary = 1;
            break;
        case DDP_SCENARIO_SUB_DISP: 
        case DDP_SCENARIO_SUB_RDMA1_DISP:
        case DDP_SCENARIO_SUB_OVL_MEMOUT:
        case DDP_SCENARIO_SUB_ALL:
            on_primary = 0;
            break;			
        default:
            DDPMSG("invalid scenario id=%d\n", scenario);	   
   }

   return on_primary;

}
开发者ID:Jlsmily,项目名称:android_kernel_meilan2,代码行数:29,代码来源:ddp_path.c

示例7: RDMADeInit

static int RDMADeInit(DISP_MODULE_ENUM module,void * handle)
{
    unsigned int idx = rdma_index(module);
    DDPMSG("RDMA%dDeinit\n",idx);
    ddp_disable_module_clock(module);
    return 0;
}
开发者ID:Scorpio92,项目名称:mediatek,代码行数:7,代码来源:ddp_rdma.c

示例8: RDMAInit

static int RDMAInit(DISP_MODULE_ENUM module,void * handle)
{
    unsigned int idx = rdma_index(module);
    ddp_enable_module_clock(module);
    DDPMSG("RDMA%dInit CG 0x%x \n",idx, DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON0)); 
    return 0;
}
开发者ID:Scorpio92,项目名称:mediatek,代码行数:7,代码来源:ddp_rdma.c

示例9: RDMAPollingInterrupt

static int RDMAPollingInterrupt(DISP_MODULE_ENUM module, int bit, int timeout)
{
    unsigned int idx = rdma_index(module);
    unsigned int cnt  = 0;
	unsigned int regval = 0;
    if( timeout <= 0)
    {
        while((DISP_REG_GET(idx*DISP_INDEX_OFFSET+ DISP_REG_RDMA_INT_STATUS) & bit)==0);
        cnt = 1;
    }
    else
    {
        // time need to update
        cnt = timeout*1000/100;
        while(cnt > 0)
        {
            cnt--;
		regval = DISP_REG_GET(idx*DISP_INDEX_OFFSET+ DISP_REG_RDMA_INT_STATUS);
            if(regval  & bit )
            {
            	DISP_CPU_REG_SET(idx*DISP_INDEX_OFFSET+ DISP_REG_RDMA_INT_STATUS, ~regval);
               break;
            }
            udelay(100);
        }
    }
    //should clear?
    DDPMSG(" RDMA%d polling interrupt ret =%d \n", idx, cnt);
    return cnt;
}
开发者ID:Scorpio92,项目名称:mediatek,代码行数:30,代码来源:ddp_rdma.c

示例10: is_reg_addr_valid

static unsigned int is_reg_addr_valid(unsigned int isVa, unsigned long addr)
{
	unsigned int i = 0;

	for (i = 0; i < DISP_REG_NUM; i++) {
		if ((isVa == 1) && (addr >= dispsys_reg[i])
		    && (addr <= dispsys_reg[i] + 0x1000))
			break;
		if ((isVa == 0) && (addr >= ddp_reg_pa_base[i])
		    && (addr <= ddp_reg_pa_base[i] + 0x1000))
			break;
	}

	if (i < DISP_REG_NUM) {
		DDPMSG("addr valid, isVa=0x%x, addr=0x%lx, module=%s!\n", isVa,
		       addr, ddp_get_reg_module_name(i));
		return 1;
	} else {
		DDPERR
		    ("is_reg_addr_valid return fail, isVa=0x%x, addr=0x%lx!\n",
		     isVa, addr);
		return 0;
	}

}
开发者ID:John677,项目名称:Kernal_k3note,代码行数:25,代码来源:ddp_debug.c

示例11: ddp_remove_module

int  ddp_remove_module(DDP_SCENARIO_ENUM ddp_scenario, DISP_MODULE_ENUM module)
{
    int i = 0;
    int idx = ddp_find_module_index(ddp_scenario,module);
    if( idx < 0)
    {
       DDPERR("ddp_remove_module, can not find module %s in scenario %s\n", ddp_get_module_name(module), ddp_get_scenario_name(ddp_scenario));
       return -1;
    }
    
    for(i=idx; i<DDP_ENING_NUM-1; i++)
    {
        module_list_scenario[ddp_scenario][i] = module_list_scenario[ddp_scenario][i+1];
    }
    module_list_scenario[ddp_scenario][DDP_ENING_NUM-1] = -1;

    {       
         int * modules = ddp_get_scenario_list(ddp_scenario);
         int module_num = ddp_get_module_num(ddp_scenario);
          DDPMSG("after remove module, module list is: \n");
         for(i=0;i<module_num;i++)
        {
               printk("%s-", ddp_get_module_name(modules[i]));
        }
    }    
    return 0;
}
开发者ID:Jlsmily,项目名称:android_kernel_meilan2,代码行数:27,代码来源:ddp_path.c

示例12: ovl_store_regs

static void ovl_store_regs(DISP_MODULE_ENUM module)
{
	int i = 0;
	int idx = ovl_index(module);
    unsigned int idx_offset = idx*DISP_OVL_INDEX_OFFSET;
#if 0
	static const unsigned long regs[] = {
		DISP_REG_OVL_ROI_SIZE, DISP_REG_OVL_ROI_BGCLR,
	};
#else	
	static unsigned long regs[3];
	regs[0] = DISP_REG_OVL_ROI_SIZE + idx_offset;
	regs[1] = DISP_REG_OVL_ROI_BGCLR + idx_offset;
    regs[2] = DISP_REG_OVL_DATAPATH_CON + idx_offset;
#endif

	reg_back_cnt[idx] = sizeof(regs)/sizeof(unsigned long);
	ASSERT(reg_back_cnt[idx]  <= OVL_REG_BACK_MAX);


	for (i = 0; i < reg_back_cnt[idx]; i++) {
		reg_back[idx][i].address = regs[i];
		reg_back[idx][i].value   = DISP_REG_GET(regs[i]);
	}
	DDPMSG("store %d cnt registers on ovl %d\n", reg_back_cnt[idx], idx);

}
开发者ID:hacknmtk,项目名称:android_kernel_alcatel_5017,代码行数:27,代码来源:ddp_ovl.c

示例13: ddp_get_module_max_irq_bit

int ddp_get_module_max_irq_bit(DISP_MODULE_ENUM module)
{
    switch(module)
    {
        case DISP_MODULE_AAL    :    return 1;
        case DISP_MODULE_COLOR0 :    return 2;
        case DISP_MODULE_COLOR1 :    return 2;
        case DISP_MODULE_RDMA0  :    return 5;
        case DISP_MODULE_RDMA1  :    return 5;
        case DISP_MODULE_RDMA2  :    return 5;
        case DISP_MODULE_WDMA0  :    return 1;
        case DISP_MODULE_OVL0   :    return 3;
        case DISP_MODULE_GAMMA  :    return 0;
        case DISP_MODULE_PWM0   :    return 0;
        case DISP_MODULE_PWM1   :    return 0;
        case DISP_MODULE_OD     :    return 0;
        case DISP_MODULE_MERGE  :    return 0;
        case DISP_MODULE_SPLIT0 :    return 0;
        case DISP_MODULE_SPLIT1 :    return 0;
        case DISP_MODULE_DSI0   :    return 6;
        case DISP_MODULE_DSI1   :    return 6;
        case DISP_MODULE_DSIDUAL:    return 6;
        case DISP_MODULE_DPI    :    return 2;
        case DISP_MODULE_SMI    :    return 0;
        case DISP_MODULE_CONFIG :    return 0;
        case DISP_MODULE_CMDQ   :    return 0;
        case DISP_MODULE_MUTEX  :    return 14;
        case DISP_MODULE_CCORR  :    return 0;
        case DISP_MODULE_DITHER :    return 0;
        default:
             DDPMSG("invalid module id=%d", module);
    }
    return 0;
}
开发者ID:ramgar,项目名称:mt6577-kernel-3.10.65,代码行数:34,代码来源:ddp_info.c

示例14: ufoe_reset

static int ufoe_reset(DISP_MODULE_ENUM module, void *handle)
{
	DISP_REG_SET_FIELD(handle, START_FLD_DISP_UFO_SW_RST_ENGINE, DISP_REG_UFO_START, 1);
	DISP_REG_SET_FIELD(handle, START_FLD_DISP_UFO_SW_RST_ENGINE, DISP_REG_UFO_START, 0);
	 DDPMSG("ufoe reset done\n");
	return 0;
}
开发者ID:freelinux-zs,项目名称:linux,代码行数:7,代码来源:ddp_ufoe.c

示例15: OVLDeInit

void  OVLDeInit(DISP_MODULE_ENUM module,void * handle)
{
    int idx = ovl_index(module);
    DDPMSG("OVL%dDeInit close CG \n",idx);
    ddp_disable_module_clock(module);
	return;
}
开发者ID:Scorpio92,项目名称:mediatek,代码行数:7,代码来源:ddp_ovl.c


注:本文中的DDPMSG函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。