mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 10:35:04 +07:00
df3305156f
Xilinx platforms have no hardwired video capture or video processing interface. Users create capture and memory to memory processing pipelines in the FPGA fabric to suit their particular needs, by instantiating video IP cores from a large library. The Xilinx Video IP core is a framework that models a video pipeline described in the device tree and expose the pipeline to userspace through the media controller and V4L2 APIs. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com> Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
/*
|
|
* Xilinx Video IP Composite Device
|
|
*
|
|
* Copyright (C) 2013-2015 Ideas on Board
|
|
* Copyright (C) 2013-2015 Xilinx, Inc.
|
|
*
|
|
* Contacts: Hyun Kwon <hyun.kwon@xilinx.com>
|
|
* Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __XILINX_VIPP_H__
|
|
#define __XILINX_VIPP_H__
|
|
|
|
#include <linux/list.h>
|
|
#include <linux/mutex.h>
|
|
#include <media/media-device.h>
|
|
#include <media/v4l2-async.h>
|
|
#include <media/v4l2-ctrls.h>
|
|
#include <media/v4l2-device.h>
|
|
|
|
/**
|
|
* struct xvip_composite_device - Xilinx Video IP device structure
|
|
* @v4l2_dev: V4L2 device
|
|
* @media_dev: media device
|
|
* @dev: (OF) device
|
|
* @notifier: V4L2 asynchronous subdevs notifier
|
|
* @entities: entities in the graph as a list of xvip_graph_entity
|
|
* @num_subdevs: number of subdevs in the pipeline
|
|
* @dmas: list of DMA channels at the pipeline output and input
|
|
* @v4l2_caps: V4L2 capabilities of the whole device (see VIDIOC_QUERYCAP)
|
|
*/
|
|
struct xvip_composite_device {
|
|
struct v4l2_device v4l2_dev;
|
|
struct media_device media_dev;
|
|
struct device *dev;
|
|
|
|
struct v4l2_async_notifier notifier;
|
|
struct list_head entities;
|
|
unsigned int num_subdevs;
|
|
|
|
struct list_head dmas;
|
|
u32 v4l2_caps;
|
|
};
|
|
|
|
#endif /* __XILINX_VIPP_H__ */
|