<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/gpu/drm/msm/adreno, branch master</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>drm/msm/adreno: add Adreno 810 GPU support</title>
<updated>2026-05-29T14:07:31+00:00</updated>
<author>
<name>Alexander Koskovich</name>
<email>akoskovich@pm.me</email>
</author>
<published>2026-05-28T09:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9a967125427e03c7ebc24d7ad26e9307e8403d4e'/>
<id>9a967125427e03c7ebc24d7ad26e9307e8403d4e</id>
<content type='text'>
Add catalog entry and register configuration for the Adreno 810
found in Qualcomm SM7635 (Milos) based devices.

Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728812/
Message-ID: &lt;20260528-adreno-810-v7-6-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add catalog entry and register configuration for the Adreno 810
found in Qualcomm SM7635 (Milos) based devices.

Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728812/
Message-ID: &lt;20260528-adreno-810-v7-6-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/a8xx: use pipe protect slot 15 for last-span-unbound feature</title>
<updated>2026-05-29T14:07:30+00:00</updated>
<author>
<name>Alexander Koskovich</name>
<email>akoskovich@pm.me</email>
</author>
<published>2026-05-28T09:49:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c2c083bbe07bd65f376d1ce7e136838427f494b1'/>
<id>c2c083bbe07bd65f376d1ce7e136838427f494b1</id>
<content type='text'>
A8XX GPUs have two sets of protect registers: 64 global slots and 16
pipe specific slots. The last-span-unbound feature is only available
on pipe protect registers, and should always target pipe slot 15.

This matches the downstream driver which hardcodes pipe slot 15 for
all A8XX GPUs (GRAPHICS.LA.15.0.r1) and resolves protect errors on
A810.

Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728810/
Message-ID: &lt;20260528-adreno-810-v7-5-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A8XX GPUs have two sets of protect registers: 64 global slots and 16
pipe specific slots. The last-span-unbound feature is only available
on pipe protect registers, and should always target pipe slot 15.

This matches the downstream driver which hardcodes pipe slot 15 for
all A8XX GPUs (GRAPHICS.LA.15.0.r1) and resolves protect errors on
A810.

Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728810/
Message-ID: &lt;20260528-adreno-810-v7-5-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/adreno: set cx_misc_mmio regardless of if platform has LLCC</title>
<updated>2026-05-29T14:07:30+00:00</updated>
<author>
<name>Alexander Koskovich</name>
<email>akoskovich@pm.me</email>
</author>
<published>2026-05-28T09:48:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b150b562ec0607f068ed75eddfc31553976a874f'/>
<id>b150b562ec0607f068ed75eddfc31553976a874f</id>
<content type='text'>
Platforms without a LLCC (e.g. milos) still need to be able to read and
write to the cx_mem region. Previously if LLCC slices were unavailable
the cx_misc_mmio mapping was overwritten with ERR_PTR, causing a crash
when the GMU later accessed cx_mem.

Move the cx_misc_mmio mapping out of a6xx_llc_slices_init() into
a6xx_gpu_init() so that cx_mem mapping is independent of LLCC.

Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728808/
Message-ID: &lt;20260528-adreno-810-v7-4-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Platforms without a LLCC (e.g. milos) still need to be able to read and
write to the cx_mem region. Previously if LLCC slices were unavailable
the cx_misc_mmio mapping was overwritten with ERR_PTR, causing a crash
when the GMU later accessed cx_mem.

Move the cx_misc_mmio mapping out of a6xx_llc_slices_init() into
a6xx_gpu_init() so that cx_mem mapping is independent of LLCC.

Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728808/
Message-ID: &lt;20260528-adreno-810-v7-4-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/adreno: rename llc_mmio to cx_misc_mmio</title>
<updated>2026-05-29T14:07:30+00:00</updated>
<author>
<name>Alexander Koskovich</name>
<email>akoskovich@pm.me</email>
</author>
<published>2026-05-28T09:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d8bf2eddd6520c5806334a22d817f58df8c8c018'/>
<id>d8bf2eddd6520c5806334a22d817f58df8c8c018</id>
<content type='text'>
This region is used for more than just LLCC, it also provides access to
software fuse values (raytracing, etc).

Rename relevant symbols from _llc to _cx_misc for use in a follow up
change that decouples this from LLCC.

Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728806/
Message-ID: &lt;20260528-adreno-810-v7-3-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This region is used for more than just LLCC, it also provides access to
software fuse values (raytracing, etc).

Rename relevant symbols from _llc to _cx_misc for use in a follow up
change that decouples this from LLCC.

Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Signed-off-by: Alexander Koskovich &lt;akoskovich@pm.me&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728806/
Message-ID: &lt;20260528-adreno-810-v7-3-7fe7fdd97fc2@pm.me&gt;
Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/a6xx: Allow IFPC with perfcntr stream</title>
<updated>2026-05-29T14:07:30+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robin.clark@oss.qualcomm.com</email>
</author>
<published>2026-05-26T14:50:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=632ad5510114eb3866bc519bd216860d48ccf77c'/>
<id>632ad5510114eb3866bc519bd216860d48ccf77c</id>
<content type='text'>
Now that the dynamic pwrup reglist has SEL reg values to restore
appended, so that SEL regs are restored on IFPC exit, we can stop
completely disabling IFPC while global counter sampling is active.

To accomplish this, we re-use sysprof_setup() with a force_on param
to inhibit IFPC specifically while the counter regs are being read,
while leaving IFPC enabled the rest of the time.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728219/
Message-ID: &lt;20260526145137.160554-17-robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that the dynamic pwrup reglist has SEL reg values to restore
appended, so that SEL regs are restored on IFPC exit, we can stop
completely disabling IFPC while global counter sampling is active.

To accomplish this, we re-use sysprof_setup() with a force_on param
to inhibit IFPC specifically while the counter regs are being read,
while leaving IFPC enabled the rest of the time.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728219/
Message-ID: &lt;20260526145137.160554-17-robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/a6xx: Append SEL regs to dyn pwrup reglist</title>
<updated>2026-05-29T14:07:29+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robin.clark@oss.qualcomm.com</email>
</author>
<published>2026-05-26T14:50:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=45d4a295b307b67c8a05d5d31a31385d0893553c'/>
<id>45d4a295b307b67c8a05d5d31a31385d0893553c</id>
<content type='text'>
This is needed so that SEL reg values are restored on exit from IFPC.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728218/
Message-ID: &lt;20260526145137.160554-16-robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is needed so that SEL reg values are restored on exit from IFPC.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728218/
Message-ID: &lt;20260526145137.160554-16-robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/a6xx: Increase pwrup_reglist size</title>
<updated>2026-05-29T14:07:29+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robin.clark@oss.qualcomm.com</email>
</author>
<published>2026-05-26T14:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d4939b77c118dc3ed78334a897b4bb1c98311c53'/>
<id>d4939b77c118dc3ed78334a897b4bb1c98311c53</id>
<content type='text'>
To make room for appending SEL reg programming.  Without increasing the
size, we would overflow the pwrup_reglist at ~190 counters on gen8.
Or possibly fewer, considering that some gen8 counter groups also have
separate slice vs unslice SELectors.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728228/
Message-ID: &lt;20260526145137.160554-15-robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To make room for appending SEL reg programming.  Without increasing the
size, we would overflow the pwrup_reglist at ~190 counters on gen8.
Or possibly fewer, considering that some gen8 counter groups also have
separate slice vs unslice SELectors.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728228/
Message-ID: &lt;20260526145137.160554-15-robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/a8xx: Add perfcntr flush sequence</title>
<updated>2026-05-29T14:07:29+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robin.clark@oss.qualcomm.com</email>
</author>
<published>2026-05-26T14:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5ef26a2a4b2e55b07984e17baec179b849b52bcc'/>
<id>5ef26a2a4b2e55b07984e17baec179b849b52bcc</id>
<content type='text'>
With the slice architecture, we need to flush the slice and unslice
counters to perf RAM before reading counters.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728216/
Message-ID: &lt;20260526145137.160554-13-robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the slice architecture, we need to flush the slice and unslice
counters to perf RAM before reading counters.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728216/
Message-ID: &lt;20260526145137.160554-13-robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/a6xx+: Add support to configure perfcntrs</title>
<updated>2026-05-29T14:07:29+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robin.clark@oss.qualcomm.com</email>
</author>
<published>2026-05-26T14:50:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5eedc8c2d0b52a44cecbd12641524b3616070c0c'/>
<id>5eedc8c2d0b52a44cecbd12641524b3616070c0c</id>
<content type='text'>
Add support to configure counter SELect regs.  In some cases the reg
writes need to happen while the GPU is idle.  And for a7xx+, in some
cases SEL regs need to be configured from BV or BR aperture.  The
easiest way to deal with this is to configure from the RB.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728215/
Message-ID: &lt;20260526145137.160554-12-robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support to configure counter SELect regs.  In some cases the reg
writes need to happen while the GPU is idle.  And for a7xx+, in some
cases SEL regs need to be configured from BV or BR aperture.  The
easiest way to deal with this is to configure from the RB.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728215/
Message-ID: &lt;20260526145137.160554-12-robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: Add basic perfcntr infrastructure</title>
<updated>2026-05-29T14:07:29+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robin.clark@oss.qualcomm.com</email>
</author>
<published>2026-05-26T14:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=02195633635c42db9ca29f3c9fa3a758bc1a2cee'/>
<id>02195633635c42db9ca29f3c9fa3a758bc1a2cee</id>
<content type='text'>
Add the basic infrastructure for tracking assigned perfcntrs.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728212/
Message-ID: &lt;20260526145137.160554-11-robin.clark@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the basic infrastructure for tracking assigned perfcntrs.

Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;
Reviewed-by: Anna Maniscalco &lt;anna.maniscalco2000@gmail.com&gt;
Reviewed-by: Akhil P Oommen &lt;akhilpo@oss.qualcomm.com&gt;
Patchwork: https://patchwork.freedesktop.org/patch/728212/
Message-ID: &lt;20260526145137.160554-11-robin.clark@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
