<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/platform/mediatek, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-06-27T10:13:00Z</updated>
<entry>
<title>media: mediatek: vcodec: Correct vsi_core framebuffer size</title>
<updated>2025-06-27T10:13:00Z</updated>
<author>
<name>Fei Shao</name>
</author>
<published>2025-03-14T07:56:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdcab88da72555dc387260a7207446364c7f6d5a'/>
<id>urn:sha1:fdcab88da72555dc387260a7207446364c7f6d5a</id>
<content type='text'>
commit f19035b86382f635a0d13d177b601babaf263a12 upstream.

The framebuffer size for decoder instances was being incorrectly set -
inst-&gt;vsi_core-&gt;fb.y.size was assigned twice consecutively.

Assign the second picinfo framebuffer size to the C framebuffer instead,
which appears to be the intended target based on the surrounding code.

Fixes: 2674486aac7d ("media: mediatek: vcodec: support stateless hevc decoder")
Cc: stable@vger.kernel.org
Signed-off-by: Fei Shao &lt;fshao@chromium.org&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>media: mediatek: vcodec: Fix a resource leak related to the scp device in FW initialization</title>
<updated>2025-02-21T09:33:02Z</updated>
<author>
<name>Jiasheng Jiang</name>
</author>
<published>2025-02-18T18:58:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4936cd5817af35d23e4d283f48fa59a18ef481e4'/>
<id>urn:sha1:4936cd5817af35d23e4d283f48fa59a18ef481e4</id>
<content type='text'>
On Mediatek devices with a system companion processor (SCP) the mtk_scp
structure has to be removed explicitly to avoid a resource leak.
Free the structure in case the allocation of the firmware structure fails
during the firmware initialization.

Fixes: 53dbe0850444 ("media: mtk-vcodec: potential null pointer deference in SCP")
Cc: stable@vger.kernel.org
Signed-off-by: Jiasheng Jiang &lt;jiashengjiangcool@gmail.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: mtk-vcodec: venc: avoid -Wenum-compare-conditional warning</title>
<updated>2025-02-21T09:33:00Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2024-10-18T15:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07df4f23ef3ffe6fee697cd2e03623ad27108843'/>
<id>urn:sha1:07df4f23ef3ffe6fee697cd2e03623ad27108843</id>
<content type='text'>
This is one of three clang warnings about incompatible enum types
in a conditional expression:

drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c:597:29: error: conditional expression between different enumeration types ('enum scp_ipi_id' and 'enum ipi_id') [-Werror,-Wenum-compare-conditional]
  597 |         inst-&gt;vpu_inst.id = is_ext ? SCP_IPI_VENC_H264 : IPI_VENC_H264;
      |                                    ^ ~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~

The code is correct, so just rework it to avoid the warning.

Fixes: 0dc4b3286125 ("media: mtk-vcodec: venc: support SCP firmware")
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Reviewed-by: Alexandre Courbot &lt;acourbot@google.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>Merge tag 'media/v6.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media</title>
<updated>2025-01-25T23:59:46Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2025-01-25T23:59:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=184a0997fb77f4a9527fc867fcd16806776c27ce'/>
<id>urn:sha1:184a0997fb77f4a9527fc867fcd16806776c27ce</id>
<content type='text'>
Pull media updates from Mauro Carvalho Chehab:

 - Sensor driver fixes

 - remove dead TI wl128x FM radio driver

 - Add support for the imx462 sensor at the IMX290 binding

 - V4L2 pixel data transmitter and receiver documentation improvements

 - Add support for MIPI Discovery and Configuration for C-PHY line
   orders

 - imx8-isi fixes and improvements

 - stm32: dcmipp: add core support for the stm32mp25

 - qcom: camss: Add sc7280 support

 - Various fixes and enhancements

* tag 'media/v6.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (152 commits)
  media: nuvoton: Fix an error check in npcm_video_ece_init()
  media: dvb-usb-v2: af9035: fix ISO C90 compilation error on af9035_i2c_master_xfer
  media: platform: rzg2l-cru: rzg2l-video: Fix the comment in rzg2l_cru_start_streaming_vq()
  media: fix secfeed undefined when filter alloc fail
  media: dt-bindings: trivial white-space and example cleanup
  MAINTAINERS: repair file entry in MEDIA DRIVERS FOR STM32 - CSI
  media: solo6x10: Use const 'struct bin_attribute' callback
  media: saa7164: Remove unused values
  staging: media: imx: fix OF node leak in imx_media_add_of_subdevs()
  media: platform: exynos4-is: Remove unused __is_get_frame_size
  media: vidtv: Fix a null-ptr-deref in vidtv_mux_stop_thread
  media: mmp: Bring back registration of the device
  media: cec: include linux/debugfs.h and linux/seq_file.h where needed
  Revert "media: qcom: camss: Restructure camss_link_entities"
  media: venus: Remove unused hfi_core_ping()
  media: dt-bindings: qcom-venus: Deprecate video-decoder and video-encoder where applicable
  media: venus: Populate video encoder/decoder nodename entries
  media: venus: Add support for static video encoder/decoder declarations
  media: venus: match instance creation and destruction order
  media: venus: destroy hfi session after m2m_ctx release
  ...
</content>
</entry>
<entry>
<title>media: mediatek: vcodec: mark vdec_vp9_slice_map_counts_eob_coef noinline</title>
<updated>2024-12-13T16:51:35Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2024-10-18T15:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b55f8818900c99dd4f55a59a103f5b29e41eb2c'/>
<id>urn:sha1:8b55f8818900c99dd4f55a59a103f5b29e41eb2c</id>
<content type='text'>
With KASAN enabled, clang fails to optimize the inline version of
vdec_vp9_slice_map_counts_eob_coef() properly, leading to kilobytes
of temporary values spilled to the stack:

drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c:1526:12: error: stack frame size (2160) exceeds limit (2048) in 'vdec_vp9_slice_update_prob' [-Werror,-Wframe-larger-than]

This seems to affect all versions of clang including the latest (clang-20),
but the degree of stack overhead is different per release.

Marking the function as noinline_for_stack is harmless here and avoids
the problem completely.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: platform: mtk-mdp3: Use cmdq_pkt_create() and cmdq_pkt_destroy()</title>
<updated>2024-12-13T16:30:58Z</updated>
<author>
<name>Chun-Kuang Hu</name>
</author>
<published>2024-09-01T14:32:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48df9029743fd0318b3343dbc95b64620b951e9f'/>
<id>urn:sha1:48df9029743fd0318b3343dbc95b64620b951e9f</id>
<content type='text'>
Use the cmdq_pkt_create() and cmdq_pkt_destroy() common functions
instead of implementing specific mdp3 versions.

Signed-off-by: Chun-Kuang Hu &lt;chunkuang.hu@kernel.org&gt;
Reviewed-by: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;
Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: platform: mtk-mdp3: Get fine-grain control of cmdq_pkt_finalize()</title>
<updated>2024-12-13T16:30:57Z</updated>
<author>
<name>Chun-Kuang Hu</name>
</author>
<published>2024-09-01T14:32:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50ab69f21e964455b4382df7a805cc147c7c2c44'/>
<id>urn:sha1:50ab69f21e964455b4382df7a805cc147c7c2c44</id>
<content type='text'>
In order to have fine-grained control, use cmdq_pkt_eoc() and
cmdq_pkt_jump_rel() to replace cmdq_pkt_finalize().

Signed-off-by: Chun-Kuang Hu &lt;chunkuang.hu@kernel.org&gt;
Reviewed-by: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;
Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: platform: mtk-mdp3: Remove mask parameter from MM_REG_POLL macro</title>
<updated>2024-12-13T16:30:57Z</updated>
<author>
<name>Nícolas F. R. A. Prado</name>
</author>
<published>2024-08-23T21:31:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6633de339047364b25daecc3055b006fc253efe9'/>
<id>urn:sha1:6633de339047364b25daecc3055b006fc253efe9</id>
<content type='text'>
Just like was done with MM_REG_WRITE, remove the mask from the
MM_REG_POLL macro, leaving MM_REG_POLL_MASK to be used when a mask is
required, and update the call sites accordingly. In this case, all calls
require a mask, so MM_REG_POLL remains unused, but at least this makes
the MM_REG_POLL macros consistent with the MM_REG_WRITE ones.

Signed-off-by: Nícolas F. R. A. Prado &lt;nfraprado@collabora.com&gt;
Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: platform: mtk-mdp3: Remove mask parameter from MM_REG_WRITE macro</title>
<updated>2024-12-13T16:30:57Z</updated>
<author>
<name>Nícolas F. R. A. Prado</name>
</author>
<published>2024-08-23T21:31:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b00fcfdb5ddfbcab34295dee3b8c4989ae92c2a'/>
<id>urn:sha1:7b00fcfdb5ddfbcab34295dee3b8c4989ae92c2a</id>
<content type='text'>
There are two macros to issue a cmdq write: MM_REG_WRITE_MASK and
MM_REG_WRITE, but confusingly, both of them take a mask parameter. The
difference is that MM_REG_WRITE additionally checks whether the mask
passed in contains the register mask, in which case, the 0xffffffff mask
is passed to cmdq_pkt_write_mask(), effectively disregarding the mask
and calling cmdq_pkt_write() as an optimization.

Move that optimization to the MM_REG_WRITE_MASK macro and make
MM_REG_WRITE the variant that doesn't take a mask, directly calling to
cmdq_pkt_write().

Change the call sites to MM_REG_WRITE whenever a mask wasn't necessary
(ie 0xffffffff or a &lt;register&gt;_MASK was passed as mask) and in other
cases to MM_REG_WRITE_MASK.

Signed-off-by: Nícolas F. R. A. Prado &lt;nfraprado@collabora.com&gt;
Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: platform: mtk-mdp3: Remove useless variadic arguments from macros</title>
<updated>2024-12-13T16:30:57Z</updated>
<author>
<name>Nícolas F. R. A. Prado</name>
</author>
<published>2024-08-23T21:31:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d9038dc87003623aaf9a4dd86d7096ab5748397'/>
<id>urn:sha1:6d9038dc87003623aaf9a4dd86d7096ab5748397</id>
<content type='text'>
A few macros declare variadic arguments even though the underlying
functions don't support them. Remove them.

Signed-off-by: Nícolas F. R. A. Prado &lt;nfraprado@collabora.com&gt;
Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Signed-off-by: Sebastian Fricke &lt;sebastian.fricke@collabora.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
</feed>
