<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/ast/ast_cursor.c, branch linux-7.0.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.0.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.0.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2025-12-21T20:44:35+00:00</updated>
<entry>
<title>drm/ast: Swap framebuffer writes on big-endian machines</title>
<updated>2025-12-21T20:44:35+00:00</updated>
<author>
<name>René Rebe</name>
<email>rene@exactco.de</email>
</author>
<published>2025-12-12T20:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=50c26c301c5176cc8b431044390e10ec862b9b77'/>
<id>urn:sha1:50c26c301c5176cc8b431044390e10ec862b9b77</id>
<content type='text'>
Swap the pixel data when writing to framebuffer memory on big-endian
machines. Fixes incorrect output. Aspeed graphics does not appear to
support big-endian framebuffers after AST2400, although the feature
has been documented.

There's a lengthy discussion at [1].

v5:
- avoid restricted cast from __be16 (kernel test robot)

Signed-off-by: René Rebe &lt;rene@exactco.de&gt;
Link: https://lore.kernel.org/dri-devel/20251202.170626.2134482663677806825.rene@exactco.de/ # [1]
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Link: https://patch.msgid.link/20251212.210504.1355099120650239629.rene@exactco.de
</content>
</entry>
<entry>
<title>drm/ast: Wrap cursor framebuffer access in drm_gem_fb_begin/end_cpu_access()</title>
<updated>2025-12-01T07:40:19+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-11-26T09:40:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4dfb97060f22c6c5bea995302f0f58936d8f3271'/>
<id>urn:sha1:4dfb97060f22c6c5bea995302f0f58936d8f3271</id>
<content type='text'>
Call drm_gem_fb_begin_cpu_access() and drm_gem_fb_end_cpu_access()
around cursor image updates. Imported buffers might have to be
synchronized for CPU access before they can be used.

Ignore errors from drm_gem_fb_begin_cpu_access(). These errors can
often be transitory. The cursor image will be updated on the next
frame. Meanwhile display a white square where the cursor would be.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;&gt;
Link: https://patch.msgid.link/20251126094626.41985-4-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: Support cursor buffers objects in I/O memory</title>
<updated>2025-12-01T07:40:19+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-11-26T09:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ef4ed8621a15ea4979dd6c5bde436ae228c4bdfe'/>
<id>urn:sha1:ef4ed8621a15ea4979dd6c5bde436ae228c4bdfe</id>
<content type='text'>
Copy the ARGB4444 cursor buffer to system memory if it is located in
I/O memory. While this cannot happen with ast's native GEM objects, an
imported buffer object might be on the external device's I/O memory.

If the cursor buffer is located in system memory continue to use it
directly.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;&gt;
Link: https://patch.msgid.link/20251126094626.41985-3-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: Move cursor format conversion into helper function</title>
<updated>2025-12-01T07:40:18+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-11-26T09:40:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1e759ed22a62680c79aab266d73baaa2bee4de9f'/>
<id>urn:sha1:1e759ed22a62680c79aab266d73baaa2bee4de9f</id>
<content type='text'>
Move the format conversion of the cursor framebuffer into the new
helper ast_cursor_plane_get_argb4444(). It returns a buffer in system
memory, which the atomic_update handler copies to video memory.

The returned buffer is either the GEM buffer itself, or a temporary
copy within the plane in ARGB4444 format.

As a small change, list supported formats explicitly in the switch
statement. Do not assume ARGB8888 input by default. The cursor
framebuffer knows its format, so should we.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Link: https://patch.msgid.link/20251126094626.41985-2-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: Remove vaddr field from struct ast_plane</title>
<updated>2025-04-07T13:08:48+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-03-24T09:44:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=23fd03aa6c08fbf1ba0644aae8c30b6166fe39e8'/>
<id>urn:sha1:23fd03aa6c08fbf1ba0644aae8c30b6166fe39e8</id>
<content type='text'>
The vaddr field in struct ast_plane serves no purpose. Its value
can be calculated easily from the VRAM base plus the plane offset.
Do so and remove the field.

In ast_primary_plane_helper_get_scanout_buffer(), remove the test
for vaddr being NULL. This cannot legally happen.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Link: https://lore.kernel.org/r/20250324094520.192974-3-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: cursor: Drop page alignment</title>
<updated>2025-03-12T07:38:13+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-03-05T16:30:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c6a84bc9690afc40b103c5df3cdfb357439cb563'/>
<id>urn:sha1:c6a84bc9690afc40b103c5df3cdfb357439cb563</id>
<content type='text'>
The cursor scanout address requires alignment to a multiple of 8,
but does not require page alignment. Change the offset calculation
accordingly. Frees up a few more bytes for the primary framebuffer.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250305163207.267650-8-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: Remove vram_fb_available from struct ast_device</title>
<updated>2025-03-12T07:38:12+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-03-05T16:30:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e5f953b8eae7249bf50f86d79f80327621edc2d5'/>
<id>urn:sha1:e5f953b8eae7249bf50f86d79f80327621edc2d5</id>
<content type='text'>
Helpers compute the offset and size of the available framebuffer
memory. Remove the obsolete field vram_fb_available from struct
ast_device. Also define the cursor-signature size next to its only
user.

v2:
- initialize plane size

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250305163207.267650-7-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: cursor: Add helpers for computing location in video memory</title>
<updated>2025-03-12T07:38:11+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-03-05T16:30:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4ee3229bbe6cb0e80f1dedcddda8072bb9cc884f'/>
<id>urn:sha1:4ee3229bbe6cb0e80f1dedcddda8072bb9cc884f</id>
<content type='text'>
The ast drivers stores the cursor image at the end of the video memory.
Add helpers to calculate the offset and size.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250305163207.267650-5-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: cursor: Move implementation to separate source file</title>
<updated>2025-02-20T07:38:34+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2025-02-17T12:22:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e82e1a0c22d841f379b1c768469dcdaae650e443'/>
<id>urn:sha1:e82e1a0c22d841f379b1c768469dcdaae650e443</id>
<content type='text'>
Move the cursor code into a separate source file for readability. No
functional changes.

v2:
- include &lt;linux/bits.h&gt;

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250217122336.230067-5-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ast: Inline ast cursor-update functions into modesetting code</title>
<updated>2021-02-17T11:40:05+00:00</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2021-02-09T13:46:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=718c22865fc0a9c821e21eacba46829516901374'/>
<id>urn:sha1:718c22865fc0a9c821e21eacba46829516901374</id>
<content type='text'>
The logic for cursor updates is now located in the cursor plane's
modesetting code. A number of helper functions remain to modify the
rsp registers and image.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Acked-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210209134632.12157-6-tzimmermann@suse.de
</content>
</entry>
</feed>
