mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	Bryan O'Donoghue <bod@kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	cros-qcom-dts-watchers@chromium.org,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Stanimir Varbanov <stanimir.varbanov@linaro.org>,
	linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	Stephan Gerhold <stephan.gerhold@linaro.org>,
	Douglas Anderson <dianders@chromium.org>,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Subject: Re: [PATCH v3 0/4] media: qcom: flip the switch between Venus and Iris drivers
Date: Thu, 29 Jan 2026 20:35:10 +0530	[thread overview]
Message-ID: <025b5070-676c-4284-9c30-1fd195d8a549@oss.qualcomm.com> (raw)
In-Reply-To: <i37aqxqtb4dovx3lpjm3xmkbcwlpiyfe7blzz4kirme7tegbb5@hgztyetld6lf>


On 1/29/2026 8:02 PM, Dmitry Baryshkov wrote:
> On Thu, Jan 29, 2026 at 03:32:28PM +0530, Vikash Garodia wrote:
>>
>> On 1/29/2026 5:51 AM, Dmitry Baryshkov wrote:
>>> On Wed, Jan 28, 2026 at 06:35:01PM +0530, Vikash Garodia wrote:
>>>>
>>>> On 1/27/2026 5:52 PM, Dmitry Baryshkov wrote:
>>>>> As the Venus and Iris drivers are close to the "feature parity" for the
>>>>> common platforms (SC7280, SM8250), in order to get more attention to
>>>>> squashing bugs from the Iris driver, flip the switch and default to the
>>>>> Iris driver if both are enabled. The Iris driver has several
>>>>> regressions, but hopefully they can be fixed through the development
>>>>> cycle by the respective team. Also it is better to fail the test than
>>>>> crash the device (which Venus driver does a lot).
>>>>>
>>>>> Note: then intention is to land this in 6.21, which might let us to
>>>>> drop those platforms from the Venus driver in 6.22+.
>>>>>
>>>>> Testing methodology: fluster test-suite, single-threaded mode, SM8250
>>>>> device (RB5).
>>>>
>>>> Could you run fluster on SC7280 as well ? Also please share the v4l2
>>>> compliance results.
>>>
>>> Okay, the SC7280 is a bit more interesting. For H.264 and VP9 the
>>> results are the same. For H.265 Iris errors out for all tests except for
>>> the one, WPP_E_ericsson_MAIN_2.
>>>
>>> The kernel prints the following message:
>>>
>>> [   82.573112] qcom-iris aa00000.video-codec: session error for command: d0000000, event id:1009, session id:52ef2000
>>>
>>
>> 0x1009 corresponds to HFI_ERR_SESSION_INSUFFICIENT_RESOURCES
>>
>> Below patch would enable firmware logs and make it print in kernel logs, you
>> can apply and share to know more about insufficient resource error.
> 
> Added it. BTW: would it make sense to land it in some way (I saw that
> earlier you posted the same one for gen2). Would it make sense to land
> it in some way upstram?

yes, for sure. It was pending, before we enable, to check firmware do 
not emit any default message which are type "err | warn" and those gets 
emitted in kernel logs everytime, even in success cases.

> 
> Anyway:
> 
> $ gst-launch-1.0 --no-fault filesrc location=/home/debian/fluster/fluster/../resources/JCT-VC-HEVC_V1/AMP_A_Samsung_7/AMP_A_Samsung_7.bin ! parsebin ! v4l2h265dec ! video/x-raw ! videoconvert dither=none ! video/x-raw,format=I420 ! videocodectestsink -m
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> Got message #19 from element "videocodectestsink0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #20 from element "capsfilter1" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #21 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #22 from element "capsfilter0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #23 from element "v4l2h265dec0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #24 from element "typefind" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #25 from element "parsebin0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #26 from element "filesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #27 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
> Got message #29 from element "capsfilter1" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #30 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #31 from element "capsfilter0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #32 from element "v4l2h265dec0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #35 from pad "typefind:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstTypeFindElement\)\ typefind", object=(GstTask)"\(GstTask\)\ typefind:sink";
> Got message #36 from element "typefind" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #37 from element "parsebin0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #38 from element "filesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #39 from pad "typefind:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstTypeFindElement\)\ typefind", object=(GstTask)"\(GstTask\)\ typefind:sink";
> Got message #51 from element "h265parse0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
> Got message #67 from pad "h265parse0:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstH265Parse\)\ h265parse0", object=(GstTask)"\(GstTask\)\ task1";
> Got message #68 from element "h265parse0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
> Got message #69 from pad "h265parse0:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstH265Parse\)\ h265parse0", object=(GstTask)"\(GstTask\)\ h265parse0:sink";
> Got message #74 from element "parsebin0" (stream-collection): GstMessageStreamCollection, collection=(GstStreamCollection)"\(GstStreamCollection\)\ unparented";
> Got message #70 from element "pipeline0" (stream-start): GstMessageStreamStart, group-id=(uint)2;
> Got message #83 from pad "v4l2h265dec0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(v4l2h265dec\)\ v4l2h265dec0", object=(GstTask)"\(GstTask\)\ task2";
> ERROR: from element /GstPipeline:pipeline0/GstParseBin:parsebin0/GstH265Parse:h265parse0: Internal data stream error.
> Additional debug info:
> ../libs/gst/base/gstbaseparse.c(3703): gst_base_parse_loop (): /GstPipeline:pipeline0/GstParseBin:parsebin0/GstH265Parse:h265parse0:
> streaming stopped, reason error (-5)
> ERROR: pipeline doesn't want to preroll.
> Got message #85 from pad "v4l2h265dec0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(v4l2h265dec\)\ v4l2h265dec0", object=(GstTask)"\(GstTask\)\ v4l2h265dec0:src";
> Setting pipeline to NULL ...
> ERROR: from element /GstPipeline:pipeline0/v4l2h265dec:v4l2h265dec0: Could not read from resource.
> Additional debug info:
> ../sys/v4l2/gstv4l2object.c(6253): gst_v4l2_object_poll (): /GstPipeline:pipeline0/v4l2h265dec:v4l2h265dec0:
> poll error 1: Success (0)
> ERROR: pipeline doesn't want to preroll.
> Freeing pipeline ...
> 
> 
<snip>

> [   68.592482] qcom-iris aa00000.video-codec:
> [   68.592482] <VFW_M:HostDr:265d:6eea4000:00000000> Set buffer type 0x7 addr 0xd0000000 num 1 size 135967744
> [   68.605612] qcom-iris aa00000.video-codec:
> [   68.605612] <VFW_H:HostDr:265d:6eea4000:00000000> HFI_BUFFER_COMMON_INTERNAL_SCRATCH_1, Driver macro size = 135967744 vs FW HFI macro size = 136623360 vs FW golden buffer size = 13640960
> [   68.616954] qcom-iris aa00000.video-codec:
> [   68.616954] <VFW_E:HostDr:265d:6eea4000:00000000> vDec_SetBuffers(2017): Dec_SetBuffers, Insufficient 7 buffer

One of the internal buffer size (135967744 bytes) fails to meet the size 
desired by firmware (136623360 bytes) to decode this specific test 
vector, hence resource insufficient.

We need to compare if iris is calculating any les size for scratch_1.

scratch_1 venus - 
https://elixir.bootlin.com/linux/v6.19-rc5/source/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c#L647

scratch_1 iris - 
https://elixir.bootlin.com/linux/v6.19-rc5/source/drivers/media/platform/qcom/iris/iris_vpu_buffer.c#L552

> [   68.628259] qcom-iris aa00000.video-codec:
> [   68.628259] <VFW_L:HostDr:unkn:--------:-> Host cmd: HFI_CMD_SESSION_LOAD_RESOURCES
> [   68.640602] qcom-iris aa00000.video-codec:
> [   68.640602] <VFW_L:HostDr:265d:6eea4000:00000000> Output2 Dimensions 1:1 : NO_SCALING
> [   68.653195] qcom-iris aa00000.video-codec:
> [   68.653195] <VFW_E:HostDr:265d:6eea4000:00000000> vDec_LoadResources(1392): Load Resources Command received without complete buffer set 16/14
> [   68.665510] qcom-iris aa00000.video-codec:
> [   68.665510] <VFW_L:HostDr:265d:6eea4000:00000000> Load Resource with core id: 0
> [   68.678699] qcom-iris aa00000.video-codec:
> [   68.678699] <VFW_M:HostDr:265d:6eea4000:00000000> cabac_direct_mode = 0
> [   68.692300] qcom-iris aa00000.video-codec:
> [   68.692300] <VFW_E:HostDr:265d:6eea4000:00000000> vDec_AttachInternalBuffers(1760): mem->vsp_buf: pty->size_vsp:461056,total_size:0
> [   68.704271] qcom-iris aa00000.video-codec:
> [   68.704271] <VFW_E:HostDr:265d:6eea4000:00000000> vDec_LoadResources(1486): Load Resources failed with error code: 4105 due to internal buffer attachment
> [   68.722196] qcom-iris aa00000.video-codec:

...
> [   68.892229] qcom-iris aa00000.video-codec: session error for command: d0000000, event id:1009, session id:6eea4000

Regards,
Vikash


      reply	other threads:[~2026-01-29 15:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-27 12:22 Dmitry Baryshkov
2026-01-27 12:23 ` [PATCH v3 1/4] arm64: dts: qcom: sc7280-chrome-common: disable Venus Dmitry Baryshkov
2026-01-28 11:10   ` Krzysztof Kozlowski
2026-01-27 12:23 ` [PATCH v3 2/4] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support Dmitry Baryshkov
2026-01-28 11:09   ` Krzysztof Kozlowski
2026-01-28 12:45   ` Vikash Garodia
2026-01-27 12:23 ` [PATCH v3 3/4] media: dt-bindings: qcom-sc7180-venus: move video-firmware here Dmitry Baryshkov
2026-01-28 11:10   ` Krzysztof Kozlowski
2026-01-28 12:50   ` Vikash Garodia
2026-01-27 12:23 ` [PATCH v3 4/4] media: qcom: venus: flip the venus/iris switch Dmitry Baryshkov
2026-01-28 13:05   ` Vikash Garodia
2026-01-29  5:50   ` Dikshita Agarwal
2026-01-31 11:12     ` Dmitry Baryshkov
2026-01-28 13:05 ` [PATCH v3 0/4] media: qcom: flip the switch between Venus and Iris drivers Vikash Garodia
2026-01-29  0:21   ` Dmitry Baryshkov
2026-01-29 10:02     ` Vikash Garodia
2026-01-29 14:32       ` Dmitry Baryshkov
2026-01-29 15:05         ` Vikash Garodia [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=025b5070-676c-4284-9c30-1fd195d8a549@oss.qualcomm.com \
    --to=vikash.garodia@oss.qualcomm.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=andersson@kernel.org \
    --cc=bod@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=cros-qcom-dts-watchers@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=dikshita.agarwal@oss.qualcomm.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=stanimir.varbanov@linaro.org \
    --cc=stephan.gerhold@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®