From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 5A0DC4204E for ; Mon, 1 Jun 2026 03:28:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780284528; cv=none; b=IuEl31x5+PUNMYwRLw50Of8ndZpGh8GKvVNDt/H8mftkLJxQNBdTYKlqP/lCL4mYvOZHPyqR2cVCCJXRRSuce55lDx0gpfUOERJN1KY4CFSzhn2Gt/2v6Ok9kC0VFyXo0yY3OHfnBq4/NBaLwKQrQ1iZVXENq6s2kjPDawvrJBI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780284528; c=relaxed/simple; bh=hZnL4VxSn7icgx227jNlZRy1iU8u+zalBkbBzu2AsPs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=tSjJXHcSbnWVKw/4JjfTPlqjWY0BQEWXS3QhrwmYL9JFYd0Anl2dgPFyIDzNGkSai/4c0EboTIprJxNPKy8+tVl63zu1tYPxvc4KRcUV+XcwPmVvnS6L52CO30DnhuxZkFymMymWSqlAJcIbcjAJxw+rDdSfun2okdwgq/CK1PE= 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=UV3YOebD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cU1cDpxd; arc=none smtp.client-ip=205.220.168.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="UV3YOebD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cU1cDpxd" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6511Gjc0772872 for ; Mon, 1 Jun 2026 03:28:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= o8tNCF22n0udrnNvEkj+Ccc/X/fa2rRSpUkqcQWhck8=; b=UV3YOebD/PnRyejK 3KlEMJqcH76A4IRHQShWZP4JmuCQ8iPaK9q5anMTS7Xmg0fT+3tEbzdJ6rrobDHk SNFLH7bX+d8IOYpPxcAXBXz/x1NPZVS1Wy9GKaTluUfJvlESTR2cKjQWubvSK4+R Qn17/dvRY/ix5WAmS/pBflPtYcGGuLV5Hr7u9X/o/ftL0NKCVoPZdCIAqOobzlp3 gzehIeZ1536BTICQLFYtdC8liqxdl+2Ko6ulSUWvsns4NmFHS8shToIVbKnFre8Q OFh/v0UA2vzA/P5p0VksjDdDaSBTJPGkP7Me0jJmuzbgPvOZM54LzZqZCuwLPq9T apVrug== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4efxy7vqbp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 01 Jun 2026 03:28:46 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c854c4b740cso3199157a12.1 for ; Sun, 31 May 2026 20:28:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780284526; x=1780889326; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=o8tNCF22n0udrnNvEkj+Ccc/X/fa2rRSpUkqcQWhck8=; b=cU1cDpxddzkKz+ZQ6FZj1gChJCSEzTvgRSavr7l2fGL/4moiXBxfW3P11hyIM/PB2U YEvgs7h9TjB/dSv0Gm1ggRUujWzD5AMd6TEi3w9uP8HbfFIxumVuhYPWACadoM6Cw7t4 DkbXtxurexgIZx16eWB9nyr29xd39E0pnApQ6PqYM/RUPhWwGowjTHgCdbxgaOqoTsnY W/cEklZYmUNdEzk7x29gLrGSdFQOvU88J9aGPu8w+Z6OepHul58jRn0a9IFRvKNNdunV GGgwrT0Pr0IUyyLFzNxAjxwa2n2TkWt6HHu6DMUXp4nu7o6CuRuU/VihUhL+8V8n5RLm 5mwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780284526; x=1780889326; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=o8tNCF22n0udrnNvEkj+Ccc/X/fa2rRSpUkqcQWhck8=; b=FHYb0H/LDdPhS5WeKIOPELA/QyZoUJbkVqpD3sER88GxxPiyvTf2jPtDLaufCiR2on WKIAYfCLLuHc1vYow6BCkEWdtiGhj66tb6zR/lmUgAsSAHO/eZq5tbAQ+d+hAx3scVfz dNphMNxUNkzn9WrrBJ3qvPGr1EwE9Ii1+3Ouk88BxCKVYSkigdYMvNh2lm8ToUltwd4D a0TvZmfkRxUWSiJvJXgRHpzlWhZM5rRQNiqhwSds17GOkSArNnnkwIe4cE/DGQToFGwG A4gAzql535Cy+L+T3hbJg5RjwL72TH9n6eSUPqXLGxKT2UF23tDtVjBL+hfNjOu/KqiK OZlA== X-Forwarded-Encrypted: i=1; AFNElJ/1Een9XNkCwZWlKUam+cxxEb8/Qhp6z/omo92ObbQu2Fa3ft88zHGOsDnansEFTfoP8UAtm0j89kPHnvk=@vger.kernel.org X-Gm-Message-State: AOJu0YzoAyIJVXq3GyZn28go9hw5TU7UJUM2V3aAHm9HQZS7n+cnDYEb jeoGBEyxrt6TraQj6UVgLIysiXIbsst5VeBiOXd2fumZCmTimru0FI5ZUey8sbuGUlU9GpzPsZD LDkHs6m2JgEZ/AXzbFfiWYWenqzpwCN+A5yrjD45ZG/Bp2Y2is+RryxWMPWmhprRUt10= X-Gm-Gg: Acq92OHGop8hDz3UlemlmyZSogLILNMtb4B8viB5KAwquS2CtQ6pcO+LWZ1jADHJ405 xwaOAHIOjrsG9WaxqBI0M+LqPViamxNEkUAdsoFkP6KAc1B88sIGXUclOh0mP/AMiREA18ikdlo b2yJwypIU6cRiPdujejNcz60wSjPggckUs0p5jWs14/Mt1ILaWZDFEVPKIjZMlKY261CVrMCE/I c1rICgUtp4/Njme+kTH7oVTFnulGXVzbJMi/dbylPNwMNmFeiDKiMJ6+VT+LqQruN8g7/ctC30f Xbm3WNw6KSADMCCABzk30VvfIvKlFRF+DGHgG9O1Ogc03RWWXm7wYJpkvR1UnYlG8YrklyIdai5 g4VwFbsK7Quu59+744MfiQ6eZja9AwCxzLHCo8nTR/B615qFFKeHFhfEe4NarZCUkA0P+lpSYrp 0DsDbmukOm5YtP8iUM/nWkdtKz5bw= X-Received: by 2002:a05:6300:614a:b0:3b4:65ad:b417 with SMTP id adf61e73a8af0-3b465add073mr918052637.45.1780284525950; Sun, 31 May 2026 20:28:45 -0700 (PDT) X-Received: by 2002:a05:6300:614a:b0:3b4:65ad:b417 with SMTP id adf61e73a8af0-3b465add073mr917999637.45.1780284525348; Sun, 31 May 2026 20:28:45 -0700 (PDT) Received: from [10.133.33.90] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c859391cbfbsm4775417a12.17.2026.05.31.20.28.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 31 May 2026 20:28:44 -0700 (PDT) Message-ID: Date: Mon, 1 Jun 2026 11:28:40 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 1/1] cpufreq: ti: Add EPROBE_DEFER for K3 SoCs To: Akashdeep Kaur , praneeth@ti.com, nm@ti.com, vigneshr@ti.com, rafael@kernel.org, viresh.kumar@linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: vishalm@ti.com, sebin.francis@ti.com, k-willis@ti.com, zhongqiu.han@oss.qualcomm.com References: <20260528090510.829513-1-a-kaur@ti.com> <20260528090510.829513-2-a-kaur@ti.com> Content-Language: en-US From: Zhongqiu Han In-Reply-To: <20260528090510.829513-2-a-kaur@ti.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Authority-Analysis: v=2.4 cv=POg/P/qC c=1 sm=1 tr=0 ts=6a1cfc6e cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=sozttTNsAAAA:8 a=Xztgq_OtPhCiGFyKZ7wA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAxMDAzMiBTYWx0ZWRfX7Tn0qeO9vvTC rWvtJRxyc5aB1TKmqeDLgcipRt3DUloLrLuGMLnAXCuxzhB+hGP7GFiNnHmfXrDRW/qnXwxRSA5 nMKq7048PrDN83Ls2YXPexKxWUO7izU5Ic4jVy1WxNNhrszXuknv6PjgrC/7RgHa4Zx0ucH3Rlk lq4DBRR/ucIfabgCWWMdUMeg8WQ0S2VR4xvCnxr45ySbBgxf50zSJCLO7cvjX4sezgAIEem+G1u xLTnut724SKdMGXe+IVYVF5GdQjG7qDPLc8uiEPPd1bZp53hZhx7zTO8GIcvrMUDgOR3ainZu/x YQpMKAIcg+35IkutrBb7EwQMmLeVmxrtmcH+x2dNj32bGiBb0L+OZDa6wQg3S8FCCVnsy2oq5SS PF/nCIpUEkIXQtAsQkr8tBBL+tsNw+zTe0wq5Yfkl8H9Zzq9rP5EcZsG68bPvwrm+kzq0p+GAJH qT+WSaiMePCAzd9EORA== X-Proofpoint-ORIG-GUID: afo_T4zKiS1lIlBlPPY8yAWkpWZZz7YK X-Proofpoint-GUID: afo_T4zKiS1lIlBlPPY8yAWkpWZZz7YK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-01_01,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 spamscore=0 impostorscore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606010032 On 5/28/2026 5:05 PM, Akashdeep Kaur wrote: > On K3 SoCs, ti-cpufreq relies on k3-socinfo to register the SoC > device before soc_device_match() can return valid revision > information. If ti-cpufreq probes before k3-socinfo, > soc_device_match() returns NULL, leading to incorrect CPU frequency > scaling behavior. > Defer probe when k3-socinfo hasn't registered the SoC device yet. Hi Akashdeep, Thanks for the update. > > Signed-off-by: Akashdeep Kaur > --- > drivers/cpufreq/ti-cpufreq.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/cpufreq/ti-cpufreq.c b/drivers/cpufreq/ti-cpufreq.c > index a01abc1622eb..8219751da175 100644 > --- a/drivers/cpufreq/ti-cpufreq.c > +++ b/drivers/cpufreq/ti-cpufreq.c > @@ -99,6 +99,7 @@ struct ti_cpufreq_soc_data { > unsigned long efuse_shift; > unsigned long rev_offset; > bool multi_regulator; > + bool needs_k3_socinfo; > /* Backward compatibility hack: Might have missing syscon */ > #define TI_QUIRK_SYSCON_MAY_BE_MISSING 0x1 > /* Backward compatibility hack: new syscon size is 1 register wide */ > @@ -347,6 +348,7 @@ static struct ti_cpufreq_soc_data am625_soc_data = { > .efuse_mask = 0x07c0, > .efuse_shift = 0x6, > .multi_regulator = false, > + .needs_k3_socinfo = true, > .quirks = TI_QUIRK_SYSCON_IS_SINGLE_REG, > }; > > @@ -356,6 +358,7 @@ static struct ti_cpufreq_soc_data am62a7_soc_data = { > .efuse_mask = 0x07c0, > .efuse_shift = 0x6, > .multi_regulator = false, > + .needs_k3_socinfo = true, > }; > > static struct ti_cpufreq_soc_data am62l3_soc_data = { > @@ -364,6 +367,7 @@ static struct ti_cpufreq_soc_data am62l3_soc_data = { > .efuse_mask = 0x07c0, > .efuse_shift = 0x6, > .multi_regulator = false, > + .needs_k3_socinfo = true, > }; > > static struct ti_cpufreq_soc_data am62p5_soc_data = { > @@ -372,6 +376,7 @@ static struct ti_cpufreq_soc_data am62p5_soc_data = { > .efuse_mask = 0x07c0, > .efuse_shift = 0x6, > .multi_regulator = false, > + .needs_k3_socinfo = true, It seems that `ti_cpufreq_soc_data` is a hardware description–only structure. After further consideration, may I know would it be reasonable to consider using of_machine_get_match() instead, for example: static const struct of_device_id ti_k3_cpufreq_of_match[] = { { .compatible = "ti,am625" }, { .compatible = "ti,am62xx" }, ...... {} }; if (soc_device_match(k3_cpufreq_soc)) { *revision_value = 0x1; goto done; } else if (of_machine_get_match(ti_k3_of_match)) { return dev_err_probe(xxx); } Just a thought — you might want to consider this if it makes sense. Sorry for not pointing this out earlier, I may have missed it before. > }; > > /** > @@ -443,6 +448,12 @@ static int ti_cpufreq_get_rev(struct ti_cpufreq_data *opp_data, > goto done; > } > > + /* Defer if k3-socinfo hasn't registered the SoC device yet */ > + if (opp_data->soc_data->needs_k3_socinfo) { > + dev_dbg(opp_data->cpu_dev, > + "SoC info not ready yet, deferring probe\n"); > + return -EPROBE_DEFER; It would be better to use dev_err_probe() here and return the original error, instead of using dev_dbg() with -EPROBE_DEFER. Also, the message "SoC info not ready yet" seems a bit too generic and not very descriptive. Which SoC is this referring to? > + } > + > ret = regmap_read(opp_data->syscon, opp_data->soc_data->rev_offset, > &revision); > if (opp_data->soc_data->quirks & TI_QUIRK_SYSCON_MAY_BE_MISSING && ret == -EIO) { -- Thx and BRs, Zhongqiu Han