1/* 2 * vsp1_drm.h -- R-Car VSP1 DRM/KMS Interface 3 * 4 * Copyright (C) 2015 Renesas Electronics Corporation 5 * 6 * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com) 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 */ 13#ifndef __VSP1_DRM_H__ 14#define __VSP1_DRM_H__ 15 16#include <linux/videodev2.h> 17 18#include "vsp1_pipe.h" 19 20/** 21 * vsp1_drm - State for the API exposed to the DRM driver 22 * @pipe: the VSP1 pipeline used for display 23 * @num_inputs: number of active pipeline inputs at the beginning of an update 24 * @planes: source crop rectangle, destination compose rectangle and z-order 25 * position for every input 26 */ 27struct vsp1_drm { 28 struct vsp1_pipeline pipe; 29 unsigned int num_inputs; 30 struct { 31 bool enabled; 32 struct v4l2_rect crop; 33 struct v4l2_rect compose; 34 unsigned int zpos; 35 } inputs[VSP1_MAX_RPF]; 36}; 37 38int vsp1_drm_init(struct vsp1_device *vsp1); 39void vsp1_drm_cleanup(struct vsp1_device *vsp1); 40int vsp1_drm_create_links(struct vsp1_device *vsp1); 41 42void vsp1_drm_display_start(struct vsp1_device *vsp1); 43 44#endif /* __VSP1_DRM_H__ */ 45