mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
media: iris: Add support for HFI_PROP_OPB_ENABLE to control split mode
Add handling for the HFI_PROP_OPB_ENABLE property, which allows enabling or disabling split mode in the firmware. When HFI_PROP_OPB_ENABLE is set to true, the firmware activates split mode for output picture buffers (OPB). The OPB format is determined by the HFI_PROP_COLOR_FORMAT property, supporting NV12 or QC08C formats. Signed-off-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com> Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com> Signed-off-by: Bryan O'Donoghue <bod@kernel.org> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
committed by
Hans Verkuil
parent
bcaaa08dda
commit
7c1f3bd58f
@@ -422,6 +422,20 @@ static int iris_hfi_gen2_set_level(struct iris_inst *inst, u32 plane)
|
||||
sizeof(u32));
|
||||
}
|
||||
|
||||
static int iris_hfi_gen2_set_opb_enable(struct iris_inst *inst, u32 plane)
|
||||
{
|
||||
u32 port = iris_hfi_gen2_get_port(inst, plane);
|
||||
u32 opb_enable = iris_split_mode_enabled(inst);
|
||||
|
||||
return iris_hfi_gen2_session_set_property(inst,
|
||||
HFI_PROP_OPB_ENABLE,
|
||||
HFI_HOST_FLAGS_NONE,
|
||||
port,
|
||||
HFI_PAYLOAD_U32,
|
||||
&opb_enable,
|
||||
sizeof(u32));
|
||||
}
|
||||
|
||||
static int iris_hfi_gen2_set_colorformat(struct iris_inst *inst, u32 plane)
|
||||
{
|
||||
u32 port = iris_hfi_gen2_get_port(inst, plane);
|
||||
@@ -527,6 +541,7 @@ static int iris_hfi_gen2_session_set_config_params(struct iris_inst *inst, u32 p
|
||||
{HFI_PROP_SIGNAL_COLOR_INFO, iris_hfi_gen2_set_colorspace },
|
||||
{HFI_PROP_PROFILE, iris_hfi_gen2_set_profile },
|
||||
{HFI_PROP_LEVEL, iris_hfi_gen2_set_level },
|
||||
{HFI_PROP_OPB_ENABLE, iris_hfi_gen2_set_opb_enable },
|
||||
{HFI_PROP_COLOR_FORMAT, iris_hfi_gen2_set_colorformat },
|
||||
{HFI_PROP_LINEAR_STRIDE_SCANLINE, iris_hfi_gen2_set_linear_stride_scanline },
|
||||
{HFI_PROP_TIER, iris_hfi_gen2_set_tier },
|
||||
|
||||
@@ -91,6 +91,7 @@ enum hfi_seq_header_mode {
|
||||
#define HFI_PROP_BUFFER_MARK 0x0300016c
|
||||
#define HFI_PROP_RAW_RESOLUTION 0x03000178
|
||||
#define HFI_PROP_TOTAL_PEAK_BITRATE 0x0300017C
|
||||
#define HFI_PROP_OPB_ENABLE 0x03000184
|
||||
#define HFI_PROP_COMV_BUFFER_COUNT 0x03000193
|
||||
#define HFI_PROP_END 0x03FFFFFF
|
||||
|
||||
|
||||
@@ -691,6 +691,7 @@ static const u32 sm8550_venc_input_config_params[] = {
|
||||
};
|
||||
|
||||
static const u32 sm8550_vdec_output_config_params[] = {
|
||||
HFI_PROP_OPB_ENABLE,
|
||||
HFI_PROP_COLOR_FORMAT,
|
||||
HFI_PROP_LINEAR_STRIDE_SCANLINE,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user