Received: by 2002:a05:6512:3d0e:0:0:0:0 with SMTP id d14csp38339lfv; Tue, 12 Apr 2022 16:19:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwIq+BAKlF4/Eiq3utSobpGCp4uQ+1q3Xhy6Uh7tGAITCQiHA5NX8negD3IQzqvswjxsAJ2 X-Received: by 2002:a17:90b:4d10:b0:1cb:a625:b37d with SMTP id mw16-20020a17090b4d1000b001cba625b37dmr7486763pjb.122.1649805597483; Tue, 12 Apr 2022 16:19:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649805597; cv=none; d=google.com; s=arc-20160816; b=y+OPm8zaiPs+aPPoOWKBOpRUf7nEQ9P2d8o5aAnL6t3PLLyb8MEhaddmRLd2LCsZc2 i4S2vHRi4QVkMviH/jDcqyy4HZuGEugy9cSSLynHgkggwxmCdw2JOW80AVb1udmg43uA 2ZlgF0cSuQpV5Pq9gkk9PTwtPLoosQrT3AaAFRZ0QCRnsnLrtw2IbhmxUBYfMIylXN1N A1JJCMKiKX7YjYX3U8u2bNLiPXy4z1ReDpW/0BdjAJapCyAFvNc41ELKTtP6En8ybKoo ZJ/oTV3bPRUqjLL+97XURnS9g59h/I2Jr3lpMY4jV7kwmVAhtgea3jYDxZhNy6VXziAo zuBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Jb+YfXK0nl1G/oG1lK35rb3/4DxnPXU991TYmPX6hjI=; b=uyonta3MNbxzhxyQ/VBYhdK3oMkklLaZLIbAjoHEVV//JPsFklUs04nZXEYdhyg6T3 lgIETo2crR0AQkwjllOJYbhDthSk83HxLwooIHzXSFWUGbYNmbP7m0PLHdKEK6aOJ7lP 5DMOMD5yehwiXrFD20xOKZaTG5Ub0wUem2+lHrVteJK8w4zaEOdWgXZZpzJX6RYW6wC7 5nm/+7MU4PahQ7gFJTyATvk2FLvzKhD5z9p1qnC0RecuKz/n+8tb0+TM8c+zwKaP0QBm WVps3sgy0NPt/44lFrTw8uGs9YSJlJ9CQNigLnKpED+nF5g1+0NwGTutS5R5Jq2rv3qc UNcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Vqq/V0VS"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id qe13-20020a17090b4f8d00b001ca79f9c8besi17694938pjb.71.2022.04.12.16.19.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 16:19:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Vqq/V0VS"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BFD3F19608E; Tue, 12 Apr 2022 14:11:37 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232008AbiDLHgb (ORCPT + 99 others); Tue, 12 Apr 2022 03:36:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352199AbiDLHNh (ORCPT ); Tue, 12 Apr 2022 03:13:37 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C678115718; Mon, 11 Apr 2022 23:54:27 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5E184614EE; Tue, 12 Apr 2022 06:54:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6632DC385A1; Tue, 12 Apr 2022 06:54:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649746466; bh=2laFKxGUT4sfdWP/+OUXDQb6itafCNSWbwrDvjfdn0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vqq/V0VSbAbl+nNuutH/QL66fWgMplxnt8KTrMy7L82jEIPMB1O5oRTtTkf3Snrim 5uiUw0PD8D8uJcNhzFEXQx57EcUtKM3Q/kocgEIWDXjdDJ2HicPbjD6CRM0nVjJDev 8Qto4ijXeo8uQ5D3gMK9r1+jWnt/cOxVF3LbhSVo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Daniel Wheeler , Anthony Koo , Rodrigo Siqueira , Nicholas Kazlauskas , Alex Deucher , Sasha Levin Subject: [PATCH 5.16 016/285] drm/amd/display: Use PSR version selected during set_psr_caps Date: Tue, 12 Apr 2022 08:27:53 +0200 Message-Id: <20220412062944.145935933@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412062943.670770901@linuxfoundation.org> References: <20220412062943.670770901@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nicholas Kazlauskas [ Upstream commit b80ddeb29d9df449f875f0b6f5de08d7537c02b8 ] [Why] If the DPCD caps specifies a PSR version newer than PSR_VERSION_1 then we fallback to using PSR_VERSION_1 in amdgpu_dm_set_psr_caps. This gets overriden with the raw DPCD value in amdgpu_dm_link_setup_psr, which can result in DMCUB hanging if we pass in an unsupported PSR version number. [How] Fix the hang by using link->psr_settings.psr_version directly during amdgpu_dm_link_setup_psr. Tested-by: Daniel Wheeler Reviewed-by: Anthony Koo Acked-by: Rodrigo Siqueira Signed-off-by: Nicholas Kazlauskas Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c index c022e56f9459..90962fb91916 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c @@ -74,10 +74,8 @@ bool amdgpu_dm_link_setup_psr(struct dc_stream_state *stream) link = stream->link; - psr_config.psr_version = link->dpcd_caps.psr_caps.psr_version; - - if (psr_config.psr_version > 0) { - psr_config.psr_exit_link_training_required = 0x1; + if (link->psr_settings.psr_version != DC_PSR_VERSION_UNSUPPORTED) { + psr_config.psr_version = link->psr_settings.psr_version; psr_config.psr_frame_capture_indication_req = 0; psr_config.psr_rfb_setup_time = 0x37; psr_config.psr_sdp_transmit_line_num_deadline = 0x20; -- 2.35.1