mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
video: camera: Modify rtcpu modules for OOT tree
This patch modifies rtcpu modules to use new ivc headers, resolves cyclic dependencies between the modules, reduces the amount of modules built by linking them together and fixes other minor issues encountered with K5.15 Change-Id: I9cf2672df08ffe6c4b8aea9ac21d6cc50a92bb4e Signed-off-by: Matti Ryttylainen <mryttylainen@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2787121 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Ankur Pawar <ankurp@nvidia.com> Reviewed-by: Semi Malinen <smalinen@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
304123a3bf
commit
dd109353df
34
include/linux/tegra-hsp-combo.h
Normal file
34
include/linux/tegra-hsp-combo.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef INCLUDE_RTCPU_HSP_COMBO_H
|
||||
#define INCLUDE_RTCPU_HSP_COMBO_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct camrtc_hsp;
|
||||
struct device;
|
||||
|
||||
struct camrtc_hsp *camrtc_hsp_create(
|
||||
struct device *dev,
|
||||
void (*group_notify)(struct device *dev, u16 group),
|
||||
long cmd_timeout);
|
||||
|
||||
void camrtc_hsp_free(struct camrtc_hsp *camhsp);
|
||||
|
||||
void camrtc_hsp_group_ring(struct camrtc_hsp *camhsp,
|
||||
u16 group);
|
||||
|
||||
int camrtc_hsp_sync(struct camrtc_hsp *camhsp);
|
||||
int camrtc_hsp_resume(struct camrtc_hsp *camhsp);
|
||||
int camrtc_hsp_suspend(struct camrtc_hsp *camhsp);
|
||||
int camrtc_hsp_bye(struct camrtc_hsp *camhsp);
|
||||
int camrtc_hsp_ch_setup(struct camrtc_hsp *camhsp, dma_addr_t iova);
|
||||
int camrtc_hsp_ping(struct camrtc_hsp *camhsp, u32 data, long timeout);
|
||||
int camrtc_hsp_get_fw_hash(struct camrtc_hsp *camhsp,
|
||||
u8 hash[], size_t hash_size);
|
||||
|
||||
|
||||
#endif /* INCLUDE_RTCPU_HSP_COMBO_H */
|
||||
@@ -6,19 +6,22 @@
|
||||
#ifndef _LINUX_TEGRA_IVC_BUS_H
|
||||
#define _LINUX_TEGRA_IVC_BUS_H
|
||||
|
||||
#include <linux/tegra-ivc-instance.h>
|
||||
#include <soc/tegra/ivc-priv.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/tegra-hsp-combo.h>
|
||||
|
||||
extern struct bus_type tegra_ivc_bus_type;
|
||||
extern struct device_type tegra_ivc_bus_dev_type;
|
||||
struct tegra_ivc_bus;
|
||||
struct tegra_ivc_rpc_data;
|
||||
|
||||
struct tegra_ivc_bus *tegra_ivc_bus_create(struct device *);
|
||||
struct tegra_ivc_bus *tegra_ivc_bus_create(struct device *dev,
|
||||
struct camrtc_hsp *camhsp);
|
||||
|
||||
void tegra_ivc_bus_ready(struct tegra_ivc_bus *bus, bool online);
|
||||
void tegra_ivc_bus_destroy(struct tegra_ivc_bus *bus);
|
||||
int tegra_ivc_bus_boot_sync(struct tegra_ivc_bus *bus);
|
||||
int tegra_ivc_bus_boot_sync(struct tegra_ivc_bus *bus,
|
||||
int (*iovm_setup)(struct device*, dma_addr_t));
|
||||
void tegra_ivc_bus_notify(struct tegra_ivc_bus *bus, u16 group);
|
||||
|
||||
struct tegra_ivc_driver {
|
||||
@@ -59,7 +62,7 @@ tegra_ivc_subsys_driver(__driver, \
|
||||
extern struct device_type tegra_ivc_channel_type;
|
||||
|
||||
struct tegra_ivc_channel {
|
||||
struct ivc ivc;
|
||||
struct tegra_ivc ivc;
|
||||
struct device dev;
|
||||
const struct tegra_ivc_channel_ops __rcu *ops;
|
||||
struct tegra_ivc_channel *next;
|
||||
|
||||
Reference in New Issue
Block a user