~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/gpu/amdgpu/display/display-contributing.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/gpu/amdgpu/display/display-contributing.rst (Architecture ppc) and /Documentation/gpu/amdgpu/display/display-contributing.rst (Architecture i386)


  1 .. _display_todos:                                  1 .. _display_todos:
  2                                                     2 
  3 ==============================                      3 ==============================
  4 AMDGPU - Display Contributions                      4 AMDGPU - Display Contributions
  5 ==============================                      5 ==============================
  6                                                     6 
  7 First of all, if you are here, you probably wa      7 First of all, if you are here, you probably want to give some technical
  8 contribution to the display code, and for that      8 contribution to the display code, and for that, we say thank you :)
  9                                                     9 
 10 This page summarizes some of the issues you ca     10 This page summarizes some of the issues you can help with; keep in mind that
 11 this is a static page, and it is always a good     11 this is a static page, and it is always a good idea to try to reach developers
 12 in the amdgfx or some of the maintainers. Fina     12 in the amdgfx or some of the maintainers. Finally, this page follows the DRM
 13 way of creating a TODO list; for more informat     13 way of creating a TODO list; for more information, check
 14 'Documentation/gpu/todo.rst'.                      14 'Documentation/gpu/todo.rst'.
 15                                                    15 
 16 Gitlab issues                                      16 Gitlab issues
 17 =============                                      17 =============
 18                                                    18 
 19 Users can report issues associated with AMD GP     19 Users can report issues associated with AMD GPUs at:
 20                                                    20 
 21 - https://gitlab.freedesktop.org/drm/amd           21 - https://gitlab.freedesktop.org/drm/amd
 22                                                    22 
 23 Usually, we try to add a proper label to all n     23 Usually, we try to add a proper label to all new tickets to make it easy to
 24 filter issues. If you can reproduce any proble     24 filter issues. If you can reproduce any problem, you could help by adding more
 25 information or fixing the issue.                   25 information or fixing the issue.
 26                                                    26 
 27 Level: diverse                                     27 Level: diverse
 28                                                    28 
 29 IGT                                                29 IGT
 30 ===                                                30 ===
 31                                                    31 
 32 `IGT`_ provides many integration tests that ca     32 `IGT`_ provides many integration tests that can be run on your GPU. We always
 33 want to pass a large set of tests to increase      33 want to pass a large set of tests to increase the test coverage in our CI. If
 34 you wish to contribute to the display code but     34 you wish to contribute to the display code but are unsure where a good place
 35 is, we recommend you run all IGT tests and try     35 is, we recommend you run all IGT tests and try to fix any failure you see in
 36 your hardware. Keep in mind that this failure      36 your hardware. Keep in mind that this failure can be an IGT problem or a kernel
 37 issue; it is necessary to analyze case-by-case     37 issue; it is necessary to analyze case-by-case.
 38                                                    38 
 39 Level: diverse                                     39 Level: diverse
 40                                                    40 
 41 .. _IGT: https://gitlab.freedesktop.org/drm/ig     41 .. _IGT: https://gitlab.freedesktop.org/drm/igt-gpu-tools
 42                                                    42 
 43 Compilation                                        43 Compilation
 44 ===========                                        44 ===========
 45                                                    45 
 46 Fix compilation warnings                           46 Fix compilation warnings
 47 ------------------------                           47 ------------------------
 48                                                    48 
 49 Enable the W1 or W2 warning level in the kerne     49 Enable the W1 or W2 warning level in the kernel compilation and try to fix the
 50 issues on the display side.                        50 issues on the display side.
 51                                                    51 
 52 Level: Starter                                     52 Level: Starter
 53                                                    53 
 54 Fix compilation issues when using um architect     54 Fix compilation issues when using um architecture
 55 ----------------------------------------------     55 -------------------------------------------------
 56                                                    56 
 57 Linux has a User-mode Linux (UML) feature, and     57 Linux has a User-mode Linux (UML) feature, and the kernel can be compiled to
 58 the **um** architecture. Compiling for **um**      58 the **um** architecture. Compiling for **um** can bring multiple advantages
 59 from the test perspective. We currently have s     59 from the test perspective. We currently have some compilation issues in this
 60 area that we need to fix.                          60 area that we need to fix.
 61                                                    61 
 62 Level: Intermediate                                62 Level: Intermediate
 63                                                    63 
 64 Code Refactor                                      64 Code Refactor
 65 =============                                      65 =============
 66                                                    66 
 67 Add prefix to DC functions to improve the debu     67 Add prefix to DC functions to improve the debug with ftrace
 68 ----------------------------------------------     68 -----------------------------------------------------------
 69                                                    69 
 70 The Ftrace debug feature (check 'Documentation     70 The Ftrace debug feature (check 'Documentation/trace/ftrace.rst') is a
 71 fantastic way to check the code path when deve     71 fantastic way to check the code path when developers try to make sense of a
 72 bug. Ftrace provides a filter mechanism that c     72 bug. Ftrace provides a filter mechanism that can be useful when the developer
 73 has some hunch of which part of the code can c     73 has some hunch of which part of the code can cause the issue; for this reason,
 74 if a set of functions has a proper prefix, it      74 if a set of functions has a proper prefix, it becomes easy to create a good
 75 filter. Additionally, prefixes can improve sta     75 filter. Additionally, prefixes can improve stack trace readability.
 76                                                    76 
 77 The DC code does not follow some prefix rules,     77 The DC code does not follow some prefix rules, which makes the Ftrace filter
 78 more complicated and reduces the readability o     78 more complicated and reduces the readability of the stack trace. If you want
 79 something simple to start contributing to the      79 something simple to start contributing to the display, you can make patches for
 80 adding prefixes to DC functions. To create tho     80 adding prefixes to DC functions. To create those prefixes, use part of the file
 81 name as a prefix for all functions in the targ     81 name as a prefix for all functions in the target file. Check the
 82 'amdgpu_dm_crtc.c` and `amdgpu_dm_plane.c` for     82 'amdgpu_dm_crtc.c` and `amdgpu_dm_plane.c` for some references. However, we
 83 strongly advise not to send huge patches chang     83 strongly advise not to send huge patches changing these prefixes; otherwise, it
 84 will be hard to review and test, which can gen     84 will be hard to review and test, which can generate second thoughts from
 85 maintainers. Try small steps; in case of doubl     85 maintainers. Try small steps; in case of double, you can ask before you put in
 86 effort. We recommend first looking at folders      86 effort. We recommend first looking at folders like dceXYZ, dcnXYZ, basics,
 87 bios, core, clk_mgr, hwss, resource, and irq.      87 bios, core, clk_mgr, hwss, resource, and irq.
 88                                                    88 
 89 Level: Starter                                     89 Level: Starter
 90                                                    90 
 91 Reduce code duplication                            91 Reduce code duplication
 92 -----------------------                            92 -----------------------
 93                                                    93 
 94 AMD has an extensive portfolio with various dG     94 AMD has an extensive portfolio with various dGPUs and APUs that amdgpu
 95 supports. To maintain the new hardware release     95 supports. To maintain the new hardware release cadence, DCE/DCN was designed in
 96 a modular design, making the bring-up for new      96 a modular design, making the bring-up for new hardware fast. Over the years,
 97 amdgpu accumulated some technical debt in the      97 amdgpu accumulated some technical debt in the code duplication area. For this
 98 task, it would be a good idea to find a tool t     98 task, it would be a good idea to find a tool that can discover code duplication
 99 (including patterns) and use it as guidance to     99 (including patterns) and use it as guidance to reduce duplications.
100                                                   100 
101 Level: Intermediate                               101 Level: Intermediate
102                                                   102 
103 Make atomic_commit_[check|tail] more readable     103 Make atomic_commit_[check|tail] more readable
104 ---------------------------------------------     104 ---------------------------------------------
105                                                   105 
106 The functions responsible for atomic commit an    106 The functions responsible for atomic commit and tail are intricate and
107 extensive. In particular `amdgpu_dm_atomic_com    107 extensive. In particular `amdgpu_dm_atomic_commit_tail` is a long function and
108 could benefit from being split into smaller he    108 could benefit from being split into smaller helpers. Improvements in this area
109 are more than welcome, but keep in mind that c    109 are more than welcome, but keep in mind that changes in this area will affect
110 all ASICs, meaning that refactoring requires a    110 all ASICs, meaning that refactoring requires a comprehensive verification; in
111 other words, this effort can take some time fo    111 other words, this effort can take some time for validation.
112                                                   112 
113 Level: Advanced                                   113 Level: Advanced
114                                                   114 
115 Documentation                                     115 Documentation
116 =============                                     116 =============
117                                                   117 
118 Expand kernel-doc                                 118 Expand kernel-doc
119 -----------------                                 119 -----------------
120                                                   120 
121 Many DC functions do not have a proper kernel-    121 Many DC functions do not have a proper kernel-doc; understanding a function and
122 adding documentation is a great way to learn m    122 adding documentation is a great way to learn more about the amdgpu driver and
123 also leave an outstanding contribution to the     123 also leave an outstanding contribution to the entire community.
124                                                   124 
125 Level: Starter                                    125 Level: Starter
126                                                   126 
127 Beyond AMDGPU                                     127 Beyond AMDGPU
128 =============                                     128 =============
129                                                   129 
130 AMDGPU provides features that are not yet enab    130 AMDGPU provides features that are not yet enabled in the userspace. This
131 section highlights some of the coolest display    131 section highlights some of the coolest display features, which could be enabled
132 with the userspace developer helper.              132 with the userspace developer helper.
133                                                   133 
134 Enable underlay                                   134 Enable underlay
135 ---------------                                   135 ---------------
136                                                   136 
137 AMD display has this feature called underlay (    137 AMD display has this feature called underlay (which you can read more about at
138 'Documentation/gpu/amdgpu/display/mpo-overview    138 'Documentation/gpu/amdgpu/display/mpo-overview.rst') which is intended to
139 save power when playing a video. The basic ide    139 save power when playing a video. The basic idea is to put a video in the
140 underlay plane at the bottom and the desktop i    140 underlay plane at the bottom and the desktop in the plane above it with a hole
141 in the video area. This feature is enabled in     141 in the video area. This feature is enabled in ChromeOS, and from our data
142 measurement, it can save power.                   142 measurement, it can save power.
143                                                   143 
144 Level: Unknown                                    144 Level: Unknown
145                                                   145 
146 Adaptive Backlight Modulation (ABM)               146 Adaptive Backlight Modulation (ABM)
147 -----------------------------------               147 -----------------------------------
148                                                   148 
149 ABM is a feature that adjusts the display pane    149 ABM is a feature that adjusts the display panel's backlight level and pixel
150 values depending on the displayed image. This     150 values depending on the displayed image. This power-saving feature can be very
151 useful when the system starts to run off batte    151 useful when the system starts to run off battery; since this will impact the
152 display output fidelity, it would be good if t    152 display output fidelity, it would be good if this option was something that
153 users could turn on or off.                       153 users could turn on or off.
154                                                   154 
155 Level: Unknown                                    155 Level: Unknown
156                                                   156 
157                                                   157 
158 HDR & Color management & VRR                      158 HDR & Color management & VRR
159 ----------------------------                      159 ----------------------------
160                                                   160 
161 HDR, Color Management, and VRR are huge topics    161 HDR, Color Management, and VRR are huge topics and it's hard to put these into
162 concise ToDos. If you are interested in this t    162 concise ToDos. If you are interested in this topic, we recommend checking some
163 blog posts from the community developers to be    163 blog posts from the community developers to better understand some of the
164 specific challenges and people working on the     164 specific challenges and people working on the subject. If anyone wants to work
165 on some particular part, we can try to help wi    165 on some particular part, we can try to help with some basic guidance. Finally,
166 keep in mind that we already have some kernel-    166 keep in mind that we already have some kernel-doc in place for those areas.
167                                                   167 
168 Level: Unknown                                    168 Level: Unknown
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php