[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <67250733-63b2-c3b0-146d-84334be4afe2@quicinc.com>
Date: Mon, 25 Aug 2025 11:13:26 +0530
From: Vikash Garodia <quic_vgarodia@...cinc.com>
To: Neil Armstrong <neil.armstrong@...aro.org>,
Dikshita Agarwal
<quic_dikshita@...cinc.com>,
Abhinav Kumar <abhinav.kumar@...ux.dev>,
"Bryan
O'Donoghue" <bryan.odonoghue@...aro.org>,
Mauro Carvalho Chehab
<mchehab@...nel.org>,
Stefan Schmidt <stefan.schmidt@...aro.org>,
"Vedang
Nagar" <quic_vnagar@...cinc.com>,
Hans Verkuil <hverkuil@...nel.org>
CC: <linux-media@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
Renjiang Han <quic_renjiang@...cinc.com>,
Wangao Wang <quic_wangaow@...cinc.com>
Subject: Re: [PATCH v3 00/26] Enable H.264/H.265 encoder support and fixes in
iris driver common code
On 8/22/2025 4:38 PM, Neil Armstrong wrote:
> On 22/08/2025 12:09, Vikash Garodia wrote:
>>
>> On 8/22/2025 1:47 PM, Neil Armstrong wrote:
>>> [ 157.299604] qcom-iris aa00000.video-codec: <VFW_H:CmdDec:265e:a723e008:00>
>>> SetProperty(HFI_PROP_MAX_GOP_FRAMES) --> 0x0000003b
>>> [ 157.311341] qcom-iris aa00000.video-codec: <VFW_H:CmdDec:265e:a723e008:00>
>>> Disabling ONE_SLICE mode, tiling:0 numTile:1 CP:0 SliceDelivery:0
>>> MultiSliceMode:0
>>> [ 157.325847] qcom-iris aa00000.video-codec: <VFW_H:CmdDec:265e:a723e008:00>
>>> HFI_BUFFER_COMMON_INTERNAL_SCRATCH, Driver macro size = 9563648 vs FW HFI macro
>>> size = 7953920 vs FW golden buffer size = 5833728
>>> [ 157.344542] qcom-iris aa00000.video-codec: <VFW_H:CmdDec:265e:a723e008:00>
>>> HFI_BUFFER_COMMON_INTERNAL_SCRATCH_1_NON_COMV, Driver macro size = 299008 vs FW
>>> HFI macro size = 299264 vs FW golden buffer size = 299264
>>> [ 157.363944] qcom-iris aa00000.video-codec: <VFW_E:CmdDec:265e:a723e008:00>
>>> venc_c2Start(3860): Send HFI_CMD_START error response for port 1
>>> [ 157.376855] qcom-iris aa00000.video-codec: <VFW_E:CmdDec:265e:a723e008:00>
>>> VenusVencCodecEmptyThisBuffer(6732): ETB received in wrong state!
>>> [ 157.389836] qcom-iris aa00000.video-codec: <VFW_E:CmdDec:265e:a723e008:00>
>>> VenusVencCodecEmptyThisBuffer(6732): ETB received in wrong state!
>>> [ 157.402827] qcom-iris aa00000.video-codec: <VFW_E:CmdDec:265e:a723e008:00>
>>> VenusVencCodecEmptyThisBuffer(6732): ETB received in wrong state!
>>> [ 157.415816] qcom-iris aa00000.video-codec: <VFW_E:CmdDec:265e:a723e008:00>
>>> VenusVencCodecEmptyThisBuffer(6732): ETB received in wrong state!
>>> [ 157.428832] qcom-iris aa00000.video-codec: session error received 0x1000005:
>>> unknown
>>> [ 157.436848] qcom-iris aa00000.video-codec: session error received 0x1000005:
>>> unknown
>>
>> Thank you for the logs, the issue is due to driver non_comv macro size (299008)
>> is less than firmware requirement (299264). Please try below fix, if that works
>> for SM8650
>>
>> diff --git a/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
>> b/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
>> index 558dba37dbfbc..3247ad736a17c 100644
>> --- a/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
>> +++ b/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
>> @@ -967,7 +967,8 @@ static u32 iris_vpu_enc_non_comv_size(struct iris_inst *inst)
>> if (inst->codec == V4L2_PIX_FMT_HEVC) {
>> lcu_size = 32;
>> return hfi_buffer_non_comv_enc(width, height, num_vpp_pipes,
>> - lcu_size, HFI_CODEC_ENCODE_HEVC);
>> + lcu_size, HFI_CODEC_ENCODE_HEVC) +
>> + SIZE_ONE_SLICE_BUF;
>> }
>>
>> return hfi_buffer_non_comv_enc(width, height, num_vpp_pipes,
>> diff --git a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
>> b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
>> index 1ff1b07ecbaa8..94668c5b3d15f 100644
>> --- a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
>> +++ b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
>> @@ -41,6 +41,7 @@ struct iris_inst;
>> #define SIZE_SLIST_BUF_H265 (BIT(10))
>> #define H265_DISPLAY_BUF_SIZE (3072)
>> #define H265_NUM_FRM_INFO (48)
>> +#define SIZE_ONE_SLICE_BUF 256
>>
>> #define VP9_NUM_FRAME_INFO_BUF 32
>> #define VP9_NUM_PROBABILITY_TABLE_BUF (VP9_NUM_FRAME_INFO_BUF + 4)
>
> Works like a charm !
Good to know it worked for you for SM8650. Appreciate your efforts in bringing
it up on SM8650.
>
> Do you want me to add it to the iri33 buffer size patch I'm preparing ?
This(non comv) change need to go to common buffer calculation. Dikshita will add
in her encoder series.
Regards,
Vikash
>
> Thanks,
> Neil
>
>>
>> Regards,
>> Vikash
>
Powered by blists - more mailing lists