aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/gpu
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2023-08-07 11:00:32 +1000
committerDave Airlie <airlied@redhat.com>2023-08-07 11:00:32 +1000
commitca9e70f527150d0518e9da6737d667a8832c60b8 (patch)
tree932ca968e25bf9c0e6437394c9e7d5a6c12f4ce1 /Documentation/gpu
parent2d3563e5556a61a41e24ea08622d781b38b017f1 (diff)
parenta0769f25a3a621e8bbfb5e2a26e8ae462c761e33 (diff)
downloadlinux-ca9e70f527150d0518e9da6737d667a8832c60b8.tar.gz
Merge tag 'drm-misc-next-2023-08-03' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v6.6: UAPI Changes: * virtio: * Support sync objects Cross-subsystem Changes: * dt-bindings: * Move several panel bindings to the correct files * fbcon: * Cleanups * fbdev: * Use _IOMEM_, _SYSMEM_, _DMAMEM_ infixes for initializer macros and Kconfig tokens, update drivers accordingly * ps3fb: Build fix * hid/i2c: * Allow panels and touchscreens to power sequence together * host1x: * Fixes * video: * Fix Kconfig dependencies for boot-up logo Core Changes: * Documentation updates and fixes * Fixes * MIPI-DBI: * Allow using same the D/C GPIO for multiple displays plus driver updates * Tests: * Convert to kunit actions * Fix NULL-deref in drm_exec tests Driver Changes: * armada: * Fixes * ast: * Represent BMV as virtual connector * Report DP connection status * bridge: * dw-hdmi: Support CEC suspend/resume * Support debugfs for chains * Fixes * i915: * Fixes * imx: * Convert to dev_error_probe() * Cleanups * ipu-v3: * Convert to devm_platform_ioremap_resource() in several places * nouveau: * Workaround DPCD issues * panel: * Convert to of_device_get_match_data() * Fix Kconfig dependencies * simple: Set bpc value to fix warning; Set connector type for AUO T215HVN01; Support Innolux G156HCE-L01 plus DT bindings * ili9881: Support TDO TL050HDV35 LCD panel plus DT bindings * startek: Support KD070FHFID015 MIPI-DSI panel plus DT bindings * sitronix-st7789v: Support Inanbo T28CP45TN89 plus DT bindings; Support EDT ET028013DMA plus DT bindings; Various cleanups * edp: Add timings for N140HCA-EAC * Allow panels and touchscreens to power sequence together * Documentation fixes * qaic: * Cleanups * repaper: * Fixes * ssd130x * Fix shadow-plane allocation * Cleanups * tegra: * Convert to devm_platform_ioremap_resource() in several places * Support bridge/connector * Enable PM * Fixes * udl: * Cleanups * v3d: * Fixes * vc4: * Convert tests to kunit actions * virtio: * Support sync objects * vkms: * Support gamma LUT * Fixes Signed-off-by: Dave Airlie <airlied@redhat.com> # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEchf7rIzpz2NEoWjlaA3BHVMLeiMFAmTLwPUACgkQaA3BHVML # eiNRBwf8CTjJJpSppitI6YEDyjG5JjpJPOrw4gmyjPCLMRhIa+ddtz8c6eiAJQTX # Q4RWz4LWF0j/aRdXzxbhCJxLmgMoSbcZYN+jDSoaNbX4Fyi1KXw9eum/HZeMODBO # ScZQFC5iyiCeKHRXZU4+WefqIFTEkEJJll92g3JYlvy793S2TQsA9LB1RIkbwK6x # 0R+TtKSxAq9Gtwn4H0z4ACIzBTuIACxwNQRd6FTIeT4yrd7t+JY3WiBz9M96S6dK # npHyjvJ3Brb88rEzv2eZZUey3fxp7sO7U7DruQVOKkgi4FsltPWxs6Ze9iylXQZr # KcKfW7sxlF2JZlJwT4u0Ur6DMl60eQ== # =K1nU # -----END PGP SIGNATURE----- # gpg: Signature made Fri 04 Aug 2023 01:00:05 AEST # gpg: using RSA key 7217FBAC8CE9CF6344A168E5680DC11D530B7A23 # gpg: Can't check signature: No public key From: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20230803150149.GA16884@linux-uq9g
Diffstat (limited to 'Documentation/gpu')
-rw-r--r--Documentation/gpu/drm-mm.rst2
-rw-r--r--Documentation/gpu/todo.rst47
2 files changed, 40 insertions, 9 deletions
diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst
index 3d5dc9dc1bfe5..513197359aba6 100644
--- a/Documentation/gpu/drm-mm.rst
+++ b/Documentation/gpu/drm-mm.rst
@@ -517,6 +517,8 @@ DRM Cache Handling and Fast WC memcpy()
.. kernel-doc:: drivers/gpu/drm/drm_cache.c
:export:
+.. _drm_sync_objects:
+
DRM Sync Objects
===========================
diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index d0f9f87ea515d..139980487ccff 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -49,14 +49,18 @@ converted over. Modern compositors like Wayland or Surfaceflinger on Android
really want an atomic modeset interface, so this is all about the bright
future.
-There is a conversion guide for atomic and all you need is a GPU for a
-non-converted driver (again virtual HW drivers for KVM are still all
-suitable).
+There is a conversion guide for atomic [1]_ and all you need is a GPU for a
+non-converted driver. The "Atomic mode setting design overview" series [2]_
+[3]_ at LWN.net can also be helpful.
As part of this drivers also need to convert to universal plane (which means
exposing primary & cursor as proper plane objects). But that's much easier to
do by directly using the new atomic helper driver callbacks.
+ .. [1] https://blog.ffwll.ch/2014/11/atomic-modeset-support-for-kms-drivers.html
+ .. [2] https://lwn.net/Articles/653071/
+ .. [3] https://lwn.net/Articles/653466/
+
Contact: Daniel Vetter, respective driver maintainers
Level: Advanced
@@ -456,6 +460,31 @@ Contact: Thomas Zimmermann <tzimmermann@suse.de>
Level: Starter
+Clean up checks for already prepared/enabled in panels
+------------------------------------------------------
+
+In a whole pile of panel drivers, we have code to make the
+prepare/unprepare/enable/disable callbacks behave as no-ops if they've already
+been called. To get some idea of the duplicated code, try::
+
+ git grep 'if.*>prepared' -- drivers/gpu/drm/panel
+ git grep 'if.*>enabled' -- drivers/gpu/drm/panel
+
+In the patch ("drm/panel: Check for already prepared/enabled in drm_panel")
+we've moved this check to the core. Now we can most definitely remove the
+check from the individual panels and save a pile of code.
+
+In adition to removing the check from the individual panels, it is believed
+that even the core shouldn't need this check and that should be considered
+an error if other code ever relies on this check. The check in the core
+currently prints a warning whenever something is relying on this check with
+dev_warn(). After a little while, we likely want to promote this to a
+WARN(1) to help encourage folks not to rely on this behavior.
+
+Contact: Douglas Anderson <dianders@chromium.org>
+
+Level: Starter/Intermediate
+
Core refactorings
=================
@@ -753,16 +782,16 @@ existing hardware. The new driver's call-back functions are filled from
existing fbdev code.
More complex fbdev drivers can be refactored step-by-step into a DRM
-driver with the help of the DRM fbconv helpers. [1] These helpers provide
+driver with the help of the DRM fbconv helpers [4]_. These helpers provide
the transition layer between the DRM core infrastructure and the fbdev
driver interface. Create a new DRM driver on top of the fbconv helpers,
copy over the fbdev driver, and hook it up to the DRM code. Examples for
-several fbdev drivers are available at [1] and a tutorial of this process
-available at [2]. The result is a primitive DRM driver that can run X11
-and Weston.
+several fbdev drivers are available in Thomas Zimmermann's fbconv tree
+[4]_, as well as a tutorial of this process [5]_. The result is a primitive
+DRM driver that can run X11 and Weston.
- - [1] https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
- - [2] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c
+ .. [4] https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
+ .. [5] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c
Contact: Thomas Zimmermann <tzimmermann@suse.de>