/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2023 SKIDATA GmbH * Author: Luca Ceresoli <[email protected]> */ #ifndef __TEGRA_VIP_H__ #define __TEGRA_VIP_H__ #include <media/media-entity.h> #include <media/v4l2-async.h> #include <media/v4l2-subdev.h> enum { … }; struct tegra_vip; /** * struct tegra_vip_channel - Tegra VIP (parallel video capture) channel * * @subdev: V4L2 subdevice associated with this channel * @pads: media pads for the subdevice entity * @of_node: vip device tree node */ struct tegra_vip_channel { … }; /** * struct tegra_vip_ops - Tegra VIP operations * * @vip_start_streaming: programs vip hardware to enable streaming. */ struct tegra_vip_ops { … }; /** * struct tegra_vip_soc - NVIDIA Tegra VIP SoC structure * * @ops: vip hardware operations */ struct tegra_vip_soc { … }; /** * struct tegra_vip - NVIDIA Tegra VIP device structure * * @dev: device struct * @client: host1x_client struct * @soc: pointer to SoC data structure * @chan: the VIP channel */ struct tegra_vip { … }; #endif