msm: camera: isp: Add new WM port for SFE880
Add output port - HDR_STATS for SFE880 and update all mappings associated with the port. CRs-Fixed: 3175256 Change-Id: I1a856f3c705d651a486e0aba5a77ca73f0deb5a5 Signed-off-by: sokchetra eung <quic_eung@quicinc.com>
Цей коміт міститься в:

зафіксовано
Camera Software Integration

джерело
b7af81340a
коміт
323d00e1c1
@@ -1056,6 +1056,7 @@ static char *__cam_isp_ife_sfe_resource_handle_id_to_type(
|
||||
case CAM_ISP_SFE_OUT_BAYER_RS_STATS_0: return "SFE_RS_STATS_0";
|
||||
case CAM_ISP_SFE_OUT_BAYER_RS_STATS_1: return "SFE_RS_STATS_1";
|
||||
case CAM_ISP_SFE_OUT_BAYER_RS_STATS_2: return "SFE_RS_STATS_2";
|
||||
case CAM_ISP_SFE_OUT_HDR_STATS: return "HDR_STATS";
|
||||
/* SFE input ports */
|
||||
case CAM_ISP_SFE_IN_RD_0: return "SFE_RD_0";
|
||||
case CAM_ISP_SFE_IN_RD_1: return "SFE_RD_1";
|
||||
|
@@ -241,6 +241,7 @@ static bool cam_sfe_bus_can_be_secure(uint32_t out_type)
|
||||
case CAM_SFE_BUS_SFE_OUT_BAYER_RS_0:
|
||||
case CAM_SFE_BUS_SFE_OUT_BAYER_RS_1:
|
||||
case CAM_SFE_BUS_SFE_OUT_BAYER_RS_2:
|
||||
case CAM_SFE_BUS_SFE_OUT_HDR_STATS:
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
@@ -284,6 +285,8 @@ static enum cam_sfe_bus_sfe_out_type
|
||||
return CAM_SFE_BUS_SFE_OUT_BAYER_RS_1;
|
||||
case CAM_ISP_SFE_OUT_BAYER_RS_STATS_2:
|
||||
return CAM_SFE_BUS_SFE_OUT_BAYER_RS_2;
|
||||
case CAM_ISP_SFE_OUT_HDR_STATS:
|
||||
return CAM_SFE_BUS_SFE_OUT_HDR_STATS;
|
||||
default:
|
||||
return CAM_SFE_BUS_SFE_OUT_MAX;
|
||||
}
|
||||
@@ -345,6 +348,9 @@ static int cam_sfe_bus_get_comp_sfe_out_res_id_list(
|
||||
if (comp_mask & (BIT(CAM_SFE_BUS_SFE_OUT_BAYER_RS_2)))
|
||||
out_list[count++] = CAM_ISP_SFE_OUT_BAYER_RS_STATS_2;
|
||||
|
||||
if (comp_mask & (BIT(CAM_SFE_BUS_SFE_OUT_HDR_STATS)))
|
||||
out_list[count++] = CAM_ISP_SFE_OUT_HDR_STATS;
|
||||
|
||||
*num_out = count;
|
||||
return 0;
|
||||
}
|
||||
@@ -789,7 +795,6 @@ static int cam_sfe_bus_acquire_wm(
|
||||
rsrc_data->height = 0;
|
||||
rsrc_data->stride = 1;
|
||||
rsrc_data->en_cfg = (0x1 << 16) | 0x1;
|
||||
|
||||
} else if (sfe_out_res_id == CAM_SFE_BUS_SFE_OUT_LCR) {
|
||||
switch (rsrc_data->format) {
|
||||
case CAM_FORMAT_PLAIN16_10:
|
||||
@@ -807,6 +812,21 @@ static int cam_sfe_bus_acquire_wm(
|
||||
rsrc_data->format, sfe_out_res_id);
|
||||
return -EINVAL;
|
||||
}
|
||||
} else if (sfe_out_res_id == CAM_SFE_BUS_SFE_OUT_HDR_STATS) {
|
||||
rsrc_data->en_cfg = 0x1;
|
||||
rsrc_data->stride = rsrc_data->width;
|
||||
switch (rsrc_data->format) {
|
||||
case CAM_FORMAT_PLAIN16_10:
|
||||
case CAM_FORMAT_PLAIN16_12:
|
||||
case CAM_FORMAT_PLAIN16_14:
|
||||
case CAM_FORMAT_PLAIN16_16:
|
||||
/* LSB aligned */
|
||||
rsrc_data->pack_fmt |=
|
||||
(1 << bus_priv->common_data.pack_align_shift);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
CAM_ERR(CAM_SFE, "Invalid out_type:%d requested",
|
||||
sfe_out_res_id);
|
||||
|
@@ -10,9 +10,9 @@
|
||||
|
||||
#include "cam_sfe_bus.h"
|
||||
|
||||
#define CAM_SFE_BUS_WR_MAX_CLIENTS 16
|
||||
#define CAM_SFE_BUS_WR_MAX_SUB_GRPS 6
|
||||
#define CAM_SFE_BUS_CONS_ERR_MAX 32
|
||||
#define CAM_SFE_BUS_WR_MAX_CLIENTS 17
|
||||
#define CAM_SFE_BUS_WR_MAX_SUB_GRPS 6
|
||||
#define CAM_SFE_BUS_CONS_ERR_MAX 32
|
||||
|
||||
enum cam_sfe_bus_wr_src_grp {
|
||||
CAM_SFE_BUS_WR_SRC_GRP_0,
|
||||
@@ -35,6 +35,7 @@ enum cam_sfe_bus_wr_comp_grp_type {
|
||||
CAM_SFE_BUS_WR_COMP_GRP_7,
|
||||
CAM_SFE_BUS_WR_COMP_GRP_8,
|
||||
CAM_SFE_BUS_WR_COMP_GRP_9,
|
||||
CAM_SFE_BUS_WR_COMP_GRP_10,
|
||||
CAM_SFE_BUS_WR_COMP_GRP_MAX,
|
||||
};
|
||||
|
||||
@@ -56,6 +57,7 @@ enum cam_sfe_bus_sfe_out_type {
|
||||
CAM_SFE_BUS_SFE_OUT_BAYER_RS_1,
|
||||
CAM_SFE_BUS_SFE_OUT_BAYER_RS_2,
|
||||
CAM_SFE_BUS_SFE_OUT_IR,
|
||||
CAM_SFE_BUS_SFE_OUT_HDR_STATS,
|
||||
CAM_SFE_BUS_SFE_OUT_MAX,
|
||||
};
|
||||
|
||||
|
@@ -27,6 +27,7 @@
|
||||
#define CAM_ISP_SFE_OUT_BAYER_RS_STATS_0 (CAM_ISP_SFE_OUT_RES_BASE + 14)
|
||||
#define CAM_ISP_SFE_OUT_BAYER_RS_STATS_1 (CAM_ISP_SFE_OUT_RES_BASE + 15)
|
||||
#define CAM_ISP_SFE_OUT_BAYER_RS_STATS_2 (CAM_ISP_SFE_OUT_RES_BASE + 16)
|
||||
#define CAM_ISP_SFE_OUT_HDR_STATS (CAM_ISP_SFE_OUT_RES_BASE + 17)
|
||||
|
||||
/* This Macro is deprecated and shall not be used */
|
||||
#define CAM_ISP_SFE_OUT_RES_MAX (CAM_ISP_SFE_OUT_RES_BASE + 17)
|
||||
|
Посилання в новій задачі
Заблокувати користувача