msm: camera: isp: Enable line done config for SFE RDI0-2
RDI0-2 clients are used in conjunction with fetch engine for sHDR/FS enable line done for these clients. As opposed to using WM index to enable this, update header to indicate that this has to enabled for select clients. CRs-Fixed: 3068277 Change-Id: I7ce4cbbddc9eb11174a39c4df93bc82e5413317f Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Dieser Commit ist enthalten in:
@@ -948,6 +948,7 @@ static struct cam_sfe_bus_wr_hw_info sfe680_bus_wr_hw_info = {
|
||||
.mid[0] = 25,
|
||||
.num_wm = 1,
|
||||
.wm_idx = 8,
|
||||
.en_line_done = 1,
|
||||
.name = "RDI_0",
|
||||
},
|
||||
{
|
||||
@@ -958,6 +959,7 @@ static struct cam_sfe_bus_wr_hw_info sfe680_bus_wr_hw_info = {
|
||||
.mid[0] = 26,
|
||||
.num_wm = 1,
|
||||
.wm_idx = 9,
|
||||
.en_line_done = 1,
|
||||
.name = "RDI_1",
|
||||
},
|
||||
{
|
||||
@@ -968,6 +970,7 @@ static struct cam_sfe_bus_wr_hw_info sfe680_bus_wr_hw_info = {
|
||||
.mid[0] = 27,
|
||||
.num_wm = 1,
|
||||
.wm_idx = 10,
|
||||
.en_line_done = 1,
|
||||
.name = "RDI_2",
|
||||
},
|
||||
{
|
||||
|
@@ -1295,6 +1295,7 @@ static struct cam_sfe_bus_wr_hw_info sfe780_bus_wr_hw_info = {
|
||||
.mid[0] = 45,
|
||||
.num_wm = 1,
|
||||
.wm_idx = 11,
|
||||
.en_line_done = 1,
|
||||
.name = "RDI_0",
|
||||
},
|
||||
{
|
||||
@@ -1305,6 +1306,7 @@ static struct cam_sfe_bus_wr_hw_info sfe780_bus_wr_hw_info = {
|
||||
.mid[0] = 46,
|
||||
.num_wm = 1,
|
||||
.wm_idx = 12,
|
||||
.en_line_done = 1,
|
||||
.name = "RDI_1",
|
||||
},
|
||||
{
|
||||
@@ -1315,6 +1317,7 @@ static struct cam_sfe_bus_wr_hw_info sfe780_bus_wr_hw_info = {
|
||||
.mid[0] = 47,
|
||||
.num_wm = 1,
|
||||
.wm_idx = 13,
|
||||
.en_line_done = 1,
|
||||
.name = "RDI_2",
|
||||
},
|
||||
{
|
||||
|
@@ -141,6 +141,7 @@ struct cam_sfe_bus_wr_wm_resource_data {
|
||||
bool init_cfg_done;
|
||||
bool hfr_cfg_done;
|
||||
bool use_wm_pack;
|
||||
bool en_line_done;
|
||||
};
|
||||
|
||||
struct cam_sfe_bus_wr_comp_grp_data {
|
||||
@@ -863,8 +864,7 @@ static int cam_sfe_bus_start_wm(struct cam_isp_resource_node *wm_res)
|
||||
common_data->mem_base + rsrc_data->hw_regs->packer_cfg);
|
||||
|
||||
/* configure line_done_cfg for RDI0-2 */
|
||||
if ((rsrc_data->index >= 8) &&
|
||||
(rsrc_data->index <= 10)) {
|
||||
if (rsrc_data->en_line_done) {
|
||||
CAM_DBG(CAM_SFE, "configure line_done_cfg 0x%x for WM: %d",
|
||||
rsrc_data->common_data->line_done_cfg,
|
||||
rsrc_data->index);
|
||||
@@ -944,7 +944,8 @@ static int cam_sfe_bus_init_wm_resource(uint32_t index,
|
||||
struct cam_sfe_bus_wr_priv *bus_priv,
|
||||
struct cam_sfe_bus_wr_hw_info *hw_info,
|
||||
struct cam_isp_resource_node *wm_res,
|
||||
uint8_t *wm_name)
|
||||
uint8_t *wm_name,
|
||||
bool en_line_done)
|
||||
{
|
||||
struct cam_sfe_bus_wr_wm_resource_data *rsrc_data;
|
||||
|
||||
@@ -957,6 +958,7 @@ static int cam_sfe_bus_init_wm_resource(uint32_t index,
|
||||
wm_res->res_priv = rsrc_data;
|
||||
|
||||
rsrc_data->index = index;
|
||||
rsrc_data->en_line_done = en_line_done;
|
||||
rsrc_data->hw_regs = &hw_info->bus_client_reg[index];
|
||||
rsrc_data->common_data = &bus_priv->common_data;
|
||||
|
||||
@@ -1943,7 +1945,8 @@ static int cam_sfe_bus_init_sfe_out_resource(
|
||||
hw_info->sfe_out_hw_info[index].wm_idx,
|
||||
bus_priv, hw_info,
|
||||
&rsrc_data->wm_res[i],
|
||||
hw_info->sfe_out_hw_info[index].name);
|
||||
hw_info->sfe_out_hw_info[index].name,
|
||||
hw_info->sfe_out_hw_info[index].en_line_done);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SFE, "SFE:%d init WM:%d failed rc:%d",
|
||||
bus_priv->common_data.core_index, i, rc);
|
||||
|
@@ -138,6 +138,7 @@ struct cam_sfe_bus_sfe_out_hw_info {
|
||||
uint32_t mid[CAM_SFE_BUS_MAX_MID_PER_PORT];
|
||||
uint32_t num_wm;
|
||||
uint32_t wm_idx;
|
||||
uint32_t en_line_done;
|
||||
uint8_t *name;
|
||||
};
|
||||
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren