1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * vsp1_brx.h -- R-Car VSP1 Blend ROP Unit (BRU and BRS) 4 * 5 * Copyright (C) 2013 Renesas Corporation 6 * 7 * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com) 8 */ 9 #ifndef __VSP1_BRX_H__ 10 #define __VSP1_BRX_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 struct vsp1_rwpf; 20 21 #define BRX_PAD_SINK(n) (n) 22 23 struct vsp1_brx { 24 struct vsp1_entity entity; 25 unsigned int base; 26 27 struct v4l2_ctrl_handler ctrls; 28 29 struct { 30 struct vsp1_rwpf *rpf; 31 } inputs[VSP1_MAX_RPF]; 32 33 u32 bgcolor; 34 }; 35 36 static inline struct vsp1_brx *to_brx(struct v4l2_subdev *subdev) 37 { 38 return container_of(subdev, struct vsp1_brx, entity.subdev); 39 } 40 41 struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1, 42 enum vsp1_entity_type type); 43 44 #endif /* __VSP1_BRX_H__ */ 45