From patchwork Tue Sep 24 20:35:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13811156 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 12419CF9C6B for ; Tue, 24 Sep 2024 20:42:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 57EE210E047; Tue, 24 Sep 2024 20:42:37 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="QL0BEIId"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B9A010E047; Tue, 24 Sep 2024 20:42:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727210556; x=1758746556; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=/TkVQb/cp98zkdptqweNL51c3QmtMtNGQPaxpeTwcgw=; b=QL0BEIIdpNJGGbVl2c06FFHaPBJ8TenyhgJvtyOg0mC/FhJPnSybigi1 XgD7RLBy6GMZUoByArfC3kqPb2pjbrHqkSnU6siKDzjoQd93RUfJOr31L 5IdpRzd7/08lR4E++5IYhA3Nw8GpMKDWp4SQPFibVLdh6vAzv9pDnHIbA tbT+3KIPRTlUmP4JOnQqOKu+9clUg2xmWKQY7X6+dNQ1oAQAY518m9rxL +4I09QZS4GnzEvc75TFbZVPdgmwDJkfBPGZVAXoqBU75zQ22k8GJAaw+0 gDvZTbNvbpFLDuZCKVaRm4C1KsLupBo9+Coi8zb1bwo1NBPu7H92OLtTv g==; X-CSE-ConnectionGUID: 9TvAZw3JQg6hQ/fVIRBmvA== X-CSE-MsgGUID: qt7Dd7NUQpW6yXbaaT5qgg== X-IronPort-AV: E=McAfee;i="6700,10204,11205"; a="43751423" X-IronPort-AV: E=Sophos;i="6.10,255,1719903600"; d="scan'208";a="43751423" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Sep 2024 13:42:36 -0700 X-CSE-ConnectionGUID: BUjh5rhtQIuDNgdNfF82uQ== X-CSE-MsgGUID: ou6Z0Km2Q+yZf2Dlux2DGw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,255,1719903600"; d="scan'208";a="76298378" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 24 Sep 2024 13:42:35 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep 2024 13:42:34 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 24 Sep 2024 13:42:34 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 24 Sep 2024 13:42:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yzQfiVLAWNQnZdHueBNRrePsqjIF72rrd5m21lMHJ2GIGQ70mHDdNlu6PgelPUJXgFjfKyYWDiPMyihKH+9UCp/FfMp+qpuVMs56HYa9kQWOIoSHaVQqZgQ+T7cp/2n7TibFv2mkVRXyaut2lDpKvExMWqPsaFjXholiOEOhl6jylCv89kaRP1l6jnGhTZ0rmDGvsHpc7OIiS1tCndc+c/yoxR8pKD6iMLMOsaciCt6Pfj7JAwL13AqtYVDV3JCr0iwSl8Lnw1I4NjFItRVIH1fqo3WycS0Gn9l9FnqiyK24X7FuD8z1G3zsJ8srlEsx1ZZ4N2fXArX9UpHVKs0mbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=j0OSnEjgufynGI0tL03fW3rqAKE5ZwgRoQK2odntvsY=; b=vJFdHhu3FIZfTXw5GJW9eyWWg6kL7gDGFc0HrDzjHzfVWkY9HGPimpBTjcusGb8RbzsrwltXvr3lCH4a1T5i6q6zL2lhz/SvBQuTd16sLgawceRCop1sJv9C2t5W2Wuv+sur5Bb+ReC0pPtaAnjNYjUbsYbLEgTQDVR6yQJcQ71ji2VZ783mQW9+Masb3d6Jkyk20TtDKE5cHUf1Ct5sWnNghboU50o/feWNnr6TV+lq/5CndwdWzTHboNkI0aV4JThUR66E8pT5m4PGPmCBroH/DxKUv8yKHj8jrosW7lFP/lfMiYDmvajhxdfXY0taWIkfwDhNrkj8Ws6rjrC2ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from BYAPR11MB2854.namprd11.prod.outlook.com (2603:10b6:a02:c9::12) by BY1PR11MB8127.namprd11.prod.outlook.com (2603:10b6:a03:531::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.23; Tue, 24 Sep 2024 20:42:29 +0000 Received: from BYAPR11MB2854.namprd11.prod.outlook.com ([fe80::8a98:4745:7147:ed42]) by BYAPR11MB2854.namprd11.prod.outlook.com ([fe80::8a98:4745:7147:ed42%5]) with mapi id 15.20.7962.022; Tue, 24 Sep 2024 20:42:29 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi Subject: [PATCH 00/31] Reconcile i915's and xe's display power mgt sequences Date: Tue, 24 Sep 2024 16:35:21 -0400 Message-ID: <20240924204222.246862-1-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.46.0 X-ClientProxiedBy: MW4PR04CA0196.namprd04.prod.outlook.com (2603:10b6:303:86::21) To BYAPR11MB2854.namprd11.prod.outlook.com (2603:10b6:a02:c9::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR11MB2854:EE_|BY1PR11MB8127:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c929add-d771-4dc2-00fd-08dcdcd9682f X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?LF5eOM/o4lZbRfBbr4mktXqVxH4kxHT?= =?utf-8?q?NLfsSHx3oDjIiVu7i43UdT9Qm1RBvuFymSLPPNF3ecLKSpA/WKydsQZKHZO4Hd7zg?= =?utf-8?q?uKySfRXeiz4a3NalhrsQCtW/AorI98vGl+kP8OlAkVco86jYAkPU1Y4uDoUqwmD4G?= =?utf-8?q?0+9x8kUQm12TM69g3e12NrBcfWxIjyR0UfRVFcJt3FRmBvDIa646teSEkkuSMDXAb?= =?utf-8?q?dJ3NpEKiTFB9jMjaOpz13g5vIJ2k9waeS3rkC0wxGmnAB0qgOakq1vcAvJ0dRBueq?= =?utf-8?q?wqjEyo1JXoBZGY08I5G9VqVIh6jUCONbOP+bbhsOur2P3b4YSGvH6fbmgqGTcGmq7?= =?utf-8?q?OhK+IWucPy5Rf7hscnRlld3WBFjcfysrEFCXFvl/Oid2wjnhf/h4fJhKOHhfMCZyT?= =?utf-8?q?3V0UkvWFoNy8IhUFgFRBOyVsp9FVCJEr7HgUGSrfP+E/hpgIrsKDAdMamSkz+/Ln9?= =?utf-8?q?OYtyOIQKf/6WQm4Yq+ARMTrMXL9Fsf6a0AZzc7iqncPMlzj10TOvgH+0FowY0QLW8?= =?utf-8?q?KmSt+d8WHsGQkOkQUshlcPR4PfGdZVV5gsLV74nIvFaZ8Nf2Hbl9G0ZbTg2DjPxUu?= =?utf-8?q?VgnZtadGRhPLT5mdbU1GBgPQZyzrbulaOPIXLZ9UoPhxmX+3GVNjLn0z5OX50AQtk?= =?utf-8?q?RKzmjnsikkEcuwbqL0geUq/VYAbukCoMSpUrtPorNVmcNkpu9vuyjl6y35/bhnBrG?= =?utf-8?q?xmpqIs2+5dQb04rOFBT0dwGs3AdW+lGXXgiVaWoXNV4QQRMj1oKoPljb6icTKhijs?= =?utf-8?q?SWsZz9C1bbC3kYmsV8Q1E4V9qkwVxwrHMoUpg7UPsstq4q/ZGd1IsjG7Ne5nKjgSe?= =?utf-8?q?/I/KB+Q5mvohErxio6SKOC3TzyWKEn2eFX5uNwzVwuMojp1548ssg7034SJZkFq3H?= =?utf-8?q?TgLUcQAUaO8l5/VlDCeD0zJtRbZ8aOMoxgcpAcGKkW4RQZ/nFAFYoZ/K2o7lKVxhT?= =?utf-8?q?6v4hL8yEn/fBNPXOGPxmGwusOZTe5QR0g1FbREhhTaqCmpyJlNSFpuftriRTXfoxt?= =?utf-8?q?km4Ht7OMeAd31Za0j8tzJm32riB6I6C8vhIJuhXcRO+raqzWaUrvfuVCPTiH+zenX?= =?utf-8?q?J2rqWHBnBRMI4LjeNQKYhIVXNikiGBoteT3qDQ4gl+igplUfiTTDyKAfuBOyYwaFJ?= =?utf-8?q?v+qUgsEAtxfZw/hg2Lc1PKEWIKQM0z/TGk2l9k4TRYGpm34OS3FsapkmeorN081fz?= =?utf-8?q?RQ2+D8BMdI3FnyeORR0AnL19ioMI8uNlpz3Q=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2854.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?dVdgbcsco+kok6CLkdHXoxRL+2g4?= =?utf-8?q?7byUIhkPyPHH90r/2VyMOaH8bzlM5HwQZbBpyuHOXNoWEzXhnkGnNdkyKcS9fU0cq?= =?utf-8?q?W2PjxsH9QYA0Un6dvZSwwx8b4lHuRIQho2JN03hms1XPwWGMkQWgk1u4S9Ma5biP/?= =?utf-8?q?TFThZi66557prAzRRKjXtqdG/HWa+4D+Fh4Eu8wBGp+KN3WsokQGBU1YnGCKsW/bd?= =?utf-8?q?tLGG2utDo2OGCSkkE2fj5oGZoT0tRcis7Fs1TFRDEh5dCx5A82trIxDTBvuet42UD?= =?utf-8?q?B3ztuqUniSY3w9EwUeUXgOVXnOE3SzSW9vRiWW8DUFFf/ji8TvYF/bo/ad5v3YISO?= =?utf-8?q?UE2/gIH2du1E96D6lU6RkCVOoFZ1ejdAOZJENbpKhyaU5DV//w0o4yqmgiX7qdAdC?= =?utf-8?q?qDfe8+y09sJU/J29sSeZUz0rzLaCNfCtSkpRPVBchx+vdF0LZ+SfuEu8pyHHlHTtG?= =?utf-8?q?TGaNLjhBCRcacD5BfuwqhwCbHqdysczb6/xxOZbnYdt+zxA3seNfKjGx3RBZ+U84f?= =?utf-8?q?Mz3CJaJQZfNtKWrqKZOLP2qlp/0QSc9UQsLLDO/bqc7YnuqCTmwC3oG2ZgB6sUA8Y?= =?utf-8?q?gjUxy3TwEcCaRtyT4XOjLUzyQBXpFNt+Evsi1rf0UyFLCm6AABEKFTPaB7GaCsOi/?= =?utf-8?q?42GKOxWnUIPYrwn+V4PEcTrjA5NpZctflyQlM8N+bdv/Hs4TjFWLj2hJgINZ/5f10?= =?utf-8?q?3RJiOQjLflI+zJXbga7/B4DoMPY1VyxLL3aAPuK9mbNGKxf0CzxcSBz2yR76zRyZH?= =?utf-8?q?/yLSclUoYUtt1Kn6gYLOTrHkIliGAB8v2HEg0c83ztLjGf8FGcOrLWhYeLQaPZTnT?= =?utf-8?q?tFkGHWmLxC9aGWHHC5DYwIFKBnaiN1UbBxL909tUOHQhlOCZj+hQQRM/0vAVb5kPO?= =?utf-8?q?6hOr1MAKaDEnqb7JC95ontJLCltFoTnZFVBn/sNuRUW2POMiW/cNt5LNLe8lUbS5p?= =?utf-8?q?WQEkqXfVGxhG8X5VFswrLQU17Gynjg6TPVYsqL/RoEzZ0c81QnQlOYiajgekrvKjl?= =?utf-8?q?R822YV8HsMwl7BxKpeSiTLb5C2ws1qcdrEbQ3Pzn5c8Dh/LPeCvFrUQt7qgtVe/Kr?= =?utf-8?q?YNjGkspVG3VaRJ0Ih+FcYQRuT3E+VJGicLGsc/5nez+pBFpqxaJWmVVPcdBPgOq/Y?= =?utf-8?q?5A5QE5VNgnoovXjRVVMnDjKOaRMr5mEjwGT43Jv0Etw0OgMcwR7ZtMTt8noLZWXOF?= =?utf-8?q?XL2ymVC40Df3yvXiXGJNG25H4aIQ0e8Wz3y+de4lHSa0PN/wIbWNNQivaclRK12E8?= =?utf-8?q?Q0wzWqFeMS1U8duHK11U6+U+7enOKrIjPCVGPtBl9Dq9VCsOttf4oFMFj1K6zzcKr?= =?utf-8?q?jBEBPXusnD+Db6DeAck1HOjgF48taaUeajMtc0Rzht60MiQ4rfC0ktg2ZvR1TpFd7?= =?utf-8?q?gESXClHIHldkx901sTYT7GbVbwSPx7+W3qCr2/wnhQzyjWndqm4CT1csTQUKSty1U?= =?utf-8?q?gVOl1nOfKGBhwXg+k+XQYoljzNK4nFIGOpj5O9Cg4wL71H+xLPQ0PgW1+Y9IX9mo3?= =?utf-8?q?ovbKVlGSD2MS3UAWDWVtIsASQs6GPH9b8w=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 5c929add-d771-4dc2-00fd-08dcdcd9682f X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2854.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 20:42:29.6288 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xNKwoNwx2XXKfMBxgOCPjGjv72bOe1Yda4LvKiCq+YWrXUBPRBuBCE9VmUpr5LQgja3rg/ykRRCfkD8YGK57+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR11MB8127 X-OriginatorOrg: intel.com X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Reconcile i915's and xe's display power management sequences. The main goal of this series is to ensure that the display power management sequences from both drivers are fully aligned. So, it needs to live under i915/display/ and xe_display_pm can only be a wrapper to check for the xe's module parameter before jumping in the i915/display functions. During this process, it was clear that the Xe's runtime pm sequences for integrated gfx (non d3cold capable) was totally misaligned with i915 and prune to more bugs. So, this series ends up fixing this and bringing a full alignment there as well. The one new thing under i915 is the d3cold sequences. Apparently that can be reduced, but for now this is what is validated and stable on both DG2 and BMG. So, let's move that to the i915/display side as well and continue on the improvements with the code in the right place. When I started this work I was hoping that I could run more conversions to intel_display struct before moving things from i915_driver.c to intel_display_driver, however that was a deeper task and this series is already deep enough. Cc: Imre Deak Signed-off-by: Rodrigo Vivi Rodrigo Vivi (31): drm/i915: Remove vga and gmbus seq out of i915_restore_display drm/i915/display: Convert i915_suspend into i9xx_display_sr drm/i915/display: Move regfile registers intel_display.restore drm/i915/display: Move shutdown sequences under display driver drm/xe: At shutdown disable commit helpers instead of flushing drm/xe: Use i915-display shutdown sequence directly drm/{i915,xe}/display: Move DP MST calls to display_driver drm/i915/display: Move suspend sequences to intel_display_driver drm/xe/display: Delay hpd_init resume drm/xe/display: Spin-off xe_display runtime/d3cold sequences drm/{i915,xe}: Consolidate display resume functions drm/i915: Remove lingering pci_save_state drm/{i915,xe}: Consolidate display suspend functions drm/i915/display: Move resume sequences to intel_display_driver drm/xe/display: Delay dsm handler registration drm/{i915,xe}: Move power_domains suspend/resume to display_power drm/{i915,xe}: Move remaining intel_power_domains to intel_display drm/i915/display: Split resume_noirq calls for now drm/xe/display: Align display resume sequence with i915 drm/xe/display: Align suspend sequence with i915 drm/{i915,xe}/display: Move dsm registration under intel_driver drm/i915/display: Move runtime pm related calls under intel_display_driver drm/xe/display: Prepare runtime pm functions drm/xe/display: Call intel_hpd_init on every runtime resume drm/xe/display: Move hpd_poll calls to later runtime stages drm/xe/display: Add missing watermark ipc update at runtime resume drm/xe/display: Notify opregion upon runtime suspend/resume non-d3cold drm/xe/display: Move display runtime suspend to a later point drm/xe/display: Kill crtc commit flush drm/xe/display: Add missing power display handling on non-d3cold rpm drm/{i915,xe}/display: Consolidade entire runtime pm sequence drivers/gpu/drm/i915/Makefile | 2 +- .../gpu/drm/i915/display/i9xx_display_sr.c | 99 +++++++ .../gpu/drm/i915/display/i9xx_display_sr.h | 14 + .../gpu/drm/i915/display/intel_display_core.h | 5 + .../drm/i915/display/intel_display_driver.c | 247 ++++++++++++++++++ .../drm/i915/display/intel_display_driver.h | 18 ++ .../drm/i915/display/intel_display_power.c | 6 +- .../drm/i915/display/intel_display_power.h | 2 +- drivers/gpu/drm/i915/i915_driver.c | 161 ++---------- drivers/gpu/drm/i915/i915_drv.h | 9 - drivers/gpu/drm/i915/i915_suspend.c | 141 ---------- drivers/gpu/drm/i915/i915_suspend.h | 14 - drivers/gpu/drm/xe/display/xe_display.c | 185 ++++--------- drivers/gpu/drm/xe/display/xe_display.h | 11 +- drivers/gpu/drm/xe/display/xe_fb_pin.c | 8 + drivers/gpu/drm/xe/xe_device.c | 4 +- drivers/gpu/drm/xe/xe_pm.c | 16 +- 17 files changed, 498 insertions(+), 444 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/i9xx_display_sr.c create mode 100644 drivers/gpu/drm/i915/display/i9xx_display_sr.h delete mode 100644 drivers/gpu/drm/i915/i915_suspend.c delete mode 100644 drivers/gpu/drm/i915/i915_suspend.h Reviewed-by: Jonathan Cavitt