<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/platform/amphion, branch linux-6.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-04-24T13:21:35Z</updated>
<entry>
<title>media: amphion: Slightly simplify vpu_core_register()</title>
<updated>2025-04-24T13:21:35Z</updated>
<author>
<name>Christophe JAILLET</name>
</author>
<published>2025-04-17T22:01:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=208699afb9f22f4d903ebdbdae45c2c6f2e308e0'/>
<id>urn:sha1:208699afb9f22f4d903ebdbdae45c2c6f2e308e0</id>
<content type='text'>
"vpu_core-&gt;msg_buffer_size" is unused out-side of vpu_core_register().
There is no need to save this value in struct vpu_core.

Remove it and use a local variable instead.

Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Reviewed-by: Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;
Signed-off-by: Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Fix spelling mistake "dismatch" -&gt; "mismatch"</title>
<updated>2025-04-08T07:21:21Z</updated>
<author>
<name>Colin Ian King</name>
</author>
<published>2025-02-28T08:26:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ebdcec10b652942651f0ef3cd7602279e85383c9'/>
<id>urn:sha1:ebdcec10b652942651f0ef3cd7602279e85383c9</id>
<content type='text'>
There is a spelling mistake in a dev_err message. Fix it.

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Reviewed-by: Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;
Signed-off-by: Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Add a frame flush mode for decoder</title>
<updated>2025-04-08T07:21:21Z</updated>
<author>
<name>Ming Qian</name>
</author>
<published>2025-04-01T09:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9ea16ba6eaf93f25f61855751f71e2e701709ddf'/>
<id>urn:sha1:9ea16ba6eaf93f25f61855751f71e2e701709ddf</id>
<content type='text'>
By default the amphion decoder will pre-parse 3 frames before starting
to decode the first frame. Alternatively, a block of flush padding data
can be appended to the frame, which will ensure that the decoder can
start decoding immediately after parsing the flush padding data, thus
potentially reducing decoding latency.

This mode was previously only enabled, when the display delay was set to
0. Allow the user to manually toggle the use of that mode via a module
parameter called low_latency, which enables the mode without
changing the display order.

Signed-off-by: Ming Qian &lt;ming.qian@oss.nxp.com&gt;
Reviewed-by: Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Reduce decoding latency for HEVC decoder</title>
<updated>2025-04-08T07:21:21Z</updated>
<author>
<name>Ming Qian</name>
</author>
<published>2025-04-01T09:06:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b312ac33a593b64f23b0ddba59c429e89c479a54'/>
<id>urn:sha1:b312ac33a593b64f23b0ddba59c429e89c479a54</id>
<content type='text'>
The amphion decoder firmware supports a low latency flush mode for the
HEVC format since v1.9.0. This feature, which is enabled when the
display delay is set to 0, can help to reduce the decoding latency by
appending some padding data to every frame.

Signed-off-by: Ming Qian &lt;ming.qian@oss.nxp.com&gt;
Reviewed-by: Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Fix pm_runtime_set_suspended() with runtime pm enabled</title>
<updated>2024-11-07T08:05:57Z</updated>
<author>
<name>Jinjie Ruan</name>
</author>
<published>2024-11-01T09:40:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=316e74500d1c6589cba28cebe2864a0bceeb2396'/>
<id>urn:sha1:316e74500d1c6589cba28cebe2864a0bceeb2396</id>
<content type='text'>
It is not valid to call pm_runtime_set_suspended() for devices
with runtime PM enabled because it returns -EAGAIN if it is enabled
already and working. So, call pm_runtime_disable() before to fix it.

Cc: stable@vger.kernel.org
Fixes: b50a64fc54af ("media: amphion: add amphion vpu device driver")
Signed-off-by: Jinjie Ruan &lt;ruanjinjie@huawei.com&gt;
Reviewed-by: Bryan O'Donoghue &lt;bryan.odonoghue@linaro.org&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: platform: drop vb2_ops_wait_prepare/finish</title>
<updated>2024-10-28T08:20:07Z</updated>
<author>
<name>Hans Verkuil</name>
</author>
<published>2024-10-14T15:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4bf194e10e42aa0759eb5cc0173b76d3523654b4'/>
<id>urn:sha1:4bf194e10e42aa0759eb5cc0173b76d3523654b4</id>
<content type='text'>
Since commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
are NULL") it is no longer needed to set the wait_prepare/finish
vb2_ops callbacks as long as the lock field in vb2_queue is set.

Since the vb2_ops_wait_prepare/finish callbacks already rely on that field,
we can safely drop these callbacks.

This simplifies the code and this is a step towards the goal of deleting
these callbacks.

Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # for meson-ge2d
Acked-by: Andrzej Pietrasiewicz &lt;andrzejtp2010@gmail.com&gt;
</content>
</entry>
<entry>
<title>media: Switch back to struct platform_driver::remove()</title>
<updated>2024-10-12T14:28:25Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2024-09-25T11:45:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8fc42dc065742bc68df6a61a2aff8cbe364fa17'/>
<id>urn:sha1:b8fc42dc065742bc68df6a61a2aff8cbe364fa17</id>
<content type='text'>
After commit 0edb555a65d1 ("platform: Make platform_driver::remove()
return void") .remove() is (again) the right callback to implement for
platform drivers.

Convert all platform drivers below drivers/media to use .remove(), with
the eventual goal to drop struct platform_driver::remove_new(). As
.remove() and .remove_new() have the same prototypes, conversion is done
by just changing the structure member name in the driver initializer.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@baylibre.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Set video drvdata before register video device</title>
<updated>2024-10-12T14:28:25Z</updated>
<author>
<name>Ming Qian</name>
</author>
<published>2024-09-13T06:21:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8cbb1a7bd5973b57898b26eb804fe44af440bb63'/>
<id>urn:sha1:8cbb1a7bd5973b57898b26eb804fe44af440bb63</id>
<content type='text'>
The video drvdata should be set before the video device is registered,
otherwise video_drvdata() may return NULL in the open() file ops, and led
to oops.

Fixes: 3cd084519c6f ("media: amphion: add vpu v4l2 m2m support")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Ming Qian &lt;ming.qian@nxp.com&gt;
Reviewed-by: TaoJiang &lt;tao.jiang_2@nxp.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Guard memory allocation to catch failures</title>
<updated>2024-10-12T14:28:24Z</updated>
<author>
<name>Ming Qian</name>
</author>
<published>2024-08-28T13:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ade935392a35665f43dd37317ddb3ef1555378c'/>
<id>urn:sha1:7ade935392a35665f43dd37317ddb3ef1555378c</id>
<content type='text'>
The firmware will ask the driver for memory allocation, but it will not
check the completeness of the task. Therefore, the vpu will crash until
reboot. This code will guard this bug and make the driver fail gracefully
when memory allocation cannot be completed.

Signed-off-by: Ming Qian &lt;ming.qian@nxp.com&gt;
Reviewed-by: Zhou Peng &lt;eagle.zhou@nxp.com&gt;
Signed-off-by: Mihai Despotovici &lt;mihai.despotovici@nxp.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: amphion: Report the average QP of current encoded frame</title>
<updated>2024-06-10T08:24:30Z</updated>
<author>
<name>Ming Qian</name>
</author>
<published>2024-05-06T08:49:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1034ead1a7333e65e516c583f757717f461eba43'/>
<id>urn:sha1:1034ead1a7333e65e516c583f757717f461eba43</id>
<content type='text'>
Report the average QP value of the current encoded frame via the
V4L2_CID_MPEG_VIDEO_AVERAGE_QP control, the value applies to the last
dequeued capture buffer.

Signed-off-by: Ming Qian &lt;ming.qian@nxp.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
</feed>
