Merge "msm: camera: isp: Replace bit shift with mask for Bus comp groups" into camera-kernel.lnx.7.0
Dieser Commit ist enthalten in:

committet von
Gerrit - the friendly Code Review server

Commit
7516e3a79e
@@ -1292,8 +1292,9 @@ static struct cam_sfe_bus_wr_hw_info sfe680_bus_wr_hw_info = {
|
||||
},
|
||||
},
|
||||
.constraint_error_info = &sfe680_bus_wr_constraint_error_info,
|
||||
.comp_done_shift = {
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
||||
.comp_done_mask = {
|
||||
BIT(17), BIT(18), BIT(19), BIT(20), BIT(21), BIT(22), BIT(23),
|
||||
BIT(24), BIT(25), BIT(26),
|
||||
},
|
||||
.num_comp_grp = 10,
|
||||
.line_done_cfg = 0x11,
|
||||
|
@@ -1672,8 +1672,9 @@ static struct cam_sfe_bus_wr_hw_info sfe780_bus_wr_hw_info = {
|
||||
},
|
||||
},
|
||||
.constraint_error_info = &sfe780_bus_wr_constraint_error_info,
|
||||
.comp_done_shift = {
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
||||
.comp_done_mask = {
|
||||
BIT(17), BIT(18), BIT(19), BIT(20), BIT(21), BIT(22), BIT(23),
|
||||
BIT(24), BIT(25), BIT(26),
|
||||
},
|
||||
.num_comp_grp = 10,
|
||||
.line_done_cfg = 0x11,
|
||||
|
@@ -1765,8 +1765,9 @@ static struct cam_sfe_bus_wr_hw_info sfe880_bus_wr_hw_info = {
|
||||
},
|
||||
},
|
||||
.constraint_error_info = &sfe880_bus_wr_constraint_error_info,
|
||||
.comp_done_shift = {
|
||||
17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 22,
|
||||
.comp_done_mask = {
|
||||
BIT(17), BIT(18), BIT(19), BIT(20), BIT(21), BIT(23),
|
||||
BIT(24), BIT(25), BIT(26), BIT(27), BIT(22),
|
||||
},
|
||||
.num_comp_grp = 11,
|
||||
.line_done_cfg = 0x11,
|
||||
|
@@ -143,7 +143,7 @@ struct cam_sfe_bus_wr_wm_resource_data {
|
||||
|
||||
struct cam_sfe_bus_wr_comp_grp_data {
|
||||
enum cam_sfe_bus_wr_comp_grp_type comp_grp_type;
|
||||
uint32_t comp_done_shift;
|
||||
uint32_t comp_done_mask;
|
||||
struct cam_sfe_bus_wr_common_data *common_data;
|
||||
|
||||
uint32_t is_master;
|
||||
@@ -1249,7 +1249,7 @@ static int cam_sfe_bus_start_comp_grp(
|
||||
return 0;
|
||||
|
||||
/* CSID buf done register */
|
||||
bus_irq_reg_mask[0] = BIT(rsrc_data->comp_done_shift);
|
||||
bus_irq_reg_mask[0] = rsrc_data->comp_done_mask;
|
||||
|
||||
CAM_DBG(CAM_SFE, "Start Done SFE:%d comp_grp:%d buf_done_mask:0x%x",
|
||||
rsrc_data->common_data->core_index,
|
||||
@@ -1290,7 +1290,7 @@ static int cam_sfe_bus_wr_init_comp_grp(uint32_t index,
|
||||
rsrc_data->comp_grp_type = index;
|
||||
rsrc_data->common_data = &bus_priv->common_data;
|
||||
rsrc_data->dual_slave_core = CAM_SFE_CORE_MAX;
|
||||
rsrc_data->comp_done_shift = hw_info->comp_done_shift[index];
|
||||
rsrc_data->comp_done_mask = hw_info->comp_done_mask[index];
|
||||
|
||||
list_add_tail(&comp_grp->list, &bus_priv->free_comp_grp);
|
||||
|
||||
@@ -1810,7 +1810,7 @@ static int cam_sfe_bus_handle_sfe_out_done_top_half(
|
||||
|
||||
status_0 = th_payload->evt_status_arr[CAM_SFE_IRQ_BUS_WR_REG_STATUS0];
|
||||
|
||||
if (status_0 & BIT(resource_data->comp_done_shift)) {
|
||||
if (status_0 & resource_data->comp_done_mask) {
|
||||
trace_cam_log_event("bufdone", "bufdone_IRQ",
|
||||
status_0, resource_data->comp_grp_type);
|
||||
}
|
||||
@@ -1842,7 +1842,7 @@ static int cam_sfe_bus_handle_comp_done_bottom_half(
|
||||
cam_sfe_irq_regs = evt_payload->irq_reg_val;
|
||||
status_0 = cam_sfe_irq_regs[CAM_SFE_IRQ_BUS_WR_REG_STATUS0];
|
||||
|
||||
if (status_0 & BIT(rsrc_data->comp_done_shift)) {
|
||||
if (status_0 & rsrc_data->comp_done_mask) {
|
||||
evt_payload->evt_id = CAM_ISP_HW_EVENT_DONE;
|
||||
rc = CAM_SFE_IRQ_STATUS_SUCCESS;
|
||||
}
|
||||
|
@@ -177,7 +177,7 @@ struct cam_sfe_bus_sfe_out_hw_info {
|
||||
* @bus_client_reg: Bus client register info
|
||||
* @sfe_out_hw_info: SFE output capability
|
||||
* @constraint_error_info: Constraint Error information
|
||||
* @comp_done_shift: List of buf done mask shift values for
|
||||
* @comp_done_mask: List of buf done mask shift values for
|
||||
* each comp grp
|
||||
* @num_comp_grp: Number of composite groups
|
||||
* @line_done_cfg: Line done cfg for wr/rd sync
|
||||
@@ -198,7 +198,7 @@ struct cam_sfe_bus_wr_hw_info {
|
||||
sfe_out_hw_info[CAM_SFE_BUS_SFE_OUT_MAX];
|
||||
struct cam_sfe_bus_wr_constraint_error_info
|
||||
*constraint_error_info;
|
||||
uint32_t comp_done_shift[CAM_SFE_BUS_WR_COMP_GRP_MAX];
|
||||
uint32_t comp_done_mask[CAM_SFE_BUS_WR_COMP_GRP_MAX];
|
||||
uint32_t num_comp_grp;
|
||||
uint32_t line_done_cfg;
|
||||
uint32_t top_irq_shift;
|
||||
|
@@ -1604,8 +1604,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
|
||||
},
|
||||
|
||||
.num_comp_grp = 14,
|
||||
.comp_done_shift = {
|
||||
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
.comp_done_mask = {
|
||||
BIT(6), BIT(7), BIT(8), BIT(9), BIT(10),
|
||||
BIT(11), BIT(12), BIT(13), BIT(14),
|
||||
BIT(15), BIT(16), BIT(17), BIT(18), BIT(19),
|
||||
},
|
||||
.top_irq_shift = 7,
|
||||
.support_consumed_addr = true,
|
||||
|
@@ -2237,8 +2237,11 @@ static struct cam_vfe_bus_ver3_hw_info vfe680_bus_hw_info = {
|
||||
},
|
||||
.num_comp_grp = 17,
|
||||
.support_consumed_addr = true,
|
||||
.comp_done_shift = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
|
||||
.comp_done_mask = {
|
||||
BIT(0), BIT(1), BIT(2), BIT(3),
|
||||
BIT(4), BIT(5), BIT(6), BIT(7),
|
||||
BIT(8), BIT(9), BIT(10), BIT(11),
|
||||
BIT(12), BIT(13), BIT(14), BIT(15), BIT(16),
|
||||
},
|
||||
.top_irq_shift = 0,
|
||||
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 33,
|
||||
|
@@ -2269,8 +2269,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
|
||||
},
|
||||
.num_comp_grp = 15,
|
||||
.support_consumed_addr = true,
|
||||
.comp_done_shift = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16,
|
||||
.comp_done_mask = {
|
||||
BIT(0), BIT(1), BIT(2), BIT(3), BIT(4),
|
||||
BIT(5), BIT(6), BIT(7), BIT(8), BIT(9), BIT(10),
|
||||
BIT(13), BIT(14), BIT(15), BIT(16),
|
||||
},
|
||||
.top_irq_shift = 0,
|
||||
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 36,
|
||||
|
@@ -2359,8 +2359,11 @@ static struct cam_vfe_bus_ver3_hw_info vfe880_bus_hw_info = {
|
||||
},
|
||||
.num_comp_grp = 16,
|
||||
.support_consumed_addr = true,
|
||||
.comp_done_shift = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 11,
|
||||
.comp_done_mask = {
|
||||
BIT(0), BIT(1), BIT(2), BIT(3), BIT(4),
|
||||
BIT(5), BIT(6), BIT(7), BIT(8),
|
||||
BIT(9), BIT(10), BIT(13),
|
||||
BIT(14), BIT(15), BIT(16), BIT(11),
|
||||
},
|
||||
.top_irq_shift = 0,
|
||||
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 37,
|
||||
|
@@ -428,8 +428,8 @@ static struct cam_vfe_bus_ver3_hw_info vfe48x_bus_hw_info = {
|
||||
},
|
||||
},
|
||||
.num_comp_grp = 4,
|
||||
.comp_done_shift = {
|
||||
4, 5, 6, 7,
|
||||
.comp_done_mask = {
|
||||
BIT(4), BIT(5), BIT(6), BIT(7),
|
||||
},
|
||||
.top_irq_shift = 4,
|
||||
.support_consumed_addr = true,
|
||||
|
@@ -553,8 +553,8 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
|
||||
},
|
||||
.num_comp_grp = 5,
|
||||
.support_consumed_addr = true,
|
||||
.comp_done_shift = {
|
||||
0, 1, 2, 3, 4,
|
||||
.comp_done_mask = {
|
||||
BIT(0), BIT(1), BIT(2), BIT(3), BIT(4),
|
||||
},
|
||||
.top_irq_shift = 0,
|
||||
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 33,
|
||||
|
@@ -548,8 +548,8 @@ static struct cam_vfe_bus_ver3_hw_info vfe_lite78x_bus_hw_info = {
|
||||
},
|
||||
.num_comp_grp = 5,
|
||||
.support_consumed_addr = true,
|
||||
.comp_done_shift = {
|
||||
0, 1, 2, 3, 4,
|
||||
.comp_done_mask = {
|
||||
BIT(0), BIT(1), BIT(2), BIT(3), BIT(4),
|
||||
},
|
||||
.top_irq_shift = 0,
|
||||
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 34,
|
||||
|
@@ -455,8 +455,8 @@ static struct cam_vfe_bus_ver3_hw_info vfe_lite88x_bus_hw_info = {
|
||||
},
|
||||
.num_comp_grp = 5,
|
||||
.support_consumed_addr = true,
|
||||
.comp_done_shift = {
|
||||
0, 1, 2, 3, 4,
|
||||
.comp_done_mask = {
|
||||
BIT(0), BIT(1), BIT(2), BIT(3), BIT(4),
|
||||
},
|
||||
.top_irq_shift = 0,
|
||||
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 34,
|
||||
|
@@ -160,7 +160,7 @@ struct cam_vfe_bus_ver3_comp_grp_data {
|
||||
struct cam_vfe_bus_ver3_common_data *common_data;
|
||||
|
||||
uint64_t composite_mask;
|
||||
uint32_t comp_done_shift;
|
||||
uint32_t comp_done_mask;
|
||||
uint32_t is_master;
|
||||
uint32_t is_dual;
|
||||
uint32_t dual_slave_core;
|
||||
@@ -1814,7 +1814,7 @@ skip_comp_cfg:
|
||||
common_data->common_reg->ubwc_static_ctrl);
|
||||
}
|
||||
|
||||
bus_irq_reg_mask[CAM_VFE_BUS_VER3_IRQ_REG0] = BIT(rsrc_data->comp_done_shift);
|
||||
bus_irq_reg_mask[CAM_VFE_BUS_VER3_IRQ_REG0] = rsrc_data->comp_done_mask;
|
||||
|
||||
CAM_DBG(CAM_ISP, "Start Done VFE:%d comp_grp:%d bus_irq_mask_0: 0x%X",
|
||||
rsrc_data->common_data->core_index,
|
||||
@@ -1865,7 +1865,7 @@ static int cam_vfe_bus_ver3_handle_comp_done_bottom_half(
|
||||
cam_ife_irq_regs = evt_payload->irq_reg_val;
|
||||
status_0 = cam_ife_irq_regs[CAM_IFE_IRQ_BUS_VER3_REG_STATUS0];
|
||||
|
||||
if (status_0 & BIT(rsrc_data->comp_done_shift)) {
|
||||
if (status_0 & rsrc_data->comp_done_mask) {
|
||||
evt_payload->evt_id = CAM_ISP_HW_EVENT_DONE;
|
||||
rc = CAM_VFE_IRQ_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -1902,7 +1902,7 @@ static int cam_vfe_bus_ver3_init_comp_grp(uint32_t index,
|
||||
rsrc_data->comp_grp_type = index;
|
||||
rsrc_data->common_data = &ver3_bus_priv->common_data;
|
||||
rsrc_data->dual_slave_core = CAM_VFE_BUS_VER3_VFE_CORE_MAX;
|
||||
rsrc_data->comp_done_shift = ver3_hw_info->comp_done_shift[index];
|
||||
rsrc_data->comp_done_mask = ver3_hw_info->comp_done_mask[index];
|
||||
|
||||
if (rsrc_data->comp_grp_type != CAM_VFE_BUS_VER3_COMP_GRP_0 &&
|
||||
rsrc_data->comp_grp_type != CAM_VFE_BUS_VER3_COMP_GRP_1)
|
||||
@@ -2402,7 +2402,7 @@ static int cam_vfe_bus_ver3_handle_vfe_out_done_top_half(uint32_t evt_id,
|
||||
|
||||
status_0 = th_payload->evt_status_arr[CAM_IFE_IRQ_BUS_VER3_REG_STATUS0];
|
||||
|
||||
if (status_0 & BIT(resource_data->comp_done_shift)) {
|
||||
if (status_0 & resource_data->comp_done_mask) {
|
||||
trace_cam_log_event("bufdone", "bufdone_IRQ",
|
||||
status_0, resource_data->comp_grp_type);
|
||||
}
|
||||
|
@@ -212,7 +212,7 @@ struct cam_vfe_bus_ver3_vfe_out_hw_info {
|
||||
* @num_cons_err: Number of constraint errors in list
|
||||
* @constraint_error_list: Static list of all constraint errors
|
||||
* @num_comp_grp: Number of composite groups
|
||||
* @comp_done_shift: Mask shift for comp done mask
|
||||
* @comp_done_mask: Mask shift for comp done mask
|
||||
* @top_irq_shift: Mask shift for top level BUS WR irq
|
||||
* @support_consumed_addr: Indicate if bus support consumed address
|
||||
* @max_out_res: Max vfe out resource value supported for hw
|
||||
@@ -233,7 +233,7 @@ struct cam_vfe_bus_ver3_hw_info {
|
||||
struct cam_vfe_constraint_error_info
|
||||
constraint_error_list[CAM_VFE_BUS_VER3_CONS_ERR_MAX];
|
||||
uint32_t num_comp_grp;
|
||||
uint32_t comp_done_shift[CAM_VFE_BUS_VER3_COMP_GRP_MAX];
|
||||
uint32_t comp_done_mask[CAM_VFE_BUS_VER3_COMP_GRP_MAX];
|
||||
uint32_t top_irq_shift;
|
||||
bool support_consumed_addr;
|
||||
uint32_t max_out_res;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren