<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/media/platform/amd, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>media: amd: isp4: fix self-deadlock in isp4sd_pwron_and_init() error path</title>
<updated>2026-08-10T08:48:54+00:00</updated>
<author>
<name>Yifei Gao</name>
<email>gyf161023@gmail.com</email>
</author>
<published>2026-07-30T14:14:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ef46d80a7015269a98c9505b5912a83798799199'/>
<id>ef46d80a7015269a98c9505b5912a83798799199</id>
<content type='text'>
isp4sd_pwron_and_init() holds ops_mutex via guard(mutex) and, on any
init failure, jumps to err_deinit and calls isp4sd_pwroff_and_deinit().
That helper takes the same ops_mutex, re-acquiring a non-recursive mutex
already held by the current thread, so any init failure deadlocks.

Unwind the error path in stages instead, releasing only what each
failure point acquired. This also avoids the issues that an
unconditional teardown would hit at the earlier failures, such as a
runtime-PM underflow from pm_runtime_resume_and_get() and MMIO access
while the device is unpowered.

Fixes: 4e5e7a7ddb4a ("media: platform: amd: isp4 subdev and firmware loading handling added")
Assisted-by: Claude:claude-opus-4-8 smatch
Signed-off-by: Yifei Gao &lt;gyf161023@gmail.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
isp4sd_pwron_and_init() holds ops_mutex via guard(mutex) and, on any
init failure, jumps to err_deinit and calls isp4sd_pwroff_and_deinit().
That helper takes the same ops_mutex, re-acquiring a non-recursive mutex
already held by the current thread, so any init failure deadlocks.

Unwind the error path in stages instead, releasing only what each
failure point acquired. This also avoids the issues that an
unconditional teardown would hit at the earlier failures, such as a
runtime-PM underflow from pm_runtime_resume_and_get() and MMIO access
while the device is unpowered.

Fixes: 4e5e7a7ddb4a ("media: platform: amd: isp4 subdev and firmware loading handling added")
Assisted-by: Claude:claude-opus-4-8 smatch
Signed-off-by: Yifei Gao &lt;gyf161023@gmail.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: amd: isp4: release partial allocations in isp4if_alloc_fw_gpumem()</title>
<updated>2026-08-10T08:48:54+00:00</updated>
<author>
<name>Yifei Gao</name>
<email>gyf161023@gmail.com</email>
</author>
<published>2026-07-30T14:14:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fea97ee13c5332f67850733d6cefc1fe99460bde'/>
<id>fea97ee13c5332f67850733d6cefc1fe99460bde</id>
<content type='text'>
isp4if_alloc_fw_gpumem() allocates several GPU memory pools in sequence.
If one of them fails, it jumps to error_no_memory and returns -ENOMEM
without releasing the pools that were already allocated, leaking them.

Release the already-allocated pools before returning. isp4if_gpu_mem_free()
is a no-op on pools that were not allocated, so calling
isp4if_dealloc_fw_gpumem() here safely frees exactly the pools that
succeeded.

isp4if_gpu_mem_free() previously logged an error for a NULL entry, which
is a normal case during partial-allocation cleanup, so make it silent.

Fixes: 4c5feef6a62c ("media: platform: amd: Add isp4 fw and hw interface")
Signed-off-by: Yifei Gao &lt;gyf161023@gmail.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
isp4if_alloc_fw_gpumem() allocates several GPU memory pools in sequence.
If one of them fails, it jumps to error_no_memory and returns -ENOMEM
without releasing the pools that were already allocated, leaking them.

Release the already-allocated pools before returning. isp4if_gpu_mem_free()
is a no-op on pools that were not allocated, so calling
isp4if_dealloc_fw_gpumem() here safely frees exactly the pools that
succeeded.

isp4if_gpu_mem_free() previously logged an error for a NULL entry, which
is a normal case during partial-allocation cleanup, so make it silent.

Fixes: 4c5feef6a62c ("media: platform: amd: Add isp4 fw and hw interface")
Signed-off-by: Yifei Gao &lt;gyf161023@gmail.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: fix unmet dependency for VIDEO_V4L2_SUBDEV_API</title>
<updated>2026-07-15T08:13:55+00:00</updated>
<author>
<name>Julian Braha</name>
<email>julianbraha@gmail.com</email>
</author>
<published>2026-07-11T23:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=95a99456ff354a1bad4b4032ed1d044d608bd438'/>
<id>95a99456ff354a1bad4b4032ed1d044d608bd438</id>
<content type='text'>
Currently, VIDEO_AMD_ISP4_CAPTURE selects VIDEO_V4L2_SUBDEV_API without
ensuring MEDIA_CONTROLLER is enabled, causing an unmet dependency:

WARNING: unmet direct dependencies detected for VIDEO_V4L2_SUBDEV_API
  Depends on [n]: MEDIA_SUPPORT [=m] &amp;&amp; VIDEO_DEV [=m] &amp;&amp; MEDIA_CONTROLLER [=n]
  Selected by [m]:
  - VIDEO_AMD_ISP4_CAPTURE [=m] &amp;&amp; MEDIA_SUPPORT [=m] &amp;&amp; MEDIA_PLATFORM_SUPPORT [=y] &amp;&amp; MEDIA_PLATFORM_DRIVERS [=y] &amp;&amp; DRM_AMDGPU [=m] &amp;&amp; DRM_AMD_ISP [=y] &amp;&amp; HAS_DMA [=y] &amp;&amp; VIDEO_DEV [=m]

Many other options in this subsystem select MEDIA_CONTROLLER, let's do the
same here.

This unmet dependency bug was detected by kconfirm, a static analysis tool
for Kconfig.

Fixes: 9a54c285630c ("media: platform: amd: Introduce amd isp4 capture driver")
Signed-off-by: Julian Braha &lt;julianbraha@gmail.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, VIDEO_AMD_ISP4_CAPTURE selects VIDEO_V4L2_SUBDEV_API without
ensuring MEDIA_CONTROLLER is enabled, causing an unmet dependency:

WARNING: unmet direct dependencies detected for VIDEO_V4L2_SUBDEV_API
  Depends on [n]: MEDIA_SUPPORT [=m] &amp;&amp; VIDEO_DEV [=m] &amp;&amp; MEDIA_CONTROLLER [=n]
  Selected by [m]:
  - VIDEO_AMD_ISP4_CAPTURE [=m] &amp;&amp; MEDIA_SUPPORT [=m] &amp;&amp; MEDIA_PLATFORM_SUPPORT [=y] &amp;&amp; MEDIA_PLATFORM_DRIVERS [=y] &amp;&amp; DRM_AMDGPU [=m] &amp;&amp; DRM_AMD_ISP [=y] &amp;&amp; HAS_DMA [=y] &amp;&amp; VIDEO_DEV [=m]

Many other options in this subsystem select MEDIA_CONTROLLER, let's do the
same here.

This unmet dependency bug was detected by kconfirm, a static analysis tool
for Kconfig.

Fixes: 9a54c285630c ("media: platform: amd: Introduce amd isp4 capture driver")
Signed-off-by: Julian Braha &lt;julianbraha@gmail.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: use refcount_t instead of atomic_t</title>
<updated>2026-07-10T12:17:56+00:00</updated>
<author>
<name>Ricardo Ribalda</name>
<email>ribalda@chromium.org</email>
</author>
<published>2026-06-29T11:30:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0baf8f42110b7c361bb3f6a8a78c0958a23e4e32'/>
<id>0baf8f42110b7c361bb3f6a8a78c0958a23e4e32</id>
<content type='text'>
We are using the refcnt variable for refcounting. Use the refcount_t
type instead, as it has support for saturation and underflow.

This also makes cocci happier, as it will fix the following warning:
./platform/amd/isp4/isp4_subdev.c:394:6-25: WARNING: atomic_dec_and_test variation before object free at line 395.

Fixes: 4c5feef6a62c ("media: platform: amd: Add isp4 fw and hw interface")
Signed-off-by: Ricardo Ribalda &lt;ribalda@chromium.org&gt;
Reviewed-by: Pratap Nirujogi &lt;pratap.nirujogi@amd.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are using the refcnt variable for refcounting. Use the refcount_t
type instead, as it has support for saturation and underflow.

This also makes cocci happier, as it will fix the following warning:
./platform/amd/isp4/isp4_subdev.c:394:6-25: WARNING: atomic_dec_and_test variation before object free at line 395.

Fixes: 4c5feef6a62c ("media: platform: amd: Add isp4 fw and hw interface")
Signed-off-by: Ricardo Ribalda &lt;ribalda@chromium.org&gt;
Reviewed-by: Pratap Nirujogi &lt;pratap.nirujogi@amd.com&gt;
Reviewed-by: Bin Du &lt;bin.du@amd.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: add DRM_AMDGPU dependency</title>
<updated>2026-05-19T11:49:25+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2026-05-15T09:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e62bb5abdcc0dc57ff09c4db961784582e61cd9b'/>
<id>e62bb5abdcc0dc57ff09c4db961784582e61cd9b</id>
<content type='text'>
With DRM_AMDGPU=m and DRM_AMD_ISP=y, it is possible to configura
VIDEO_AMD_ISP4_CAPTURE as built-in, but that fails to link:

aarch64-linux-ld: drivers/media/platform/amd/isp4/isp4_interface.o: in function `isp4if_gpu_mem_alloc.isra.0':
isp4_interface.c:(.text+0x1d0): undefined reference to `isp_kernel_buffer_alloc'
aarch64-linux-ld: drivers/media/platform/amd/isp4/isp4_interface.o: in function `isp4if_dealloc_fw_gpumem':
isp4_interface.c:(.text+0x26c): undefined reference to `isp_kernel_buffer_free'

Add a dependency on the tristate DRM_AMDGPU symbol in addition to
the boolean DRM_AMD_ISP=y, so this can only be built-in if
the ISP driver is also linked into the kernel itself.

Fixes: 9a54c285630c ("media: platform: amd: Introduce amd isp4 capture driver")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Bin Du &lt;Bin.Du@amd.com&gt;
Tested-by: Bin Du &lt;Bin.Du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With DRM_AMDGPU=m and DRM_AMD_ISP=y, it is possible to configura
VIDEO_AMD_ISP4_CAPTURE as built-in, but that fails to link:

aarch64-linux-ld: drivers/media/platform/amd/isp4/isp4_interface.o: in function `isp4if_gpu_mem_alloc.isra.0':
isp4_interface.c:(.text+0x1d0): undefined reference to `isp_kernel_buffer_alloc'
aarch64-linux-ld: drivers/media/platform/amd/isp4/isp4_interface.o: in function `isp4if_dealloc_fw_gpumem':
isp4_interface.c:(.text+0x26c): undefined reference to `isp_kernel_buffer_free'

Add a dependency on the tristate DRM_AMDGPU symbol in addition to
the boolean DRM_AMD_ISP=y, so this can only be built-in if
the ISP driver is also linked into the kernel itself.

Fixes: 9a54c285630c ("media: platform: amd: Introduce amd isp4 capture driver")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Bin Du &lt;Bin.Du@amd.com&gt;
Tested-by: Bin Du &lt;Bin.Du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: isp4: drop stale list reinit before free</title>
<updated>2026-05-19T11:49:25+00:00</updated>
<author>
<name>Bin Du</name>
<email>Bin.Du@amd.com</email>
</author>
<published>2026-05-12T03:21:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5d8004bd279579452d7fe9f38396414fc87e1109'/>
<id>5d8004bd279579452d7fe9f38396414fc87e1109</id>
<content type='text'>
Newer Smatch snapshots no longer report the false positive around
isp4if_send_fw_cmd(), so the extra list reinitialization before kfree()
is no longer needed.

Drop the stale list reinit and keep the cleanup path simpler.

Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Newer Smatch snapshots no longer report the false positive around
isp4if_send_fw_cmd(), so the extra list reinitialization before kfree()
is no longer needed.

Drop the stale list reinit and keep the cleanup path simpler.

Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: isp4 debug fs logging and more descriptive errors</title>
<updated>2026-05-06T10:48:09+00:00</updated>
<author>
<name>Bin Du</name>
<email>Bin.Du@amd.com</email>
</author>
<published>2026-05-06T09:32:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ec4bec227b9d3796cb78af0d3d9bcdd26f0769c5'/>
<id>ec4bec227b9d3796cb78af0d3d9bcdd26f0769c5</id>
<content type='text'>
Add debug fs for isp4 driver and add more detailed descriptive error info
to some of the log message

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add debug fs for isp4 driver and add more detailed descriptive error info
to some of the log message

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: isp4 video node and buffers handling added</title>
<updated>2026-05-06T10:48:09+00:00</updated>
<author>
<name>Bin Du</name>
<email>Bin.Du@amd.com</email>
</author>
<published>2026-05-06T09:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2ccf48af22709b90ea9419cd828c92652d7709ac'/>
<id>2ccf48af22709b90ea9419cd828c92652d7709ac</id>
<content type='text'>
Isp video implements v4l2 video interface and supports NV12 and YUYV. It
manages buffers, pipeline power and state. Cherry-picked Sultan's DMA
buffer related fix from branch v6.16-drm-tip-isp4-for-amd on
https://github.com/kerneltoast/kernel_x86_laptop.git

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Isp video implements v4l2 video interface and supports NV12 and YUYV. It
manages buffers, pipeline power and state. Cherry-picked Sultan's DMA
buffer related fix from branch v6.16-drm-tip-isp4-for-amd on
https://github.com/kerneltoast/kernel_x86_laptop.git

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: isp4 subdev and firmware loading handling added</title>
<updated>2026-05-06T10:48:09+00:00</updated>
<author>
<name>Bin Du</name>
<email>Bin.Du@amd.com</email>
</author>
<published>2026-05-06T09:32:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4e5e7a7ddb4ab9ac35928d7dc72efc8797639dc3'/>
<id>4e5e7a7ddb4ab9ac35928d7dc72efc8797639dc3</id>
<content type='text'>
Isp4 sub-device is implementing v4l2 sub-device interface. It has one
capture video node, and supports only preview stream. It manages firmware
states, stream configuration. Add interrupt handling and notification for
isp firmware to isp-subdevice.

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Isp4 sub-device is implementing v4l2 sub-device interface. It has one
capture video node, and supports only preview stream. It manages firmware
states, stream configuration. Add interrupt handling and notification for
isp firmware to isp-subdevice.

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: amd: Add isp4 fw and hw interface</title>
<updated>2026-05-06T10:48:09+00:00</updated>
<author>
<name>Bin Du</name>
<email>Bin.Du@amd.com</email>
</author>
<published>2026-05-06T09:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4c5feef6a62c22b578344891232872056415a3dd'/>
<id>4c5feef6a62c22b578344891232872056415a3dd</id>
<content type='text'>
ISP firmware controls ISP HW pipeline using dedicated embedded processor
called ccpu. The communication between ISP FW and driver is using commands
and response messages sent through the ring buffer. Command buffers support
either global setting that is not specific to the stream and support stream
specific parameters. Response buffers contain ISP FW notification
information such as frame buffer done and command done. IRQ is used for
receiving response buffer from ISP firmware, which is handled in the main
isp4 media device. ISP ccpu is booted up through the firmware loading
helper function prior to stream start. Memory used for command buffer and
response buffer needs to be allocated from amdgpu buffer manager because
isp4 is a child device of amdgpu.

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ISP firmware controls ISP HW pipeline using dedicated embedded processor
called ccpu. The communication between ISP FW and driver is using commands
and response messages sent through the ring buffer. Command buffers support
either global setting that is not specific to the stream and support stream
specific parameters. Response buffers contain ISP FW notification
information such as frame buffer done and command done. IRQ is used for
receiving response buffer from ISP firmware, which is handled in the main
isp4 media device. ISP ccpu is booted up through the firmware loading
helper function prior to stream start. Memory used for command buffer and
response buffer needs to be allocated from amdgpu buffer manager because
isp4 is a child device of amdgpu.

Co-developed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Signed-off-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Co-developed-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Svetoslav Stoilov &lt;Svetoslav.Stoilov@amd.com&gt;
Signed-off-by: Bin Du &lt;Bin.Du@amd.com&gt;
Reviewed-by: Sultan Alsawaf &lt;sultan@kerneltoast.com&gt;
Tested-by: Alexey Zagorodnikov &lt;xglooom@gmail.com&gt;
Tested-by: Kate Hsuan &lt;hpa@redhat.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
