Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp4660916img; Tue, 26 Mar 2019 14:04:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqz2pHJGKxbaOt+ASBs311L2U7kJ7UM1fb2GlDLnLpU+9GQM4QOu/nDMQjhXtv/wfLX4Qgr+ X-Received: by 2002:a62:6444:: with SMTP id y65mr23682030pfb.56.1553634275179; Tue, 26 Mar 2019 14:04:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553634275; cv=none; d=google.com; s=arc-20160816; b=Y9fPoC9FRFr50AIT4yYQ/SYCm/cVpQTMbMf2e/iHcPtrvXVNhVJsFujfArdw54zuIY eLs3+lFUwJ7iCz6NubnIJwT0iGTJCC8mb9swFW3MT6Q5SOB47D83pfrxBFFIxTAHLaWr yiPyiw7rCaAczX3rPt4xJzEEji5QUiBUCa7mz52FbmsJXha30co4ZWc9TyQIoitKotoT 5hk3eC8BPMKPL4bYh7MaPjV//suyw/AMNC6X0gSSiPVbIR8gUY/3oY4t9+WT4HohQzKF FwI7dwxfKXNFaDXIfxY+c4xxpbMcB2vxeA1GB+/PcGV+aDFtq2rfFU75e6heL9I9k+7Y KT5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=InLpGJcEKWpzsGn+Zz7deMfvZy4/gWb+FehWeoutpnU=; b=iQzW9xQNmMAnj1GIfpQ4BwLkoX2ghsdrzQjft8eTwLgAH30H2feHESLeB5OKnFwzsm V21jBxGYwzNdK0j/oOE+Of3E/i4XKxoaA01o4uOMwqNb2iNDWjWs7mIAKIx0kgpIO1lH qDmYKOy7UnTYrCzCRK4+frrpv0qgNlGL++e2ODB4rY3kMeUW98xpDB0zUXekIsZJhQqJ vlljfo4Vn2ti0+XW/kNJ6OJYgBVqhOZbmCvjFj7aZXbj3hprhj2I4iuIHGxbNblY09Fw WgC81BfdN1HnPBYtr8CZZ+olHm2TjxuoyJrWfN8mDqqFpHtyhWsk4SfsfLwAi1mkUne5 AnJg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j5si1857504pfi.166.2019.03.26.14.04.20; Tue, 26 Mar 2019 14:04:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732800AbfCZVDL (ORCPT + 99 others); Tue, 26 Mar 2019 17:03:11 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:49374 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727997AbfCZVDK (ORCPT ); Tue, 26 Mar 2019 17:03:10 -0400 Received: from p5492e2fc.dip0.t-ipconnect.de ([84.146.226.252] helo=nanos) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1h8tDq-0006HU-RS; Tue, 26 Mar 2019 22:03:03 +0100 Date: Tue, 26 Mar 2019 22:03:02 +0100 (CET) From: Thomas Gleixner To: Ricardo Neri cc: Ingo Molnar , Borislav Petkov , Ashok Raj , Andi Kleen , Peter Zijlstra , "Ravi V. Shankar" , x86@kernel.org, linux-kernel@vger.kernel.org, Ricardo Neri , "H. Peter Anvin" , Tony Luck , Clemens Ladisch , Arnd Bergmann , Philippe Ombredanne , Kate Stewart , "Rafael J. Wysocki" Subject: Re: [RFC PATCH v2 03/14] x86/hpet: Calculate ticks-per-second in a separate function In-Reply-To: <1551283518-18922-4-git-send-email-ricardo.neri-calderon@linux.intel.com> Message-ID: References: <1551283518-18922-1-git-send-email-ricardo.neri-calderon@linux.intel.com> <1551283518-18922-4-git-send-email-ricardo.neri-calderon@linux.intel.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 27 Feb 2019, Ricardo Neri wrote: > int hpet_alloc(struct hpet_data *hdp) > { > u64 cap, mcfg; > @@ -845,7 +868,6 @@ int hpet_alloc(struct hpet_data *hdp) > size_t siz; > struct hpet __iomem *hpet; > static struct hpets *last; > - unsigned long period; > unsigned long long temp; > u32 remainder; > > @@ -881,6 +903,8 @@ int hpet_alloc(struct hpet_data *hdp) > > cap = readq(&hpet->hpet_cap); > > + temp = hpet_get_ticks_per_sec(cap); Just putting stuff to random places does not make the code any better. > ntimer = ((cap & HPET_NUM_TIM_CAP_MASK) >> HPET_NUM_TIM_CAP_SHIFT) + 1; > > if (hpetp->hp_ntimer != ntimer) { > @@ -897,11 +921,6 @@ int hpet_alloc(struct hpet_data *hdp) > > last = hpetp; > > - period = (cap & HPET_COUNTER_CLK_PERIOD_MASK) >> > - HPET_COUNTER_CLK_PERIOD_SHIFT; /* fs, 10^-15 */ > - temp = 1000000000000000uLL; /* 10^15 femtoseconds per second */ > - temp += period >> 1; /* round */ > - do_div(temp, period); > hpetp->hp_tick_freq = temp; /* ticks per second */ What's wrong with the obvious: hpetp->hp_tick_freq = hpet_get_ticks_per_sec(cap); Hmm? Thanks, tglx