From: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
To: "Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"Mario Limonciello" <mario.limonciello@amd.com>,
"Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Hamza Mahfooz" <hamza.mahfooz@amd.com>,
"Aurabindo Pillai" <aurabindo.pillai@amd.com>,
"Jani Nikula" <jani.nikula@linux.intel.com>
Cc: Harry Wentland <Harry.Wentland@amd.com>,
Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>,
amd-gfx@lists.freedesktop.org, linux-doc@vger.kernel.org
Subject: [PATCH v2 7/8] Documentation/gpu: Add an explanation about the DC weekly patches
Date: Mon, 22 Jan 2024 14:25:00 -0700 [thread overview]
Message-ID: <20240122212719.647008-8-Rodrigo.Siqueira@amd.com> (raw)
In-Reply-To: <20240122212719.647008-1-Rodrigo.Siqueira@amd.com>
This commit introduces some explanation about the display team
validation.
Changes since V1:
- Remove unprecise information about the DC process for now, can be
added later on.
- Jani: Fix bullets
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Harry Wentland <Harry.Wentland@amd.com>
Cc: Hamza Mahfooz <hamza.mahfooz@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
---
Documentation/gpu/amdgpu/display/index.rst | 76 ++++++++++++++++++++--
1 file changed, 69 insertions(+), 7 deletions(-)
diff --git a/Documentation/gpu/amdgpu/display/index.rst b/Documentation/gpu/amdgpu/display/index.rst
index b09d1434754d..aa89e8f9ab89 100644
--- a/Documentation/gpu/amdgpu/display/index.rst
+++ b/Documentation/gpu/amdgpu/display/index.rst
@@ -7,18 +7,80 @@ drm/amd/display - Display Core (DC)
AMD display engine is partially shared with other operating systems; for this
reason, our Display Core Driver is divided into two pieces:
-1. **Display Core (DC)** contains the OS-agnostic components. Things like
+#. **Display Core (DC)** contains the OS-agnostic components. Things like
hardware programming and resource management are handled here.
-2. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
- amdgpu base driver and DRM are implemented here.
+#. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
+ amdgpu base driver and DRM are implemented here. For example, you can check
+ display/amdgpu_dm/ folder.
+
+------------------
+DC Code validation
+------------------
+
+Maintaining the same code base across multiple OSes requires a lot of
+synchronization effort between repositories and exhaustive validation. In the
+DC case, we maintain a tree to centralize code from different parts. The shared
+repository has integration tests with our Internal Linux CI farm, and we run a
+comprehensive set of IGT tests in various AMD GPUs/APUs (mostly recent dGPUs
+and APUs). Our CI also checks ARM64/32, PPC64/32, and x86_64/32 compilation
+with DCN enabled and disabled.
+
+When we upstream a new feature or some patches, we pack them in a patchset with
+the prefix **DC Patches for <DATE>**, which is created based on the latest
+`amd-staging-drm-next <https://gitlab.freedesktop.org/agd5f/linux>`_. All of
+those patches are under a DC version tested as follows:
+
+* Ensure that every patch compiles and the entire series pass our set of IGT
+ test in different hardware.
+* Prepare a branch with those patches for our validation team. If there is an
+ error, a developer will debug as fast as possible; usually, a simple bisect
+ in the series is enough to point to a bad change, and two possible actions
+ emerge: fix the issue or drop the patch. If it is not an easy fix, the bad
+ patch is dropped.
+* Finally, developers wait a few days for community feedback before we merge
+ the series.
+
+It is good to stress that the test phase is something that we take extremely
+seriously, and we never merge anything that fails our validation. Follows an
+overview of our test set:
+
+#. Manual test
+ * Multiple Hotplugs with DP and HDMI.
+ * Stress test with multiple display configuration changes via the user interface.
+ * Validate VRR behaviour.
+ * Check PSR.
+ * Validate MPO when playing video.
+ * Test more than two displays connected at the same time.
+ * Check suspend/resume.
+ * Validate FPO.
+ * Check MST.
+#. Automated test
+ * IGT tests in a farm with GPUs and APUs that support DCN and DCE.
+ * Compilation validation with the latest GCC and Clang from LTS distro.
+ * Cross-compilation for PowerPC 64/32, ARM 64/32, and x86 32.
+
+In terms of test setup for CI and manual tests, we usually use:
+
+#. The latest Ubuntu LTS.
+#. In terms of userspace, we only use fully updated open-source components
+ provided by the distribution official package manager.
+#. Regarding IGT, we use the latest code from the upstream.
+#. Most of the manual tests are conducted in the GNome but we also use KDE.
+
+Notice that someone from our test team will always reply to the cover letter
+with the test report.
+
+--------------
+DC Information
+--------------
The display pipe is responsible for "scanning out" a rendered frame from the
GPU memory (also called VRAM, FrameBuffer, etc.) to a display. In other words,
it would:
-1. Read frame information from memory;
-2. Perform required transformation;
-3. Send pixel data to sink devices.
+#. Read frame information from memory;
+#. Perform required transformation;
+#. Send pixel data to sink devices.
If you want to learn more about our driver details, take a look at the below
table of content:
@@ -26,8 +88,8 @@ table of content:
.. toctree::
display-manager.rst
- dc-debug.rst
dcn-overview.rst
dcn-blocks.rst
mpo-overview.rst
+ dc-debug.rst
dc-glossary.rst
--
2.43.0
next prev parent reply other threads:[~2024-01-22 21:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 21:24 [PATCH v2 0/8] Expand and improve AMDGPU documentation Rodrigo Siqueira
2024-01-22 21:24 ` [PATCH v2 1/8] Documentation/gpu: Add basic page for HUBP Rodrigo Siqueira
2024-01-22 21:24 ` [PATCH v2 2/8] Documentation/gpu: Add simple doc page for DCHUBBUB Rodrigo Siqueira
2024-01-22 21:24 ` [PATCH v2 3/8] Documentation/gpu: Add kernel doc entry for DPP Rodrigo Siqueira
2024-01-22 21:24 ` [PATCH v2 4/8] Documentation/gpu: Add kernel doc entry for MPC Rodrigo Siqueira
2024-01-22 21:24 ` [PATCH v2 5/8] Documentation/gpu: Add entry for OPP in the kernel doc Rodrigo Siqueira
2024-01-22 21:24 ` [PATCH v2 6/8] Documentation/gpu: Add entry for the DIO component Rodrigo Siqueira
2024-01-22 21:25 ` Rodrigo Siqueira [this message]
2024-01-22 21:25 ` [PATCH v2 8/8] Documentation/gpu: Introduce a simple contribution list for display code Rodrigo Siqueira
2024-01-22 22:48 ` [PATCH v2 0/8] Expand and improve AMDGPU documentation Mario Limonciello
2024-01-23 9:28 ` Christian König
2024-01-23 16:19 ` Hamza Mahfooz
2024-01-25 18:49 ` Rodrigo Siqueira Jordao
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 \
--in-reply-to=20240122212719.647008-8-Rodrigo.Siqueira@amd.com \
--to=rodrigo.siqueira@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=aurabindo.pillai@amd.com \
--cc=christian.koenig@amd.com \
--cc=hamza.mahfooz@amd.com \
--cc=harry.wentland@amd.com \
--cc=jani.nikula@linux.intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=sunpeng.li@amd.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox