mbox series

[v4,0/6] Expand display core documentation

Message ID 20211209142047.728572-1-Rodrigo.Siqueira@amd.com (mailing list archive)
Headers show
Series Expand display core documentation | expand

Message

Rodrigo Siqueira Jordao Dec. 9, 2021, 2:20 p.m. UTC
Display Core (DC) is one of the components under amdgpu, and it has
multiple features directly related to the KMS API. Unfortunately, we
don't have enough documentation about DC in the upstream, which makes
the life of some external contributors a little bit more challenging.
For these reasons, this patchset reworks part of the DC documentation
and introduces a new set of details on how the display core works on DCN
IP. Another improvement that this documentation effort tries to bring is
making explicit some of our hardware-specific details to guide
user-space developers better.

In my view, it is easier to review this series if you apply it in your
local kernel and build the HTML version (make htmldocs). I'm suggesting
this approach because I added a few SVG diagrams that will be easier to
see in the HTML version. If you cannot build the documentation, try to
open the SVG images while reviewing the content. In summary, in this
series, you will find:

1. Patch 1: Re-arrange of display core documentation. This is
   preparation work for the other patches, but it is also a way to expand
   this documentation.
2. Patch 2 to 4: Document some common debug options related to display.
3. Patch 5: This patch provides an overview of how our display core next
   works and a brief explanation of each component.
4. Patch 6: We use a lot of acronyms in our driver; for this reason, we
   exposed a glossary with common terms used by display core.

Please let us know what you think we can improve this series and what
kind of content you want to see for the next series.

Changes since V3:
 - Add new acronyms to amdgpu glossary
 - Add link between dc and amdgpu glossary
Changes since V2:
 - Add a comment about MMHUBBUB
Changes since V1:
 - Group amdgpu documentation together.
 - Create index pages.
 - Mirror display folder in the documentation.
 - Divide glossary based on driver context.
 - Make terms more consistent and update CPLIB
 - Add new acronyms to the glossary

Thanks
Siqueira

Rodrigo Siqueira (6):
  Documentation/gpu: Reorganize DC documentation
  Documentation/gpu: Document amdgpu_dm_visual_confirm debugfs entry
  Documentation/gpu: Document pipe split visual confirmation
  Documentation/gpu: How to collect DTN log
  Documentation/gpu: Add basic overview of DC pipeline
  Documentation/gpu: Add amdgpu and dc glossary

 Documentation/gpu/amdgpu-dc.rst               |   74 --
 Documentation/gpu/amdgpu/amdgpu-glossary.rst  |   87 ++
 .../gpu/amdgpu/display/config_example.svg     |  414 ++++++
 Documentation/gpu/amdgpu/display/dc-debug.rst |   77 ++
 .../gpu/amdgpu/display/dc-glossary.rst        |  237 ++++
 .../amdgpu/display/dc_pipeline_overview.svg   | 1125 +++++++++++++++++
 .../gpu/amdgpu/display/dcn-overview.rst       |  171 +++
 .../gpu/amdgpu/display/display-manager.rst    |   42 +
 .../gpu/amdgpu/display/global_sync_vblank.svg |  485 +++++++
 Documentation/gpu/amdgpu/display/index.rst    |   29 +
 .../gpu/{amdgpu.rst => amdgpu/index.rst}      |   25 +-
 Documentation/gpu/drivers.rst                 |    3 +-
 12 files changed, 2690 insertions(+), 79 deletions(-)
 delete mode 100644 Documentation/gpu/amdgpu-dc.rst
 create mode 100644 Documentation/gpu/amdgpu/amdgpu-glossary.rst
 create mode 100644 Documentation/gpu/amdgpu/display/config_example.svg
 create mode 100644 Documentation/gpu/amdgpu/display/dc-debug.rst
 create mode 100644 Documentation/gpu/amdgpu/display/dc-glossary.rst
 create mode 100644 Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg
 create mode 100644 Documentation/gpu/amdgpu/display/dcn-overview.rst
 create mode 100644 Documentation/gpu/amdgpu/display/display-manager.rst
 create mode 100644 Documentation/gpu/amdgpu/display/global_sync_vblank.svg
 create mode 100644 Documentation/gpu/amdgpu/display/index.rst
 rename Documentation/gpu/{amdgpu.rst => amdgpu/index.rst} (95%)

Comments

Harry Wentland Dec. 9, 2021, 4:26 p.m. UTC | #1
Thanks for this. It's really good to see this.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

On 2021-12-09 09:20, Rodrigo Siqueira wrote:
> Display Core (DC) is one of the components under amdgpu, and it has
> multiple features directly related to the KMS API. Unfortunately, we
> don't have enough documentation about DC in the upstream, which makes
> the life of some external contributors a little bit more challenging.
> For these reasons, this patchset reworks part of the DC documentation
> and introduces a new set of details on how the display core works on DCN
> IP. Another improvement that this documentation effort tries to bring is
> making explicit some of our hardware-specific details to guide
> user-space developers better.
> 
> In my view, it is easier to review this series if you apply it in your
> local kernel and build the HTML version (make htmldocs). I'm suggesting
> this approach because I added a few SVG diagrams that will be easier to
> see in the HTML version. If you cannot build the documentation, try to
> open the SVG images while reviewing the content. In summary, in this
> series, you will find:
> 
> 1. Patch 1: Re-arrange of display core documentation. This is
>    preparation work for the other patches, but it is also a way to expand
>    this documentation.
> 2. Patch 2 to 4: Document some common debug options related to display.
> 3. Patch 5: This patch provides an overview of how our display core next
>    works and a brief explanation of each component.
> 4. Patch 6: We use a lot of acronyms in our driver; for this reason, we
>    exposed a glossary with common terms used by display core.
> 
> Please let us know what you think we can improve this series and what
> kind of content you want to see for the next series.
> 
> Changes since V3:
>  - Add new acronyms to amdgpu glossary
>  - Add link between dc and amdgpu glossary
> Changes since V2:
>  - Add a comment about MMHUBBUB
> Changes since V1:
>  - Group amdgpu documentation together.
>  - Create index pages.
>  - Mirror display folder in the documentation.
>  - Divide glossary based on driver context.
>  - Make terms more consistent and update CPLIB
>  - Add new acronyms to the glossary
> 
> Thanks
> Siqueira
> 
> Rodrigo Siqueira (6):
>   Documentation/gpu: Reorganize DC documentation
>   Documentation/gpu: Document amdgpu_dm_visual_confirm debugfs entry
>   Documentation/gpu: Document pipe split visual confirmation
>   Documentation/gpu: How to collect DTN log
>   Documentation/gpu: Add basic overview of DC pipeline
>   Documentation/gpu: Add amdgpu and dc glossary
> 
>  Documentation/gpu/amdgpu-dc.rst               |   74 --
>  Documentation/gpu/amdgpu/amdgpu-glossary.rst  |   87 ++
>  .../gpu/amdgpu/display/config_example.svg     |  414 ++++++
>  Documentation/gpu/amdgpu/display/dc-debug.rst |   77 ++
>  .../gpu/amdgpu/display/dc-glossary.rst        |  237 ++++
>  .../amdgpu/display/dc_pipeline_overview.svg   | 1125 +++++++++++++++++
>  .../gpu/amdgpu/display/dcn-overview.rst       |  171 +++
>  .../gpu/amdgpu/display/display-manager.rst    |   42 +
>  .../gpu/amdgpu/display/global_sync_vblank.svg |  485 +++++++
>  Documentation/gpu/amdgpu/display/index.rst    |   29 +
>  .../gpu/{amdgpu.rst => amdgpu/index.rst}      |   25 +-
>  Documentation/gpu/drivers.rst                 |    3 +-
>  12 files changed, 2690 insertions(+), 79 deletions(-)
>  delete mode 100644 Documentation/gpu/amdgpu-dc.rst
>  create mode 100644 Documentation/gpu/amdgpu/amdgpu-glossary.rst
>  create mode 100644 Documentation/gpu/amdgpu/display/config_example.svg
>  create mode 100644 Documentation/gpu/amdgpu/display/dc-debug.rst
>  create mode 100644 Documentation/gpu/amdgpu/display/dc-glossary.rst
>  create mode 100644 Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg
>  create mode 100644 Documentation/gpu/amdgpu/display/dcn-overview.rst
>  create mode 100644 Documentation/gpu/amdgpu/display/display-manager.rst
>  create mode 100644 Documentation/gpu/amdgpu/display/global_sync_vblank.svg
>  create mode 100644 Documentation/gpu/amdgpu/display/index.rst
>  rename Documentation/gpu/{amdgpu.rst => amdgpu/index.rst} (95%)
>
Yann Dirson Dec. 9, 2021, 9:04 p.m. UTC | #2
> Thanks for this. It's really good to see this.
> 
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Hearfully seconded, let's get this rolling :)

Reviewed-by: Yann Dirson <ydirson@free.fr>

> 
> Harry
> 
> On 2021-12-09 09:20, Rodrigo Siqueira wrote:
> > Display Core (DC) is one of the components under amdgpu, and it has
> > multiple features directly related to the KMS API. Unfortunately,
> > we
> > don't have enough documentation about DC in the upstream, which
> > makes
> > the life of some external contributors a little bit more
> > challenging.
> > For these reasons, this patchset reworks part of the DC
> > documentation
> > and introduces a new set of details on how the display core works
> > on DCN
> > IP. Another improvement that this documentation effort tries to
> > bring is
> > making explicit some of our hardware-specific details to guide
> > user-space developers better.
> > 
> > In my view, it is easier to review this series if you apply it in
> > your
> > local kernel and build the HTML version (make htmldocs). I'm
> > suggesting
> > this approach because I added a few SVG diagrams that will be
> > easier to
> > see in the HTML version. If you cannot build the documentation, try
> > to
> > open the SVG images while reviewing the content. In summary, in
> > this
> > series, you will find:
> > 
> > 1. Patch 1: Re-arrange of display core documentation. This is
> >    preparation work for the other patches, but it is also a way to
> >    expand
> >    this documentation.
> > 2. Patch 2 to 4: Document some common debug options related to
> > display.
> > 3. Patch 5: This patch provides an overview of how our display core
> > next
> >    works and a brief explanation of each component.
> > 4. Patch 6: We use a lot of acronyms in our driver; for this
> > reason, we
> >    exposed a glossary with common terms used by display core.
> > 
> > Please let us know what you think we can improve this series and
> > what
> > kind of content you want to see for the next series.
> > 
> > Changes since V3:
> >  - Add new acronyms to amdgpu glossary
> >  - Add link between dc and amdgpu glossary
> > Changes since V2:
> >  - Add a comment about MMHUBBUB
> > Changes since V1:
> >  - Group amdgpu documentation together.
> >  - Create index pages.
> >  - Mirror display folder in the documentation.
> >  - Divide glossary based on driver context.
> >  - Make terms more consistent and update CPLIB
> >  - Add new acronyms to the glossary
> > 
> > Thanks
> > Siqueira
> > 
> > Rodrigo Siqueira (6):
> >   Documentation/gpu: Reorganize DC documentation
> >   Documentation/gpu: Document amdgpu_dm_visual_confirm debugfs
> >   entry
> >   Documentation/gpu: Document pipe split visual confirmation
> >   Documentation/gpu: How to collect DTN log
> >   Documentation/gpu: Add basic overview of DC pipeline
> >   Documentation/gpu: Add amdgpu and dc glossary
> > 
> >  Documentation/gpu/amdgpu-dc.rst               |   74 --
> >  Documentation/gpu/amdgpu/amdgpu-glossary.rst  |   87 ++
> >  .../gpu/amdgpu/display/config_example.svg     |  414 ++++++
> >  Documentation/gpu/amdgpu/display/dc-debug.rst |   77 ++
> >  .../gpu/amdgpu/display/dc-glossary.rst        |  237 ++++
> >  .../amdgpu/display/dc_pipeline_overview.svg   | 1125
> >  +++++++++++++++++
> >  .../gpu/amdgpu/display/dcn-overview.rst       |  171 +++
> >  .../gpu/amdgpu/display/display-manager.rst    |   42 +
> >  .../gpu/amdgpu/display/global_sync_vblank.svg |  485 +++++++
> >  Documentation/gpu/amdgpu/display/index.rst    |   29 +
> >  .../gpu/{amdgpu.rst => amdgpu/index.rst}      |   25 +-
> >  Documentation/gpu/drivers.rst                 |    3 +-
> >  12 files changed, 2690 insertions(+), 79 deletions(-)
> >  delete mode 100644 Documentation/gpu/amdgpu-dc.rst
> >  create mode 100644 Documentation/gpu/amdgpu/amdgpu-glossary.rst
> >  create mode 100644
> >  Documentation/gpu/amdgpu/display/config_example.svg
> >  create mode 100644 Documentation/gpu/amdgpu/display/dc-debug.rst
> >  create mode 100644
> >  Documentation/gpu/amdgpu/display/dc-glossary.rst
> >  create mode 100644
> >  Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg
> >  create mode 100644
> >  Documentation/gpu/amdgpu/display/dcn-overview.rst
> >  create mode 100644
> >  Documentation/gpu/amdgpu/display/display-manager.rst
> >  create mode 100644
> >  Documentation/gpu/amdgpu/display/global_sync_vblank.svg
> >  create mode 100644 Documentation/gpu/amdgpu/display/index.rst
> >  rename Documentation/gpu/{amdgpu.rst => amdgpu/index.rst} (95%)
> > 
> 
>
Rodrigo Siqueira Jordao Dec. 10, 2021, 10:20 p.m. UTC | #3
On 2021-12-09 4:04 p.m., Yann Dirson wrote:
> 
>> Thanks for this. It's really good to see this.
>>
>> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> 
> Hearfully seconded, let's get this rolling :)
> 
> Reviewed-by: Yann Dirson <ydirson@free.fr>

Series applied to amd-staging-drm-next

Thanks a lot!

>>
>> Harry
>>
>> On 2021-12-09 09:20, Rodrigo Siqueira wrote:
>>> Display Core (DC) is one of the components under amdgpu, and it has
>>> multiple features directly related to the KMS API. Unfortunately,
>>> we
>>> don't have enough documentation about DC in the upstream, which
>>> makes
>>> the life of some external contributors a little bit more
>>> challenging.
>>> For these reasons, this patchset reworks part of the DC
>>> documentation
>>> and introduces a new set of details on how the display core works
>>> on DCN
>>> IP. Another improvement that this documentation effort tries to
>>> bring is
>>> making explicit some of our hardware-specific details to guide
>>> user-space developers better.
>>>
>>> In my view, it is easier to review this series if you apply it in
>>> your
>>> local kernel and build the HTML version (make htmldocs). I'm
>>> suggesting
>>> this approach because I added a few SVG diagrams that will be
>>> easier to
>>> see in the HTML version. If you cannot build the documentation, try
>>> to
>>> open the SVG images while reviewing the content. In summary, in
>>> this
>>> series, you will find:
>>>
>>> 1. Patch 1: Re-arrange of display core documentation. This is
>>>     preparation work for the other patches, but it is also a way to
>>>     expand
>>>     this documentation.
>>> 2. Patch 2 to 4: Document some common debug options related to
>>> display.
>>> 3. Patch 5: This patch provides an overview of how our display core
>>> next
>>>     works and a brief explanation of each component.
>>> 4. Patch 6: We use a lot of acronyms in our driver; for this
>>> reason, we
>>>     exposed a glossary with common terms used by display core.
>>>
>>> Please let us know what you think we can improve this series and
>>> what
>>> kind of content you want to see for the next series.
>>>
>>> Changes since V3:
>>>   - Add new acronyms to amdgpu glossary
>>>   - Add link between dc and amdgpu glossary
>>> Changes since V2:
>>>   - Add a comment about MMHUBBUB
>>> Changes since V1:
>>>   - Group amdgpu documentation together.
>>>   - Create index pages.
>>>   - Mirror display folder in the documentation.
>>>   - Divide glossary based on driver context.
>>>   - Make terms more consistent and update CPLIB
>>>   - Add new acronyms to the glossary
>>>
>>> Thanks
>>> Siqueira
>>>
>>> Rodrigo Siqueira (6):
>>>    Documentation/gpu: Reorganize DC documentation
>>>    Documentation/gpu: Document amdgpu_dm_visual_confirm debugfs
>>>    entry
>>>    Documentation/gpu: Document pipe split visual confirmation
>>>    Documentation/gpu: How to collect DTN log
>>>    Documentation/gpu: Add basic overview of DC pipeline
>>>    Documentation/gpu: Add amdgpu and dc glossary
>>>
>>>   Documentation/gpu/amdgpu-dc.rst               |   74 --
>>>   Documentation/gpu/amdgpu/amdgpu-glossary.rst  |   87 ++
>>>   .../gpu/amdgpu/display/config_example.svg     |  414 ++++++
>>>   Documentation/gpu/amdgpu/display/dc-debug.rst |   77 ++
>>>   .../gpu/amdgpu/display/dc-glossary.rst        |  237 ++++
>>>   .../amdgpu/display/dc_pipeline_overview.svg   | 1125
>>>   +++++++++++++++++
>>>   .../gpu/amdgpu/display/dcn-overview.rst       |  171 +++
>>>   .../gpu/amdgpu/display/display-manager.rst    |   42 +
>>>   .../gpu/amdgpu/display/global_sync_vblank.svg |  485 +++++++
>>>   Documentation/gpu/amdgpu/display/index.rst    |   29 +
>>>   .../gpu/{amdgpu.rst => amdgpu/index.rst}      |   25 +-
>>>   Documentation/gpu/drivers.rst                 |    3 +-
>>>   12 files changed, 2690 insertions(+), 79 deletions(-)
>>>   delete mode 100644 Documentation/gpu/amdgpu-dc.rst
>>>   create mode 100644 Documentation/gpu/amdgpu/amdgpu-glossary.rst
>>>   create mode 100644
>>>   Documentation/gpu/amdgpu/display/config_example.svg
>>>   create mode 100644 Documentation/gpu/amdgpu/display/dc-debug.rst
>>>   create mode 100644
>>>   Documentation/gpu/amdgpu/display/dc-glossary.rst
>>>   create mode 100644
>>>   Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg
>>>   create mode 100644
>>>   Documentation/gpu/amdgpu/display/dcn-overview.rst
>>>   create mode 100644
>>>   Documentation/gpu/amdgpu/display/display-manager.rst
>>>   create mode 100644
>>>   Documentation/gpu/amdgpu/display/global_sync_vblank.svg
>>>   create mode 100644 Documentation/gpu/amdgpu/display/index.rst
>>>   rename Documentation/gpu/{amdgpu.rst => amdgpu/index.rst} (95%)
>>>
>>
>>