<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/media/platform/qcom/iris/iris_buffer.c, branch v6.19.12</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.19.12</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.19.12'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-03-04T12:21:18+00:00</updated>
<entry>
<title>media: iris: Add buffer to list only after successful allocation</title>
<updated>2026-03-04T12:21:18+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>dikshita.agarwal@oss.qualcomm.com</email>
</author>
<published>2025-12-29T06:31:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=98b4c4c90f1e11caecbe2093dbe3a901d338bc81'/>
<id>urn:sha1:98b4c4c90f1e11caecbe2093dbe3a901d338bc81</id>
<content type='text'>
[ Upstream commit 2d0bbd982dfdd67da488a772f7a8a1bdca7642bf ]

Move `list_add_tail()` to after `dma_alloc_attrs()` succeeds when creating
internal buffers. Previously, the buffer was enqueued in `buffers-&gt;list`
before the DMA allocation. If the allocation failed, the function returned
`-ENOMEM` while leaving a partially initialized buffer in the list, which
could lead to inconsistent state and potential leaks.

By adding the buffer to the list only after `dma_alloc_attrs()` succeeds,
we ensure the list contains only valid, fully initialized buffers.

Fixes: 73702f45db81 ("media: iris: allocate, initialize and queue internal buffers")
Reviewed-by: Bryan O'Donoghue &lt;bod@kernel.org&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;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: iris: Add support for QC08C format for encoder</title>
<updated>2025-11-06T10:18:09+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>dikshita.agarwal@oss.qualcomm.com</email>
</author>
<published>2025-10-08T09:52:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=456c99da41cb6f39c5c8420710b72fb9fd1450b4'/>
<id>urn:sha1:456c99da41cb6f39c5c8420710b72fb9fd1450b4</id>
<content type='text'>
Introduce handling for the QC08C format in the encoder. QC08C
format is NV12 with UBWC compression. Update format checks and
configuration to enable encoding to QC08C streams.

Signed-off-by: Dikshita Agarwal &lt;dikshita.agarwal@oss.qualcomm.com&gt;
Reviewed-by: Vikash Garodia &lt;vikash.garodia@oss.qualcomm.com&gt;
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 QC08C format for decoder</title>
<updated>2025-11-06T10:18:09+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>dikshita.agarwal@oss.qualcomm.com</email>
</author>
<published>2025-10-08T09:52:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cfd71b14b0d6f62d97338a524c858c63cf699c3f'/>
<id>urn:sha1:cfd71b14b0d6f62d97338a524c858c63cf699c3f</id>
<content type='text'>
Introduce handling for the QC08C format in the decoder. QC08C format is
NV12 with UBWC compression. Update format checks and configuration to
enable decoding of QC08C streams.

Signed-off-by: Dikshita Agarwal &lt;dikshita.agarwal@oss.qualcomm.com&gt;
Reviewed-by: Vikash Garodia &lt;vikash.garodia@oss.qualcomm.com&gt;
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 VPU33 specific encoding buffer calculation</title>
<updated>2025-09-10T07:02:48+00:00</updated>
<author>
<name>Neil Armstrong</name>
<email>neil.armstrong@linaro.org</email>
</author>
<published>2025-09-02T08:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a5925a2ce0775374dcbbaf19826b539c2e9eec84'/>
<id>urn:sha1:a5925a2ce0775374dcbbaf19826b539c2e9eec84</id>
<content type='text'>
The VPU33 found in the SM8650 Platform requires some slighly different
buffer calculation for encoding to allow working with the latest
firwware uploaded on linux-firmware at [1].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=ece445af91bbee49bf0d8b23c2b99b596ae6eac7

Suggested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
Signed-off-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Reviewed-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt;
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: Allocate and queue internal buffers for encoder video device</title>
<updated>2025-09-10T07:02:45+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=61528e86687e3ba520d10a2be40d7e409cea663d'/>
<id>urn:sha1:61528e86687e3ba520d10a2be40d7e409cea663d</id>
<content type='text'>
Add support for allocating and queuing internal buffers required by the
encoder. The sizes of these buffers are derived from hardware
specifications and are essential to meet the encoder's functional and
performance requirements.

These buffers are not exposed to userspace; they are allocated and
managed internally to ensure correct and efficient hardware operation.

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: added sm8750 enc_op_int_buf_tbl enumeration during merge]
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: Set platform capabilities to firmware for encoder video device</title>
<updated>2025-09-10T07:02:43+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d22037f3fd33e5956ecbc2ee38b42726fa2cc7a0'/>
<id>urn:sha1:d22037f3fd33e5956ecbc2ee38b42726fa2cc7a0</id>
<content type='text'>
Initialize and configure platform-specific capabilities for the encoder
in the firmware during stream-on, to tailor encoding behavior to the
current session's requirements. Some of these capabilities can also be
updated dynamically when V4L2 controls are modified by the client after
stream-on.

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: Initialize and deinitialize encoder instance structure</title>
<updated>2025-09-10T07:02:35+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5ad964ad5656668399f00c76707f0d063b64a4b1'/>
<id>urn:sha1:5ad964ad5656668399f00c76707f0d063b64a4b1</id>
<content type='text'>
Introduce initialization and deinitialization for internal encoder
instance structure with necessary hooks.

Tested-by: Vikash Garodia &lt;quic_vgarodia@quicinc.com&gt; # X1E80100
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-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: Update vbuf flags before v4l2_m2m_buf_done</title>
<updated>2025-09-10T07:02:32+00:00</updated>
<author>
<name>Dikshita Agarwal</name>
<email>quic_dikshita@quicinc.com</email>
</author>
<published>2025-08-25T07:00:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8a432174ac263fb9dd93d232b99c84e430e6d6b5'/>
<id>urn:sha1:8a432174ac263fb9dd93d232b99c84e430e6d6b5</id>
<content type='text'>
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;
</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: Fix memory leak by freeing untracked persist buffer</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:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=02a24f13b3a1d9da9f3de56aa5fdb7cc1fe167a2'/>
<id>urn:sha1:02a24f13b3a1d9da9f3de56aa5fdb7cc1fe167a2</id>
<content type='text'>
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;
</content>
</entry>
</feed>
