alistair23-linux/drivers/staging/media/omap4iss/iss_resizer.h
Daniel Graefe 730b0ac3a8 media: staging: media: omap4iss: Added SPDX license identifiers
Added missing SPDX license identifiers to all files of the omap4iss
driver.

Most files already have license texts which clearly state them to be
licensed under GPL 2.0 or later. SPDX identifiers were added accordingly.

Some files do not have any license text. SPDX identifiers for GPL 2.0
were added to them, in accordance with the default license of the
kernel.

Signed-off-by: Daniel Graefe <daniel.graefe@fau.de>
Signed-off-by: Roman Sommer <roman.sommer@fau.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-09-12 08:27:15 -04:00

73 lines
2 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* TI OMAP4 ISS V4L2 Driver - ISP RESIZER module
*
* Copyright (C) 2012 Texas Instruments, Inc.
*
* Author: Sergio Aguirre <sergio.a.aguirre@gmail.com>
*/
#ifndef OMAP4_ISS_RESIZER_H
#define OMAP4_ISS_RESIZER_H
#include "iss_video.h"
enum resizer_input_entity {
RESIZER_INPUT_NONE,
RESIZER_INPUT_IPIPE,
RESIZER_INPUT_IPIPEIF
};
#define RESIZER_OUTPUT_MEMORY BIT(0)
/* Sink and source RESIZER pads */
#define RESIZER_PAD_SINK 0
#define RESIZER_PAD_SOURCE_MEM 1
#define RESIZER_PADS_NUM 2
/*
* struct iss_resizer_device - Structure for the RESIZER module to store its own
* information
* @subdev: V4L2 subdevice
* @pads: Sink and source media entity pads
* @formats: Active video formats
* @input: Active input
* @output: Active outputs
* @video_out: Output video node
* @error: A hardware error occurred during capture
* @state: Streaming state
* @wait: Wait queue used to stop the module
* @stopping: Stopping state
*/
struct iss_resizer_device {
struct v4l2_subdev subdev;
struct media_pad pads[RESIZER_PADS_NUM];
struct v4l2_mbus_framefmt formats[RESIZER_PADS_NUM];
enum resizer_input_entity input;
unsigned int output;
struct iss_video video_out;
unsigned int error;
enum iss_pipeline_stream_state state;
wait_queue_head_t wait;
atomic_t stopping;
};
struct iss_device;
int omap4iss_resizer_init(struct iss_device *iss);
int omap4iss_resizer_create_links(struct iss_device *iss);
void omap4iss_resizer_cleanup(struct iss_device *iss);
int omap4iss_resizer_register_entities(struct iss_resizer_device *resizer,
struct v4l2_device *vdev);
void omap4iss_resizer_unregister_entities(struct iss_resizer_device *resizer);
int omap4iss_resizer_busy(struct iss_resizer_device *resizer);
void omap4iss_resizer_isr(struct iss_resizer_device *resizer, u32 events);
void omap4iss_resizer_restore_context(struct iss_device *iss);
void omap4iss_resizer_max_rate(struct iss_resizer_device *resizer,
unsigned int *max_rate);
#endif /* OMAP4_ISS_RESIZER_H */