vsp1_bru.h revision 629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8
1629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart/* 2629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * vsp1_bru.h -- R-Car VSP1 Blend ROP Unit 3629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * 4629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * Copyright (C) 2013 Renesas Corporation 5629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * 6629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com) 7629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * 8629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * This program is free software; you can redistribute it and/or modify 9629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * it under the terms of the GNU General Public License as published by 10629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * the Free Software Foundation; either version 2 of the License, or 11629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart * (at your option) any later version. 12629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart */ 13629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#ifndef __VSP1_BRU_H__ 14629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#define __VSP1_BRU_H__ 15629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 16629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#include <media/media-entity.h> 17629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#include <media/v4l2-subdev.h> 18629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 19629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#include "vsp1_entity.h" 20629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 21629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstruct vsp1_device; 22629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 23629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#define BRU_PAD_SINK(n) (n) 24629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#define BRU_PAD_SOURCE 4 25629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 26629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstruct vsp1_bru { 27629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart struct vsp1_entity entity; 28629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 29629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart struct v4l2_rect compose[4]; 30629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart}; 31629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 32629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstatic inline struct vsp1_bru *to_bru(struct v4l2_subdev *subdev) 33629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart{ 34629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart return container_of(subdev, struct vsp1_bru, entity.subdev); 35629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart} 36629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 37629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchartstruct vsp1_bru *vsp1_bru_create(struct vsp1_device *vsp1); 38629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart 39629bb6d4b38fe62d36ab52ad22c3ab726f6ce6e8Laurent Pinchart#endif /* __VSP1_BRU_H__ */ 40