msm: camera: isp: Add domain-id support

This change adds domain-id support for new
targets. This change involves adding information
to the SCM call currently in use such that it is
a superset, and the additional fields needed are
the IFE and CDM number being used, and VC mask.
These are in addition to existing PHY mask selection,
and lane/trio mask selection.

All the information above will be sent over from CSID
to the PHY driver, and the PHY driver will pack the
information in a generic format before sending it
over in an SCM call. Where previously, this information
is packed in format that matches the register, this
will be sent generically moving forward.

Given that there are multiple instances per physical
PHY hardware, and that the usual dev_handle used by
userspace to identify them are not accessible CSID
side, the lane_assign/lane_cfg parameter is used to find
the specific PHY instance used in conjunction with the
CSID instance in a session. lane_assign from PHY driver
and lane_cfg from CSID have the same values.

CRs-Fixed: 3259706
Change-Id: Ie050b1b9e742c6a63812eb38db7eca76db24667f
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
这个提交包含在:
Li Sha Lim
2022-06-16 14:57:09 -07:00
提交者 Camera Software Integration
父节点 5f64e7661b
当前提交 e1ec8594f4
修改 14 个文件,包含 368 行新增27 行删除

查看文件

@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/delay.h>
@@ -196,6 +197,7 @@ int cam_cdm_acquire(struct cam_cdm_acquire_data *data)
cdm_hw = hw->hw_priv;
core = (struct cam_cdm *)cdm_hw->core_info;
data->id = core->id;
data->hw_idx = hw->hw_idx;
CAM_DBG(CAM_CDM,
"Device = %s, hw_index = %d, CDM id = %d",
data->identifier, hw_index, data->id);