Пример #1
0
extern int
vopSetOutFormat(int format)
{
	if(format==FORMAT_NTSC)
		socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) & ~VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL);
	else if(format==FORMAT_PAL)
		socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL);
	else {
		printf("VOP : Error Output Format!!\n");
		return -1;
	}
	return 0;	
}
Пример #2
0
static irqreturn_t vopOneFrameIsr (int irq, void *dev)
{
  u32 int_sts = socle_vop_read(SOCLE_VOP_INT_STS);
  u32 frame_sts = socle_vop_read(SOCLE_VOP_FBS);
	if (int_sts & VOP_INT_STS_DISPLAY_COMPLETE) {    
  	if ((frame_sts & VOP_FBS_FRAME1_USE_BY_HW) == 0) 
	  	socle_vop_write(VOP_FBS_FRAME1_USE_BY_HW, SOCLE_VOP_FBS);
  }
 
  if (int_sts & VOP_INT_STS_BUFFER_UNDERUN) {
  	int line_num;
    line_num = int_sts >> VOP_INT_STS_LINE_NUM_OF_UNDERUN_SHIFT;
		printk("VOP : Buffer Underflow at line 0x%x\n",line_num);
	}
Пример #3
0
static int
vopSetOutFormat(int format)
{
	if(format==FORMAT_NTSC) {
		VOP_DBG("Out format NTSC\n");
		socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) & ~VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL);
	} else if(format==FORMAT_PAL) {
		VOP_DBG("Out format PAL\n");		
		socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL);
	} else {
		printk("VOP : Error Output Format!!\n");
		return -1;
	}
	return 0;	
}
Пример #4
0
extern void
vopStart()
{
	socle_vop_write(VOP_AHBR_CTRL_INCR16, SOCLE_VOP_AHBR_CTRL);	
	socle_vop_write(VOP_INTE_BUFFER_UNDERRUN | VOP_INTE_DISPLAY_COMPLETE, SOCLE_VOP_INTE);
	socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_DISPLAY_EN, SOCLE_VOP_CTRL);
}
Пример #5
0
static void
vopStart()
{
	socle_vop_write(VOP_AHBR_CTRL_INCR16, SOCLE_VOP_AHBR_CTRL);
#ifdef USE_INT
	socle_vop_write(VOP_INTE_DISPLAY_COMPLETE, SOCLE_VOP_INTE);
#endif
	socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_DISPLAY_EN, SOCLE_VOP_CTRL);
}