xref: /openbmc/linux/drivers/media/platform/renesas/vsp1/vsp1_sru.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1  /* SPDX-License-Identifier: GPL-2.0+ */
2  /*
3   * vsp1_sru.h  --  R-Car VSP1 Super Resolution Unit
4   *
5   * Copyright (C) 2013 Renesas Corporation
6   *
7   * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8   */
9  #ifndef __VSP1_SRU_H__
10  #define __VSP1_SRU_H__
11  
12  #include <media/media-entity.h>
13  #include <media/v4l2-ctrls.h>
14  #include <media/v4l2-subdev.h>
15  
16  #include "vsp1_entity.h"
17  
18  struct vsp1_device;
19  
20  #define SRU_PAD_SINK				0
21  #define SRU_PAD_SOURCE				1
22  
23  struct vsp1_sru {
24  	struct vsp1_entity entity;
25  
26  	struct v4l2_ctrl_handler ctrls;
27  
28  	unsigned int intensity;
29  };
30  
to_sru(struct v4l2_subdev * subdev)31  static inline struct vsp1_sru *to_sru(struct v4l2_subdev *subdev)
32  {
33  	return container_of(subdev, struct vsp1_sru, entity.subdev);
34  }
35  
36  struct vsp1_sru *vsp1_sru_create(struct vsp1_device *vsp1);
37  
38  #endif /* __VSP1_SRU_H__ */
39