Commit a5e5cf98 authored by Daniel Vetter's avatar Daniel Vetter

drm/todo: Add levels

Should help new people pick suitable tasks.

Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Manasi Navare <manasi.d.navare@intel.com>
Cc: Sean Paul <sean@poorly.run>
Reviewed-by: default avatarSean Paul <sean@poorly.run>
Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191022152530.22038-2-daniel.vetter@ffwll.ch
parent ac18a29a
...@@ -7,6 +7,22 @@ TODO list ...@@ -7,6 +7,22 @@ TODO list
This section contains a list of smaller janitorial tasks in the kernel DRM This section contains a list of smaller janitorial tasks in the kernel DRM
graphics subsystem useful as newbie projects. Or for slow rainy days. graphics subsystem useful as newbie projects. Or for slow rainy days.
Difficulty
----------
To make it easier task are categorized into different levels:
Starter: Good tasks to get started with the DRM subsystem.
Intermediate: Tasks which need some experience with working in the DRM
subsystem, or some specific GPU/display graphics knowledge. For debugging issue
it's good to have the relevant hardware (or a virtual driver set up) available
for testing.
Advanced: Tricky tasks that need fairly good understanding of the DRM subsystem
and graphics topics. Generally need the relevant hardware for development and
testing.
Subsystem-wide refactorings Subsystem-wide refactorings
=========================== ===========================
...@@ -20,6 +36,8 @@ implementations), and then remove it. ...@@ -20,6 +36,8 @@ implementations), and then remove it.
Contact: Daniel Vetter, respective driver maintainers Contact: Daniel Vetter, respective driver maintainers
Level: Intermediate
Convert existing KMS drivers to atomic modesetting Convert existing KMS drivers to atomic modesetting
-------------------------------------------------- --------------------------------------------------
...@@ -38,6 +56,8 @@ do by directly using the new atomic helper driver callbacks. ...@@ -38,6 +56,8 @@ do by directly using the new atomic helper driver callbacks.
Contact: Daniel Vetter, respective driver maintainers Contact: Daniel Vetter, respective driver maintainers
Level: Advanced
Clean up the clipped coordination confusion around planes Clean up the clipped coordination confusion around planes
--------------------------------------------------------- ---------------------------------------------------------
...@@ -50,6 +70,8 @@ helpers. ...@@ -50,6 +70,8 @@ helpers.
Contact: Ville Syrjälä, Daniel Vetter, driver maintainers Contact: Ville Syrjälä, Daniel Vetter, driver maintainers
Level: Advanced
Convert early atomic drivers to async commit helpers Convert early atomic drivers to async commit helpers
---------------------------------------------------- ----------------------------------------------------
...@@ -63,6 +85,8 @@ events for atomic commits correctly. But fixing these bugs is good anyway. ...@@ -63,6 +85,8 @@ events for atomic commits correctly. But fixing these bugs is good anyway.
Contact: Daniel Vetter, respective driver maintainers Contact: Daniel Vetter, respective driver maintainers
Level: Advanced
Fallout from atomic KMS Fallout from atomic KMS
----------------------- -----------------------
...@@ -91,6 +115,8 @@ interfaces to fix these issues: ...@@ -91,6 +115,8 @@ interfaces to fix these issues:
Contact: Daniel Vetter Contact: Daniel Vetter
Level: Intermediate
Get rid of dev->struct_mutex from GEM drivers Get rid of dev->struct_mutex from GEM drivers
--------------------------------------------- ---------------------------------------------
...@@ -114,6 +140,8 @@ fine-grained per-buffer object and per-context lockings scheme. Currently only t ...@@ -114,6 +140,8 @@ fine-grained per-buffer object and per-context lockings scheme. Currently only t
Contact: Daniel Vetter, respective driver maintainers Contact: Daniel Vetter, respective driver maintainers
Level: Advanced
Convert instances of dev_info/dev_err/dev_warn to their DRM_DEV_* equivalent Convert instances of dev_info/dev_err/dev_warn to their DRM_DEV_* equivalent
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
...@@ -129,6 +157,8 @@ are better. ...@@ -129,6 +157,8 @@ are better.
Contact: Sean Paul, Maintainer of the driver you plan to convert Contact: Sean Paul, Maintainer of the driver you plan to convert
Level: Starter
Convert drivers to use simple modeset suspend/resume Convert drivers to use simple modeset suspend/resume
---------------------------------------------------- ----------------------------------------------------
...@@ -139,6 +169,8 @@ of the atomic suspend/resume code in older atomic modeset drivers. ...@@ -139,6 +169,8 @@ of the atomic suspend/resume code in older atomic modeset drivers.
Contact: Maintainer of the driver you plan to convert Contact: Maintainer of the driver you plan to convert
Level: Intermediate
Convert drivers to use drm_fb_helper_fbdev_setup/teardown() Convert drivers to use drm_fb_helper_fbdev_setup/teardown()
----------------------------------------------------------- -----------------------------------------------------------
...@@ -157,6 +189,8 @@ probably use drm_fb_helper_fbdev_teardown(). ...@@ -157,6 +189,8 @@ probably use drm_fb_helper_fbdev_teardown().
Contact: Maintainer of the driver you plan to convert Contact: Maintainer of the driver you plan to convert
Level: Intermediate
Clean up mmap forwarding Clean up mmap forwarding
------------------------ ------------------------
...@@ -166,6 +200,8 @@ There's drm_gem_prime_mmap() for this now, but still needs to be rolled out. ...@@ -166,6 +200,8 @@ There's drm_gem_prime_mmap() for this now, but still needs to be rolled out.
Contact: Daniel Vetter Contact: Daniel Vetter
Level: Intermediate
Generic fbdev defio support Generic fbdev defio support
--------------------------- ---------------------------
...@@ -196,6 +232,8 @@ Might be good to also have some igt testcases for this. ...@@ -196,6 +232,8 @@ Might be good to also have some igt testcases for this.
Contact: Daniel Vetter, Noralf Tronnes Contact: Daniel Vetter, Noralf Tronnes
Level: Advanced
idr_init_base() idr_init_base()
--------------- ---------------
...@@ -206,6 +244,8 @@ efficient. ...@@ -206,6 +244,8 @@ efficient.
Contact: Daniel Vetter Contact: Daniel Vetter
Level: Starter
struct drm_gem_object_funcs struct drm_gem_object_funcs
--------------------------- ---------------------------
...@@ -216,6 +256,8 @@ We also need a 2nd version of the CMA define that doesn't require the ...@@ -216,6 +256,8 @@ We also need a 2nd version of the CMA define that doesn't require the
vmapping to be present (different hook for prime importing). Plus this needs to vmapping to be present (different hook for prime importing). Plus this needs to
be rolled out to all drivers using their own implementations, too. be rolled out to all drivers using their own implementations, too.
Level: Intermediate
Use DRM_MODESET_LOCK_ALL_* helpers instead of boilerplate Use DRM_MODESET_LOCK_ALL_* helpers instead of boilerplate
--------------------------------------------------------- ---------------------------------------------------------
...@@ -231,6 +273,8 @@ As a reference, take a look at the conversions already completed in drm core. ...@@ -231,6 +273,8 @@ As a reference, take a look at the conversions already completed in drm core.
Contact: Sean Paul, respective driver maintainers Contact: Sean Paul, respective driver maintainers
Level: Starter
Rename CMA helpers to DMA helpers Rename CMA helpers to DMA helpers
--------------------------------- ---------------------------------
...@@ -241,6 +285,9 @@ no one knows what that means) since underneath they just use dma_alloc_coherent. ...@@ -241,6 +285,9 @@ no one knows what that means) since underneath they just use dma_alloc_coherent.
Contact: Laurent Pinchart, Daniel Vetter Contact: Laurent Pinchart, Daniel Vetter
Level: Intermediate (mostly because it is a huge tasks without good partial
milestones, not technically itself that challenging)
Convert direct mode.vrefresh accesses to use drm_mode_vrefresh() Convert direct mode.vrefresh accesses to use drm_mode_vrefresh()
---------------------------------------------------------------- ----------------------------------------------------------------
...@@ -259,6 +306,8 @@ drm_display_mode to avoid future use. ...@@ -259,6 +306,8 @@ drm_display_mode to avoid future use.
Contact: Sean Paul Contact: Sean Paul
Level: Starter
Remove drm_display_mode.hsync Remove drm_display_mode.hsync
----------------------------- -----------------------------
...@@ -269,6 +318,8 @@ it to use drm_mode_hsync() instead. ...@@ -269,6 +318,8 @@ it to use drm_mode_hsync() instead.
Contact: Sean Paul Contact: Sean Paul
Level: Starter
drm_fb_helper tasks drm_fb_helper tasks
------------------- -------------------
...@@ -284,6 +335,8 @@ drm_fb_helper tasks ...@@ -284,6 +335,8 @@ drm_fb_helper tasks
removed: drm_fb_helper_single_add_all_connectors(), removed: drm_fb_helper_single_add_all_connectors(),
drm_fb_helper_add_one_connector() and drm_fb_helper_remove_one_connector(). drm_fb_helper_add_one_connector() and drm_fb_helper_remove_one_connector().
Level: Intermediate
connector register/unregister fixes connector register/unregister fixes
----------------------------------- -----------------------------------
...@@ -296,6 +349,8 @@ connector register/unregister fixes ...@@ -296,6 +349,8 @@ connector register/unregister fixes
drm_dp_aux_init, and moving the actual registering into a late_register drm_dp_aux_init, and moving the actual registering into a late_register
callback as recommended in the kerneldoc. callback as recommended in the kerneldoc.
Level: Intermediate
Core refactorings Core refactorings
================= =================
...@@ -338,6 +393,8 @@ This is a really varied tasks with lots of little bits and pieces: ...@@ -338,6 +393,8 @@ This is a really varied tasks with lots of little bits and pieces:
Contact: Daniel Vetter Contact: Daniel Vetter
Level: Advanced
Clean up the debugfs support Clean up the debugfs support
---------------------------- ----------------------------
...@@ -367,6 +424,8 @@ There's a bunch of issues with it: ...@@ -367,6 +424,8 @@ There's a bunch of issues with it:
Contact: Daniel Vetter Contact: Daniel Vetter
Level: Intermediate
KMS cleanups KMS cleanups
------------ ------------
...@@ -382,6 +441,8 @@ Some of these date from the very introduction of KMS in 2008 ... ...@@ -382,6 +441,8 @@ Some of these date from the very introduction of KMS in 2008 ...
end, for which we could add drm_*_cleanup_kfree(). And then there's the (for end, for which we could add drm_*_cleanup_kfree(). And then there's the (for
historical reasons) misnamed drm_primary_helper_destroy() function. historical reasons) misnamed drm_primary_helper_destroy() function.
Level: Intermediate
Better Testing Better Testing
============== ==============
...@@ -390,6 +451,8 @@ Enable trinity for DRM ...@@ -390,6 +451,8 @@ Enable trinity for DRM
And fix up the fallout. Should be really interesting ... And fix up the fallout. Should be really interesting ...
Level: Advanced
Make KMS tests in i-g-t generic Make KMS tests in i-g-t generic
------------------------------- -------------------------------
...@@ -403,6 +466,8 @@ converting things over. For modeset tests we also first need a bit of ...@@ -403,6 +466,8 @@ converting things over. For modeset tests we also first need a bit of
infrastructure to use dumb buffers for untiled buffers, to be able to run all infrastructure to use dumb buffers for untiled buffers, to be able to run all
the non-i915 specific modeset tests. the non-i915 specific modeset tests.
Level: Advanced
Extend virtual test driver (VKMS) Extend virtual test driver (VKMS)
--------------------------------- ---------------------------------
...@@ -412,6 +477,8 @@ fit the available time. ...@@ -412,6 +477,8 @@ fit the available time.
Contact: Daniel Vetter Contact: Daniel Vetter
Level: See details
Backlight Refactoring Backlight Refactoring
--------------------- ---------------------
...@@ -425,6 +492,8 @@ Plan to fix this: ...@@ -425,6 +492,8 @@ Plan to fix this:
Contact: Daniel Vetter Contact: Daniel Vetter
Level: Intermediate
Driver Specific Driver Specific
=============== ===============
...@@ -453,6 +522,8 @@ for fbdev. ...@@ -453,6 +522,8 @@ for fbdev.
Contact: Sam Ravnborg Contact: Sam Ravnborg
Level: Advanced
Outside DRM Outside DRM
=========== ===========
...@@ -482,3 +553,5 @@ and Weston. ...@@ -482,3 +553,5 @@ and Weston.
- [2] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c - [2] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c
Contact: Thomas Zimmermann <tzimmermann@suse.de> Contact: Thomas Zimmermann <tzimmermann@suse.de>
Level: Advanced
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment