<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/imagination/Makefile, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-03-24T08:22:21Z</updated>
<entry>
<title>drm/imagination: Implement handling of context reset notification</title>
<updated>2026-03-24T08:22:21Z</updated>
<author>
<name>Alexandru Dadu</name>
<email>alexandru.dadu@imgtec.com</email>
</author>
<published>2026-03-23T18:31:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d994acc526c70d40ec9029cfe03d08ee411083c5'/>
<id>urn:sha1:d994acc526c70d40ec9029cfe03d08ee411083c5</id>
<content type='text'>
The firmware will send the context reset notification message as
part of handling hardware recovery (HWR) events deecoding the message
and printing via drm_info(). This eliminates the "Unknown FWCCB command"
message that was previously printed.

Co-developed-by: Sarah Walker &lt;sarah.walker@imgtec.com&gt;
Signed-off-by: Sarah Walker &lt;sarah.walker@imgtec.com&gt;
Signed-off-by: Alexandru Dadu &lt;alexandru.dadu@imgtec.com&gt;
Reviewed-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
Link: https://patch.msgid.link/20260323-b4-firmware-context-reset-notification-handling-v3-3-1a66049a9a65@imgtec.com
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
</content>
</entry>
<entry>
<title>drm/imagination: KUnit test for pvr_gpuid_decode_string()</title>
<updated>2026-01-19T11:20:22Z</updated>
<author>
<name>Matt Coster</name>
<email>matt.coster@imgtec.com</email>
</author>
<published>2026-01-13T10:16:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3519e9ea13b49e7b37a20fa3a11a9e1fc5441af5'/>
<id>urn:sha1:3519e9ea13b49e7b37a20fa3a11a9e1fc5441af5</id>
<content type='text'>
This is a nice self-contained function to serve as the basis of our first
KUnit tests.

Reviewed-by: Alessio Belle &lt;alessio.belle@imgtec.com&gt;
Link: https://patch.msgid.link/20260113-device-support-info-v1-5-91e5db7f7294@imgtec.com
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
</content>
</entry>
<entry>
<title>drm/imagination: Simplify module parameters</title>
<updated>2026-01-19T11:20:21Z</updated>
<author>
<name>Matt Coster</name>
<email>matt.coster@imgtec.com</email>
</author>
<published>2026-01-13T10:16:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a331631496a0af9a6f4e7e1860983afd8b1bb013'/>
<id>urn:sha1:a331631496a0af9a6f4e7e1860983afd8b1bb013</id>
<content type='text'>
We had a whole load of bloaty infrastructure to deal with module parameters
in a way that's wholly unnecessary. Strip it all back to basics to make
adding new parameters less of a headache.

Reviewed-by: Alessio Belle &lt;alessio.belle@imgtec.com&gt;
Link: https://patch.msgid.link/20260113-device-support-info-v1-1-91e5db7f7294@imgtec.com
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
</content>
</entry>
<entry>
<title>drm/imagination: Add RISC-V firmware processor support</title>
<updated>2025-04-15T11:21:52Z</updated>
<author>
<name>Sarah Walker</name>
<email>sarah.walker@imgtec.com</email>
</author>
<published>2025-04-10T09:55:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=171f378d2a23db92d3443173f5fd7f25633ec39d'/>
<id>urn:sha1:171f378d2a23db92d3443173f5fd7f25633ec39d</id>
<content type='text'>
Newer PowerVR GPUs (such as the BXS-4-64 MC1) use a RISC-V firmware
processor instead of the previous MIPS or META.

The current version of this patch depends on a patch[1] which exists in
drm-misc-fixes, but has not yet made it back to drm-misc-next (the
target of this patch). That patch adds the function pvr_vm_unmap_obj()
which is used here.

[1]: https://lore.kernel.org/r/20250226-hold-drm_gem_gpuva-lock-for-unmap-v2-1-3fdacded227f@imgtec.com

Signed-off-by: Sarah Walker &lt;sarah.walker@imgtec.com&gt;
Reviewed-by: Frank Binns &lt;frank.binns@imgtec.com&gt;
Link: https://lore.kernel.org/r/20250410-sets-bxs-4-64-patch-v1-v6-14-eda620c5865f@imgtec.com
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
</content>
</entry>
<entry>
<title>drm/imagination: Move ELF fw utils to common file</title>
<updated>2025-04-15T11:21:52Z</updated>
<author>
<name>Matt Coster</name>
<email>matt.coster@imgtec.com</email>
</author>
<published>2025-04-10T09:55:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f48485ab506850b4e35ff56550568f710a22a586'/>
<id>urn:sha1:f48485ab506850b4e35ff56550568f710a22a586</id>
<content type='text'>
Currently only MIPS firmware processors use ELF-formatted firmware. When
adding support for RISC-V firmware processors, it will be useful to have
ELF handling functions ready to go.

Reviewed-by: Frank Binns &lt;frank.binns@imgtec.com&gt;
Link: https://lore.kernel.org/r/20250410-sets-bxs-4-64-patch-v1-v6-13-eda620c5865f@imgtec.com
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
</content>
</entry>
<entry>
<title>drm/imagination: remove unnecessary header include path</title>
<updated>2025-02-26T09:54:57Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2025-02-10T10:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2e064e3f3282ec016d80cb7b1fadff0d8e2014ca'/>
<id>urn:sha1:2e064e3f3282ec016d80cb7b1fadff0d8e2014ca</id>
<content type='text'>
drivers/gpu/drm/imagination/ includes local headers with the double-quote
form (#include "...").

Hence, the header search path addition is unneeded.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Reviewed-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250210102352.1517115-1-masahiroy@kernel.org
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
</content>
</entry>
<entry>
<title>kbuild: use $(src) instead of $(srctree)/$(src) for source directory</title>
<updated>2024-05-09T19:34:52Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-04-27T14:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b1992c3772e69a6fd0e3fc81cd4d2820c8b6eca0'/>
<id>urn:sha1:b1992c3772e69a6fd0e3fc81cd4d2820c8b6eca0</id>
<content type='text'>
Kbuild conventionally uses $(obj)/ for generated files, and $(src)/ for
checked-in source files. It is merely a convention without any functional
difference. In fact, $(obj) and $(src) are exactly the same, as defined
in scripts/Makefile.build:

    src := $(obj)

When the kernel is built in a separate output directory, $(src) does
not accurately reflect the source directory location. While Kbuild
resolves this discrepancy by specifying VPATH=$(srctree) to search for
source files, it does not cover all cases. For example, when adding a
header search path for local headers, -I$(srctree)/$(src) is typically
passed to the compiler.

This introduces inconsistency between upstream and downstream Makefiles
because $(src) is used instead of $(srctree)/$(src) for the latter.

To address this inconsistency, this commit changes the semantics of
$(src) so that it always points to the directory in the source tree.

Going forward, the variables used in Makefiles will have the following
meanings:

  $(obj)     - directory in the object tree
  $(src)     - directory in the source tree  (changed by this commit)
  $(objtree) - the top of the kernel object tree
  $(srctree) - the top of the kernel source tree

Consequently, $(srctree)/$(src) in upstream Makefiles need to be replaced
with $(src).

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;
</content>
</entry>
<entry>
<title>drm/imagination: Add firmware trace to debugfs</title>
<updated>2023-11-23T08:01:47Z</updated>
<author>
<name>Sarah Walker</name>
<email>sarah.walker@imgtec.com</email>
</author>
<published>2023-11-22T16:34:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cb56cd61086645e46cc54d1837de803b1c471df6'/>
<id>urn:sha1:cb56cd61086645e46cc54d1837de803b1c471df6</id>
<content type='text'>
Firmware trace is exposed at /sys/debug/dri/&lt;dev_nr&gt;/pvr_fw/trace_0.
Trace is enabled via the group mask at
/sys/debug/dri/&lt;dev_nr&gt;/pvr_params/fw_trace_mask.

Changes since v8:
- Corrected license identifiers

Changes since v3:
- Use drm_dev_{enter,exit}

Co-developed-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
Signed-off-by: Matt Coster &lt;matt.coster@imgtec.com&gt;
Signed-off-by: Sarah Walker &lt;sarah.walker@imgtec.com&gt;
Signed-off-by: Donald Robson &lt;donald.robson@imgtec.com&gt;
Link: https://lore.kernel.org/r/009cf9fee347fa96c8a665dc368fc54a5ffceff0.1700668843.git.donald.robson@imgtec.com
Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/imagination: Implement job submission and scheduling</title>
<updated>2023-11-23T08:01:47Z</updated>
<author>
<name>Sarah Walker</name>
<email>sarah.walker@imgtec.com</email>
</author>
<published>2023-11-22T16:34:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=eaf01ee5ba28b97f96a3d3eec4c5fbfb37ee4cde'/>
<id>urn:sha1:eaf01ee5ba28b97f96a3d3eec4c5fbfb37ee4cde</id>
<content type='text'>
Implement job submission ioctl. Job scheduling is implemented using
drm_sched.

Jobs are submitted in a stream format. This is intended to allow the UAPI
data format to be independent of the actual FWIF structures in use, which
vary depending on the GPU in use.

The stream formats are documented at:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/f8d2b42ae65c2f16f36a43e0ae39d288431e4263/src/imagination/csbgen/rogue_kmd_stream.xml

Changes since v8:
- Updated for upstreamed DRM scheduler changes
- Removed workaround code for the pending_list previously being updated
  after run_job() returned
- Fixed null deref in pvr_queue_cleanup_fw_context() for bad stream ptr
  given to create_context ioctl
- Corrected license identifiers

Changes since v7:
- Updated for v8 "DRM scheduler changes for XE" patchset

Changes since v6:
- Fix fence handling in pvr_sync_signal_array_add()
- Add handling for SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE flag
- Fix missing dma_resv locking in job submit path

Changes since v5:
- Fix leak in job creation error path

Changes since v4:
- Use a regular workqueue for job scheduling

Changes since v3:
- Support partial render jobs
- Add job timeout handler
- Split sync handling out of job code
- Use drm_dev_{enter,exit}

Changes since v2:
- Use drm_sched for job scheduling

Co-developed-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Co-developed-by: Donald Robson &lt;donald.robson@imgtec.com&gt;
Signed-off-by: Donald Robson &lt;donald.robson@imgtec.com&gt;
Signed-off-by: Sarah Walker &lt;sarah.walker@imgtec.com&gt;
Link: https://lore.kernel.org/r/c98dab7a5f5fb891fbed7e4990d19b5d13964365.1700668843.git.donald.robson@imgtec.com
Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/imagination: Implement context creation/destruction ioctls</title>
<updated>2023-11-23T08:01:46Z</updated>
<author>
<name>Sarah Walker</name>
<email>sarah.walker@imgtec.com</email>
</author>
<published>2023-11-22T16:34:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d2d79d29bb98a32c511f7339a8e93b47544fdeac'/>
<id>urn:sha1:d2d79d29bb98a32c511f7339a8e93b47544fdeac</id>
<content type='text'>
Implement ioctls for the creation and destruction of contexts. Contexts are
used for job submission and each is associated with a particular job type.

Changes since v8:
- Fixed one error path in pvr_stream_process_1()
- Corrected license identifiers

Changes since v5:
- Fix context release in final error path in pvr_context_create()

Changes since v3:
- Use drm_dev_{enter,exit}

Co-developed-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Sarah Walker &lt;sarah.walker@imgtec.com&gt;
Signed-off-by: Donald Robson &lt;donald.robson@imgtec.com&gt;
Link: https://lore.kernel.org/r/ac474a1f7dda2582d290798e4837140a2989aa2a.1700668843.git.donald.robson@imgtec.com
Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
</content>
</entry>
</feed>
