From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC4AD36F415 for ; Fri, 3 Jul 2026 20:52:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783111970; cv=none; b=If6ie3en1VGb7lQU1LqaMbN7wlGfV14e/J4YF+zM1E9OFbo0OtcwEcvo0cJMnfJGyqDuA7FExd86Fkz0sJdQRQ7Cx/0FPjTVB6bn2XbRIxSMHMzu2O2+qT4c+5MsdnssQ8Henls4ILVWI1tMr3zzMKtzt2xHBmxDkN95hpsktdE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783111970; c=relaxed/simple; bh=ve2iCvc48gIh6oKHzVFM5RBDggJo0jkLEQ4dRPdJUk8=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=e0s5QxBi6/Mgx3iSJdd/bSMhNJIOCg8DKyWXPTR+cogIdm5k3OXW4v76kz653PIMK3VHXL30SimBhTpgHUKk+zN2kaaU1KyPwo116kA7C76otoi1qAvYE51/YI1enrl993bJDaG5scYoa1N7SIL4LEfyKjsf9+CVPmfE7oP9ADw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=b9kIwGNk; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="b9kIwGNk" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-493c5220cb7so6262395e9.3 for ; Fri, 03 Jul 2026 13:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783111966; x=1783716766; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=iHBixXF0joeUv/ZwlLB2ZHCvM2TQE0OYai8QhyfV/nQ=; b=b9kIwGNk5iXkmcpkpZN9HSweaeehlXg3BWwYxsCyKocjPca5p3M+Y6h59pe0KfM64Y +QWKwQyBRbq0NtUXuxAd3IjGhnp0Sav8E2BLxm6QvsYs1Gzbpe6dgunfMRIAOEyXTBlT zfhlkh4qRc5sqKr62Ac0n6j4EjJStELYDc+VQ93UQdJdMjPkR1BJKwAtFkh/0L8OkCt0 Io/PJ19I/ZLGs5+uoQnjHn9cR8ISg97m77MTfFBpWOTb2wRI+HdztSXbyYfaPa1uLWia YlKtB3X9c1IYVNvgL8rr9QelVwQkANsfakpNhyuosQ53mG1E0MqdSuGBCWOUDZ5kzJQm FgYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783111966; x=1783716766; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=iHBixXF0joeUv/ZwlLB2ZHCvM2TQE0OYai8QhyfV/nQ=; b=dg9TFwN2PGVvLHcTJXjA3dqtG6rr1kza2tlap+Z6PDpwO0H+zzCuVaKRSyD9wTB6+0 XKqk/Y9tbJ4N6y2RNSQiUGKpmE/E1+YqxUm3UJjaFf3RhOYidmAXkO8802C6EVnCfMVB Url2yU2CMY1K/tS58VAYYE0h91a4sAx+y4cpd5MB74AigaA6dB0CDOyMnV7ME80eT7cW d5pFfXWabCNNqGrKlFScr1pKywwrlW/mAj7cCuzJZh7TupieZwfU5AL7ueE3rHhyaUGs M5S9/ZaNcmaJ4dY9ZoCyiRaswJRsZHciCjQX5FavKIjpRg1UXFJbHBTG271/D7AdFJ+u r+Kw== X-Forwarded-Encrypted: i=1; AFNElJ+HYYFW3bbOmW3BCaS3ly6zrmu4zJou9rkyDLyygB2IvAwZ5Ie+4+0wTh1M/rFzOaVmU3rVSO0JJcM2XIY=@vger.kernel.org X-Gm-Message-State: AOJu0YxEr1a4iSFUFCVsY8isTVQ9Qnc9jWv2MiQq7dwwHPcCrY1PM9hL 1iCNqhNAdicJAZVWEmlbnbtZ0XwAkdrHCvhb+R4AbmRG8zMy0F5Fkc30 X-Gm-Gg: AfdE7cnktvcHzT/X5S0M4ZuhME3pa1/9IH6FNj7I4fSCz3JimJLHKlquyghhmQ1iD0N ohVxbSPjikVtp1/A3KlqKUsCBDhQ2Xavj3mLwdruOFKj9YOhIGz9yiZ9nuL5MFTBDGYRZsFa/Rl enAOmQRqQ1KchGc75AhioN1CD0AToEf5KaeQgbB17php3A50+uTLc+pwyA3bmMphY6I/qhg6kc7 rnGDHLltH2lNeyOYvvBHBB5yUaQOr+2BUgPQ3Ifx44kvZKjlMHAO+bKxMGahMHtC76+SIj7c94y 8EkLHUNu0OcYyncwsZP8bBvBJ+ppreVekusDvVTqJRQfzoMbN9wJfosFK6NzL/Mzol4rvcRQ7kq r/cPYwvRhbjYrn636p3YzvrI8Zv7AFvJmaJyFFnIV/G0A5TT6SBm4IU9KYKDJTqDE7QO7EhKABK xHWiM41E1mqh/yu+A42o73X5HMNygt+MOpSlW58QxQ8qknpvm6wE/8oSTC X-Received: by 2002:a05:600c:4e13:b0:493:b729:3a9 with SMTP id 5b1f17b1804b1-493d11f577amr8863935e9.27.1783111965965; Fri, 03 Jul 2026 13:52:45 -0700 (PDT) Received: from pumpkin (host-92-21-50-228.as13285.net. [92.21.50.228]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493bef183e7sm259988995e9.2.2026.07.03.13.52.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jul 2026 13:52:45 -0700 (PDT) Date: Fri, 3 Jul 2026 21:52:44 +0100 From: David Laight To: Sasha Finkelstein Cc: Sven Peter , Janne Grunau , Neal Gompa , "Rafael J. Wysocki" , Viresh Kumar , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] cpufreq: apple-soc: Calculate frequency as a 64-bit value Message-ID: <20260703215244.437ec9ac@pumpkin> In-Reply-To: <20260703-cpufreq-64-v1-1-c406c705319a@chaosmail.tech> References: <20260703-cpufreq-64-v1-1-c406c705319a@chaosmail.tech> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Fri, 03 Jul 2026 20:52:48 +0200 Sasha Finkelstein wrote: > The current frequency calculation is done in 32 bit, causing problems > if run on a future SoC that can boost higher than 4.2GHz. If it matters you need to fix it for 32bit builds as well. It is pretty much really wrong to use 'unsigned long' for frequencies. IMHO the should either be 32bit or 64bit. David > > Signed-off-by: Sasha Finkelstein > --- > drivers/cpufreq/apple-soc-cpufreq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/apple-soc-cpufreq.c b/drivers/cpufreq/apple-soc-cpufreq.c > index 638e5bf72185..6a0f1d36578f 100644 > --- a/drivers/cpufreq/apple-soc-cpufreq.c > +++ b/drivers/cpufreq/apple-soc-cpufreq.c > @@ -288,7 +288,7 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy *policy) > > /* Get OPP levels (p-state indexes) and stash them in driver_data */ > for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { > - unsigned long rate = freq_table[i].frequency * 1000 + 999; > + unsigned long rate = freq_table[i].frequency * 1000UL + 999UL; > struct dev_pm_opp *opp = dev_pm_opp_find_freq_floor(cpu_dev, &rate); > > if (IS_ERR(opp)) { > > --- > base-commit: 4a50a141f05a8d1737661b19ee22ff8455b94409 > change-id: 20260703-cpufreq-64-2a23d7261e09 > > Best regards, > -- > Sasha Finkelstein > >