<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/platform/qcom/iris/iris_buffer.c, branch linux-6.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-10-19T14:37:40Z</updated>
<entry>
<title>media: iris: Update vbuf flags before v4l2_m2m_buf_done</title>
<updated>2025-10-19T14:37:40Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-08-25T07:00:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c9a4747fe069edfb03a20b0d65952263310e90d5'/>
<id>urn:sha1:c9a4747fe069edfb03a20b0d65952263310e90d5</id>
<content type='text'>
commit 8a432174ac263fb9dd93d232b99c84e430e6d6b5 upstream.

Update the vbuf flags appropriately in error cases before calling
v4l2_m2m_buf_done(). Previously, the flag update was skippied in error
scenario, which could result in incorrect state reporting for buffers.

Fixes: 17f2a485ca67 ("media: iris: implement vb2 ops for buf_queue and firmware response")
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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Fix port streaming handling</title>
<updated>2025-10-19T14:37:39Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-08-25T07:00:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff618ceda060a9b0a61b076dcc635ea6a45e3f42'/>
<id>urn:sha1:ff618ceda060a9b0a61b076dcc635ea6a45e3f42</id>
<content type='text'>
commit 4b67ef9b333ed645879b4b1a11e35e019ff4cfea upstream.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Fix memory leak by freeing untracked persist buffer</title>
<updated>2025-10-06T09:20:06Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-08-25T07:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec2f87ad035e8d1ad67567542842f1f23a4dbde2'/>
<id>urn:sha1:ec2f87ad035e8d1ad67567542842f1f23a4dbde2</id>
<content type='text'>
commit 02a24f13b3a1d9da9f3de56aa5fdb7cc1fe167a2 upstream.

One internal buffer which is allocated only once per session was not
being freed during session close because it was not being tracked as
part of internal buffer list which resulted in a memory leak.

Add the necessary logic to explicitly free the untracked internal buffer
during session close to ensure all allocated memory is released
properly.

Fixes: 73702f45db81 ("media: iris: allocate, initialize and queue internal buffers")
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
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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Add internal buffer calculation for HEVC and VP9 decoders</title>
<updated>2025-07-03T09:02:44Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-05-09T08:39:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1f5d32608ec3c04e41c2c467b99c9a4a3f42d5b'/>
<id>urn:sha1:e1f5d32608ec3c04e41c2c467b99c9a4a3f42d5b</id>
<content type='text'>
Add internal buffer count and size calculations for HEVC and VP9
decoders.

Acked-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;
[hverkuil: add __maybe_unused to size_mp2d_lb_fe_top_data]
</content>
</entry>
<entry>
<title>media: iris: Improve last flag handling</title>
<updated>2025-07-03T09:02:44Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-05-09T08:39:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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: Add handling for corrupt and drop frames</title>
<updated>2025-07-03T09:02:44Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-05-09T08:39:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b791dcfcba3a0c46fb3e2decab31d2340c5dc313'/>
<id>urn:sha1:b791dcfcba3a0c46fb3e2decab31d2340c5dc313</id>
<content type='text'>
Firmware attach DATACORRUPT/DROP buffer flags for the frames which
needs to be dropped, handle it by setting VB2_BUF_STATE_ERROR for these
buffers before calling buf_done.

Reviewed-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt;
Acked-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: Skip destroying internal buffer if not dequeued</title>
<updated>2025-07-03T09:02:43Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-05-09T08:38:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c452ffda30c0460c568273993a3d3c611486467'/>
<id>urn:sha1:7c452ffda30c0460c568273993a3d3c611486467</id>
<content type='text'>
Firmware might hold the DPB buffers for reference in case of sequence
change, so skip destroying buffers for which QUEUED flag is not removed.

Cc: stable@vger.kernel.org
Fixes: 73702f45db81 ("media: iris: allocate, initialize and queue internal buffers")
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:55Z</updated>
<author>
<name>Vedang Nagar</name>
</author>
<published>2025-02-07T07:55:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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>
<entry>
<title>media: iris: handle streamoff/on from client in dynamic resolution change</title>
<updated>2025-02-07T10:51:49Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-02-07T07:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1f8b2cc72ecda300894da679cde3a217e5b4411'/>
<id>urn:sha1:c1f8b2cc72ecda300894da679cde3a217e5b4411</id>
<content type='text'>
The decoder is stopped after it completes the dynamic resolution change
sequence. Handle VIDIOC_STREAMOFF() and VIDIOC_STREAMON() on the CAPTURE
queue to resume the decoding process.

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>
<entry>
<title>media: iris: implement vb2 ops for buf_queue and firmware response</title>
<updated>2025-02-07T10:51:45Z</updated>
<author>
<name>Dikshita Agarwal</name>
</author>
<published>2025-02-07T07:55:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=17f2a485ca673a1d60db1cac542d35e9b50e3254'/>
<id>urn:sha1:17f2a485ca673a1d60db1cac542d35e9b50e3254</id>
<content type='text'>
Implement the vb2 ops for the buf queue. These are the different buffer
attributes:
BUF_ATTR_DEFERRED - buffer queued by the client but not submitted to
                    firmware.
BUF_ATTR_PENDING_RELEASE - buffers requested to be released from
                           the firmware.
BUF_ATTR_QUEUED - buffers submitted to the firmware.
BUF_ATTR_DEQUEUED - buffers received from the firmware.
BUF_ATTR_BUFFER_DONE - buffers sent back to vb2.

Reviewed-by: Hans Verkuil &lt;hverkuil@xs4all.nl&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>
