summaryrefslogtreecommitdiff
path: root/drivers/staging/media/platform/bcm2835/mmal-vchiq.h
diff options
context:
space:
mode:
authorMichael Zoran <mzoran@crowfest.net>2017-02-28 02:35:13 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-03-06 11:17:07 +0300
commit212afb97efe15b5b1b596a746fb6042e6f9b36a9 (patch)
tree1f9c126b399bc0dd104afda959e16c5e99a712c9 /drivers/staging/media/platform/bcm2835/mmal-vchiq.h
parent051420a997a58fcf87fd71650ffe2e4d89f6757e (diff)
downloadlinux-212afb97efe15b5b1b596a746fb6042e6f9b36a9.tar.xz
staging: bcm2835-camera: Move driver under vc04_services
The bcm2835-camera driver is part of v04_services, so it makes sense for it to be located under vc04_services to make configuration clearer. Signed-off-by: Michael Zoran <mzoran@crowfest.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/media/platform/bcm2835/mmal-vchiq.h')
-rw-r--r--drivers/staging/media/platform/bcm2835/mmal-vchiq.h178
1 files changed, 0 insertions, 178 deletions
diff --git a/drivers/staging/media/platform/bcm2835/mmal-vchiq.h b/drivers/staging/media/platform/bcm2835/mmal-vchiq.h
deleted file mode 100644
index 9d1d11e4a53e..000000000000
--- a/drivers/staging/media/platform/bcm2835/mmal-vchiq.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Broadcom BM2835 V4L2 driver
- *
- * Copyright © 2013 Raspberry Pi (Trading) Ltd.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file COPYING in the main directory of this archive
- * for more details.
- *
- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
- * Dave Stevenson <dsteve@broadcom.com>
- * Simon Mellor <simellor@broadcom.com>
- * Luke Diamand <luked@broadcom.com>
- *
- * MMAL interface to VCHIQ message passing
- */
-
-#ifndef MMAL_VCHIQ_H
-#define MMAL_VCHIQ_H
-
-#include "mmal-msg-format.h"
-
-#define MAX_PORT_COUNT 4
-
-/* Maximum size of the format extradata. */
-#define MMAL_FORMAT_EXTRADATA_MAX_SIZE 128
-
-struct vchiq_mmal_instance;
-
-enum vchiq_mmal_es_type {
- MMAL_ES_TYPE_UNKNOWN, /**< Unknown elementary stream type */
- MMAL_ES_TYPE_CONTROL, /**< Elementary stream of control commands */
- MMAL_ES_TYPE_AUDIO, /**< Audio elementary stream */
- MMAL_ES_TYPE_VIDEO, /**< Video elementary stream */
- MMAL_ES_TYPE_SUBPICTURE /**< Sub-picture elementary stream */
-};
-
-/* rectangle, used lots so it gets its own struct */
-struct vchiq_mmal_rect {
- s32 x;
- s32 y;
- s32 width;
- s32 height;
-};
-
-struct vchiq_mmal_port_buffer {
- unsigned int num; /* number of buffers */
- u32 size; /* size of buffers */
- u32 alignment; /* alignment of buffers */
-};
-
-struct vchiq_mmal_port;
-
-typedef void (*vchiq_mmal_buffer_cb)(
- struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port,
- int status, struct mmal_buffer *buffer,
- unsigned long length, u32 mmal_flags, s64 dts, s64 pts);
-
-struct vchiq_mmal_port {
- bool enabled;
- u32 handle;
- u32 type; /* port type, cached to use on port info set */
- u32 index; /* port index, cached to use on port info set */
-
- /* component port belongs to, allows simple deref */
- struct vchiq_mmal_component *component;
-
- struct vchiq_mmal_port *connected; /* port conencted to */
-
- /* buffer info */
- struct vchiq_mmal_port_buffer minimum_buffer;
- struct vchiq_mmal_port_buffer recommended_buffer;
- struct vchiq_mmal_port_buffer current_buffer;
-
- /* stream format */
- struct mmal_es_format format;
- /* elementry stream format */
- union mmal_es_specific_format es;
-
- /* data buffers to fill */
- struct list_head buffers;
- /* lock to serialise adding and removing buffers from list */
- spinlock_t slock;
- /* count of how many buffer header refils have failed because
- * there was no buffer to satisfy them
- */
- int buffer_underflow;
- /* callback on buffer completion */
- vchiq_mmal_buffer_cb buffer_cb;
- /* callback context */
- void *cb_ctx;
-};
-
-struct vchiq_mmal_component {
- bool enabled;
- u32 handle; /* VideoCore handle for component */
- u32 inputs; /* Number of input ports */
- u32 outputs; /* Number of output ports */
- u32 clocks; /* Number of clock ports */
- struct vchiq_mmal_port control; /* control port */
- struct vchiq_mmal_port input[MAX_PORT_COUNT]; /* input ports */
- struct vchiq_mmal_port output[MAX_PORT_COUNT]; /* output ports */
- struct vchiq_mmal_port clock[MAX_PORT_COUNT]; /* clock ports */
-};
-
-
-int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance);
-int vchiq_mmal_finalise(struct vchiq_mmal_instance *instance);
-
-/* Initialise a mmal component and its ports
-*
-*/
-int vchiq_mmal_component_init(
- struct vchiq_mmal_instance *instance,
- const char *name,
- struct vchiq_mmal_component **component_out);
-
-int vchiq_mmal_component_finalise(
- struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_component *component);
-
-int vchiq_mmal_component_enable(
- struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_component *component);
-
-int vchiq_mmal_component_disable(
- struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_component *component);
-
-
-
-/* enable a mmal port
- *
- * enables a port and if a buffer callback provided enque buffer
- * headers as apropriate for the port.
- */
-int vchiq_mmal_port_enable(
- struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port,
- vchiq_mmal_buffer_cb buffer_cb);
-
-/* disable a port
- *
- * disable a port will dequeue any pending buffers
- */
-int vchiq_mmal_port_disable(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port);
-
-
-int vchiq_mmal_port_parameter_set(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port,
- u32 parameter,
- void *value,
- u32 value_size);
-
-int vchiq_mmal_port_parameter_get(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port,
- u32 parameter,
- void *value,
- u32 *value_size);
-
-int vchiq_mmal_port_set_format(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port);
-
-int vchiq_mmal_port_connect_tunnel(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *src,
- struct vchiq_mmal_port *dst);
-
-int vchiq_mmal_version(struct vchiq_mmal_instance *instance,
- u32 *major_out,
- u32 *minor_out);
-
-int vchiq_mmal_submit_buffer(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_port *port,
- struct mmal_buffer *buf);
-
-#endif /* MMAL_VCHIQ_H */