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
21struct vsp1_device;
22
23#define UDS_PAD_SINK				0
24#define UDS_PAD_SOURCE				1
25
26struct vsp1_uds {
27	struct vsp1_entity entity;
28	bool scale_alpha;
29};
30
31static inline struct vsp1_uds *to_uds(struct v4l2_subdev *subdev)
32{
33	return container_of(subdev, struct vsp1_uds, entity.subdev);
34}
35
36struct vsp1_uds *vsp1_uds_create(struct vsp1_device *vsp1, unsigned int index);
37
38void vsp1_uds_set_alpha(struct vsp1_uds *uds, unsigned int alpha);
39
40#endif /* __VSP1_UDS_H__ */
41