mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 20:58:14 -04:00
media: atomisp: drop ia_css_pipe_update_qos_ext_mapped_arg
This function is not used. Drop it. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
@@ -479,29 +479,6 @@ ia_css_pipe_get_qos_ext_state(struct ia_css_pipe *pipe,
|
||||
u32 fw_handle,
|
||||
bool *enable);
|
||||
|
||||
/* ISP2401 */
|
||||
/* @brief Update mapped CSS and ISP arguments for QoS pipe during SP runtime.
|
||||
* @param[in] pipe Pipe handle.
|
||||
* @param[in] fw_handle Extension firmware Handle (ia_css_fw_info.handle).
|
||||
* @param[in] css_seg Parameter memory descriptors for CSS segments.
|
||||
* @param[in] isp_seg Parameter memory descriptors for ISP segments.
|
||||
*
|
||||
* @return
|
||||
* 0 : Success
|
||||
* -EINVAL : Invalid Parameters
|
||||
* -EBUSY : Inactive QOS Pipe
|
||||
* (No active stream with this pipe)
|
||||
*
|
||||
* \deprecated{This interface is used to temporarily support a late-developed,
|
||||
* specific use-case on a specific IPU2 platform. It will not be supported or
|
||||
* maintained on IPU3 or further.}
|
||||
*/
|
||||
int
|
||||
ia_css_pipe_update_qos_ext_mapped_arg(struct ia_css_pipe *pipe,
|
||||
u32 fw_handle,
|
||||
struct ia_css_isp_param_css_segments *css_seg,
|
||||
struct ia_css_isp_param_isp_segments *isp_seg);
|
||||
|
||||
/* @brief Get selected configuration settings
|
||||
* @param[in] pipe The pipe.
|
||||
* @param[out] config Configuration settings.
|
||||
|
||||
@@ -10089,88 +10089,6 @@ ia_css_pipe_get_qos_ext_state(struct ia_css_pipe *pipe, uint32_t fw_handle,
|
||||
return err;
|
||||
}
|
||||
|
||||
/* ISP2401 */
|
||||
int
|
||||
ia_css_pipe_update_qos_ext_mapped_arg(struct ia_css_pipe *pipe,
|
||||
u32 fw_handle,
|
||||
struct ia_css_isp_param_css_segments *css_seg,
|
||||
struct ia_css_isp_param_isp_segments *isp_seg)
|
||||
{
|
||||
unsigned int HIVE_ADDR_sp_group;
|
||||
static struct sh_css_sp_group sp_group;
|
||||
static struct sh_css_sp_stage sp_stage;
|
||||
static struct sh_css_isp_stage isp_stage;
|
||||
const struct ia_css_fw_info *fw;
|
||||
unsigned int thread_id;
|
||||
struct ia_css_pipeline_stage *stage;
|
||||
int err = 0;
|
||||
int stage_num = 0;
|
||||
enum ia_css_isp_memories mem;
|
||||
bool enabled;
|
||||
|
||||
IA_CSS_ENTER("");
|
||||
|
||||
fw = &sh_css_sp_fw;
|
||||
|
||||
/* Parameter Check */
|
||||
if (!pipe || !pipe->stream) {
|
||||
IA_CSS_ERROR("Invalid Pipe.");
|
||||
err = -EINVAL;
|
||||
} else if (!(pipe->config.acc_extension)) {
|
||||
IA_CSS_ERROR("Invalid Pipe (No Extension Firmware).");
|
||||
err = -EINVAL;
|
||||
} else if (!sh_css_sp_is_running()) {
|
||||
IA_CSS_ERROR("Leaving: queue unavailable.");
|
||||
err = -EBUSY;
|
||||
} else {
|
||||
/* Query the thread_id and stage_num corresponding to the Extension firmware */
|
||||
ia_css_pipeline_get_sp_thread_id(ia_css_pipe_get_pipe_num(pipe), &thread_id);
|
||||
err = ia_css_pipeline_get_stage_from_fw(&pipe->pipeline, fw_handle, &stage);
|
||||
if (!err) {
|
||||
/* Get the Extension State */
|
||||
enabled = (SH_CSS_QOS_STAGE_IS_ENABLED(&sh_css_sp_group.pipe[thread_id],
|
||||
stage->stage_num)) ? true : false;
|
||||
/* Update mapped arg only when extension stage is not enabled */
|
||||
if (enabled) {
|
||||
IA_CSS_ERROR("Leaving: cannot update when stage is enabled.");
|
||||
err = -EBUSY;
|
||||
} else {
|
||||
stage_num = stage->stage_num;
|
||||
|
||||
HIVE_ADDR_sp_group = fw->info.sp.group;
|
||||
sp_dmem_load(SP0_ID,
|
||||
(unsigned int)sp_address_of(sp_group),
|
||||
&sp_group,
|
||||
sizeof(struct sh_css_sp_group));
|
||||
hmm_load(sp_group.pipe[thread_id].sp_stage_addr[stage_num],
|
||||
&sp_stage, sizeof(struct sh_css_sp_stage));
|
||||
|
||||
hmm_load(sp_stage.isp_stage_addr,
|
||||
&isp_stage, sizeof(struct sh_css_isp_stage));
|
||||
|
||||
for (mem = 0; mem < N_IA_CSS_ISP_MEMORIES; mem++) {
|
||||
isp_stage.mem_initializers.params[IA_CSS_PARAM_CLASS_PARAM][mem].address =
|
||||
css_seg->params[IA_CSS_PARAM_CLASS_PARAM][mem].address;
|
||||
isp_stage.mem_initializers.params[IA_CSS_PARAM_CLASS_PARAM][mem].size =
|
||||
css_seg->params[IA_CSS_PARAM_CLASS_PARAM][mem].size;
|
||||
isp_stage.binary_info.mem_initializers.params[IA_CSS_PARAM_CLASS_PARAM][mem].address
|
||||
=
|
||||
isp_seg->params[IA_CSS_PARAM_CLASS_PARAM][mem].address;
|
||||
isp_stage.binary_info.mem_initializers.params[IA_CSS_PARAM_CLASS_PARAM][mem].size
|
||||
=
|
||||
isp_seg->params[IA_CSS_PARAM_CLASS_PARAM][mem].size;
|
||||
}
|
||||
|
||||
hmm_store(sp_stage.isp_stage_addr,
|
||||
&isp_stage,
|
||||
sizeof(struct sh_css_isp_stage));
|
||||
}
|
||||
}
|
||||
}
|
||||
IA_CSS_LEAVE("err:%d handle:%u", err, fw_handle);
|
||||
return err;
|
||||
}
|
||||
|
||||
static void
|
||||
sh_css_hmm_buffer_record_init(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user