<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/media/platform/qcom/iris/iris_vb2.c, branch linux-7.0.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.0.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.0.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-01-20T13:00:12+00:00</updated>
<entry>
<title>media: iris: Prevent output buffer queuing before stream-on completes</title>
<updated>2026-01-20T13:00:12+00:00</updated>
<author>
<name>Vishnu Reddy</name>
<email>busanna.reddy@oss.qualcomm.com</email>
</author>
<published>2025-12-29T06:31:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2c73cfd0cfc44ffe331ccb81f6ac45fc399d9ddb'/>
<id>urn:sha1:2c73cfd0cfc44ffe331ccb81f6ac45fc399d9ddb</id>
<content type='text'>
During normal playback, stream-on for input is followed by output, and
only after input stream-on does actual streaming begin. However, when
gst-play performs a seek, both input and output streams are stopped,
and on restart, output stream-on occurs first. At this point, firmware
has not yet started streaming. Queuing output buffers before the firmware
begins streaming causes it to process buffers in an invalid state, leading
to an error response. These buffers are returned to the driver as errors,
forcing the driver into an error state and stopping playback.

Fix this by deferring output buffer queuing until stream-on completes.
Input buffers can still be queued before stream-on as required.

Fixes: 92e007ca5ab6 ("media: iris: Add V4L2 streaming support for encoder video device")
Signed-off-by: Vishnu Reddy &lt;busanna.reddy@oss.qualcomm.com&gt;
Signed-off-by: Dikshita Agarwal &lt;dikshita.agarwal@oss.qualcomm.com&gt;
Reviewed-by: Vikash Garodia &lt;vikash.garodia@oss.qualcomm.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>Revert "media: iris: Add sanity check for stop streaming"</title>
<updated>2026-01-20T13:00:12+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>dikshita.agarwal@oss.qualcomm.com</email>
</author>
<published>2025-12-29T06:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=370e19042fb8ac68109f8bdb0fdd8118baf39318'/>
<id>urn:sha1:370e19042fb8ac68109f8bdb0fdd8118baf39318</id>
<content type='text'>
This reverts commit ad699fa78b59241c9d71a8cafb51525f3dab04d4.

Revert the check that skipped stop_streaming when the instance was in
IRIS_INST_ERROR, as it caused multiple regressions:

1. Buffers were not returned to vb2 when the instance was already in
   error state, triggering warnings in the vb2 core because buffer
   completion was skipped.

2. If a session failed early (e.g. unsupported configuration), the
   instance transitioned to IRIS_INST_ERROR. When userspace attempted
   to stop streaming for cleanup, stop_streaming was skipped due to the
   added check, preventing proper teardown and leaving the firmware
   in an inconsistent state.

Fixes: ad699fa78b59 ("media: iris: Add sanity check for stop streaming")
Signed-off-by: Dikshita Agarwal &lt;dikshita.agarwal@oss.qualcomm.com&gt;
Reviewed-by: Vikash Garodia &lt;vikash.garodia@oss.qualcomm.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Add sanity check for stop streaming</title>
<updated>2025-11-06T10:18:10+00:00</updated>
<author>
<name>Wangao Wang</name>
<email>wangao.wang@oss.qualcomm.com</email>
</author>
<published>2025-10-27T09:35:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ad699fa78b59241c9d71a8cafb51525f3dab04d4'/>
<id>urn:sha1:ad699fa78b59241c9d71a8cafb51525f3dab04d4</id>
<content type='text'>
Add sanity check in iris_vb2_stop_streaming. If inst-&gt;state is
already IRIS_INST_ERROR, we should skip the stream_off operation
because it would still send packets to the firmware.

In iris_kill_session, inst-&gt;state is set to IRIS_INST_ERROR and
session_close is executed, which will kfree(inst_hfi_gen2-&gt;packet).
If stop_streaming is called afterward, it will cause a crash.

Fixes: 11712ce70f8e5 ("media: iris: implement vb2 streaming ops")
Cc: stable@vger.kernel.org
Reviewed-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt;
Reviewed-by: Dikshita Agarwal &lt;dikshita.agarwal@oss.qualcomm.com&gt;
Signed-off-by: Wangao Wang &lt;wangao.wang@oss.qualcomm.com&gt;
Reviewed-by: Vikash Garodia &lt;vikash.garodia@oss.qualcomm.com&gt;
[bod: remove qcom from patch title]
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Add support for buffer management ioctls for encoder device</title>
<updated>2025-09-10T07:02:46+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8cefa0ac93a8cb94ff9e16dd5327e14ec5223d28'/>
<id>urn:sha1:8cefa0ac93a8cb94ff9e16dd5327e14ec5223d28</id>
<content type='text'>
Implement support for queuing and dequeuing input and output buffers
for the encoder video device using the appropriate V4L2 buffer
management ioctls.

This enables userspace applications to manage streaming buffers
required for encoding operations.

Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # X1E80100
Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Tested-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt; # x1e80100-crd
[bod: drop dead code size_enc_single_pipe()]
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Add V4L2 streaming support for encoder video device</title>
<updated>2025-09-10T07:02:42+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=92e007ca5ab687b0612accb54acee7ed4adcdb0c'/>
<id>urn:sha1:92e007ca5ab687b0612accb54acee7ed4adcdb0c</id>
<content type='text'>
Add support for V4L2 streaming operations on the encoder video device.
During stream-on, configure mandatory properties on the respective
planes and notify the firmware to initiate an encode session.

Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # X1E80100
Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Tested-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt; # x1e80100-crd
[bod: add sm8750 enc/dec declarations during merge process]
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Add support for G/S_PARM for encoder video device</title>
<updated>2025-09-10T07:02:38+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-09-03T10:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4ff586ff28e31be65fd22743e1d45826df54ddf7'/>
<id>urn:sha1:4ff586ff28e31be65fd22743e1d45826df54ddf7</id>
<content type='text'>
Add supports for the G/S_PARM V4L2 ioctls for encoder video device with
necessary hooks. This allows userspace to query the current streaming
parameters such as frame intervals and set desired streaming parameters
primarily the frame rate.

Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # X1E80100
Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Tested-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt; # x1e80100-crd
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Fix port streaming handling</title>
<updated>2025-09-10T07:02:31+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4b67ef9b333ed645879b4b1a11e35e019ff4cfea'/>
<id>urn:sha1:4b67ef9b333ed645879b4b1a11e35e019ff4cfea</id>
<content type='text'>
The previous check to block capture port streaming before output port
was incorrect and caused some valid usecase to fail. While removing that
check allows capture port to enter streaming independently, it also
introduced firmware errors due to premature queuing of DPB buffers
before the firmware session was fully started which happens only when
streamon is called on output port.

Fix this by deferring DPB buffer queuing to the firmware until both
capture and output are streaming and state is 'STREAMING'.

Fixes: 11712ce70f8e ("media: iris: implement vb2 streaming ops")
Cc: stable@vger.kernel.org
Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # X1E80100
Reviewed-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Tested-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt; # x1e80100-crd
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Improve last flag handling</title>
<updated>2025-07-03T09:02:44+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-05-09T08:39:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f15cb8652b4f49e7cd217f572b29aa64c21e8970'/>
<id>urn:sha1:f15cb8652b4f49e7cd217f572b29aa64c21e8970</id>
<content type='text'>
Improve the handling of the V4L2_BUF_FLAG_LAST flag in the driver:
- Ensure that the last flag is not sent multiple times.
- Attach the last flag to the first capture buffer returned during
  flush, triggered by a sequence change, addressing cases where the
  firmware does not set the last flag.

Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Reviewed-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-QRD
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-QRD
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # on sa8775p-ride
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: iris: Fix buffer preparation failure during resolution change</title>
<updated>2025-07-03T09:02:44+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-05-09T08:38:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=91c6d55b477e1b66578c268214e915dff9f5ea57'/>
<id>urn:sha1:91c6d55b477e1b66578c268214e915dff9f5ea57</id>
<content type='text'>
When the resolution changes, the driver internally updates the width and
height, but the client continue to queue buffers with the older
resolution until the last flag is received. This results in a mismatch
when the buffers are prepared, causing failure due to outdated size.

Introduce a check to prevent size validation during buffer preparation
if a resolution reconfiguration is in progress, to handle this.

Cc: stable@vger.kernel.org
Fixes: 17f2a485ca67 ("media: iris: implement vb2 ops for buf_queue and firmware response")
Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-QRD
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-QRD
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8650-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # on sa8775p-ride
Signed-off-by: Bryan O'Donoghue &lt;bod@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: iris: implement power scaling for vpu2 and vpu3</title>
<updated>2025-02-07T10:51:55+00:00</updated>
<author>
<name>Vedang Nagar</name>
<email>quic_vnagar@quicinc.com</email>
</author>
<published>2025-02-07T07:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ef0baf36f72e84684666846544a513966442c1e4'/>
<id>urn:sha1:ef0baf36f72e84684666846544a513966442c1e4</id>
<content type='text'>
Implement power scaling including a specific vpu2 and vpu3 calculation
for clock and bus bandwidth, which depends on the hardware
configuration, codec format, resolution and frame rate.

Signed-off-by: Vedang Nagar &lt;quic_vnagar@quicinc.com&gt;
Tested-by: Stefan Schmidt &lt;stefan.schmidt@linaro.org&gt; # x1e80100 (Dell XPS 13 9345)
Reviewed-by: Stefan Schmidt &lt;stefan.schmidt@linaro.org&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-QRD
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on SM8550-HDK
Signed-off-by: Dikshita Agarwal &lt;quic_dikshita@quicinc.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
</feed>
