On 10/18/2024 1:34 AM, Fritz Koenig wrote: > Move the dynamic bitrate updating functionality to a separate function > so that it can be shared. > > No functionality changes. > > Signed-off-by: Fritz Koenig <frkoenig@xxxxxxxxxxxx> > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > --- > drivers/media/platform/qcom/venus/venc_ctrls.c | 34 +++++++++++++++----------- > 1 file changed, 20 insertions(+), 14 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/venc_ctrls.c b/drivers/media/platform/qcom/venus/venc_ctrls.c > index d9d2a293f3ef..3e1f6f26eddf 100644 > --- a/drivers/media/platform/qcom/venus/venc_ctrls.c > +++ b/drivers/media/platform/qcom/venus/venc_ctrls.c > @@ -67,12 +67,28 @@ static int venc_calc_bpframes(u32 gop_size, u32 conseq_b, u32 *bf, u32 *pf) > return 0; > } > > +static int dynamic_bitrate_update(struct venus_inst *inst, u32 bitrate, > + u32 layer_id) > +{ > + int ret = 0; > + > + mutex_lock(&inst->lock); > + if (inst->streamon_out && inst->streamon_cap) { > + u32 ptype = HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE; > + struct hfi_bitrate brate = { .bitrate = bitrate, .layer_id = layer_id }; > + > + ret = hfi_session_set_property(inst, ptype, &brate); > + } > + mutex_unlock(&inst->lock); > + > + return ret; > +} > + > static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl) > { > struct venus_inst *inst = ctrl_to_inst(ctrl); > struct venc_controls *ctr = &inst->controls.enc; > struct hfi_enable en = { .enable = 1 }; > - struct hfi_bitrate brate; > struct hfi_ltr_use ltr_use; > struct hfi_ltr_mark ltr_mark; > u32 bframes; > @@ -85,19 +101,9 @@ static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl) > break; > case V4L2_CID_MPEG_VIDEO_BITRATE: > ctr->bitrate = ctrl->val; > - mutex_lock(&inst->lock); > - if (inst->streamon_out && inst->streamon_cap) { > - ptype = HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE; > - brate.bitrate = ctr->bitrate; > - brate.layer_id = 0; > - > - ret = hfi_session_set_property(inst, ptype, &brate); > - if (ret) { > - mutex_unlock(&inst->lock); > - return ret; > - } > - } > - mutex_unlock(&inst->lock); > + ret = dynamic_bitrate_update(inst, ctr->bitrate, 0); > + if (ret) > + return ret; > break; > case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK: > ctr->bitrate_peak = ctrl->val; > Reviewed-by: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>