<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/media/platform/arm, branch v7.1.7</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v7.1.7</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v7.1.7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-08-03T09:25:47+00:00</updated>
<entry>
<title>media: mali-c55: Power-off the peripheral in remove()</title>
<updated>2026-08-03T09:25:47+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2026-03-28T15:14:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3adde045236a5ccee472bf9e0a7c9cdd490fc388'/>
<id>urn:sha1:3adde045236a5ccee472bf9e0a7c9cdd490fc388</id>
<content type='text'>
commit 2c9b9bcc2569f52e366ec71ca012542e161f1f8d upstream.

The Mali C55 driver doesn't depend on PM. For this reason, if pm_runtime
is not compiled in it is required to manually power-off the peripheral
during the driver's remove() handler.

Also pm_runtime_enable() is called during probe but mali_c55_remove()
never calls pm_runtime_disable(), leaving the device's runtime PM state
enabled after the driver is unbound.

Manually power-off the peripheral in remove() if the peripheral has not
been suspended using runtime_pm and disable runtime pm.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: David Carlier &lt;devnexen@gmail.com&gt;
Reviewed-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&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: mali-c55: Fix possible ERR_PTR in enable_streams</title>
<updated>2026-08-03T09:25:47+00:00</updated>
<author>
<name>Alper Ak</name>
<email>alperyasinak1@gmail.com</email>
</author>
<published>2026-02-07T09:18:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=65d4424275845e9f9012b40b5cbff4572771d768'/>
<id>urn:sha1:65d4424275845e9f9012b40b5cbff4572771d768</id>
<content type='text'>
commit 94c6402e423d36a2bd6f62055a65a0d439d84da7 upstream.

The media_pad_remote_pad_unique() function returns either a valid
pointer or an ERR_PTR() on failure (-ENOTUNIQ if multiple links are
enabled, -ENOLINK if no connected pad is found). The return value
was assigned directly to isp-&gt;remote_src and dereferenced in the
next line without checking for errors, which could lead to an
ERR_PTR dereference.

Add proper error checking with IS_ERR() before dereferencing the
pointer. Also set isp-&gt;remote_src to NULL on error to maintain
consistency with other error paths in the function.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: Alper Ak &lt;alperyasinak1@gmail.com&gt;
Reviewed-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&gt;
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&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: mali-c55: Disable pm_runtime on probe error</title>
<updated>2026-08-03T09:25:47+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2026-03-28T15:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f83262ac4437a6cd97bbb593c81511845db5ee1e'/>
<id>urn:sha1:f83262ac4437a6cd97bbb593c81511845db5ee1e</id>
<content type='text'>
commit a1db83cc6f7e88a166c77d9060507ec01d617784 upstream.

When mali_c55_media_frameworks_init() fails, the goto target jumps to
err_free_context_registers, skipping pm_runtime_disable() despite
pm_runtime having already been enabled earlier in the function.

Fix this by adding an err_pm_runtime_disable label and redirecting the
frameworks init failure to it, so pm_runtime is properly unwound on
that error path. The runtime PM status is also set back to suspended
before disabling, to undo the pm_runtime_set_active() from probe.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: David Carlier &lt;devnexen@gmail.com&gt;
Reviewed-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&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: mali-c55: Add missing of_reserved_mem_device_release()</title>
<updated>2026-08-03T09:25:47+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2026-03-28T15:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f9879931b4927425ef4bdb65621abc07acb2151b'/>
<id>urn:sha1:f9879931b4927425ef4bdb65621abc07acb2151b</id>
<content type='text'>
commit 38e3509dd98d7e970db87e13f8ec7412852a6967 upstream.

mali_c55_probe() calls of_reserved_mem_device_init() to associate
reserved memory regions with the device. This function allocates a
struct rmem_assigned_device and adds it to a global linked list, which
must be explicitly released via of_reserved_mem_device_release() — there
is no devm variant of this API.

However, neither the probe error paths nor mali_c55_remove() called
of_reserved_mem_device_release(). Any probe failure after the
of_reserved_mem_device_init() call, as well as every normal device
removal, leaked the reserved memory association on the global list.

Fix this by adding an err_release_mem label at the end of the probe
error chain and calling of_reserved_mem_device_release() in
mali_c55_remove(). The remove teardown order is also corrected to call
mali_c55_media_frameworks_deinit() before kfree(), mirroring the probe
init order in reverse.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: David Carlier &lt;devnexen@gmail.com&gt;
Reviewed-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi+renesas@ideasonboard.com&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: mali-c55: Bypass Purple Fringe Correction</title>
<updated>2026-03-24T15:13:09+00:00</updated>
<author>
<name>Jacopo Mondi</name>
<email>jacopo.mondi@ideasonboard.com</email>
</author>
<published>2026-03-11T11:29:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=062ae1d031a05a03d193446e82ce1f3ba7e10755'/>
<id>urn:sha1:062ae1d031a05a03d193446e82ce1f3ba7e10755</id>
<content type='text'>
The Purple Fringe Correction module is enabled by default with a POR
configuration which might not be correct for the lens/sensor combination
in use.

If the Purple Fringe Correction module has to be used, it needs to be
supported in the driver's uAPI and properly configured by userspace.

As the driver doesn't support it at the moment, bypass it by default.

Reviewed-by: Barnabás Pőcze &lt;barnabas.pocze@ideasonboard.com&gt;
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: mali-c55: Bypass the Iridix Tonemap engine</title>
<updated>2026-03-24T15:13:09+00:00</updated>
<author>
<name>Jacopo Mondi</name>
<email>jacopo.mondi@ideasonboard.com</email>
</author>
<published>2026-03-11T11:15:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=762ec66e1360bbe9b3dedbddc0f88d9770aac8b9'/>
<id>urn:sha1:762ec66e1360bbe9b3dedbddc0f88d9770aac8b9</id>
<content type='text'>
The Iridix Tonemap engine, if not bypassed, applies a digital gain
in order to compensate under-exposed images.

This however breaks the exposure and gain regulation performed on the
sensor.

If the Iridix Tonemap has to be used, it need to be supported in the
ISP uAPI and properly configured by userspace.

As the driver doesn't support it at the moment, bypass it by default.

Reviewed-by: Barnabás Pőcze &lt;barnabas.pocze@ideasonboard.com&gt;
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: mali-c55: Fix Iridix bypass macros</title>
<updated>2026-03-24T15:13:09+00:00</updated>
<author>
<name>Daniel Scally</name>
<email>dan.scally@ideasonboard.com</email>
</author>
<published>2026-02-12T11:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=db7faf488ecf846c46884310ff1bf28daf2ad39a'/>
<id>urn:sha1:db7faf488ecf846c46884310ff1bf28daf2ad39a</id>
<content type='text'>
The Mali C55 Iridix block has a digital gain function and tone mapping
function, whose enablement is controlled by two different bits
in the BYPASS_3 register.

Unfortunately, the "Gain" and "Tonemap" bypass bit definitions are the
wrong way around. Swap them.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Reviewed-by: Barnabás Pőcze &lt;barnabas.pocze@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: mali-c55: Fully reset the ISP configuration</title>
<updated>2026-03-24T15:13:09+00:00</updated>
<author>
<name>Jacopo Mondi</name>
<email>jacopo.mondi@ideasonboard.com</email>
</author>
<published>2026-01-19T11:50:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=26ad493bea57efdccc32ffedbf731da2b7463b6c'/>
<id>urn:sha1:26ad493bea57efdccc32ffedbf731da2b7463b6c</id>
<content type='text'>
The Mali C55 driver uses an auto-suspend delay of 2000 milli-seconds.

As the delay is quite large, it is certainly possible that two
consecutive calls to enable_streams() do not go through a suspend of the
peripheral, meaning we cannot rely on POW register values for the ISP
configuration.

To prevent a streaming session to be initialized with settings from the
previous one, reset the full ISP configuration to know state disabling or
bypassing all the ISP blocks the driver supports.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: mali-c55: Initialize the ISP in enable_streams()</title>
<updated>2026-03-24T15:13:09+00:00</updated>
<author>
<name>Jacopo Mondi</name>
<email>jacopo.mondi@ideasonboard.com</email>
</author>
<published>2026-01-19T11:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d5c24b71da547fdb5bea51a69d62f9e2a609431d'/>
<id>urn:sha1:d5c24b71da547fdb5bea51a69d62f9e2a609431d</id>
<content type='text'>
The Mali C55 driver initializes the ISP in two points:

1) At probe time it disables ISP blocks by configuring them in bypass
   mode
2) At enable_streams() it initializes the crop rectangles and the image
   processing pipeline using the current image format

However, as ISP blocks are configured by userspace, if their
configuration is not reset, from the second enable_streams() call
onwards the ISP configuration will depend on the previous streaming
session configuration.

To re-initialize the ISP completely at enable_streams() time consolidate
the ISP block bypass configuration and the image processing path
configuration in a single function to be called at enabled_streams()
time.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: mali-c55: Fix wrong comment of ISP block types</title>
<updated>2026-03-24T15:13:09+00:00</updated>
<author>
<name>Jacopo Mondi</name>
<email>jacopo.mondi@ideasonboard.com</email>
</author>
<published>2026-01-19T10:00:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=df16624248296ce4e8890c7ddcc95f0ccb642bcd'/>
<id>urn:sha1:df16624248296ce4e8890c7ddcc95f0ccb642bcd</id>
<content type='text'>
Some bad copy&amp;paste happened in the description of the ISP block types
and AWB_CONFIG got mixed up with SHADING_CONFIG.

Fix it by assigning to each block the correct type.

As only the comment is changed, there is no uABI breakage or regression.

Cc: stable@vger.kernel.org
Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Reviewed-by: Barnabás Pőcze &lt;barnabas.pocze@ideasonboard.com&gt;
Signed-off-by: Jacopo Mondi &lt;jacopo.mondi@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
</feed>
