vi5: fix v4l2 VI driver channel open

unmap chan_id from DT with capture channel id.
Capture channel id is shared between isp capture
and v4l2. Find a free capture channel that does not
conflict with other clients

bug 3691031

Change-Id: If3cd887db6feb2a1817a7451249185de47d6e9ad
Signed-off-by: Anubhav Rai <arai@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2768753
(cherry picked from commit cf54cc587eba0854236c634b8ec0c1c2c98a3a5d)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2866951
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Ankur Pawar <ankurp@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Anubhav Rai
2022-08-30 00:23:01 -07:00
committed by mobile promotions
parent b66b703f0e
commit d6bcba5193
2 changed files with 64 additions and 11 deletions

View File

@@ -2,7 +2,7 @@
/*
* Tegra Media controller common APIs
*
* Copyright (c) 2012-2022, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2012-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*/
#ifndef __CAMERA_MC_COMMON_H__
@@ -157,6 +157,7 @@ struct tegra_channel {
unsigned int num_video_formats;
struct mutex stop_kthread_lock;
unsigned int vi_channel_id[TEGRA_CSI_BLOCKS];
unsigned char port[TEGRA_CSI_BLOCKS];
unsigned int virtual_channel;
unsigned int syncpt[TEGRA_CSI_BLOCKS][MAX_SYNCPT_PER_CHANNEL];