Marek Vasut
42bbf82b73
drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros
...
The RXSETR_CRCEN(n) and RXSETR_ECCEN(n) macros both take parameter (n),
add the missing macro parameter. Neither of those macros is used by the
driver, so for now the bug is harmless.
Fixes: 685e8dae19 ("drm/rcar-du: dsi: Implement DSI command support")
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com >
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org >
Reported-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Link: https://patch.msgid.link/20251028232959.109936-2-marek.vasut+renesas@mailbox.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com >
2025-10-29 11:32:10 +02:00
Ville Syrjälä
0a0e79a2d9
drm/atomic: WARN about invalid drm_foo_get_state() usage
...
drm_{crtc,plane,connector,private_obj}_get_state() must not
be called after the atomic check phase. At that point the commit
has been carved in stone and no new objects must be introduced
into it. WARN if anyone attempts to violate this rule.
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Dan Carpenter <dan.carpenter@linaro.org >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patch.msgid.link/20251017163327.9074-2-ville.syrjala@linux.intel.com
Reviewed-by: Maxime Ripard <mripard@kernel.org >
2025-10-28 21:45:14 +02:00
Ville Syrjälä
1a88bb47a8
drm/atomic: WARN about missing acquire_ctx in drm_atomic_get_private_obj_state()
...
The crtc/plane/connector counterparts of
drm_atomic_get_private_obj_state() all WARN about a missing
acquire_ctx. Do the same in drm_atomic_get_private_obj_state()
for consistency.
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Dan Carpenter <dan.carpenter@linaro.org >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patch.msgid.link/20251017163327.9074-1-ville.syrjala@linux.intel.com
Reviewed-by: Maxime Ripard <mripard@kernel.org >
2025-10-28 21:44:55 +02:00
Icenowy Zheng
4f9ffd2c80
drm/ttm: add pgprot handling for RISC-V
...
The RISC-V Svpbmt privileged extension provides support for overriding
page memory coherency attributes, and, along with vendor extensions like
Xtheadmae, supports pgprot_{writecombine,noncached} on RISC-V.
Adapt the codepath that maps ttm_write_combined to pgprot_writecombine
and ttm_noncached to pgprot_noncached to RISC-V, to allow proper page
access attributes.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Tested-by: Han Gao <rabenda.cn@gmail.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Link: https://lore.kernel.org/r/20251020053523.731353-1-uwu@icenowy.me
2025-10-28 09:19:46 +01:00
Thomas Zimmermann
9837f9fcb7
drm/gem-atomic: Reset plane state to NULL if allocation failed
...
Unconditionally reset plane->state to NULL if the allocation of the
shadow plane state fails. Avoids an invalid address in the field.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patch.msgid.link/20251017091919.58770-1-tzimmermann@suse.de
2025-10-26 17:12:58 +01:00
Ruben Wauters
b9e5e9d2c1
drm/gud: rearrange gud_probe() to prepare for function splitting
...
gud_probe() is currently very large and does many things, including
pipeline setup and feature detection, as well as having USB functions.
This patch re-orders the code in gud_probe() to make it more organised
and easier to split apart in the future.
Signed-off-by: Ruben Wauters <rubenru09@aol.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://lore.kernel.org/r/20251020140147.5017-1-rubenru09@aol.com/
2025-10-24 19:36:45 +01:00
Thomas Zimmermann
5efbe8ff98
Merge drm/drm-next into drm-misc-next
...
Backmerging to get fixes and features of v6.18-rc2.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
2025-10-24 14:45:08 +02:00
Simona Vetter
098456f314
Merge tag 'drm-misc-next-2025-10-21' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
...
drm-misc-next for v6.19:
UAPI Changes:
amdxdna:
- Support reading last hardware error
Cross-subsystem Changes:
dma-buf:
- heaps: Create heap per CMA reserved location; Improve user-space documentation
Core Changes:
atomic:
- Clean up and improve state-handling interfaces, update drivers
bridge:
- Improve ref counting
buddy:
- Optimize block management
Driver Changes:
amdxdna:
- Fix runtime power management
- Support firmware debug output
ast:
- Set quirks for each chip model
atmel-hlcdc:
- Set LCDC_ATTRE register in plane disable
- Set correct values for plane scaler
bochs:
- Use vblank timer
bridge:
- synopsis: Support CEC; Init timer with correct frequency
cirrus-qemu:
- Use vblank timer
imx:
- Clean up
ivu:
- Update JSM API to 3.33.0
- Reset engine on more job errors
- Return correct error codes for jobs
komeda:
- Use drm_ logging functions
panel:
- edp: Support AUO B116XAN02.0
panfrost:
- Embed struct drm_driver in Panfrost device
- Improve error handling
- Clean up job handling
panthor:
- Support custom ASN_HASH for mt8196
renesas:
- rz-du: Fix dependencies
rockchip:
- dsi: Add support for RK3368
- Fix LUT size for RK3386
sitronix:
- Fix output position when clearing screens
qaic:
- Support dma-buf exports
- Support new firmware's READ_DATA implementation
- Replace kcalloc with memdup
- Replace snprintf() with sysfs_emit()
- Avoid overflows in arithmetics
- Clean up
- Fixes
qxl:
- Use vblank timer
rockchip:
- Clean up mode-setting code
vgem:
- Fix fence timer deadlock
virtgpu:
- Use vblank timer
Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch >
From: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://lore.kernel.org/r/20251021111837.GA40643@linux.fritz.box
2025-10-24 13:25:20 +02:00
Thomas Zimmermann
57fe8285dc
drm/client: Do not free client memory by default
...
Make no assumption on the allocation of the client's memory. For
example, amdgpu stores a client within another data structures,
where it cannot be freed by itself.
The correct place to free the client's memory is the client's free
callback. All existing clients implement this.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com >
Link: https://lore.kernel.org/r/20251009132006.45834-5-tzimmermann@suse.de
2025-10-24 08:45:37 +02:00
Thomas Zimmermann
52a0233916
drm/log: Add free callback
...
Free the client memory in the client free callback. Also move the
debugging output into the free callback: drm_client_release() puts
the reference on the DRM device, so pointers to the device should
be considered dangling afterwards.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com >>
Link: https://lore.kernel.org/r/20251009132006.45834-4-tzimmermann@suse.de
2025-10-24 08:45:37 +02:00
Thomas Zimmermann
33ba21e9e1
drm/log: Do not hold lock across drm_client_release()
...
When calling drm_client_release(), the client is already quiescent.
Internal locks should therefore be dropped before the caller releases
the client.
In the case of the DRM log, concurrency originates from the console or
from client events. The console has been unregistered in the previous
line. The caller of the unregister callback, drm_log_client_unregister(),
holds clientlist_mutex from struct drm_device to protect against concurrent
client events. It is therefore safe to release the client without holding
locks.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com >>
Link: https://lore.kernel.org/r/20251009132006.45834-3-tzimmermann@suse.de
2025-10-24 08:45:37 +02:00
Thomas Zimmermann
a16f6ba43d
drm/client: Add client free callback to unprepare fb_helper
...
Add free callback to struct drm_client_funcs. Invoke function to
free the client memory as part of the release process. Implement
free for fbdev emulation.
Fbdev emulation allocates and prepares client memory in
drm_fbdev_client_setup(). The release happens in fb_destroy from
struct fb_ops. Multiple implementations of this callback exist in
the various drivers that provide an fbdev implementation. Each of
them needs to follow the implementation details of the fbdev setup
code.
Adding a free callback for the client puts the unprepare and release
of the fbdev client in a single place.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com > # core, msm
Acked-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com > # omapdrm
Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com > # gma500
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://lore.kernel.org/r/20251009132006.45834-2-tzimmermann@suse.de
2025-10-24 08:44:10 +02:00
Thomas Zimmermann
b36ca97592
drm/sysfb: Use new CRTC state in begin_fb_access
...
Retrieve the CRTC's new state with drm_atomic_get_new_crtc_state()
in drm_sysfb_plane_helper_begin_fb_access(). The blit function might
be incorrect otherwise.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Fixes: cb71de0925 ("drm/sysfb: Lookup blit function during atomic check")
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Closes: https://lore.kernel.org/dri-devel/aPJrs7_u8KcalNsC@intel.com/
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Javier Martinez Canillas <javierm@redhat.com >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://lore.kernel.org/r/20251020125227.41308-1-tzimmermann@suse.de
2025-10-23 10:36:14 +02:00
José Expósito
f97180f094
drm/vkms: Allow to configure connector status via configfs
...
When a connector is created, add a `status` file to allow to update the
connector status to:
- 1 connector_status_connected
- 2 connector_status_disconnected
- 3 connector_status_unknown
If the device is enabled, updating the status hot-plug or unplugs the
connector.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-17-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:26 +02:00
José Expósito
466f43885a
drm/vkms: Allow to update the connector status
...
Implement the drm_connector_funcs.detect() callback to update the
connector status by returning the status stored in the configuration.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-16-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:26 +02:00
José Expósito
6f00987f5c
drm/vkms: Allow to configure connector status
...
Allow to store the connector status in vkms_config_connector and add a
getter and a setter functions as well a KUnit test.
This change only adds the configuration, the connector status is not
used yet.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-15-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:26 +02:00
José Expósito
8c29107a61
drm/vkms: Allow to configure the default device creation
...
Add a new module param to allow to create or not the default VKMS
instance. Useful when combined with configfs to avoid having additional
VKMS instances.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-13-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:26 +02:00
Louis Chauvet
64229b846a
drm/vkms: Allow to attach connectors and encoders via configfs
...
Create a default subgroup at
/config/vkms/connectors/connector/possible_encoders that will contain
symbolic links to the possible encoders for the connector.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-12-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:26 +02:00
Louis Chauvet
272acbca96
drm/vkms: Allow to configure multiple connectors via configfs
...
Create a default subgroup at
/config/vkms/connectors to allow to create as many connectors as
required.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-11-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
fad1138b23
drm/vkms: Allow to attach encoders and CRTCs via configfs
...
Create a default subgroup at
/config/vkms/encoders/encoder/possible_crtcs that will contain symbolic
links to the possible CRTCs for the encoder.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-10-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
67d8cf92e1
drm/vkms: Allow to configure multiple encoders via configfs
...
Create a default subgroup at /config/vkms/encoders to allow to create as
many encoders as required.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-9-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
95fa73787a
drm/vkms: Allow to attach planes and CRTCs via configfs
...
Create a default subgroup at /config/vkms/planes/plane/possible_crtcs
that will contain symbolic links to the possible CRTCs for the plane.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-8-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
ee5c2c7d4b
drm/vkms: Allow to configure CRTC writeback support via configfs
...
When a CRTC is created, add a `writeback` file to allow to enable or
disable writeback connector support
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-7-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
3e4d5b30d2
drm/vkms: Allow to configure multiple CRTCs via configfs
...
Create a default subgroup at /config/vkms/crtcs to allow to create as
many CRTCs as required.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-6-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
187bc30625
drm/vkms: Allow to configure the plane type via configfs
...
When a plane is created, add a `type` file to allow to set the type:
- 0 overlay
- 1 primary
- 2 cursor
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-5-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
2f1734ba27
drm/vkms: Allow to configure multiple planes via configfs
...
Create a default subgroup at /config/vkms/planes to allow to create as
many planes as required.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-4-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Louis Chauvet
13fc9b9745
drm/vkms: Add and remove VKMS instances via configfs
...
Allow to create, enable, disable and destroy VKMS instances using
configfs.
For the moment, it is not possible to add pipeline items, so trying to
enable the device will fail printing an informative error to the log.
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Co-developed-by: José Expósito <jose.exposito89@gmail.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-3-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
José Expósito
7965d1c535
drm/vkms: Expose device creation and destruction
...
In preparation for configfs support, expose vkms_create() and
vkms_destroy().
Tested-by: Mark Yacoub <markyacoub@google.com >
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Co-developed-by: Louis Chauvet <louis.chauvet@bootlin.com >
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://lore.kernel.org/r/20251016175618.10051-2-jose.exposito89@gmail.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
2025-10-22 13:19:25 +02:00
Marcus Folkesson
7e73cefd2b
drm/sitronix/st7571-i2c: remove unneeded semicolon
...
Fix style issue reported by Kernel test robot.
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202510221125.Cg0sM4xJ-lkp@intel.com/
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com >
Link: https://lore.kernel.org/r/20251022-st7571-semicolon-v1-1-83d322618ff4@gmail.com
2025-10-22 09:56:52 +02:00
Simona Vetter
6200442de0
Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
...
drm-misc-next for v6.19:
UAPI Changes:
Cross-subsystem Changes:
- fbcon cleanups.
- Make drivers depend on FB_TILEBLITTING instead of selecting it,
and hide FB_MODE_HELPERS.
Core Changes:
- More preparations for rust.
- Throttle dirty worker with vblank
- Use drm_for_each_bridge_in_chain_scoped in drm's bridge code and
assorted fixes.
- Ensure drm_client_modeset tests are enabled in UML.
- Rename ttm_bo_put to ttm_bo_fini, as a further step in removing the
TTM bo refcount.
- Add POST_LT_ADJ_REQ training sequence.
- Show list of removed but still allocated bridges.
- Add a simulated vblank interrupt for hardware without it,
and add some helpers to use them in vkms and hypervdrm.
Driver Changes:
- Assorted small fixes, cleanups and updates to host1x, tegra,
panthor, amdxdna, gud, vc4, ssd130x, ivpu, panfrost, panthor,
sysfb, bridge/sn65dsi86, solomon, ast, tidss.
- Convert drivers from using .round_rate() to .determine_rate()
- Add support for KD116N3730A07/A12, chromebook mt8189, JT101TM023,
LQ079L1SX01, raspberrypi 5" panels.
- Improve reclocking on tegra186+ with nouveau.
- Improve runtime pm in amdxdna.
- Add support for HTX_PAI in imx.
- Use a helper to calculate dumb buffer sizes in most drivers.
Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch >
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Link: https://lore.kernel.org/r/b412fb91-8545-466a-8102-d89c0f2758a7@linux.intel.com
2025-10-21 10:16:34 +02:00
Dave Airlie
335482a53a
Merge tag 'drm-xe-next-2025-10-20' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next
...
Highlights:
UAPI Changes:
Loosen used tracking restriction (Matthew Auld)
New SR-IOV debugfs structure and debugfs updates (Michal Wajdeczko)
Hide the GPU madvise flag behind a VM_BIND flag (Thomas Hellström)
Always expose VRAM provisioning data on discrete GPUs (Lukasz Laguna)
Cross-subsystem Changes:
Allow VRAM mappings for userptr when used with SVM (Matthew Brost)
Driver Changes:
Allow pinning of p2p dma-buf (Thomas Hellstrom)
Use per-tile debugfs where appropriate (Michal Wajdeczko)
Add documentation for Execution Queues (Niranjana Vishwanathapura)
PF improvements (Michal Wajdeczko)
VF migration recovery redesign work (Matthew Brost)
User / Kernel VRAM partitioning (Piotr Piórkowski)
Update Tile-based messages (Michal Wajdeczko)
Allow configfs to disable specific GT types (Matt Roper)
VF provisioning improvements (Michal Wajdeczko)
Initial Xe3P support (Various people)
Signed-off-by: Dave Airlie <airlied@redhat.com >
From: Thomas Hellstrom <thomas.hellstrom@linux.intel.com >
Link: https://lore.kernel.org/r/aPXzbOb7eGbkgMrr@fedora
2025-10-21 11:10:12 +10:00
Adrián Larumbe
32dd00f17c
drm/panfrost: Rename panfrost_job functions to reflect real role
...
panfrost_job_* prefixed functions in panfrost_job.c deal with both
panfrost_job objects and also the more general JM (Job Manager) side of
the device itself. This is confusing.
Reprefix functions that program the JM to panfrosot_jm_* instead.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-12-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:18 +01:00
Adrián Larumbe
954c2621c0
drm/panfrost: Remove unused device property
...
The as_in_use_mask device state variable is no longer in use.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-11-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
84b8cfef4f
drm/panfrost: Add forward declaration and types header
...
This is to make LLVM syntactic analysers happy.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-10-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
42e7ab3bac
drm/panfrost: Make re-enabling job interrupts at device reset optional
...
Rather than remasking interrupts after a device reset in the main reset
path, allow selecting whether to do this with an additional bool parameter.
To this end, split reenabling job interrupts into two functions, one that
clears the interrupts and another one which unmasks them conditionally.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-9-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
fc237ec882
drm/panfrost: Don't rework job IRQ enable mask in the enable path
...
Up until now, panfrost_job_enable_interrupts() would always recalculate the
same job IRQ enablement mask, which is effectively a constant.
Replace it with a compile-time constant value, and also in another couple
places where an equivalent expression was being used.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-8-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
4da352cf8f
drm/panfrost: Handle page mapping failure
...
When mapping the pages of a BO, either a heap type at page fault time or
else a non-heap BO at object creation time, if the ARM page table mapping
function fails, we unmap what had been mapped so far and bail out.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-7-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
3d7c626716
drm/panfrost: Check sgt to know whether pages are already mapped
...
In the MMU's page fault ISR for a heap object, determine whether the
faulting address belongs to a 2MiB block that was already mapped by
checking its corresponding sgt in the Panfrost BO.
This is done in preparation for a future commit in which the MMU mapping
helper might fail, but the page array is left populated, so this cannot
be used as a check for an early bail-out.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-6-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
f45f73c68c
drm/panfrost: Handle error when allocating AS number
...
If we reach the beginning of the LRU AS list, then return an error.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-5-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:17 +01:00
Adrián Larumbe
616c5b6fe3
drm/panfrost: Handle job HW submit errors
...
Avoid waiting for the DRM scheduler job timedout handler, and instead, let
the DRM scheduler core signal the error fence immediately when HW job
submission fails.
That means we must also decrement the runtime-PM refcnt for the device,
because the job will never be enqueued or inflight.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-4-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:16 +01:00
Adrián Larumbe
16dd7e0305
drm/panfrost: Handle inexistent GPU during probe
...
Just in case we're dealing with a yet not recognised device.
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-3-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:16 +01:00
Adrián Larumbe
5c0c825ae4
drm/panfrost: Replace DRM driver allocation method with newer one
...
Drop the deprecated DRM driver allocation method in favour of
devm_drm_dev_alloc(). Overall just make it the same as in Panthor.
Also discard now superfluous generic and platform device pointers inside
the main panfrost device structure.
Some ancient checkpatch issues unearthed as a result of these changes
were also fixed, like lines too long or double assignment in one line.
Reviewed-by: Steven Price <steven.price@arm.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Link: https://lore.kernel.org/r/20251019145225.3621989-2-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com >
2025-10-20 16:05:16 +01:00
Daniel Stone
4e39740d77
drm/rockchip: Use temporary variables
...
Brevity is good.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20251015110042.41273-6-daniels@collabora.com
2025-10-20 15:56:13 +02:00
Daniel Stone
33cbeea62f
drm/rockchip: Rename variables for clarity
...
actual_w and actual_h were the clipped source width, so rename them to
fit the use.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20251015110042.41273-5-daniels@collabora.com
2025-10-20 15:56:12 +02:00
Daniel Stone
70e3f77cb5
drm/rockchip: Return error code for errors
...
Instead of silently disabling small planes, refuse to create them at
all.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20251015110042.41273-4-daniels@collabora.com
2025-10-20 15:56:11 +02:00
Daniel Stone
4bfaa85bb5
drm/rockchip: Declare framebuffer width/height bounds
...
The VOP2 has limitations on its input and output sizes. The clipped
display region must be at least 4px in each dimension for both
framebuffer source and plane destination, and the clipped source region
must be no greater than a per-version limit.
It is never valid for VOP2 to have a framebuffer which is less than four
pixels in either dimension, so declare that as our min width/height,
enforced by AddFB failing if the user tries. It can theoretically be
valid to have a single large framebuffer of which only certain clipped
regions are shown, but this is a very uncommon case. Declaring to
userspace that the framebuffer's maximum width and height is the maximum
source clip helps it make better decisions as to which mode to use,
instead of trying unsupported sizes and having to fall back.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20251015110042.41273-3-daniels@collabora.com
2025-10-20 15:56:10 +02:00
Daniel Stone
f233921d98
drm/rockchip: Demote normal drm_err to debug
...
A plane check failing is a normal and expected condition, as userspace
isn't aware of the specific constraints and will try any and every
combination until one succeeds. Push this down to a debug message, so
users can see it if they want to, but make sure we don't spam the log
during normal operation.
Fixes: 604be85547 ("drm/rockchip: Add VOP2 driver")
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20251015110042.41273-2-daniels@collabora.com
2025-10-20 15:56:09 +02:00
Harish Chegondi
d104d7ea86
drm/xe/xe3p: Add xe3p EU stall data format
...
Starting with Xe3p, IP address in EU stall data increases to 61 bits.
While at it, re-order the if-else ladder so the officially supported
platforms come before PVC.
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com >
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com >
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com >
Link: https://lore.kernel.org/r/20251016-xe3p-v3-24-3dd173a3097a@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
2025-10-18 19:45:14 -07:00
Matt Roper
bf3035fe45
drm/xe/xe3p_xpc: Setup PAT table
...
Xe3p_XPC IP requires a new PAT table; note that this table has one fewer
column than the Xe2/Xe3 tables since compression is not supported.
There's also no "WT" entry (which we wouldn't have used on a platform
without display anyway).
Bspec: 71582
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Reviewed-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com >
Link: https://lore.kernel.org/r/20251016-xe3p-v3-23-3dd173a3097a@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
2025-10-18 19:45:14 -07:00
Matt Roper
bd03427c97
drm/xe/xe3p_xpc: Skip compression tuning on platforms without flatccs
...
The compression overfetch tuning settings only apply to platforms that
support FlatCCS. In Xe3p_XPC (and any future IPs that also lack
compression) some of the registers being adjusted by this tuning will
not exist or may have been repurposed for something else, so we should
take care not to try to program them.
Note that our xe_rtp_match_has_flatccs() function will also return false
on platforms that do have FlatCCS in the hardware design, but have
compression manually disabled in the BIOS. On such platforms the
registers still exist (and it would be fine to continue programming
them), but they would have no effect, so skipping that tuning is also
safe.
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Reviewed-by: Shekhar Chauhan <shekhar.chauhan@intel.com >
Link: https://lore.kernel.org/r/20251016-xe3p-v3-22-3dd173a3097a@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
2025-10-18 19:45:13 -07:00