mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
media: qcom: iris: Optimize iris_hfi_gen1_packet_session_set_property
Modify iris_hfi_gen1_packet_session_set_property to simplify size calculations and remove redundant code patterns. Previously, packet->shdr.hdr.size was incremented by sizeof(u32) in every switch case, resulting in repetitive and less maintainable logic. Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK Signed-off-by: Wangao Wang <wangao.wang@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
This commit is contained in:
parent
e0507d45b3
commit
df5418d5f9
|
|
@ -485,7 +485,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
{
|
||||
void *prop_data = &packet->data[1];
|
||||
|
||||
packet->shdr.hdr.size = sizeof(*packet);
|
||||
packet->shdr.hdr.size = sizeof(*packet) + sizeof(ptype);
|
||||
packet->shdr.hdr.pkt_type = HFI_CMD_SESSION_SET_PROPERTY;
|
||||
packet->shdr.session_id = inst->session_id;
|
||||
packet->num_properties = 1;
|
||||
|
|
@ -498,14 +498,14 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
fsize->buffer_type = in->buffer_type;
|
||||
fsize->height = in->height;
|
||||
fsize->width = in->width;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*fsize);
|
||||
packet->shdr.hdr.size += sizeof(*fsize);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VIDEOCORES_USAGE: {
|
||||
struct hfi_videocores_usage_type *in = pdata, *cu = prop_data;
|
||||
|
||||
cu->video_core_enable_mask = in->video_core_enable_mask;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*cu);
|
||||
packet->shdr.hdr.size += sizeof(*cu);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SELECT: {
|
||||
|
|
@ -514,7 +514,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
hfi->buffer_type = in->buffer_type;
|
||||
hfi->format = in->format;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*hfi);
|
||||
packet->shdr.hdr.size += sizeof(*hfi);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_CONSTRAINTS_INFO: {
|
||||
|
|
@ -533,7 +533,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
info->plane_format[1].buffer_alignment = 256;
|
||||
}
|
||||
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*info);
|
||||
packet->shdr.hdr.size += sizeof(*info);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_BUFFER_COUNT_ACTUAL: {
|
||||
|
|
@ -543,7 +543,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
count->type = in->type;
|
||||
count->count_actual = in->count_actual;
|
||||
count->count_min_host = in->count_min_host;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*count);
|
||||
packet->shdr.hdr.size += sizeof(*count);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VDEC_MULTI_STREAM: {
|
||||
|
|
@ -552,7 +552,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
multi->buffer_type = in->buffer_type;
|
||||
multi->enable = in->enable;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*multi);
|
||||
packet->shdr.hdr.size += sizeof(*multi);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_BUFFER_SIZE_ACTUAL: {
|
||||
|
|
@ -560,7 +560,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
sz->size = in->size;
|
||||
sz->type = in->type;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*sz);
|
||||
packet->shdr.hdr.size += sizeof(*sz);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_WORK_ROUTE: {
|
||||
|
|
@ -568,7 +568,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
u32 *in = pdata;
|
||||
|
||||
wr->video_work_route = *in;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*wr);
|
||||
packet->shdr.hdr.size += sizeof(*wr);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_WORK_MODE: {
|
||||
|
|
@ -576,7 +576,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
u32 *in = pdata;
|
||||
|
||||
wm->video_work_mode = *in;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*wm);
|
||||
packet->shdr.hdr.size += sizeof(*wm);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_PROFILE_LEVEL_CURRENT: {
|
||||
|
|
@ -592,7 +592,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
/* Level not supported, falling back to 1 */
|
||||
pl->level = 1;
|
||||
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*pl);
|
||||
packet->shdr.hdr.size += sizeof(*pl);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER: {
|
||||
|
|
@ -600,7 +600,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
u32 *in = pdata;
|
||||
|
||||
en->enable = *in;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*en);
|
||||
packet->shdr.hdr.size += sizeof(*en);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE: {
|
||||
|
|
@ -608,7 +608,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
brate->bitrate = in->bitrate;
|
||||
brate->layer_id = in->layer_id;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*brate);
|
||||
packet->shdr.hdr.size += sizeof(*brate);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VENC_RATE_CONTROL: {
|
||||
|
|
@ -627,7 +627,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
}
|
||||
|
||||
packet->data[1] = *in;
|
||||
packet->shdr.hdr.size += sizeof(u32) * 2;
|
||||
packet->shdr.hdr.size += sizeof(u32);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VENC_H264_ENTROPY_CONTROL: {
|
||||
|
|
@ -637,7 +637,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
entropy->entropy_mode = *in;
|
||||
if (entropy->entropy_mode == HFI_H264_ENTROPY_CABAC)
|
||||
entropy->cabac_model = HFI_H264_CABAC_MODEL_0;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*entropy);
|
||||
packet->shdr.hdr.size += sizeof(*entropy);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VENC_SESSION_QP_RANGE_V2: {
|
||||
|
|
@ -662,7 +662,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
((max_qp & 0xFF) << 16);
|
||||
range->min_qp.enable = 7;
|
||||
range->max_qp.enable = 7;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*range);
|
||||
packet->shdr.hdr.size += sizeof(*range);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_FRAME_RATE: {
|
||||
|
|
@ -671,7 +671,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
frate->buffer_type = in->buffer_type;
|
||||
frate->framerate = in->framerate;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*frate);
|
||||
packet->shdr.hdr.size += sizeof(*frate);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_INFO: {
|
||||
|
|
@ -683,7 +683,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
plane_actual_info->plane_format[0] = in->plane_format[0];
|
||||
if (in->num_planes > 1)
|
||||
plane_actual_info->plane_format[1] = in->plane_format[1];
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*plane_actual_info);
|
||||
packet->shdr.hdr.size += sizeof(*plane_actual_info);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH: {
|
||||
|
|
@ -691,7 +691,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
intra_refresh->mode = in->mode;
|
||||
intra_refresh->mbs = in->mbs;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*intra_refresh);
|
||||
packet->shdr.hdr.size += sizeof(*intra_refresh);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VENC_LTRMODE: {
|
||||
|
|
@ -700,7 +700,7 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
ltr_mode->mode = in->mode;
|
||||
ltr_mode->count = in->count;
|
||||
ltr_mode->trust_mode = in->trust_mode;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*ltr_mode);
|
||||
packet->shdr.hdr.size += sizeof(*ltr_mode);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VENC_USELTRFRAME: {
|
||||
|
|
@ -709,14 +709,14 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
ltr_use->frames = in->frames;
|
||||
ltr_use->ref_ltr = in->ref_ltr;
|
||||
ltr_use->use_constrnt = in->use_constrnt;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*ltr_use);
|
||||
packet->shdr.hdr.size += sizeof(*ltr_use);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VENC_MARKLTRFRAME: {
|
||||
struct hfi_ltr_mark *in = pdata, *ltr_mark = prop_data;
|
||||
|
||||
ltr_mark->mark_frame = in->mark_frame;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*ltr_mark);
|
||||
packet->shdr.hdr.size += sizeof(*ltr_mark);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VENC_INTRA_PERIOD: {
|
||||
|
|
@ -724,21 +724,21 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_session_set_property_pkt *p
|
|||
|
||||
intra_period->pframes = in->pframes;
|
||||
intra_period->bframes = in->bframes;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(*intra_period);
|
||||
packet->shdr.hdr.size += sizeof(*intra_period);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_PARAM_VENC_HIER_P_MAX_NUM_ENH_LAYER: {
|
||||
u32 *in = pdata;
|
||||
|
||||
packet->data[1] = *in;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(u32);
|
||||
packet->shdr.hdr.size += sizeof(u32);
|
||||
break;
|
||||
}
|
||||
case HFI_PROPERTY_CONFIG_VENC_HIER_P_ENH_LAYER: {
|
||||
u32 *in = pdata;
|
||||
|
||||
packet->data[1] = *in;
|
||||
packet->shdr.hdr.size += sizeof(u32) + sizeof(u32);
|
||||
packet->shdr.hdr.size += sizeof(u32);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user