1 /*
2  * vsp1_uds.h  --  R-Car VSP1 Up and Down Scaler
3  *
4  * Copyright (C) 2013-2014 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_UDS_H__
14 #define __VSP1_UDS_H__
15 
16 #include <media/media-entity.h>
17 #include <media/v4l2-subdev.h>
18 
19 #include "vsp1_entity.h"
20 
21 struct vsp1_device;
22 
23 #define UDS_PAD_SINK				0
24 #define UDS_PAD_SOURCE				1
25 
26 struct vsp1_uds {
27 	struct vsp1_entity entity;
28 	bool scale_alpha;
29 };
30 
to_uds(struct v4l2_subdev * subdev)31 static inline struct vsp1_uds *to_uds(struct v4l2_subdev *subdev)
32 {
33 	return container_of(subdev, struct vsp1_uds, entity.subdev);
34 }
35 
36 struct vsp1_uds *vsp1_uds_create(struct vsp1_device *vsp1, unsigned int index);
37 
38 void vsp1_uds_set_alpha(struct vsp1_uds *uds, unsigned int alpha);
39 
40 #endif /* __VSP1_UDS_H__ */
41