From: Daniel Vetter <email@example.com> To: DRI Development <firstname.lastname@example.org> Cc: David Airlie <email@example.com>, Daniel Vetter <firstname.lastname@example.org>, Intel Graphics Development <email@example.com>, Sean Paul <firstname.lastname@example.org> Subject: [PATCH 09/14] drm: Update todo.rst Date: Mon, 3 Sep 2018 18:54:34 +0200 [thread overview] Message-ID: <email@example.com> (raw) In-Reply-To: <firstname.lastname@example.org> - drmP.h is now fully split up. - vkms is happening (and will gain its own todo and docs under a new vkms.rst file real soon) - legacy cruft is completely hidden now, drm_vblank.c is split out from drm_irq.c now. - best_encoder atomic cleanup is done (it's now the default, not even exported anymore) - bunch of smaller things Signed-off-by: Daniel Vetter <email@example.com> Cc: Gustavo Padovan <firstname.lastname@example.org> Cc: Maarten Lankhorst <email@example.com> Cc: Sean Paul <firstname.lastname@example.org> Cc: David Airlie <email@example.com> --- Documentation/gpu/todo.rst | 68 ++++++-------------------------------- 1 file changed, 10 insertions(+), 58 deletions(-) diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst index a7c150d6b63f..96bfdbc9ebff 100644 --- a/Documentation/gpu/todo.rst +++ b/Documentation/gpu/todo.rst @@ -127,7 +127,8 @@ interfaces to fix these issues: the acquire context explicitly on stack and then also pass it down into drivers explicitly so that the legacy-on-atomic functions can use them. - Except for some driver code this is done. + Except for some driver code this is done. This task should be finished by + adding WARN_ON(!drm_drv_uses_atomic_modeset) in drm_modeset_lock_all(). * A bunch of the vtable hooks are now in the wrong place: DRM has a split between core vfunc tables (named ``drm_foo_funcs``), which are used to @@ -137,13 +138,6 @@ interfaces to fix these issues: ``_helper_funcs`` since they are not part of the core ABI. There's a ``FIXME`` comment in the kerneldoc for each such case in ``drm_crtc.h``. -* There's a new helper ``drm_atomic_helper_best_encoder()`` which could be - used by all atomic drivers which don't select the encoder for a given - connector at runtime. That's almost all of them, and would allow us to get - rid of a lot of ``best_encoder`` boilerplate in drivers. - - This was almost done, but new drivers added a few more cases again. - Contact: Daniel Vetter Get rid of dev->struct_mutex from GEM drivers @@ -164,9 +158,8 @@ private lock. The tricky part is the BO free functions, since those can't reliably take that lock any more. Instead state needs to be protected with suitable subordinate locks or some cleanup work pushed to a worker thread. For performance-critical drivers it might also be better to go with a more -fine-grained per-buffer object and per-context lockings scheme. Currently the -following drivers still use ``struct_mutex``: ``msm``, ``omapdrm`` and -``udl``. +fine-grained per-buffer object and per-context lockings scheme. Currently only the +``msm`` driver still use ``struct_mutex``. Contact: Daniel Vetter, respective driver maintainers @@ -190,7 +183,8 @@ Convert drivers to use simple modeset suspend/resume Most drivers (except i915 and nouveau) that use drm_atomic_helper_suspend/resume() can probably be converted to use -drm_mode_config_helper_suspend/resume(). +drm_mode_config_helper_suspend/resume(). Also there's still open-coded version +of the atomic suspend/resume code in older atomic modeset drivers. Contact: Maintainer of the driver you plan to convert @@ -246,20 +240,10 @@ Core refactorings Clean up the DRM header mess ---------------------------- -Currently the DRM subsystem has only one global header, ``drmP.h``. This is -used both for functions exported to helper libraries and drivers and functions -only used internally in the ``drm.ko`` module. The goal would be to move all -header declarations not needed outside of ``drm.ko`` into -``drivers/gpu/drm/drm_*_internal.h`` header files. ``EXPORT_SYMBOL`` also -needs to be dropped for these functions. - -This would nicely tie in with the below task to create kerneldoc after the API -is cleaned up. Or with the "hide legacy cruft better" task. - -Note that this is well in progress, but ``drmP.h`` is still huge. The updated -plan is to switch to per-file driver API headers, which will also structure -the kerneldoc better. This should also allow more fine-grained ``#include`` -directives. +The DRM subsystem originally had only one huge globale header, ``drmP.h``. This +is not split up, but many source files still include it. The remainig part of +the cleanup work here is to replace any ``#include <drm/drmP.h>`` by only the +headers needed (and fixing up any missing pre-declarations in the headers). In the end no .c file should need to include ``drmP.h`` anymore. @@ -278,26 +262,6 @@ See https://dri.freedesktop.org/docs/drm/ for what's there already. Contact: Daniel Vetter -Hide legacy cruft better ------------------------- - -Way back DRM supported only drivers which shadow-attached to PCI devices with -userspace or fbdev drivers setting up outputs. Modern DRM drivers take charge -of the entire device, you can spot them with the DRIVER_MODESET flag. - -Unfortunately there's still large piles of legacy code around which needs to -be hidden so that driver writers don't accidentally end up using it. And to -prevent security issues in those legacy IOCTLs from being exploited on modern -drivers. This has multiple possible subtasks: - -* Extract support code for legacy features into a ``drm-legacy.ko`` kernel - module and compile it only when one of the legacy drivers is enabled. - -This is mostly done, the only thing left is to split up ``drm_irq.c`` into -legacy cruft and the parts needed by modern KMS drivers. - -Contact: Daniel Vetter - Make panic handling work ------------------------ @@ -398,18 +362,6 @@ the non-i915 specific modeset tests. Contact: Daniel Vetter -Create a virtual KMS driver for testing (vkms) ----------------------------------------------- - -With all the latest helpers it should be fairly simple to create a virtual KMS -driver useful for testing, or for running X or similar on headless machines -(to be able to still use the GPU). This would be similar to vgem, but aimed at -the modeset side. - -Once the basics are there there's tons of possibilities to extend it. - -Contact: Daniel Vetter - Driver Specific =============== -- 2.18.0 _______________________________________________ Intel-gfx mailing list Intelfirstname.lastname@example.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-09-03 16:54 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-09-03 16:54 [PATCH 01/14] drm: Add drm/kernel.h header file Daniel Vetter 2018-09-03 16:54 ` [PATCH 02/14] drm: Drop drmP.h from drm_connector.c Daniel Vetter 2018-09-03 16:54 ` [PATCH 03/14] drm: drop drmP.h include from drm_plane.c Daniel Vetter 2018-09-03 16:54 ` [PATCH 04/14] drm: drop drmP.h include from drm_crtc.c Daniel Vetter 2018-09-03 16:54 ` [PATCH 05/14] drm/atomic: trim driver interface/docs Daniel Vetter [not found] ` <20180903165439.24845-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org> 2018-09-03 16:54 ` [PATCH 06/14] drm: extract drm_atomic_uapi.c Daniel Vetter 2018-09-04 20:41 ` Rodrigo Vivi 2018-09-05 7:55 ` Daniel Vetter [not found] ` <20180903165439.24845-6-daniel.vetter-/w4YWyX8dFk@public.gmane.org> 2018-09-05 8:00 ` [PATCH] " Daniel Vetter 2018-09-03 16:54 ` [PATCH 07/14] drm/atomic-helper: Unexport drm_atomic_helper_best_encoder Daniel Vetter 2018-09-03 16:54 ` [PATCH 08/14] drm/amdgpu: Remove default best_encoder hook from DC Daniel Vetter 2018-09-05 13:45 ` Leo Li 2018-09-05 13:48 ` Daniel Vetter 2018-09-06 16:33 ` Deucher, Alexander 2018-09-06 22:12 ` Daniel Vetter 2018-09-03 16:54 ` Daniel Vetter [this message] 2018-09-03 17:24 ` [PATCH 09/14] drm: Update todo.rst Sam Ravnborg 2018-09-03 17:38 ` [Intel-gfx] " Emil Velikov 2018-09-04 12:19 ` Daniel Vetter 2018-09-04 20:52 ` Emil Velikov 2018-09-05 8:04 ` [PATCH] " Daniel Vetter 2018-09-03 16:54 ` [PATCH 10/14] drm: Extract drm_atomic_state_helper.[hc] Daniel Vetter 2018-09-03 16:54 ` [PATCH 11/14] drm/vmwgfx: Remove confused comment from vmw_du_connector_atomic_set_property Daniel Vetter 2018-09-03 16:54 ` [PATCH 12/14] drm/vmwgfx: Don't look at state->allow_modeset Daniel Vetter 2018-09-03 16:54 ` [PATCH 13/14] drm/atomic: Improve docs for drm_atomic_state->allow_modeset Daniel Vetter 2018-09-03 16:54 ` [PATCH 14/14] drm/vmwgfx: Add FIXME comments for customer page_flip handlers Daniel Vetter 2018-09-04 13:45 ` Thomas Hellstrom 2018-09-04 14:19 ` Daniel Vetter 2018-09-03 17:47 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/14] drm: Add drm/kernel.h header file Patchwork 2018-09-03 17:53 ` ✗ Fi.CI.SPARSE: " Patchwork 2018-09-03 18:05 ` ✗ Fi.CI.BAT: failure " Patchwork 2018-09-05 8:09 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/14] drm: Add drm/kernel.h header file (rev3) Patchwork 2018-09-05 8:15 ` ✗ Fi.CI.SPARSE: " Patchwork 2018-09-05 8:26 ` ✗ Fi.CI.BAT: failure " Patchwork
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [PATCH 09/14] drm: Update todo.rst' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.