From nobody Sun Feb 8 19:35:27 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A0A934EEF1 for ; Fri, 9 Jan 2026 08:38:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947922; cv=none; b=Now1aS2t8++p1DEyo3A4XK94a8c3D6928McJ1GCNsbEkNsPmZ+PVZdx3JLSAFH1CBGHfT0MxtP8eS8L608fRJXgfYenDzVzB0m7cbL9sfwA7jr5CmsYO2/YOcGPloAwCCj0Y3wW2Cp3nOhsWtXXQC+BbLTcnZ8Mzk60WIyT1+9Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947922; c=relaxed/simple; bh=SFg8p+MGJu/pcBjr2+xQMDaMLDsDXsWe/78KeIoHXtU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IpUPgcqO9QjZPQYDZuU7kq39JK5XM4IHEgmRpqvtRwMHyBWvBnjXjHQ/HM4ynuAYS+A4Ebc/3N85H1wkXIYiUEY7ZQsPLzmnKCS0kby/8IoGieXHbauvhzfKDUdFQDuWy90+C1ZLTshxu8mHSxRWl0eAYCnhVEmFmTFEl+tfKzQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=JNrQNYhD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=d9gRbMuz; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="JNrQNYhD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="d9gRbMuz" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6098IY4J3527173 for ; Fri, 9 Jan 2026 08:38:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=VOw+HSEIpW3 EZgI38fHqxZSg7dj3NJr6PsLdb8K0mHM=; b=JNrQNYhDBpVwiiwB1sqPHOUpks3 OhTbdyMQLvugnPpKoN+4CDjdlseY1dLyYBTbUJMTIuaLiNZiD6Lzng0jZaC3aFZD JGAk+XQDVRvApY0WYmARBIJEV5iO0+4FeifTrCn2Wu9omqBZah2PdMsdXxJ4dfCY onPb32EJhJXtks0I8cI1hXHwpYPyER1Udaj5nTq6htwgEUOqyoPziqpDvMdy2trP BFnK5hgYeoC4MTNmhJ3yML/rJx4/rvRNQTkP/y+Y8bxpSZJzMved/aurOBmXuaTH bcIIJJ2pZnsD5jvQLqpdKNFVijG5ucNY+m0wMAfCtWetjBmFUav6AJY7k4A== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bjhwx21gg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 09 Jan 2026 08:38:39 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b1d8f56e24so1022980285a.2 for ; Fri, 09 Jan 2026 00:38:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767947919; x=1768552719; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VOw+HSEIpW3EZgI38fHqxZSg7dj3NJr6PsLdb8K0mHM=; b=d9gRbMuzBqIBNgecAvJQVRWghoNR5Mxk6uIa/UBIeu3PzfZkQzN8W4wPCxhENJYibY SpJnINKL1PSFLLsGRHPyxVyyBcQ7IxBfc+5ygK/9dkBjyZ/g78os0Zm6s9e0/w9toggY S3eEjebb3XPL7Zq8N9nqE+Ge/6ZsrCDA9WsTl33gMWVkb3ZrH3xbl06yz77Zgb7t60fQ z7wX3bphyW5DCPXC44sNivqzD5vgbyaaM+8OJxaQTIhu8ZFslV77z2jeK/XxoODE6ZEy 6K76WZxxbvCdMWTwyhul5k5iAEccDuA+k78G8Eio90+HJ1zJa12UXRK35g5mC0WGGxKR GPMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767947919; x=1768552719; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=VOw+HSEIpW3EZgI38fHqxZSg7dj3NJr6PsLdb8K0mHM=; b=voLPXmGCLyTnPbU4cVTpZfGiR4Xh7mVI5lfHUIUVqhBwwLBi4YUkoybSCsXU34zeGS 3EvDIusJMnFQ5+LnoR7YXyXACbISsIS9X3lbgo+6dGNtCWu3XGRwQjQBcp4kLKwrePT8 19VFUHAJPPwdxw9WK6yQH0VnJ1kgk8DqKEUBp9EpR/ay5kq/nS2wvj5X9OJv+SJuimUS B9RzTR/8SyQHOEvzfJMquLuhKyGAEKHTKa7amlXpXwFn8yo5TOBRWqL1rfitEdKR84RC 30o2NLufFEWJ156YNM1/RSHilYlKGYmGPvUobrL4BU5i3BrMZ9bGXeEksD2jXWpSoyIE CG1Q== X-Forwarded-Encrypted: i=1; AJvYcCXqiytdCnzfNJ3Bf7vKKhWnmPvr7zExKSl7fd8Whqv9CQ4JCBfQJ7PQIreNtw9fjHvN7z/5w+awDm6G4wU=@vger.kernel.org X-Gm-Message-State: AOJu0Yzqx5I8EAsgTjgayOoBe18v+mhsNc4FaFwXAfkVBfmzEKzm6roA UdGDLLP0/Z7d68rRc1Xl3t/HVKSwX7kvbDEm8WqaE4e0yw7QINYNLg9UlaT7G+pPbPzVTr9BF9C eUXH3+/W9sGQmMG5SuMjKdzfVu98CInBN3VipGZheIuKCsgCrKqkB+I7LHtgbf+Y9K7E= X-Gm-Gg: AY/fxX44n43l+O3wBfiYmfclXwznSclUn1u3YhrdfA7yretpS6+oazHmaLWKk+1ySx+ 1gGeIl2UB4ekaiYk5wHSMzM+/TMYH9OCGHwO2YXRvnjoDXPAEZYGNnTfcQR33BApifT4Jp430iI DVHGPGeaF6u7QtabUUiwi2UutXyZsmgsnnB+15l8O3qGL6h/xHTG3wncBLOVdAgl45u2B5D2kcR Ttrqs0OfeDgOEsXBqa7wyROPIukxZu0RsO6CvHFInN9b194UnWkZOlaqaAAOSo0QDbz+SstQpFB MxHrEZelfBkD3eY3PgJ5FDvCq6sf0mwViIwcs0rDOrdkFyqyyj13jGmkd6+JJrRWwna96d71hCt GgIByhru0f9aES55vYQpEHgfPyx80Z9MsQN+IzIxlAAZqOI3RyQiJ2TnAIeJVYTG2xAo= X-Received: by 2002:a05:620a:25ce:b0:8b2:f228:ed64 with SMTP id af79cd13be357-8c389368dfcmr1185737885a.12.1767947918824; Fri, 09 Jan 2026 00:38:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IGCZO5Wi/FsGcHzPlNSov7HprfEwEMTeHUZ7wBJ/nClRodC3/gGrAUB5KTuE5/GI8+qgWKpWg== X-Received: by 2002:a05:620a:25ce:b0:8b2:f228:ed64 with SMTP id af79cd13be357-8c389368dfcmr1185733485a.12.1767947917875; Fri, 09 Jan 2026 00:38:37 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8c37f530c35sm771262185a.40.2026.01.09.00.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 00:38:37 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, abhinav.kumar@linux.dev, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, krzysztof.kozlowski@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com Subject: [PATCH 1/2] drm/msm/dpu: fix mismatch between power and frequency Date: Fri, 9 Jan 2026 16:38:07 +0800 Message-Id: <20260109083808.1047-2-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260109083808.1047-1-yuanjie.yang@oss.qualcomm.com> References: <20260109083808.1047-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA5MDA2MCBTYWx0ZWRfXw0PstqbOYbs3 RlySRW7PBw8h4frP5CZ0Kn0g2ICxqvjen5Bw28q72eBOW7ZesCB+UmmohV+Q8pjPPmXCaCoP2m3 aF+oIfdcFYPttL/VO8sv62hTf+Pr8Ip+6btEb3QQIvA6mw70OpUnRW27AOsB3RpWURRDE85rSRo n5finQ6Df10ZJx0IgHxJCvdcsv1eycwbcFPSr/9+PSMfXSmc5esF8Q9tP80AV7NFS9xFMx9mySs z3s41uQ6JjQS9igN8ULjdpr6wGFOg09Dh9gyoiVjBJ7Dd4CX4X1yrMIWJotiKUgnfca3wlKu+Hc mkVItmf8Cbrj2Iyn2rXw5ctGxmkGh7cZqtyMGx5egPFqV9LP8uZEGPJlVJGTGl+XfPf5UEpmXte RQsUEx+UszdraNNimuO6gK2lY8DPyV79ipuFPWLoc2dRuvkWojhZe8SHkILnvVJCxcFcyzSJ+YU S2DQ8J91rwQ6SgSPqZA== X-Proofpoint-ORIG-GUID: YXeR2gFZ6JDTLSLzjWChu32AIA9mdR2M X-Authority-Analysis: v=2.4 cv=ENILElZC c=1 sm=1 tr=0 ts=6960be8f cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=VW4z5CC6hlf1mp1b6PkA:9 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: YXeR2gFZ6JDTLSLzjWChu32AIA9mdR2M X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-09_02,2026-01-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 suspectscore=0 phishscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601090060 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang During DPU runtime suspend, calling dev_pm_opp_set_rate(dev, 0) drops the MMCX rail to MIN_SVS while the core clock frequency remains at its original (highest) rate. When runtime resume re-enables the clock, this may result in a mismatch between the rail voltage and the clock rate. For example, in the DPU bind path, the sequence could be: cpu0: dev_sync_state -> rpmhpd_sync_state cpu1: dpu_kms_hw_init timeline 0 ------------------------------------------------> t After rpmhpd_sync_state, the voltage performance is no longer guaranteed to stay at the highest level. During dpu_kms_hw_init, calling dev_pm_opp_set_rate(dev, 0) drops the voltage, causing the MMCX rail to fall to MIN_SVS while the core clock is still at its maximum frequency. When the power is re-enabled, only the clock is enabled, leading to a situation where the MMCX rail is at MIN_SVS but the core clock is at its highest rate. In this state, the rail cannot sustain the clock rate, which may cause instability or system crash. Fix this by setting the corresponding OPP corner during both power-on and power-off sequences to ensure proper alignment of rail voltage and clock frequency. Fixes: b0530eb11913 ("drm/msm/dpu: Use OPP API to set clk/perf state") Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 16 ++++++++++++---- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 3 +++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/= disp/dpu1/dpu_kms.c index 0623f1dbed97..c31488335f2b 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -1306,9 +1306,14 @@ static int dpu_kms_init(struct drm_device *ddev) struct dpu_kms *dpu_kms =3D to_dpu_kms(priv->kms); struct dev_pm_opp *opp; int ret =3D 0; - unsigned long max_freq =3D ULONG_MAX; + dpu_kms->max_freq =3D ULONG_MAX; + dpu_kms->min_freq =3D 0; =20 - opp =3D dev_pm_opp_find_freq_floor(dev, &max_freq); + opp =3D dev_pm_opp_find_freq_floor(dev, &dpu_kms->max_freq); + if (!IS_ERR(opp)) + dev_pm_opp_put(opp); + + opp =3D dev_pm_opp_find_freq_ceil(dev, &dpu_kms->min_freq); if (!IS_ERR(opp)) dev_pm_opp_put(opp); =20 @@ -1461,8 +1466,8 @@ static int __maybe_unused dpu_runtime_suspend(struct = device *dev) struct msm_drm_private *priv =3D platform_get_drvdata(pdev); struct dpu_kms *dpu_kms =3D to_dpu_kms(priv->kms); =20 - /* Drop the performance state vote */ - dev_pm_opp_set_rate(dev, 0); + /* adjust the performance state vote to low performance state */ + dev_pm_opp_set_rate(dev, dpu_kms->min_freq); clk_bulk_disable_unprepare(dpu_kms->num_clocks, dpu_kms->clocks); =20 for (i =3D 0; i < dpu_kms->num_paths; i++) @@ -1481,6 +1486,9 @@ static int __maybe_unused dpu_runtime_resume(struct d= evice *dev) struct drm_device *ddev; =20 ddev =3D dpu_kms->dev; + /* adjust the performance state vote to high performance state */ + if (dpu_kms->max_freq !=3D ULONG_MAX) + dev_pm_opp_set_rate(dev, dpu_kms->max_freq); =20 rc =3D clk_bulk_prepare_enable(dpu_kms->num_clocks, dpu_kms->clocks); if (rc) { diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/= disp/dpu1/dpu_kms.h index 993cf512f8c5..8d2595d8a5f6 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h @@ -92,6 +92,9 @@ struct dpu_kms { struct clk_bulk_data *clocks; size_t num_clocks; =20 + unsigned long max_freq; + unsigned long min_freq; + /* reference count bandwidth requests, so we know when we can * release bandwidth. Each atomic update increments, and frame- * done event decrements. Additionally, for video mode, the --=20 2.34.1 From nobody Sun Feb 8 19:35:27 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A20C7350A2D for ; Fri, 9 Jan 2026 08:38:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947932; cv=none; b=PQ39w83CZV0KlU8PcWl51lJ0IjSTLs3kBpO14aAqpVy013YB9wikqozohKQUil8L0NgTaPUnFJDTVddHAiNFom9slNgEcX+ioURhLSA4ocH1apFxjA+/oQycpD9uWNROGpnLsOLp5XSxH8ciXfWS9XHmVXEs42ZGidSWSPjJ2sA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947932; c=relaxed/simple; bh=AlwEGpLdK7auGmVqLFJlRQmtzFlDf0nVEYzhNeAjjfA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=W06/ZRJefvCK1fIv3ZhA/sozTUG6R55BrXeUv2wHlve5nw8tS/u8V3i4fWEzobndB2gjlJMRjmyrwvU4/b8CeN/Rwj9tzLeKq5dfitOEwpjcUtkieZG6j+gCEjvUyWVwsn9Lms98aDKhpuOFUvuCp8dnvIAremZQIHJQKCnEsLU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=MlEfH4X0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QOR4FhI2; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="MlEfH4X0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QOR4FhI2" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60952l583542271 for ; Fri, 9 Jan 2026 08:38:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=p2iydELEX89 MeFSjotNCh5W/60kH6MpBL7MbZgsYBPg=; b=MlEfH4X0Oqkd9+WWa/b+2PkZb56 xVTfEE2K1gl4jQoaJSkkbU1rOf/NPr2jdznoWZz+2mDPvojqO7gAhqoivcii+8QI xQ024+XRFXOqrE6eYDBJcy4PQWUvqJWe2rN7icrtRCl+yj+f5emvo9RBYeDiXnwL JsoFGCz7VDRtw6AaIK2rFQIeYla2MyeIxg6Hzs4AYaEgT0JehoRBteB8W9slV575 f8iRbqEC5SiYxenrcaZTkz4DkRlaDC0zFMMreysBknW9Vp8h7vqv67+c/BkcJq6p VXGuubYHaSDeDHquy1qznb+7QtpI8j64wWIgFkTNja92l3bXWbz9y3Q3pGA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bju6b0juj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 09 Jan 2026 08:38:45 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8ba026720eeso1050834985a.1 for ; Fri, 09 Jan 2026 00:38:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767947924; x=1768552724; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=p2iydELEX89MeFSjotNCh5W/60kH6MpBL7MbZgsYBPg=; b=QOR4FhI2e2IbxPHIZ7gsCij8jjK0CHhHKf9BAWWDLVKxeXSH4YAKqV2XBQPF/I5Nf1 diAJRHmvU4izdwD8KQXQSZN/0J1Hn/e2wQC2Zvnm/VswNmuVrp2qCHT4nONRGvsknvMp Hv3/kFLwzwLfm736ob6vJ1m8I/tH85xCRpoBaYFys0VKzJ+ysNKbSqCPOY+PmIknyWJT HgiR4VJzbfoITLt+tsuH3jWqeb0Z3993SDyLnYwWA494uXwPEOio64mLilvDJxw3lvDR ujAAe2MgzqhrmiilSKnMBsCju/2WTUweLHUg/ZgIwNDFrMenWs28mPuV3KLPlt4vrKEA M27w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767947924; x=1768552724; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=p2iydELEX89MeFSjotNCh5W/60kH6MpBL7MbZgsYBPg=; b=MOY2vMasDYl71iFqd3AxlwrVrzq4rJX2wUnkRbleyAFnBduvrS9Ck6xB9F2qVLUiRX OfVBSX+efSoE3kE0ufdjX62h2fKEI3mbEytUpDhuVTNFuvldXUevAg4XGFmkDJ47fRkq 4PHMUS0412syocXvC0vpHEOSuWzNDFDLhaPPA9rUy48VZ4sEOMkk0XdCrOXToz4yd7I0 XxpSnOYFGvFDJvVYztZVi0UzrLOBkwEhYHJ4qHj98h84m57GecOLnGrdDyO4aegMohGA iIFZehOjwcgwWh1I0+5+bByfc4kXqqqeceAfvhe4QTPAZN1Hes1rqslBXGB+uHUAVjV4 MtGg== X-Forwarded-Encrypted: i=1; AJvYcCX0wEh8A7pN5h+l1RcWcWTYo+Gr4qte8e7THo8vR+IuXFgpbu+ZoX8iFZoNY9muHcUNDbVpIPYxxXNsh9Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6X+8sPLFaIKQbWVRp8c10zMBpCXkJtTiPNiV2QHHXzAsjc9HH c1BCijQ0sQStZ8q3WuR4wzx+Jt44Pz+L64pyLnm4OO1J6i/SCEHADHp7EXdk+GNccl5ca80dnop ya87vWKWztvlpe+NOCYFG2sifeo/UzuKav8h1h6psyLa/lT5wWtD6k5AXS44/G2kHzdA= X-Gm-Gg: AY/fxX6+5kcwAT8hHz3nxJ/Uwpzi5iRmHefToi6WrpLVOT+uZnAo7wlNgEPF2/gSp7f l54JZPfU+8sg1+scGihRXmIL7riMz/aV4MR1G68oPqJmFw49r4EVhN1m9/tKqIVCnFrYVQcmNYv UvB0HiOVTR2KTrSYa3fW9g5UL5dgRBXKWf2mpfPcsaoDT3lne1eAlqueVjO+OesEn3VARQVnqsy lwSgYJ1q3P0054BRAYqguAYoN7/SGwZxvnnsfyeyBkwLbDnkOEk4nnbAkZrWFZ4VfXtHZZHP0uf TTYnig92YjqBYBaQ8FuipahyQCzTKvWf7oYC3kfw+yM7lGM+wPumQjy1E0ezEHyM2RpcicIMtd1 ozkmnYqvziWYu8Wn5S5z7CfiYK4uIcrRTzmJHNa9/p2zyZ5NCadA3/FNLL7gWjM7/Uns= X-Received: by 2002:a05:620a:2a15:b0:8b3:36d5:7544 with SMTP id af79cd13be357-8c3894203f9mr1062565685a.82.1767947924416; Fri, 09 Jan 2026 00:38:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IH9rYzZuiEjS050fTw4qdxmLAcU8rZYTKxOswGCOeUlxovtPH3VDw92USgjLqt0puAdgHj05A== X-Received: by 2002:a05:620a:2a15:b0:8b3:36d5:7544 with SMTP id af79cd13be357-8c3894203f9mr1062564185a.82.1767947923974; Fri, 09 Jan 2026 00:38:43 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8c37f530c35sm771262185a.40.2026.01.09.00.38.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 00:38:43 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, abhinav.kumar@linux.dev, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, krzysztof.kozlowski@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com Subject: [PATCH 2/2] drm/msm/dpu: use max_freq replace max_core_clk_rate Date: Fri, 9 Jan 2026 16:38:08 +0800 Message-Id: <20260109083808.1047-3-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260109083808.1047-1-yuanjie.yang@oss.qualcomm.com> References: <20260109083808.1047-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA5MDA2MCBTYWx0ZWRfX5d5Oeh4dzDO2 9LGXSrhLLRH5dbMDLzqqv8vrXeF3W5085Tsv4uJJk6iFn6YI5rnb7NO6JpJWllA/h1f0EIJK6uX Sw+lvoHEPgj7X/fdDscHEFGSUi6zyPHiDXgw8vQqm/6RTlYjWQO+u1hxQmzuJsO2hxzrjNIcCMY 6sqI5we/EuA6xuigbxnmg/PKMti/H6KINfr22a1zaR5PiqyTn7J2PnOiBwOqtaDgH3vyU2D/u3e xnNZeOKu+SSQL7Prl080U1mFf+sFs4NWmG8kRvrSC8yjNbkNgDyN++k8tNd5iCA8/AS+FeoD55m 3INaLEyXo+M0zkF4/tyEKkE65JsZ8xDLWg4kP99+Sx9bJ0Ei5w268N8LkF6pt9qIH4kpUBNssOT YWvb/gw3iaSwcXKk198q1Omu1IxbWD2ppe9OPF+J/Jzbkl4wAIobydsu1FcapC8QcwwFGw3ztst 5/aZVM90JI+1i7uliBQ== X-Proofpoint-ORIG-GUID: U2udvZOU5Kc3fQ_s-GO2Uq9rGwnT1LWu X-Authority-Analysis: v=2.4 cv=V+5wEOni c=1 sm=1 tr=0 ts=6960be95 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=qtVmDkmmVSxoQgGSxMgA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: U2udvZOU5Kc3fQ_s-GO2Uq9rGwnT1LWu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-09_02,2026-01-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 clxscore=1015 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601090060 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Enable power will use max_freq to set opp, so remove redundant opp setting, and use max_freq to replace max_core_clk_rate. Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/= disp/dpu1/dpu_kms.c index c31488335f2b..973fec1c328c 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -1233,9 +1233,9 @@ static int dpu_kms_hw_init(struct msm_kms *kms) dpu_kms->hw_vbif[vbif->id] =3D hw; } =20 - /* TODO: use the same max_freq as in dpu_kms_hw_init */ - max_core_clk_rate =3D dpu_kms_get_clk_rate(dpu_kms, "core"); - if (!max_core_clk_rate) { + if (dpu_kms->max_freq !=3D ULONG_MAX) { + max_core_clk_rate =3D dpu_kms->max_freq; + } else { DPU_DEBUG("max core clk rate not determined, using default\n"); max_core_clk_rate =3D DPU_PERF_DEFAULT_MAX_CORE_CLK_RATE; } @@ -1317,8 +1317,6 @@ static int dpu_kms_init(struct drm_device *ddev) if (!IS_ERR(opp)) dev_pm_opp_put(opp); =20 - dev_pm_opp_set_rate(dev, max_freq); - ret =3D msm_kms_init(&dpu_kms->base, &kms_funcs); if (ret) { DPU_ERROR("failed to init kms, ret=3D%d\n", ret); --=20 2.34.1