From patchwork Wed Mar 16 07:51:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1606033 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KJMsp74Fpz9sCD for ; Wed, 16 Mar 2022 18:51:26 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1nUORF-0007F9-0i; Wed, 16 Mar 2022 07:51:21 +0000 Received: from mail-pf1-f173.google.com ([209.85.210.173]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1nUORC-0007Cc-GL for kernel-team@lists.ubuntu.com; Wed, 16 Mar 2022 07:51:18 +0000 Received: by mail-pf1-f173.google.com with SMTP id l8so2945493pfu.1 for ; Wed, 16 Mar 2022 00:51:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KMK+0QzOFtkSDNMHsZiLR20UqmIjd4/n5DCqAx4fqYA=; b=dY8z2s7JMNTrnAgRcrCe6XjPy931s5/QDxVMe+dC0Qar04kapAgd2vHNz6AhDacWn0 w3wrUPQs0/ORY2bhiAIZz6jXMjFqTEEbBkea63R6FLujZZwUJkswv2YSqwwY0XU/KmFd 6nbwI9DPUvxifIaGlqQ5WUAcC65nEPo9kEo09qasm8unqiWn30rpL79/DcJ9Wm3BrbAF zKz75Mlmd+BWNO82fb+CIfSxyGMfZJq9w2YooVPsBQbmiMeAIvHjZSRxW1AYQm2JvSDU AGeCbf33NAbsf//RLsH1bElSyIx2+SLKeDBcR9mb7b2mCLm5xVevhudr/7CpXy9Qi2YF 61Jw== X-Gm-Message-State: AOAM530o3hleL2WocIolk0tQo+oK9pVhYRglk6obp7E4dln45XlDa2fm nQYmOO2jm4W0sQuKh1BF8ZEwTKSvpW4= X-Google-Smtp-Source: ABdhPJzecHjOQ+K2wslJjDfXgeVfPivWJo7fuPp++V3UaFQM5Vvyj/lyRMLS4dwQHCiUd4oKafFE4A== X-Received: by 2002:a05:6a00:1a8b:b0:4f7:10a6:3cea with SMTP id e11-20020a056a001a8b00b004f710a63ceamr33279611pfv.75.1647417076411; Wed, 16 Mar 2022 00:51:16 -0700 (PDT) Received: from localhost (2001-b400-e7a8-8e4e-9beb-d002-2069-d1fb.emome-ip6.hinet.net. [2001:b400:e7a8:8e4e:9beb:d002:2069:d1fb]) by smtp.gmail.com with ESMTPSA id f4-20020aa782c4000000b004f6f0334a51sm1635434pfn.126.2022.03.16.00.51.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Mar 2022 00:51:16 -0700 (PDT) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH 2/2][SRU][OEM-5.14] drm/amd/display: For vblank_disable_immediate, check PSR is really used Date: Wed, 16 Mar 2022 15:51:08 +0800 Message-Id: <20220316075109.3371061-3-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220316075109.3371061-1-vicamo.yang@canonical.com> References: <20220316075109.3371061-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.210.173; envelope-from=vicamo@gmail.com; helo=mail-pf1-f173.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Michel Dänzer BugLink: https://bugs.launchpad.net/amd/+bug/1964850 Even if PSR is allowed for a present GPU, there might be no eDP link which supports PSR. Fixes: 708978487304 ("drm/amdgpu/display: Only set vblank_disable_immediate when PSR is not enabled") Reviewed-by: Harry Wentland Signed-off-by: Michel Dänzer Signed-off-by: Alex Deucher (cherry picked from commit 4d22336f903930eb94588b939c310743a3640276) Signed-off-by: You-Sheng Yang --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index bde35437db9d1..b003d1b0be715 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4039,6 +4039,9 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) } #endif + /* Disable vblank IRQs aggressively for power-saving. */ + adev_to_drm(adev)->vblank_disable_immediate = true; + /* loops over all connectors on the board */ for (i = 0; i < link_cnt; i++) { struct dc_link *link = NULL; @@ -4083,19 +4086,17 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) if (psr_feature_enabled) amdgpu_dm_set_psr_caps(link); + + /* TODO: Fix vblank control helpers to delay PSR entry to allow this when + * PSR is also supported. + */ + if (link->psr_settings.psr_feature_enabled) + adev_to_drm(adev)->vblank_disable_immediate = false; } } - /* - * Disable vblank IRQs aggressively for power-saving. - * - * TODO: Fix vblank control helpers to delay PSR entry to allow this when PSR - * is also supported. - */ - adev_to_drm(adev)->vblank_disable_immediate = !psr_feature_enabled; - /* Software is initialized. Now we can register interrupt handlers. */ switch (adev->asic_type) { #if defined(CONFIG_DRM_AMD_DC_SI)