2015-08-02 18: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-23 19:08:59 -03:00
# include <linux/videodev2.h>
2015-08-02 18:37:01 -03:00
struct device ;
int vsp1_du_init ( struct device * dev ) ;
2017-03-03 06: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-02 18:37:01 -03:00
2016-04-23 19:08:59 -03:00
struct vsp1_du_atomic_config {
u32 pixelformat ;
unsigned int pitch ;
2016-08-18 10:16:17 -03:00
dma_addr_t mem [ 3 ] ;
2016-04-23 19:08:59 -03:00
struct v4l2_rect src ;
struct v4l2_rect dst ;
unsigned int alpha ;
unsigned int zpos ;
} ;
2016-02-19 23:12:26 -02:00
void vsp1_du_atomic_begin ( struct device * dev ) ;
2016-04-23 20:11:59 -03:00
int vsp1_du_atomic_update ( struct device * dev , unsigned int rpf ,
const struct vsp1_du_atomic_config * cfg ) ;
2016-02-19 23:12:26 -02:00
void vsp1_du_atomic_flush ( struct device * dev ) ;
2015-08-02 18:37:01 -03:00
# endif /* __MEDIA_VSP1_H__ */