各位专家大家好:
我根据 VPBE UG 的4.5.5.7 Gamma Correction RAM Table 对RAM 进行如下操作:
static void davinci_enc_set_prgb(struct vid_enc_mode_info *mode_info)
{
unsigned int pll_div6; //added by chengxiaoguang 11-09-19
u32 readparm,ii;
................................................
////read gamma control register value ;
readparm = dispc_reg_in(VENC_GAMCTL);
printk("VENC_GAMCTL = %x \n",readparm);
///////dispc_reg_out(VENC_RAMADR,0);
for(ii=0;ii<0x7F;ii++)
{
dispc_reg_out(VENC_RAMADR,ii);
dispc_reg_out(VENC_RAMPORT,((ii<<9)|((ii<<1)+1)));
}
dispc_reg_out(VENC_RAMADR,0);
for(ii=0;ii<0x7F;ii++)
{
readparm=dispc_reg_in(VENC_RAMPORT);
printk("%08x ",readparm);
}
.......................................................
dispc_reg_merge(VENC_GAMCTL,3 , 1);
}
发现读出来的值都是00,并且打开了gamma 矫正选项以后屏是黑的,请问哪里出了问题,谢谢。
