2015-08-03 00:37:01 +03:00
/*
* vsp1 . h - - R - Car VSP1 API
*
* Copyright ( C ) 2015 Renesas Electronics Corporation
*
* Contact : Laurent Pinchart ( laurent . pinchart @ ideasonboard . com )
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*/
# ifndef __MEDIA_VSP1_H__
# define __MEDIA_VSP1_H__
# include <linux/types.h>
2016-04-24 01:08:59 +03:00
# include <linux/videodev2.h>
2015-08-03 00:37:01 +03:00
struct device ;
int vsp1_du_init ( struct device * dev ) ;
2017-03-03 12:31:48 +03:00
/**
* struct vsp1_du_lif_config - VSP LIF configuration
* @ width : output frame width
* @ height : output frame height
*/
struct vsp1_du_lif_config {
unsigned int width ;
unsigned int height ;
} ;
int vsp1_du_setup_lif ( struct device * dev , const struct vsp1_du_lif_config * cfg ) ;
2015-08-03 00:37:01 +03:00
2016-04-24 01:08:59 +03:00
struct vsp1_du_atomic_config {
u32 pixelformat ;
unsigned int pitch ;
2016-08-18 16:16:17 +03:00
dma_addr_t mem [ 3 ] ;
2016-04-24 01:08:59 +03:00
struct v4l2_rect src ;
struct v4l2_rect dst ;
unsigned int alpha ;
unsigned int zpos ;
} ;
2016-02-20 04:12:26 +03:00
void vsp1_du_atomic_begin ( struct device * dev ) ;
2016-04-24 02:11:59 +03:00
int vsp1_du_atomic_update ( struct device * dev , unsigned int rpf ,
const struct vsp1_du_atomic_config * cfg ) ;
2016-02-20 04:12:26 +03:00
void vsp1_du_atomic_flush ( struct device * dev ) ;
2015-08-03 00:37:01 +03:00
# endif /* __MEDIA_VSP1_H__ */