Skip to content

Commit

Permalink
drm/todo: Add levels
Browse files Browse the repository at this point in the history
Should help new people pick suitable tasks.

Cc: Rodrigo Siqueira <[email protected]>
Cc: Manasi Navare <[email protected]>
Cc: Sean Paul <[email protected]>
Reviewed-by: Sean Paul <[email protected]>
Acked-by: Thomas Zimmermann <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
danvet committed Oct 23, 2019
1 parent ac18a29 commit a5e5cf9
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions Documentation/gpu/todo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,22 @@ TODO list
This section contains a list of smaller janitorial tasks in the kernel DRM
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
===========================

Expand All @@ -20,6 +36,8 @@ implementations), and then remove it.

Contact: Daniel Vetter, respective driver maintainers

Level: Intermediate

Convert existing KMS drivers to atomic modesetting
--------------------------------------------------

Expand All @@ -38,6 +56,8 @@ do by directly using the new atomic helper driver callbacks.

Contact: Daniel Vetter, respective driver maintainers

Level: Advanced

Clean up the clipped coordination confusion around planes
---------------------------------------------------------

Expand All @@ -50,6 +70,8 @@ helpers.

Contact: Ville Syrjälä, Daniel Vetter, driver maintainers

Level: Advanced

Convert early atomic drivers to async commit helpers
----------------------------------------------------

Expand All @@ -63,6 +85,8 @@ events for atomic commits correctly. But fixing these bugs is good anyway.

Contact: Daniel Vetter, respective driver maintainers

Level: Advanced

Fallout from atomic KMS
-----------------------

Expand Down Expand Up @@ -91,6 +115,8 @@ interfaces to fix these issues:

Contact: Daniel Vetter

Level: Intermediate

Get rid of dev->struct_mutex from GEM drivers
---------------------------------------------

Expand All @@ -114,6 +140,8 @@ fine-grained per-buffer object and per-context lockings scheme. Currently only t

Contact: Daniel Vetter, respective driver maintainers

Level: Advanced

Convert instances of dev_info/dev_err/dev_warn to their DRM_DEV_* equivalent
----------------------------------------------------------------------------

Expand All @@ -129,6 +157,8 @@ are better.

Contact: Sean Paul, Maintainer of the driver you plan to convert

Level: Starter

Convert drivers to use simple modeset suspend/resume
----------------------------------------------------

Expand All @@ -139,6 +169,8 @@ of the atomic suspend/resume code in older atomic modeset drivers.

Contact: Maintainer of the driver you plan to convert

Level: Intermediate

Convert drivers to use drm_fb_helper_fbdev_setup/teardown()
-----------------------------------------------------------

Expand All @@ -157,6 +189,8 @@ probably use drm_fb_helper_fbdev_teardown().

Contact: Maintainer of the driver you plan to convert

Level: Intermediate

Clean up mmap forwarding
------------------------

Expand All @@ -166,6 +200,8 @@ There's drm_gem_prime_mmap() for this now, but still needs to be rolled out.

Contact: Daniel Vetter

Level: Intermediate

Generic fbdev defio support
---------------------------

Expand Down Expand Up @@ -196,6 +232,8 @@ Might be good to also have some igt testcases for this.

Contact: Daniel Vetter, Noralf Tronnes

Level: Advanced

idr_init_base()
---------------

Expand All @@ -206,6 +244,8 @@ efficient.

Contact: Daniel Vetter

Level: Starter

struct drm_gem_object_funcs
---------------------------

Expand All @@ -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
be rolled out to all drivers using their own implementations, too.

Level: Intermediate

Use DRM_MODESET_LOCK_ALL_* helpers instead of boilerplate
---------------------------------------------------------

Expand All @@ -231,6 +273,8 @@ As a reference, take a look at the conversions already completed in drm core.

Contact: Sean Paul, respective driver maintainers

Level: Starter

Rename CMA helpers to DMA helpers
---------------------------------

Expand All @@ -241,6 +285,9 @@ no one knows what that means) since underneath they just use dma_alloc_coherent.

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()
----------------------------------------------------------------

Expand All @@ -259,6 +306,8 @@ drm_display_mode to avoid future use.

Contact: Sean Paul

Level: Starter

Remove drm_display_mode.hsync
-----------------------------

Expand All @@ -269,6 +318,8 @@ it to use drm_mode_hsync() instead.

Contact: Sean Paul

Level: Starter

drm_fb_helper tasks
-------------------

Expand All @@ -284,6 +335,8 @@ drm_fb_helper tasks
removed: drm_fb_helper_single_add_all_connectors(),
drm_fb_helper_add_one_connector() and drm_fb_helper_remove_one_connector().

Level: Intermediate

connector register/unregister fixes
-----------------------------------

Expand All @@ -296,6 +349,8 @@ connector register/unregister fixes
drm_dp_aux_init, and moving the actual registering into a late_register
callback as recommended in the kerneldoc.

Level: Intermediate

Core refactorings
=================

Expand Down Expand Up @@ -338,6 +393,8 @@ This is a really varied tasks with lots of little bits and pieces:

Contact: Daniel Vetter

Level: Advanced

Clean up the debugfs support
----------------------------

Expand Down Expand Up @@ -367,6 +424,8 @@ There's a bunch of issues with it:

Contact: Daniel Vetter

Level: Intermediate

KMS cleanups
------------

Expand All @@ -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
historical reasons) misnamed drm_primary_helper_destroy() function.

Level: Intermediate

Better Testing
==============

Expand All @@ -390,6 +451,8 @@ Enable trinity for DRM

And fix up the fallout. Should be really interesting ...

Level: Advanced

Make KMS tests in i-g-t generic
-------------------------------

Expand All @@ -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
the non-i915 specific modeset tests.

Level: Advanced

Extend virtual test driver (VKMS)
---------------------------------

Expand All @@ -412,6 +477,8 @@ fit the available time.

Contact: Daniel Vetter

Level: See details

Backlight Refactoring
---------------------

Expand All @@ -425,6 +492,8 @@ Plan to fix this:

Contact: Daniel Vetter

Level: Intermediate

Driver Specific
===============

Expand Down Expand Up @@ -453,6 +522,8 @@ for fbdev.

Contact: Sam Ravnborg

Level: Advanced

Outside DRM
===========

Expand Down Expand Up @@ -482,3 +553,5 @@ and Weston.
- [2] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c

Contact: Thomas Zimmermann <[email protected]>

Level: Advanced

0 comments on commit a5e5cf9

Please sign in to comment.