From patchwork Tue Dec 7 14:53:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Siqueira Jordao X-Patchwork-Id: 12662027 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B1F6AC433FE for ; Tue, 7 Dec 2021 14:54:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 023A27B7A7; Tue, 7 Dec 2021 14:54:28 +0000 (UTC) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2058.outbound.protection.outlook.com [40.107.237.58]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4D2A7B7AE; Tue, 7 Dec 2021 14:54:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lb/bCQ1A49OW/+ic0nXCNiTOtanFmdBBwUcZIHjPq7suiY3yQ/ANYYM6U/f9zmjPdErqHdm+oSd87K9VezvgAxXc3kRjW3n5UoDQ8HDNyVvwc9XOGMebKSmBlcAk66rUnOzkpVTvjpiExl8It7HYmqqnstvwzS0zvVw1Ni6sQ3eFpVA4mVUuLTUun9+zHcl0v1Rjbaee3e5GX24PNGVXnrpFTaZQqK1JO2epWZ49eHTep8xURnduDTtCSxkv0eu7LsOBn6Dm39JmGjlo6P9iIM9keOLB32YiOSB+Dfw2mK+m1rpzhjbuPLItLXMnAPf2O4rVsXWTrpcqn2buEsY18Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=udUHp7cOVfN39epaKhTDE6ZCY+Q3pzyowQiKKO19vbc=; b=Cr05SVhp1HKBqz4Mie95PN48vbXH9gXK8qt96IRpqwde0LicJ1eoJqKZR+y7xFAJ5A54H4RN7uZZ7Q8G2Sr+4On96CacUpOXGartD/TW/DnZ8UF/qP/hT6FlNAIwd+mRjqH1M67zUv5Ga5K/6lZoehUKb9BNWXxBaPVfkz/7sEC78BWx+PB1q157yj4sKQD094SVI/TUVtWqvIslh4y4OSSCFieXzRNiDVuf6viDsCoX5bIIo+aRRwKdzvlemwqWOJeWDwDE4/aPHO6ZRptpbyqG0nUUzyroDHtz2JYqJqABZVjgmiP5AjOpX9iZ8FleJKZpwKMte8pfZFm6dmDcAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=emersion.fr smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=udUHp7cOVfN39epaKhTDE6ZCY+Q3pzyowQiKKO19vbc=; b=KGbVbd9bRmaclkbgttEPrref4SPjk4n9HNU539zvuVzKwu2EDge1YxrO6hAAxTms+SZvUUWh4dU9bcL1axOcg4jWezwno7/7BzmNMZfh0tXcsAL6cl/SlkyTZkmwURENyJ7ceh6TdWXAr/36rBLEqi6mpdiast33HGeY+/7PF+U= Received: from DM6PR13CA0011.namprd13.prod.outlook.com (2603:10b6:5:bc::24) by MN2PR12MB3502.namprd12.prod.outlook.com (2603:10b6:208:c9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Tue, 7 Dec 2021 14:54:12 +0000 Received: from DM6NAM11FT025.eop-nam11.prod.protection.outlook.com (2603:10b6:5:bc:cafe::71) by DM6PR13CA0011.outlook.office365.com (2603:10b6:5:bc::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.7 via Frontend Transport; Tue, 7 Dec 2021 14:54:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT025.mail.protection.outlook.com (10.13.172.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Tue, 7 Dec 2021 14:54:12 +0000 Received: from atma2.hitronhub.home (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 7 Dec 2021 08:54:10 -0600 From: Rodrigo Siqueira To: Simon Ser , Michel Daenzer , "Bas Nieuwenhuizen" , Marek Olsak , Roman Gilg , Nicholas Kazlauskas , Harry Wentland , "Mark Yacoub" , Sean Paul , "Pekka Paalanen" , Yann Dirson , Daniel Vetter Subject: [PATCH v3 1/6] Documentation/gpu: Reorganize DC documentation Date: Tue, 7 Dec 2021 09:53:45 -0500 Message-ID: <20211207145350.286037-2-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> References: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c34107ab-43f9-44a9-703d-08d9b9916e63 X-MS-TrafficTypeDiagnostic: MN2PR12MB3502:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1kZnTcFXJduIUwpFPkwQV4YJLele2u9lOplmPW65m2Lb8P9h7fl+i9g3ST91c1zVIMd1qeZ+EcnCac+JX4lwubSFo7gMlMnFFGksRJugO1RHcIRKCQOCAXCnIItrGqT+JpSai2gE38IOL93WvecMA4bhOc35CFou/hssM/KPSspWdxeytajlv7q479fq90WJNuzEn//bH04aEYIe1aTIfg8KQHTBuokYJRUfp/LfxgQtiqPW7Gzs6nplepyGSO1MzpVk+dr6MhCj2dgS72IF+SEpJOdvh70u0GKYwgaNIJIdsPzcpEYtj2MO1T3O8UoZXx4QJxuebI+zRxaKuC3WV8cPVvk1J/FgTpLLkQnuxo7Ii5CsLCwovlmsS+fOorulVGkS3GFIBkjFuq5Rzi+gm7NR6vUwZnbsLX5xap5G+3OgMrFX6jybyPtwS9MXAf96r7GrsIX6vl9tOqVCgjDqrHwCzpnYgAza7QhN6rE6hOVICir2h7l9ll14xnLqicysHhfTBhlF0e2/PZTONYA7BZAXpXelFueU4HKCeERkSrtv0gkk7rVXPtJNZgdCQTiz1dXFjCrK98e2jDBfsLL6+O3OTgk26Oy+l+kYtawn7pseNurYVJWcCa+dktgW/CIuQ10G7Gn7dyEh0bw/Qm9sXGBuCPOBhtwub8paDrtOs7ZsP2mqBjyhbY/nVF4x7kZkA0rEJ+DVOd/5qFaVL4EyUer/YO5zqwTDGK5FnYwCu7Cr6CxeA9/E2D815CNQNV3mjWvc/QeEYzTHs75JMbJj6uzG6nXW5WdHnEH1v4QHqm+WJWJhKRvfVxI0wJ7Q3yAT X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(40470700001)(70586007)(47076005)(81166007)(36756003)(70206006)(54906003)(921005)(36860700001)(316002)(110136005)(8676002)(8936002)(356005)(2906002)(7416002)(6666004)(4326008)(82310400004)(426003)(2616005)(508600001)(83380400001)(1076003)(5660300002)(16526019)(186003)(336012)(26005)(86362001)(40460700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2021 14:54:12.2105 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c34107ab-43f9-44a9-703d-08d9b9916e63 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT025.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3502 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, qingqing.zhuo@amd.com, roman.li@amd.com, amd-gfx@lists.freedesktop.org, aurabindo.pillai@amd.com, nicholas.choi@amd.com, dri-devel@lists.freedesktop.org, Alex Deucher , bhawanpreet.lakha@amd.com, Christian Koenig Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Display core documentation is not well organized, and it is hard to find information due to the lack of sections. This commit reorganizes the documentation layout, and it is preparation work for future changes. Changes since V1: - Christian: Group amdgpu documentation together. - Daniel: Drop redundant amdgpu prefix. - Jani: Create index pages. - Yann: Mirror display folder in the documentation. Signed-off-by: Rodrigo Siqueira --- Documentation/gpu/amdgpu-dc.rst | 74 ------------------- Documentation/gpu/amdgpu/display/dc-debug.rst | 4 + .../gpu/amdgpu/display/display-manager.rst | 42 +++++++++++ Documentation/gpu/amdgpu/display/index.rst | 29 ++++++++ .../gpu/{amdgpu.rst => amdgpu/index.rst} | 18 ++++- Documentation/gpu/drivers.rst | 3 +- 6 files changed, 91 insertions(+), 79 deletions(-) delete mode 100644 Documentation/gpu/amdgpu-dc.rst create mode 100644 Documentation/gpu/amdgpu/display/dc-debug.rst create mode 100644 Documentation/gpu/amdgpu/display/display-manager.rst create mode 100644 Documentation/gpu/amdgpu/display/index.rst rename Documentation/gpu/{amdgpu.rst => amdgpu/index.rst} (96%) diff --git a/Documentation/gpu/amdgpu-dc.rst b/Documentation/gpu/amdgpu-dc.rst deleted file mode 100644 index f7ff7e1309de..000000000000 --- a/Documentation/gpu/amdgpu-dc.rst +++ /dev/null @@ -1,74 +0,0 @@ -=================================== -drm/amd/display - Display Core (DC) -=================================== - -*placeholder - general description of supported platforms, what dc is, etc.* - -Because it is partially shared with other operating systems, the Display Core -Driver is divided in two pieces. - -1. **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. - -It doesn't help that the entire package is frequently referred to as DC. But -with the context in mind, it should be clear. - -When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for -supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line. -Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`. - -To determine if DC is loaded, search dmesg for the following entry: - -``Display Core initialized with `` - -AMDgpu Display Manager -====================== - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :doc: overview - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h - :internal: - -Lifecycle ---------- - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :doc: DM Lifecycle - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :functions: dm_hw_init dm_hw_fini - -Interrupts ----------- - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c - :doc: overview - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c - :internal: - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq - -Atomic Implementation ---------------------- - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :doc: atomic - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail - -Display Core -============ - -**WIP** - -FreeSync Video --------------- - -.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - :doc: FreeSync Video diff --git a/Documentation/gpu/amdgpu/display/dc-debug.rst b/Documentation/gpu/amdgpu/display/dc-debug.rst new file mode 100644 index 000000000000..bbb8c3fc8eee --- /dev/null +++ b/Documentation/gpu/amdgpu/display/dc-debug.rst @@ -0,0 +1,4 @@ +Display Core Debug tools +======================== + +TODO diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst new file mode 100644 index 000000000000..7ce31f89d9a0 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/display-manager.rst @@ -0,0 +1,42 @@ +====================== +AMDgpu Display Manager +====================== + +.. contents:: Table of Contents + :depth: 3 + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :doc: overview + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h + :internal: + +Lifecycle +========= + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :doc: DM Lifecycle + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :functions: dm_hw_init dm_hw_fini + +Interrupts +========== + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c + :doc: overview + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c + :internal: + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq + +Atomic Implementation +===================== + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :doc: atomic + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail diff --git a/Documentation/gpu/amdgpu/display/index.rst b/Documentation/gpu/amdgpu/display/index.rst new file mode 100644 index 000000000000..a443866332ac --- /dev/null +++ b/Documentation/gpu/amdgpu/display/index.rst @@ -0,0 +1,29 @@ +=================================== +drm/amd/display - Display Core (DC) +=================================== + +*placeholder - general description of supported platforms, what dc is, etc.* + +Because it is partially shared with other operating systems, the Display Core +Driver is divided in two pieces. + +1. **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. + +It doesn't help that the entire package is frequently referred to as DC. But +with the context in mind, it should be clear. + +When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for +supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line. +Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`. + +To determine if DC is loaded, search dmesg for the following entry: + +.. toctree:: + + display-manager.rst + dc-debug.rst + +``Display Core initialized with `` diff --git a/Documentation/gpu/amdgpu.rst b/Documentation/gpu/amdgpu/index.rst similarity index 96% rename from Documentation/gpu/amdgpu.rst rename to Documentation/gpu/amdgpu/index.rst index 8ba72e898099..5c8cbf514097 100644 --- a/Documentation/gpu/amdgpu.rst +++ b/Documentation/gpu/amdgpu/index.rst @@ -1,6 +1,6 @@ -========================= +========================== drm/amdgpu AMDgpu driver -========================= +========================== The drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core Next (GCN) architecture. @@ -71,7 +71,7 @@ Interrupt Handling :internal: IP Blocks ------------------- +--------- .. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h :doc: IP Blocks @@ -79,6 +79,18 @@ IP Blocks .. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h :identifiers: amd_ip_block_type amd_ip_funcs +Display Core +============ + +This section covers Display core. + +.. toctree:: + + display/index + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + :doc: overview + AMDGPU XGMI Support =================== diff --git a/Documentation/gpu/drivers.rst b/Documentation/gpu/drivers.rst index b4a0ed3ca961..3a52f48215a3 100644 --- a/Documentation/gpu/drivers.rst +++ b/Documentation/gpu/drivers.rst @@ -4,8 +4,7 @@ GPU Driver Documentation .. toctree:: - amdgpu - amdgpu-dc + amdgpu/index i915 mcde meson From patchwork Tue Dec 7 14:53:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Siqueira Jordao X-Patchwork-Id: 12662025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 57E2CC433F5 for ; Tue, 7 Dec 2021 14:54:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 962366F4C6; Tue, 7 Dec 2021 14:54:23 +0000 (UTC) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2040.outbound.protection.outlook.com [40.107.223.40]) by gabe.freedesktop.org (Postfix) with ESMTPS id 255D16F4C6; Tue, 7 Dec 2021 14:54:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gb9PPIXS5FhsTcJTizgm5mmGXGZ/5zDFXVRS0JxpBU9fDGfXAF4aYScCecgXP27yCQK0Vufm8QbV+OusNooFNJ0tMo+ODWouCalmK3yKK4GmKpb4waMun36aZm1sjUBNJH7iI1r9edEWpRdu8YYVJPdv9UISCHtfgB2BhyYPGm77E+oDcsvZrYXKZgCFmAYhok+lE5N1TcTwTr/pG2GZFxrFB9f2lKjjFzHXgWsVncoHOxbCTHUFZWs2FnrlopONu/RJFc/CwS2ucuea7uloqEPombwK8mKCyXNlal49IHhq5ACJVYV4Y3TIDB3eIViHT8RCG+Dia0bJ9VQYCtPx9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+mjlovj+UAEX9x+cMvz7GKL6/foenGzy2pc9MGyqZto=; b=CmJ0QVrkKZKFFefxuEwBIjaV9lW+Y4GDEm1rpJo8dLOKkNRtKJxvXqgvrjIf0ocxqK7y9KoC+tCAzkBTNOKF1W3jse99HVyyyH45vKX036IARVgo9J9P253rA4dm6C7duDAIbJBdTZ4l/NRAWv+ubkmdb1S4DtLZ814GeCqUVR4XcDjLaNTdciLG11h+jraJAX5GHsBTTIY379btcrqsXVhvwXPrNP18Qx+XmplKHiTwAfrIfr7XJ2dm1VKa/H4Q7bZGj7oYtsRyphKZybS9ssgql7JTSvI9AFc3Kz7EMOdLsD8+JUI42GmtPmGJnA+e9Ye+h2TEisNh5/EzkoGtTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=emersion.fr smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+mjlovj+UAEX9x+cMvz7GKL6/foenGzy2pc9MGyqZto=; b=F6Zm4FSttAtxQYw8GoC5zYvxJ2QiMcmu9KU4MxmgWht/L9uxqaB/zV8TK7+riKiE+wQ2oOExxgqb1e4bD/bBLzKD0Y9BqXW9OXeulXqHzVyYmYhQXGelyh4j8HRL6lG377CiLMKbsHYsCzO1yvHq+U7OmMOa1+JDMsl+HTVIve8= Received: from DM6PR13CA0005.namprd13.prod.outlook.com (2603:10b6:5:bc::18) by MW2PR12MB2554.namprd12.prod.outlook.com (2603:10b6:907:3::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.16; Tue, 7 Dec 2021 14:54:18 +0000 Received: from DM6NAM11FT025.eop-nam11.prod.protection.outlook.com (2603:10b6:5:bc:cafe::2e) by DM6PR13CA0005.outlook.office365.com (2603:10b6:5:bc::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.10 via Frontend Transport; Tue, 7 Dec 2021 14:54:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT025.mail.protection.outlook.com (10.13.172.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Tue, 7 Dec 2021 14:54:17 +0000 Received: from atma2.hitronhub.home (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 7 Dec 2021 08:54:11 -0600 From: Rodrigo Siqueira To: Simon Ser , Michel Daenzer , "Bas Nieuwenhuizen" , Marek Olsak , Roman Gilg , Nicholas Kazlauskas , Harry Wentland , "Mark Yacoub" , Sean Paul , "Pekka Paalanen" , Yann Dirson , Daniel Vetter Subject: [PATCH v3 2/6] Documentation/gpu: Document amdgpu_dm_visual_confirm debugfs entry Date: Tue, 7 Dec 2021 09:53:46 -0500 Message-ID: <20211207145350.286037-3-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> References: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1384aa1b-bd64-45f8-ac72-08d9b99171bd X-MS-TrafficTypeDiagnostic: MW2PR12MB2554:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3276; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zUD49LFT4SDEAE62w6oUsbNVa019qVTeYLKuIpVnAVaH98FWCMtmX9Tqpq1rI7G5B8fgIIiq6iOTQb6tdVuGGv7pALZzfos6PKyJ69cdZKlJHWBvDEry/SejmEW7tqDrrLdxGKD9iAdjonfW+dYw8Sgu3v/po0hImRrEJ6a74JJWjxMezkLD/Eqk0WdxZ7FGy/d7n9V0VhkbjiOSkqrkpd2p7VFrtpQ2K5slc5qiG2wuf98FUfRGtMKGLBfRc46d2ukBVjyxXmGqX+kgpoV31ExvWNAUefZbOGoIpYM1LEpX1LuvIFhuf+EiJkNILp35aI7x6e1FqikgdYvhhgX3FggKMk30e30VVonIkghll/1y+GXG4xbzuTotMmXCAY1Eiu102MJKEpENyqKcCNXV02VCJ9SQ0zG+MifTtxX2v08zuq7DC8et9fnBfEI6j9Z9ueITdvZ/YHPxJNdQ9YnJVY8S17yHG2bVYfIIOFNrNwTNMJHGin7qLHjZiI3m6tpM36eaNlLwhv0Xes+BEeEf7YOU/ufJYNP6ZIWSppWjUbunL+uWYxEojblykOV9OZU4TyjBku9kFZ1ND4A9NaF9mxhcF7V2IPDOsfCZOF0GweV7sKd4x0WnQpFWJDcsm4JtBllUQiWYELKR7NsfgFb70LUzD3x7YuNvc/kSHQOFtb18S01UQ99lBBL5vOzRwqTeK3oqKlYBivp2RquK+EhlYeo6KMSr0XRNjWRiCw1UGVvih/J2cSUj2yl8bFQs3ZtZHQXcCJmbGsWGXFaRiO4SjlMpbenW3zSPgOaiaRM7fCaFzkp2E2YPL4au2Q98cCIq X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(40470700001)(40460700001)(54906003)(921005)(81166007)(1076003)(110136005)(82310400004)(36756003)(316002)(36860700001)(336012)(47076005)(2906002)(356005)(26005)(426003)(7416002)(70586007)(86362001)(8936002)(8676002)(508600001)(6666004)(4326008)(186003)(70206006)(2616005)(16526019)(5660300002)(83380400001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2021 14:54:17.8506 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1384aa1b-bd64-45f8-ac72-08d9b99171bd X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT025.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2554 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, qingqing.zhuo@amd.com, roman.li@amd.com, amd-gfx@lists.freedesktop.org, aurabindo.pillai@amd.com, nicholas.choi@amd.com, dri-devel@lists.freedesktop.org, Alex Deucher , bhawanpreet.lakha@amd.com, Christian Koenig Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Display core provides a feature that makes it easy for users to debug Multiple planes by enabling a visual notification at the bottom of each plane. This commit introduces how to use such a feature. Signed-off-by: Rodrigo Siqueira --- Documentation/gpu/amdgpu/display/dc-debug.rst | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/Documentation/gpu/amdgpu/display/dc-debug.rst b/Documentation/gpu/amdgpu/display/dc-debug.rst index bbb8c3fc8eee..532cbbd64863 100644 --- a/Documentation/gpu/amdgpu/display/dc-debug.rst +++ b/Documentation/gpu/amdgpu/display/dc-debug.rst @@ -1,4 +1,36 @@ +======================== Display Core Debug tools ======================== -TODO +DC Debugfs +========== + +Multiple Planes Debug +--------------------- + +If you want to enable or debug multiple planes in a specific user-space +application, you can leverage a debug feature named visual confirm. For +enabling it, you will need:: + + echo 1 > /sys/kernel/debug/dri/0/amdgpu_dm_visual_confirm + +You need to reload your GUI to see the visual confirmation. When the plane +configuration changes or a full update occurs there will be a colored bar at +the bottom of each hardware plane being drawn on the screen. + +* The color indicates the format - For example, red is AR24 and green is NV12 +* The height of the bar indicates the index of the plane +* Pipe split can be observed if there are two bars with a difference in height + covering the same plane + +Consider the video playback case in which a video is played in a specific +plane, and the desktop is drawn in another plane. The video plane should +feature one or two green bars at the bottom of the video depending on pipe +split configuration. + +* There should **not** be any visual corruption +* There should **not** be any underflow or screen flashes +* There should **not** be any black screens +* There should **not** be any cursor corruption +* Multiple plane **may** be briefly disabled during window transitions or + resizing but should come back after the action has finished From patchwork Tue Dec 7 14:53:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Siqueira Jordao X-Patchwork-Id: 12662021 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8EF37C433EF for ; Tue, 7 Dec 2021 14:54:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 019127B78C; Tue, 7 Dec 2021 14:54:24 +0000 (UTC) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2071.outbound.protection.outlook.com [40.107.92.71]) by gabe.freedesktop.org (Postfix) with ESMTPS id D71CB6EA12; Tue, 7 Dec 2021 14:54:21 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MPbaNd+ne4ZVMVaIsOVVM9HEpKWfGQxpfTtPG5DrVhuemY9KyXBBB0A10MiI6O4ggJDvRnXwfdAguOMisWS+v9Ubo/nOAkdNq0yMmCFyIDjS2vRYKGV1a8FruSQXiejaKjZYaDIW0s+goVc74lvdgu+ddC3SqE+aIp2D27b2mgl5mua8GROVHqm3xZCHnBgE2jBJS+XOG3jP8LjW6IdmwAeriB8ovXC9f4lG59DVGpdE8Te52XLISHI8mfcXFtt4Zw2htqUVcYY8VDiY6/B7xw7HDwp15hoOD2lRsfCO2N1rPeQtyx6HU3Gnm1Ai0zj9RlbfDfPNPddOMBo9NJNcvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kBJRzHf4EEYvbBlN69lj+XARmY75Y09a7w0uPKpww+w=; b=Mbq3CIkrN/08HwF1BuEe8sMrUJEbUfxaSCDwzarNr+5wju61IhO7P14ty8eXckET+KfL5JSo29o25QnejtmvMOwQC1WCjxIV6gaPnP7Dlp6mQ8Q5zDSYn3A0U7DrzMHj04eZm5XeohfWIOYWqKHk17WGwfT0vxwT7IjNEPb1XiqWs3U85pKUeNXTJb9C+S/KMxJbpsFM8Vd7or3JwWcVeoaHKjNYou9HG7rpy3Y8lDbGcMH0Rzt9Laj2Q45JVTDhq7qnmKB+P7bF6/8Eqr0HWXZL+Z1kpW39jxcBuK9cPGjrdldrAUUmxDmFH5QtJ0Wqntn5zW8QhNNEamGOB0Q7bQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=emersion.fr smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kBJRzHf4EEYvbBlN69lj+XARmY75Y09a7w0uPKpww+w=; b=yvphlH0aKWXCq2O+SSKEhAq6c7lqMWi/4xumzzfXs+81PPTWyexMQJ8jjrUYwKw40yXo4+iyj9yTV/0fYzWzW1TJAh2wnXhKKveYbPrsYEXIzPq62MZqp9OqDjqS7+H6BoODBo7aaR3EVw4KORhq8jPdNF/CmtIo7lehh/ujKpk= Received: from DM6PR13CA0026.namprd13.prod.outlook.com (2603:10b6:5:bc::39) by DM6PR12MB4941.namprd12.prod.outlook.com (2603:10b6:5:1b8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.11; Tue, 7 Dec 2021 14:54:19 +0000 Received: from DM6NAM11FT025.eop-nam11.prod.protection.outlook.com (2603:10b6:5:bc:cafe::cb) by DM6PR13CA0026.outlook.office365.com (2603:10b6:5:bc::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.5 via Frontend Transport; Tue, 7 Dec 2021 14:54:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT025.mail.protection.outlook.com (10.13.172.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Tue, 7 Dec 2021 14:54:19 +0000 Received: from atma2.hitronhub.home (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 7 Dec 2021 08:54:13 -0600 From: Rodrigo Siqueira To: Simon Ser , Michel Daenzer , "Bas Nieuwenhuizen" , Marek Olsak , Roman Gilg , Nicholas Kazlauskas , Harry Wentland , "Mark Yacoub" , Sean Paul , "Pekka Paalanen" , Yann Dirson , Daniel Vetter Subject: [PATCH v3 3/6] Documentation/gpu: Document pipe split visual confirmation Date: Tue, 7 Dec 2021 09:53:47 -0500 Message-ID: <20211207145350.286037-4-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> References: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f6e9ac9-c4e6-49b9-1291-08d9b99172ac X-MS-TrafficTypeDiagnostic: DM6PR12MB4941:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4125; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hh88gKsjROTi7rAgCj5zzLylNDDpFKePUFSUW9qd0ZBzzQW7XsAbHzeucwDhWfQp1/skTB9J7RdF3qcuG2V88IpJurUaNtK92lsKnlQRyB9TdotgjBJ859U7EvudfUf06TICNi/QqjWdyeVmjwqAOy/EnvuXu/zeD7bNJQJptbnrqo7IdAzbLC8D6n54ReYak58yx6uqHyNFtlBq6flDlkcFivgTAd2G8VLSjZwp7A9Ulj9uY7XKsQUHZFEJM2XFtrA1sXMG/Xar40CNgFE+7xW9Ie1pmGeSIXoPTA978t5222ccd0fEdLO5SZsJqOJKga46NsyhFrB3Z2pBf2bzPYHmeZq5HrxcmVN+umsIH1089x8fqJ1JEPISdR8NjdBNm5NlCGEyX0Yki40JZElgi5ObUkXyzJmrSHimgKZGOQ7TYJW3duqhiw6ErMA+MYVi7A6kt8H6eBagApd/eni+8SUfZsKt6NzliZjl2/7cvZTv0Ok1L+fkL0zPJU8gzUkV+Fhk57So294H59ipGNM9vcjOCaS1r81nl9qRfSaiMXfCuZJN1G1u7IVI9cgHKkdb73G/y2Rq0B7ObVg/0E3RF9Tkd/IwnP4/w3bMdNGn5sIAuMOrwvI6907hhX8lk5pX1xkk4euAvJBsxc+JVGRFuTJ6bSwVj0dt6VhMoiJJ91SqULwxc4pqk+AZx3YhOZyQafobJ0LLMT1NTzMCXBC92+dQ37Td13U7MKmHWyz2Mwa1QQ96RNE586sXBTC/oSewvidjuQWv9oLRj9uuPpD7MmqQz9mu/612H12LgZ3D8cOEJ6/AbFEUfBkLQqE1f3oO X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(40470700001)(336012)(70206006)(70586007)(110136005)(4326008)(54906003)(47076005)(921005)(2906002)(316002)(8676002)(36860700001)(426003)(8936002)(2616005)(6666004)(356005)(86362001)(508600001)(82310400004)(81166007)(36756003)(40460700001)(83380400001)(26005)(186003)(16526019)(7416002)(5660300002)(1076003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2021 14:54:19.4130 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f6e9ac9-c4e6-49b9-1291-08d9b99172ac X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT025.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4941 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, qingqing.zhuo@amd.com, roman.li@amd.com, amd-gfx@lists.freedesktop.org, aurabindo.pillai@amd.com, nicholas.choi@amd.com, dri-devel@lists.freedesktop.org, Alex Deucher , bhawanpreet.lakha@amd.com, Christian Koenig Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Display core provides a feature that makes it easy for users to debug Pipe Split. This commit introduces how to use such a debug option. Signed-off-by: Rodrigo Siqueira --- Documentation/gpu/amdgpu/display/dc-debug.rst | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Documentation/gpu/amdgpu/display/dc-debug.rst b/Documentation/gpu/amdgpu/display/dc-debug.rst index 532cbbd64863..6dbd21f7f59e 100644 --- a/Documentation/gpu/amdgpu/display/dc-debug.rst +++ b/Documentation/gpu/amdgpu/display/dc-debug.rst @@ -2,8 +2,18 @@ Display Core Debug tools ======================== -DC Debugfs -========== +DC Visual Confirmation +====================== + +Display core provides a feature named visual confirmation, which is a set of +bars added at the scanout time by the driver to convey some specific +information. In general, you can enable this debug option by using:: + + echo > /sys/kernel/debug/dri/0/amdgpu_dm_visual_confirm + +Where `N` is an integer number for some specific scenarios that the developer +wants to enable, you will see some of these debug cases in the following +subsection. Multiple Planes Debug --------------------- @@ -34,3 +44,17 @@ split configuration. * There should **not** be any cursor corruption * Multiple plane **may** be briefly disabled during window transitions or resizing but should come back after the action has finished + +Pipe Split Debug +---------------- + +Sometimes we need to debug if DCN is splitting pipes correctly, and visual +confirmation is also handy for this case. Similar to the MPO case, you can use +the below command to enable visual confirmation:: + + echo 1 > /sys/kernel/debug/dri/0/amdgpu_dm_visual_confirm + +In this case, if you have a pipe split, you will see one small red bar at the +bottom of the display covering the entire display width and another bar +covering the second pipe. In other words, you will see a bit high bar in the +second pipe. From patchwork Tue Dec 7 14:53:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Siqueira Jordao X-Patchwork-Id: 12662023 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A879CC433F5 for ; Tue, 7 Dec 2021 14:54:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2F7187B794; Tue, 7 Dec 2021 14:54:24 +0000 (UTC) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2058.outbound.protection.outlook.com [40.107.237.58]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2ECBB6FE3D; Tue, 7 Dec 2021 14:54:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XjbOe5TjJWGRtsqqIF2qJ2VpL92KglFGpcezzRsc1Qa1lZL70K21ErIXCuVL4pk3fszl4gcZUJTYWZuQuwl5EclKxJ/5RYB8VgRE7mK1Fl8I6Ck6iPU0Kn8x0YsAi3/AKPimAB1IHqmm6b9bX9pxcQhd/EOV49VPz0/fQycPACcv2/Rs6VCeMOx8nst7ta9sv6BbM/pofb/k/CAiThl0uMPsriEK010onz+czTEEkwMpVzF/3xkwidMJS/KSAt/CQJyEM3Ul8rlqeWPpHRHLfQWjaD2gPwYKF+Jxd+WC195hLQCLJBt5vlHTPCXz6kTrJqr7H7NzYUrl2LZGhgkL4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LXPkcDirSVzKYjWAnrUMru1Nl3TdMk9JwLK6zJZ6VfY=; b=Z3XpGD8cgTSLhvrYptJDDOI/SyERLVZQ5iAT51UY0K/GHBapr0pMweYMhbBpAy8A45YTk1/Q9rni3r3Fg1POGcLfu6LOp76/jgf7DQVhp9DW8AZCoxZ9pBrnf97JDhp+eQ9m143As+t3qNT9j21h9XbuuDLnOKQKQEu+auj7c3iKh9aHmtBRF24phIKod2+pJPfIiL+bU3710CwCUn56l4Jx5elpgj60YG40ruwKRJQTeQ6JOdkXUlW2tWAqLJcfqBfcxHVFjzsKWD8aeDi+bfU1QjIh+0MfDiK4Yr5r6b9BfPpoV/mhZL4T6f8tRA9PC/uuNZLSmm/x7HIbqkYrrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=emersion.fr smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LXPkcDirSVzKYjWAnrUMru1Nl3TdMk9JwLK6zJZ6VfY=; b=spoocCuyar9ZosWs4/2NurV1pffkZcYtwEe+KksIseNvyYtcp5tVVl6Jt8QyEFfA6BwrwOHX5HR8zlv4HAhfMNuvsMa1/FVaQZwnVmgSMzdy9YsbnAE2/FVAn8sTxzlKCseSsV15zRptHeFyBSrT+GXKEXAYswRDPV3He/LridU= Received: from DM6PR13CA0021.namprd13.prod.outlook.com (2603:10b6:5:bc::34) by BN9PR12MB5337.namprd12.prod.outlook.com (2603:10b6:408:102::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.11; Tue, 7 Dec 2021 14:54:20 +0000 Received: from DM6NAM11FT025.eop-nam11.prod.protection.outlook.com (2603:10b6:5:bc:cafe::61) by DM6PR13CA0021.outlook.office365.com (2603:10b6:5:bc::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.5 via Frontend Transport; Tue, 7 Dec 2021 14:54:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT025.mail.protection.outlook.com (10.13.172.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Tue, 7 Dec 2021 14:54:19 +0000 Received: from atma2.hitronhub.home (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 7 Dec 2021 08:54:14 -0600 From: Rodrigo Siqueira To: Simon Ser , Michel Daenzer , "Bas Nieuwenhuizen" , Marek Olsak , Roman Gilg , Nicholas Kazlauskas , Harry Wentland , "Mark Yacoub" , Sean Paul , "Pekka Paalanen" , Yann Dirson , Daniel Vetter Subject: [PATCH v3 4/6] Documentation/gpu: How to collect DTN log Date: Tue, 7 Dec 2021 09:53:48 -0500 Message-ID: <20211207145350.286037-5-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> References: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f0cdf20e-7fe6-4877-fbf5-08d9b99172d6 X-MS-TrafficTypeDiagnostic: BN9PR12MB5337:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zLupNK0DrNH5QBuI1VOWO2XtD1WEjX6v/8HPh4ZbrSEinoS7polmP9e7jcyVQdroIzPd6RAym0dgydXlrYZGP6XoPEM/hiZ6tTpCHzYbSAo+SP/2VhrqVlwbNEirc7C7InH47a0jQRirHrQm54Py6wwIeOL2fSpDZAyzOGeLeUVbUR2GvsBm/LOd6xuretU1yOnhjNMW86VPYDntvhUwgrSWDfqMm6rjZSZrGHCtHUGgDtMeSqRdOtanLFJjCoSA3FQXTqCpTyja6MzsufmA2SrJjeRi8uExIruhACFYFh9pAsCc+jQlIf9jvIiAtEcItHPDKLxYC+Id1g26Tw9gKay4MQZLGmMD/yvfzCvsAil5LTrGYPbBbS4veNdWU7+EaBuajzAyXGgu62n0m+sE0IRbETeWU2GpiqD5dtI9iqsVeeQVkWtfUjXoiUSFh/kc9iIkpbpWE4/1S+hH6je3QsO+Z13tzvMyVNmmb+uspcUTS+sVvfKQkh7kmqn9uXzoewDBwXTlZU6RPcW0mbNwkorydrPiwZydDtw/LQ9MVXZoh3tOwMV5DZZNqNcZrNHJ9HXqQEMDcm3+CBzZ5Z+wfwgB2AbcH4YDJS1M9G9F1MsekgJ20Dz+bn8PLXX9Y/GXMYQW/4QtJYY7S2+7FLyLiAWx8XS1SwYpaMTqbHRhnoCRDuGsu6q0718nzJhv4C1DlQesYa8PG1Uxe1oyxg7JOEbCR7gMd4M+d2wIXBwLyMobiKT4jMI7Zhmvjh+OH9v3XOpcXhwK3PjN92QTuonlbZELG0B5W7db65ThzKn+t7frfVd3ofeA2iFAff8a778Y X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(40470700001)(110136005)(54906003)(26005)(8936002)(36756003)(40460700001)(82310400004)(2616005)(7416002)(316002)(921005)(426003)(2906002)(508600001)(1076003)(86362001)(5660300002)(36860700001)(4326008)(186003)(70586007)(8676002)(70206006)(16526019)(6666004)(47076005)(356005)(83380400001)(81166007)(336012)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2021 14:54:19.6942 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f0cdf20e-7fe6-4877-fbf5-08d9b99172d6 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT025.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5337 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, qingqing.zhuo@amd.com, roman.li@amd.com, amd-gfx@lists.freedesktop.org, aurabindo.pillai@amd.com, nicholas.choi@amd.com, dri-devel@lists.freedesktop.org, Alex Deucher , bhawanpreet.lakha@amd.com, Christian Koenig Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Introduce how to collect DTN log from debugfs. Signed-off-by: Rodrigo Siqueira --- Documentation/gpu/amdgpu/display/dc-debug.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Documentation/gpu/amdgpu/display/dc-debug.rst b/Documentation/gpu/amdgpu/display/dc-debug.rst index 6dbd21f7f59e..40c55a618918 100644 --- a/Documentation/gpu/amdgpu/display/dc-debug.rst +++ b/Documentation/gpu/amdgpu/display/dc-debug.rst @@ -58,3 +58,20 @@ In this case, if you have a pipe split, you will see one small red bar at the bottom of the display covering the entire display width and another bar covering the second pipe. In other words, you will see a bit high bar in the second pipe. + +DTN Debug +========= + +DC (DCN) provides an extensive log that dumps multiple details from our +hardware configuration. Via debugfs, you can capture those status values by +using Display Test Next (DTN) log, which can be captured via debugfs by using:: + + cat /sys/kernel/debug/dri/0/amdgpu_dm_dtn_log + +Since this log is updated accordingly with DCN status, you can also follow the +change in real-time by using something like:: + + sudo watch -d cat /sys/kernel/debug/dri/0/amdgpu_dm_dtn_log + +When reporting a bug related to DC, consider attaching this log before and +after you reproduce the bug. From patchwork Tue Dec 7 14:53:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Siqueira Jordao X-Patchwork-Id: 12662031 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 11671C433EF for ; Tue, 7 Dec 2021 14:54:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9D4917B868; Tue, 7 Dec 2021 14:54:28 +0000 (UTC) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2047.outbound.protection.outlook.com [40.107.236.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id B79BD7B801; Tue, 7 Dec 2021 14:54:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kRQSQ7MrkKaqHyns72XszTnEQ/Pt0sqR2A/P3gU9EHyHs5DEE5T32/eAzLQOv+C6OaMPuVvC/NZ1L7ToUsQyZioxFiBUlsEZWGwE74NH/xDAuSFWZvAQ5IvSguEG7iF8RFxpf3TQpHnUyJjMa461P2HZx5gFtjIxDu7ADpwVBYKF1L01QvOdLZJfIiijb2X/kPMLpO+AsSwXal7+eJ4FZgO+wE56SHS6mC0Ade5xmdeh2ZDbBdyC5+32d8pk5k58u/x+5UMhPrU5I6XOcePAAqLprGzXJ4nj93bSTZAW7EVzvpf4gC4eGiawHBzu519T0dvZCuY5AmElHLQTnSJqJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g7mXo/pbuMzSncxMXVuY90BL+fDdox4ZR4si2VYoGGE=; b=M+cPzqpZoRyByqZNmqDqQKucjf2JDuA8Xl/wNIr4rULU+2z5S6Hf3aZnmcloOVOYGQ2rkSGSb1/sttaaCNNVqG9kWRoi+AYYIL/zQbkGpuFzxO3VyG/LckwSlwGRAJm9BdyY8kxG+dFvAV7q26AGR/ipmFcap0bpCKoJS/dFJNZRgRQqXFBk1sfO1bJpc2MrDKqlAK3E8nZI1pnEu68uREAY4XwIMsT9GCZ541/AO1f/sE2N2YwIWZbdZt3vNBfqgmsZ6BGYCJ8AXsjqxgYZBoIpzLhnf+EAyDViNsT7uyAIIynQCu4LxZvKAEe7+Os5hScfJ6BRm7RJrOSttSd8PQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=emersion.fr smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g7mXo/pbuMzSncxMXVuY90BL+fDdox4ZR4si2VYoGGE=; b=Aig8NQU4ohNul39jtbgzzkio5adsbPR4VwoLuIWu/q1x1HARQLGv5WvaXGqQv7K6sK6H9ToIMm28OvsawosFukg+SWYlbXLgQeYJg/JV1H38TnP7Y+vaHNCFd0VN6aTlToY8PTKm1ZK34Px35HH9N3egmD0qQwlT7SUpj5pDGIE= Received: from DM6PR13CA0021.namprd13.prod.outlook.com (2603:10b6:5:bc::34) by DM4PR12MB5054.namprd12.prod.outlook.com (2603:10b6:5:389::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Tue, 7 Dec 2021 14:54:20 +0000 Received: from DM6NAM11FT025.eop-nam11.prod.protection.outlook.com (2603:10b6:5:bc:cafe::bf) by DM6PR13CA0021.outlook.office365.com (2603:10b6:5:bc::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.5 via Frontend Transport; Tue, 7 Dec 2021 14:54:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT025.mail.protection.outlook.com (10.13.172.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Tue, 7 Dec 2021 14:54:20 +0000 Received: from atma2.hitronhub.home (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 7 Dec 2021 08:54:16 -0600 From: Rodrigo Siqueira To: Simon Ser , Michel Daenzer , "Bas Nieuwenhuizen" , Marek Olsak , Roman Gilg , Nicholas Kazlauskas , Harry Wentland , "Mark Yacoub" , Sean Paul , "Pekka Paalanen" , Yann Dirson , Daniel Vetter Subject: [PATCH v3 5/6] Documentation/gpu: Add basic overview of DC pipeline Date: Tue, 7 Dec 2021 09:53:49 -0500 Message-ID: <20211207145350.286037-6-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> References: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e80a7db4-67f9-49cb-3113-08d9b991732f X-MS-TrafficTypeDiagnostic: DM4PR12MB5054:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:13; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: liCVHOuB6WRtcG5K9InaWqVWS9UCBNnX+UpMaW9PRkg7JOOJ4wttZ+9am1Z21PkGjsr88dKthWsuFFDEPa73uhDGQl5oSOUVF1IN27hQxRiNX5FZijsadkTZ5oRysslp9X7d+TGFtd6CcY5osewXkEK9cpNPg1BYhckCwwyRBvxPb43M5aujbsijXEI+hfm61zg4qx8M6AAerbbj5mSYeL2bdLX11biQfiGRaiPCvmep184AzcAwKlxdZoSBE06EhavlitNMdsHEhKjUr0/lxGiqwzQs4cVfcBUEPVz+uIBpbvZBW3P6edYqOOO1Lw0gex+h/5cddNVMeUooXH8JV88rNjDRoGyKfVS0zyxeSiiuw4rYs+dNyKQWMpJ8LQWL6H5HRIMpjeDU3zXvBeeZfnjqA3FOeJ0iPVCJkbC9GdAseAFkiXYHoXHFLP4nziW+SiDKUeGL7dDOIEdF7ojOb+Dq9NSIwzdmJKy0ZggSU33seDddTWKfep4a8xgcQ3dgDGRwPIcfgacdxkNWnJfNYAJSlguR+Qz6X0WReiRZ05baA7ZesDWEHRc/G3ejaB8E6BmSr5v6rz73QskkYBSDaH74egx9MUJtUjtwtfCC1KtNqGGSe1/CwGblENiLiLYblTQZz6W6I00ii0dUe/lwSSkXfwwt+Bc5eDagazzu4nShAXZTclOza6q7MarvExbfGPY9v0wgx4YL0thwOA9phBp54suR5VmVhGzUemwUwnDYKlkzq6tPD06/YkHaYSQXUCeb5rFe+tR6NbK1S67djOqMyvmdWyMvieY9NQFDGN8Iy+muzQOyCwKLPoh2vr/Oa1KNvGOlyMNdOsgL6OuDznhPJWIPYNaIzVizvDldnBWfzFFjxHrYnulyK2on00g9SB5PSqPNPjNefbUElyYW+mwNFgsy8rT8PXuYqt2bgW3Ngw43PLdYEu90lYLpPzaWIxPcjsm8XExZeMfiGen4Gw== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(40470700001)(8936002)(26005)(2616005)(5660300002)(1076003)(19273905006)(4326008)(336012)(8676002)(6666004)(7416002)(16526019)(30864003)(186003)(921005)(86362001)(36756003)(36860700001)(426003)(54906003)(81166007)(82310400004)(83380400001)(70206006)(47076005)(2906002)(70586007)(40460700001)(316002)(508600001)(356005)(110136005)(36900700001)(559001)(579004)(563064011); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2021 14:54:20.2567 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e80a7db4-67f9-49cb-3113-08d9b991732f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT025.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5054 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, qingqing.zhuo@amd.com, roman.li@amd.com, amd-gfx@lists.freedesktop.org, aurabindo.pillai@amd.com, nicholas.choi@amd.com, dri-devel@lists.freedesktop.org, Alex Deucher , bhawanpreet.lakha@amd.com, Christian Koenig Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This commit describes how DCN works by providing high-level diagrams with an explanation of each component. In particular, it details the Global Sync signals. Change since V2: - Add a comment about MMHUBBUB. Signed-off-by: Rodrigo Siqueira --- .../gpu/amdgpu/display/config_example.svg | 414 ++++++ .../amdgpu/display/dc_pipeline_overview.svg | 1125 +++++++++++++++++ .../gpu/amdgpu/display/dcn-overview.rst | 171 +++ .../gpu/amdgpu/display/global_sync_vblank.svg | 485 +++++++ Documentation/gpu/amdgpu/display/index.rst | 23 +- 5 files changed, 2206 insertions(+), 12 deletions(-) create mode 100644 Documentation/gpu/amdgpu/display/config_example.svg 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/global_sync_vblank.svg diff --git a/Documentation/gpu/amdgpu/display/config_example.svg b/Documentation/gpu/amdgpu/display/config_example.svg new file mode 100644 index 000000000000..cdac9858601c --- /dev/null +++ b/Documentation/gpu/amdgpu/display/config_example.svg @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + Configurations + A + B + C + + + + + + A + B + C + C + Old config + Old config + + + VUpdate + UpdateLock + Register updatePending Status + Buf 0 + Buf 1 + + diff --git a/Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg b/Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg new file mode 100644 index 000000000000..9adecebfe65b --- /dev/null +++ b/Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg @@ -0,0 +1,1125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DCHUB + HUBP(n) + + + DPP(n) + + + + MPC + + + + OPTC + + + + DIO + + + + DCCG + + + + DMU + + + + + AZ + + + + MMHUBBUB + + + + DWB(n) + + + + + + + + + + + + + Global sync + Pixel data + Sideband signal + Config. Bus + + SDP + + Monitor + + OPP + + + + + + + + + + + + + dc_plane + dc_stream + + + + dc_state + + + + Code struct + + + + dc_link + + + + Floating pointcalculation + + + + bit-depthreduction/dither + } + Notes + + diff --git a/Documentation/gpu/amdgpu/display/dcn-overview.rst b/Documentation/gpu/amdgpu/display/dcn-overview.rst new file mode 100644 index 000000000000..f98624d7828e --- /dev/null +++ b/Documentation/gpu/amdgpu/display/dcn-overview.rst @@ -0,0 +1,171 @@ +======================= +Display Core Next (DCN) +======================= + +To equip our readers with the basic knowledge of how AMD Display Core Next +(DCN) works, we need to start with an overview of the hardware pipeline. Below +you can see a picture that provides a DCN overview, keep in mind that this is a +generic diagram, and we have variations per ASIC. + +.. kernel-figure:: dc_pipeline_overview.svg + +Based on this diagram, we can pass through each block and briefly describe +them: + +* **Display Controller Hub (DCHUB)**: This is the gateway between the Scalable + Data Port (SDP) and DCN. This component has multiple features, such as memory + arbitration, rotation, and cursor manipulation. + +* **Display Pipe and Plane (DPP)**: This block provides pre-blend pixel + processing such as color space conversion, linearization of pixel data, tone + mapping, and gamut mapping. + +* **Multiple Pipe/Plane Combined (MPC)**: This component performs blending of + multiple planes, using global or per-pixel alpha. + +* **Output Pixel Processing (OPP)**: Process and format pixels to be sent to + the display. + +* **Output Pipe Timing Combiner (OPTC)**: It generates time output to combine + streams or divide capabilities. CRC values are generated in this block. + +* **Display Output (DIO)**: Codify the output to the display connected to our + GPU. + +* **Display Writeback (DWB)**: It provides the ability to write the output of + the display pipe back to memory as video frames. + +* **Multi-Media HUB (MMHUBBUB)**: Memory controller interface for DMCUB and DWB + (Note that DWB is not hooked yet). + +* **DCN Management Unit (DMU)**: It provides registers with access control and + interrupts the controller to the SOC host interrupt unit. This block includes + the Display Micro-Controller Unit - version B (DMCUB), which is handled via + firmware. + +* **DCN Clock Generator Block (DCCG)**: It provides the clocks and resets + for all of the display controller clock domains. + +* **Azalia (AZ)**: Audio engine. + +The above diagram is an architecture generalization of DCN, which means that +every ASIC has variations around this base model. Notice that the display +pipeline is connected to the Scalable Data Port (SDP) via DCHUB; you can see +the SDP as the element from our Data Fabric that feeds the display pipe. + +Always approach the DCN architecture as something flexible that can be +configured and reconfigured in multiple ways; in other words, each block can be +setup or ignored accordingly with userspace demands. For example, if we +want to drive an 8k@60Hz with a DSC enabled, our DCN may require 4 DPP and 2 +OPP. It is DC's responsibility to drive the best configuration for each +specific scenario. Orchestrate all of these components together requires a +sophisticated communication interface which is highlighted in the diagram by +the edges that connect each block; from the chart, each connection between +these blocks represents: + +1. Pixel data interface (red): Represents the pixel data flow; +2. Global sync signals (green): It is a set of synchronization signals composed + by VStartup, VUpdate, and VReady; +3. Config interface: Responsible to configure blocks; +4. Sideband signals: All other signals that do not fit the previous one. + +These signals are essential and play an important role in DCN. Nevertheless, +the Global Sync deserves an extra level of detail described in the next +section. + +All of these components are represented by a data structure named dc_state. +From DCHUB to MPC, we have a representation called dc_plane; from MPC to OPTC, +we have dc_stream, and the output (DIO) is handled by dc_link. Keep in mind +that HUBP accesses a surface using a specific format read from memory, and our +dc_plane should work to convert all pixels in the plane to something that can +be sent to the display via dc_stream and dc_link. + +Front End and Back End +---------------------- + +Display pipeline can be broken down into two components that are usually +referred as **Front End (FE)** and **Back End (BE)**, where FE consists of: + +* DCHUB (Mainly referring to a subcomponent named HUBP) +* DPP +* MPC + +On the other hand, BE consist of + +* OPP +* OPTC +* DIO (DP/HDMI stream encoder and link encoder) + +OPP and OPTC are two joining blocks between FE and BE. On a side note, this is +a one-to-one mapping of the link encoder to PHY, but we can configure the DCN +to choose which link encoder to connect to which PHY. FE's main responsibility +is to change, blend and compose pixel data, while BE's job is to frame a +generic pixel stream to a specific display's pixel stream. + +Data Flow +--------- + +Initially, data is passed in from VRAM through Data Fabric (DF) in native pixel +formats. Such data format stays through till HUBP in DCHUB, where HUBP unpacks +different pixel formats and outputs them to DPP in uniform streams through 4 +channels (1 for alpha + 3 for colors). + +The Converter and Cursor (CNVC) in DPP would then normalize the data +representation and convert them to a DCN specific floating-point format (i.e., +different from the IEEE floating-point format). In the process, CNVC also +applies a degamma function to transform the data from non-linear to linear +space to relax the floating-point calculations following. Data would stay in +this floating-point format from DPP to OPP. + +Starting OPP, because color transformation and blending have been completed +(i.e alpha can be dropped), and the end sinks do not require the precision and +dynamic range that floating points provide (i.e. all displays are in integer +depth format), bit-depth reduction/dithering would kick in. In OPP, we would +also apply a regamma function to introduce the gamma removed earlier back. +Eventually, we output data in integer format at DIO. + +Global Sync +----------- + +Many DCN registers are double buffered, most importantly the surface address. +This allows us to update DCN hardware atomically for page flips, as well as +for most other updates that don't require enabling or disabling of new pipes. + +(Note: There are many scenarios when DC will decide to reserve extra pipes +in order to support outputs that need a very high pixel clock, or for +power saving purposes.) + +These atomic register updates are driven by global sync signals in DCN. In +order to understand how atomic updates interact with DCN hardware, and how DCN +signals page flip and vblank events it is helpful to understand how global sync +is programmed. + +Global sync consists of three signals, VSTARTUP, VUPDATE, and VREADY. These are +calculated by the Display Mode Library - DML (drivers/gpu/drm/amd/display/dc/dml) +based on a large number of parameters and ensure our hardware is able to feed +the DCN pipeline without underflows or hangs in any given system configuration. +The global sync signals always happen during VBlank, are independent from the +VSync signal, and do not overlap each other. + +VUPDATE is the only signal that is of interest to the rest of the driver stack +or userspace clients as it signals the point at which hardware latches to +atomically programmed (i.e. double buffered) registers. Even though it is +independent of the VSync signal we use VUPDATE to signal the VSync event as it +provides the best indication of how atomic commits and hardware interact. + +Since DCN hardware is double-buffered the DC driver is able to program the +hardware at any point during the frame. + +The below picture illustrates the global sync signals: + +.. kernel-figure:: global_sync_vblank.svg + +These signals affect core DCN behavior. Programming them incorrectly will lead +to a number of negative consequences, most of them quite catastrophic. + +The following picture shows how global sync allows for a mailbox style of +updates, i.e. it allows for multiple re-configurations between VUpdate +events where only the last configuration programmed before the VUpdate signal +becomes effective. + +.. kernel-figure:: config_example.svg diff --git a/Documentation/gpu/amdgpu/display/global_sync_vblank.svg b/Documentation/gpu/amdgpu/display/global_sync_vblank.svg new file mode 100644 index 000000000000..48f5dc4fd5d3 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/global_sync_vblank.svg @@ -0,0 +1,485 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + To + VStartup Period + VUpdateWidth + VReadyOffset + VUpdateOffset + VSTARTUP_START + VSYNC + VBlank + VStartup + VUpdate + VReady + + + + + + + + + + diff --git a/Documentation/gpu/amdgpu/display/index.rst b/Documentation/gpu/amdgpu/display/index.rst index a443866332ac..fe2ecad8df81 100644 --- a/Documentation/gpu/amdgpu/display/index.rst +++ b/Documentation/gpu/amdgpu/display/index.rst @@ -2,28 +2,27 @@ drm/amd/display - Display Core (DC) =================================== -*placeholder - general description of supported platforms, what dc is, etc.* - -Because it is partially shared with other operating systems, the Display Core -Driver is divided in two pieces. +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 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. -It doesn't help that the entire package is frequently referred to as DC. But -with the context in mind, it should be clear. +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: -When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for -supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line. -Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`. +1. Read frame information from memory; +2. Perform required transformation; +3. Send pixel data to sink devices. -To determine if DC is loaded, search dmesg for the following entry: +If you want to learn more about our driver details, take a look at the below +table of content: .. toctree:: display-manager.rst dc-debug.rst - -``Display Core initialized with `` + dcn-overview.rst From patchwork Tue Dec 7 14:53:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Siqueira Jordao X-Patchwork-Id: 12662029 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B64E0C4332F for ; Tue, 7 Dec 2021 14:54:42 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A48DAB8DF; Tue, 7 Dec 2021 14:54:34 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2045.outbound.protection.outlook.com [40.107.220.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6543EABFB9; Tue, 7 Dec 2021 14:54:26 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hJ12MVc1gkKsthOQDEsZGLT5qPgw6/3hTaHr4LE27QHdGkkIMV4oLUnhpaMqtObO4STN+vWr0kGrFULj2JWKScS7WShlFlQJm1FvWij1TcMwANf+scvTjULnawzf5smDUxeUMqa2TEgTJ0Re76sH5LRlRp4pBaIK5iDNgACg+DBp/T1qGZwGydWORqOuFxItGfU7uWo5mNqU6SytveocsdHZdAzoQbKOADzmJae1arEDHe8UOA7Tq1uBlKlfBgu58KYusAmbdxm7pyO5iH55UfktZGzjG06G39+BDvUGG4sz1Uqo6A6xwDzGb1p8mi1xrGknioGT5Gfk/Nl3MNG3Pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d7qFq29uFmiCZ/7vZ+ZqzCVgNHbmyngG/bI5/kFd/MA=; b=GmcZJ4qbGGoq8M8GiGbvaR4gHg90Xb7kLp5iev3i0VX4hwZwX9f0N+MRe7s/BB28rBAenZcaitTESkB5bsZKAHADP+sorEuNU3Fuo2srjmo8YR8H9ghNdvwx5UIJVqg5sbFMKrPlIRtSj516dyb+TdmzR7fRJbSwGSldvYpp22NCNZ2negZaDretyh5HVsKYM1g63et/GUgzL6ttavWh9907T7nRwL5XgpUTUxpsI81/hSGYtdooo2ZomdcXlV8ACE5qG6fnBckJf4m8kNYbna6ooSyx3nO325AdkEhBUr5yBd1lWEjSNtqVlUvKydZy9U2A/OxxlgF9KLnPDEesbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=emersion.fr smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d7qFq29uFmiCZ/7vZ+ZqzCVgNHbmyngG/bI5/kFd/MA=; b=jrXcQ0baSufcpw0TFoXMpfoK0fwMC8Hm1bjfQFX+eflbr9A3SH/jdq/rJtC6fBkSoeqYbwMxwxNfdqe8ckkvFkKTQV4QABiFWDDmggLfdeUGlJIfLhzQ50OBgZErXyCjumNINCzrmqxU0ist+scHi5JGD0UgerJgrZsoyAbqfwY= Received: from DM6PR13CA0010.namprd13.prod.outlook.com (2603:10b6:5:bc::23) by DM6PR12MB3451.namprd12.prod.outlook.com (2603:10b6:5:11d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Tue, 7 Dec 2021 14:54:23 +0000 Received: from DM6NAM11FT025.eop-nam11.prod.protection.outlook.com (2603:10b6:5:bc:cafe::6e) by DM6PR13CA0010.outlook.office365.com (2603:10b6:5:bc::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.10 via Frontend Transport; Tue, 7 Dec 2021 14:54:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT025.mail.protection.outlook.com (10.13.172.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Tue, 7 Dec 2021 14:54:22 +0000 Received: from atma2.hitronhub.home (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 7 Dec 2021 08:54:18 -0600 From: Rodrigo Siqueira To: Simon Ser , Michel Daenzer , "Bas Nieuwenhuizen" , Marek Olsak , Roman Gilg , Nicholas Kazlauskas , Harry Wentland , "Mark Yacoub" , Sean Paul , "Pekka Paalanen" , Yann Dirson , Daniel Vetter Subject: [PATCH v3 6/6] Documentation/gpu: Add amdgpu and dc glossary Date: Tue, 7 Dec 2021 09:53:50 -0500 Message-ID: <20211207145350.286037-7-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> References: <20211207145350.286037-1-Rodrigo.Siqueira@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 77d3dab2-f06d-44e3-7838-08d9b99174c4 X-MS-TrafficTypeDiagnostic: DM6PR12MB3451:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2331; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4NACHdleTvkO/OVN6N9kg/dJaccTk0624f9xSCf/hKZajvpP522vPfEt4Dsz80ycDIkNVVH4JbPRo+uT8FrEH+q+lP371RtEHVdvQcdl0+rAALlAwbdSDbx8nv5N/Nm7xB9fiO/oh/NGFkX1dPIF0AsMCjaOF3fpZtmh5zjEO/XeWk3S2Eam8JdrmqXIJMGlL1enxrXOvV2jhINpqOJxAcRxrzi4TFetDQLkeTtU7juNrya0SlgfJoZxrPofwgne3LSjXrGzbmb0sdXPh1tixh5zHswuMf6sJk1P3IHaqsU8OuG1/dYQWC3vGr5qmUUsUW58mZxnsD/+qKQZve2cGdXYhRdCdr7Yug/aYiRgxweV3/r/d/Ze7S32rz8eijM4BlPPbzTbO7mLefu5UF6fOD/A7MyG0SuvnjgNyIDYuj/l5pciMFFyBKZ1FhYEZPEtmC3shJnlceBQogRHDZORJsMYJq9OOHgpkf9jeMqpVA8JndRJrFdLleYuC9SXO8GR+deISS+Qj8C4OCXdbSN81eFC/5dvYWj86V/o7PXE3FIPs9p7CWzWwD7LfqpSAZPS7/vu/opYq/s+qJp++T8KaJ3wBnWpYT+PNNRJuZL6gZ6GIgG0RVHm6sk7ZtA5UEjr080+7C8cIk3fQgCE/VQtCYaSNjaETdhdLBJQQivZYCPHLo6H48YHztWXORXYUe1NMao9rXLYPZPK91a+ss4WrE7DsB/2HatDtVgO4zL+TW4cQrtNO8eOolbtTAiQlyq4aDnB22mHe2L4tDppw/NuTGq85rL9uG4sxMKUP1inadfghyuzr1TCTGQEOpcNiz9g X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(40470700001)(81166007)(2906002)(86362001)(921005)(83380400001)(316002)(1076003)(26005)(356005)(70586007)(8936002)(47076005)(110136005)(70206006)(54906003)(186003)(16526019)(4326008)(36860700001)(5660300002)(2616005)(6666004)(36756003)(508600001)(40460700001)(426003)(82310400004)(8676002)(336012)(7416002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2021 14:54:22.9127 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 77d3dab2-f06d-44e3-7838-08d9b99174c4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT025.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3451 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, qingqing.zhuo@amd.com, roman.li@amd.com, amd-gfx@lists.freedesktop.org, aurabindo.pillai@amd.com, nicholas.choi@amd.com, dri-devel@lists.freedesktop.org, Alex Deucher , bhawanpreet.lakha@amd.com, Christian Koenig Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" In the DC driver, we have multiple acronyms that are not obvious most of the time; the same idea is valid for amdgpu. This commit introduces a DC and amdgpu glossary in order to make it easier to navigate through our driver. Changes since V2: - Add MMHUB Changes since V1: - Yann: Divide glossary based on driver context. - Alex: Make terms more consistent and update CPLIB - Add new acronyms to the glossary Signed-off-by: Rodrigo Siqueira --- Documentation/gpu/amdgpu/amdgpu-glossary.rst | 50 ++++ .../gpu/amdgpu/display/dc-glossary.rst | 243 ++++++++++++++++++ Documentation/gpu/amdgpu/display/index.rst | 1 + Documentation/gpu/amdgpu/index.rst | 7 + 4 files changed, 301 insertions(+) create mode 100644 Documentation/gpu/amdgpu/amdgpu-glossary.rst create mode 100644 Documentation/gpu/amdgpu/display/dc-glossary.rst diff --git a/Documentation/gpu/amdgpu/amdgpu-glossary.rst b/Documentation/gpu/amdgpu/amdgpu-glossary.rst new file mode 100644 index 000000000000..65803bfac776 --- /dev/null +++ b/Documentation/gpu/amdgpu/amdgpu-glossary.rst @@ -0,0 +1,50 @@ +=============== +AMDGPU Glossary +=============== + +Here you can find some generic acronyms used in the amdgpu driver. Notice that +we have a dedicated glossary for Display Core. + +.. glossary:: + + CPLIB + Content Protection Library + + DFS + Digital Frequency Synthesizer + + ECP + Enhanced Content Protection + + EOP + End Of Pipe/Pipeline + + HQD + Hardware Queue Descriptor + + KCQ + Kernel Compute Queue + + KGQ + Kernel Graphics Queue + + KIQ + Kernel Interface Queue + + MMHUB + Multi-Media HUB + + MQD + Memory Queue Descriptor + + PPLib + PowerPlay Library - PowerPlay is the power management component. + + SMU + System Management Unit + + VCE + Video Compression Engine + + VCN + Video Codec Next diff --git a/Documentation/gpu/amdgpu/display/dc-glossary.rst b/Documentation/gpu/amdgpu/display/dc-glossary.rst new file mode 100644 index 000000000000..547c0bfbb3e2 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/dc-glossary.rst @@ -0,0 +1,243 @@ +=========== +DC Glossary +=========== + +On this page, we try to keep track of acronyms related to the display +component. If you do not find what you are looking for, look at the amdgpu +glossary; if you cannot find it anywhere, consider asking in the amdgfx and +update this page. + +.. glossary:: + + ABM + Adaptive Backlight Modulation + + APU + Accelerated Processing Unit + + ASIC + Application-Specific Integrated Circuit + + ASSR + Alternate Scrambler Seed Reset + + AZ + Azalia (HD audio DMA engine) + + BPC + Bits Per Colour/Component + + BPP + Bits Per Pixel + + Clocks + * PCLK: Pixel Clock + * SYMCLK: Symbol Clock + * SOCCLK: GPU Engine Clock + * DISPCLK: Display Clock + * DPPCLK: DPP Clock + * DCFCLK: Display Controller Fabric Clock + * REFCLK: Real Time Reference Clock + * PPLL: Pixel PLL + * FCLK: Fabric Clock + * MCLK: Memory Clock + + CRC + Cyclic Redundancy Check + + CRTC + Cathode Ray Tube Controller - commonly called "Controller" - Generates + raw stream of pixels, clocked at pixel clock + + CVT + Coordinated Video Timings + + DAL + Display Abstraction layer + + DC (Software) + Display Core + + DC (Hardware) + Display Controller + + DCC + Delta Colour Compression + + DCE + Display Controller Engine + + DCHUB + Display Controller HUB + + ARB + Arbiter + + VTG + Vertical Timing Generator + + DCN + Display Core Next + + DCCG + Display Clock Generator block + + DDC + Display Data Channel + + DIO + Display IO + + DPP + Display Pipes and Planes + + DSC + Display Stream Compression (Reduce the amount of bits to represent pixel + count while at the same pixel clock) + + dGPU + discrete GPU + + DMIF + Display Memory Interface + + DML + Display Mode Library + + DMCU + Display Micro-Controller Unit + + DMCUB + Display Micro-Controller Unit, version B + + DPCD + DisplayPort Configuration Data + + DPM(S) + Display Power Management (Signaling) + + DRR + Dynamic Refresh Rate + + DWB + Display Writeback + + FB + Frame Buffer + + FBC + Frame Buffer Compression + + FEC + Forward Error Correction + + FRL + Fixed Rate Link + + GCO + Graphical Controller Object + + GMC + Graphic Memory Controller + + GSL + Global Swap Lock + + iGPU + integrated GPU + + IH + Interrupt Handler + + ISR + Interrupt Service Request + + ISV + Independent Software Vendor + + KMD + Kernel Mode Driver + + LB + Line Buffer + + LFC + Low Framerate Compensation + + LTTPR + Link Training Tunable Phy Repeater + + LUT + Lookup Table + + MALL + Memory Access at Last Level + + MC + Memory Controller + + MPC + Multiple pipes and plane combine + + MPO + Multi Plane Overlay + + MST + Multi Stream Transport + + NBP State + Northbridge Power State + + NBIO + North Bridge Input/Output + + ODM + Output Data Mapping + + OPM + Output Protection Manager + + OPP + Output Plane Processor + + OPTC + Output Pipe Timing Combiner + + OTG + Output Timing Generator + + PCON + Power Controller + + PGFSM + Power Gate Finite State Machine + + PSR + Panel Self Refresh + + SCL + Scaler + + SDP + Scalable Data Port + + SLS + Single Large Surface + + SST + Single Stream Transport + + TMDS + Transition-Minimized Differential Signaling + + TMZ + Trusted Memory Zone + + TTU + Time to Underflow + + VRR + Variable Refresh Rate + + UVD + Unified Video Decoder diff --git a/Documentation/gpu/amdgpu/display/index.rst b/Documentation/gpu/amdgpu/display/index.rst index fe2ecad8df81..e23c752ee5f5 100644 --- a/Documentation/gpu/amdgpu/display/index.rst +++ b/Documentation/gpu/amdgpu/display/index.rst @@ -26,3 +26,4 @@ table of content: display-manager.rst dc-debug.rst dcn-overview.rst + dc-glossary.rst diff --git a/Documentation/gpu/amdgpu/index.rst b/Documentation/gpu/amdgpu/index.rst index 5c8cbf514097..ff38c360b04e 100644 --- a/Documentation/gpu/amdgpu/index.rst +++ b/Documentation/gpu/amdgpu/index.rst @@ -334,3 +334,10 @@ smartshift_bias .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: smartshift_bias + +AMDGPU Glossary +=============== + +.. toctree:: + + amdgpu-glossary.rst