1f3af9572SLaurent Pinchart /* 2f3af9572SLaurent Pinchart * vsp1.h -- R-Car VSP1 API 3f3af9572SLaurent Pinchart * 4f3af9572SLaurent Pinchart * Copyright (C) 2015 Renesas Electronics Corporation 5f3af9572SLaurent Pinchart * 6f3af9572SLaurent Pinchart * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com) 7f3af9572SLaurent Pinchart * 8f3af9572SLaurent Pinchart * This program is free software; you can redistribute it and/or modify 9f3af9572SLaurent Pinchart * it under the terms of the GNU General Public License as published by 10f3af9572SLaurent Pinchart * the Free Software Foundation; either version 2 of the License, or 11f3af9572SLaurent Pinchart * (at your option) any later version. 12f3af9572SLaurent Pinchart */ 13f3af9572SLaurent Pinchart #ifndef __MEDIA_VSP1_H__ 14f3af9572SLaurent Pinchart #define __MEDIA_VSP1_H__ 15f3af9572SLaurent Pinchart 16f3af9572SLaurent Pinchart #include <linux/types.h> 17c6b013abSLaurent Pinchart #include <linux/videodev2.h> 18f3af9572SLaurent Pinchart 19f3af9572SLaurent Pinchart struct device; 20f3af9572SLaurent Pinchart 21f3af9572SLaurent Pinchart int vsp1_du_init(struct device *dev); 22f3af9572SLaurent Pinchart 23f3af9572SLaurent Pinchart int vsp1_du_setup_lif(struct device *dev, unsigned int width, 24f3af9572SLaurent Pinchart unsigned int height); 25f3af9572SLaurent Pinchart 26c6b013abSLaurent Pinchart struct vsp1_du_atomic_config { 27c6b013abSLaurent Pinchart u32 pixelformat; 28c6b013abSLaurent Pinchart unsigned int pitch; 29*bffba473SLaurent Pinchart dma_addr_t mem[3]; 30c6b013abSLaurent Pinchart struct v4l2_rect src; 31c6b013abSLaurent Pinchart struct v4l2_rect dst; 32c6b013abSLaurent Pinchart unsigned int alpha; 33c6b013abSLaurent Pinchart unsigned int zpos; 34c6b013abSLaurent Pinchart }; 35c6b013abSLaurent Pinchart 36fa369c93SLaurent Pinchart void vsp1_du_atomic_begin(struct device *dev); 37c3f34a4bSLaurent Pinchart int vsp1_du_atomic_update(struct device *dev, unsigned int rpf, 38c6b013abSLaurent Pinchart const struct vsp1_du_atomic_config *cfg); 39f5e04e7eSLaurent Pinchart void vsp1_du_atomic_flush(struct device *dev); 40f5e04e7eSLaurent Pinchart 41f3af9572SLaurent Pinchart #endif /* __MEDIA_VSP1_H__ */ 42