From patchwork Mon Dec 7 19:08:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 339175 Delivered-To: patch@linaro.org Received: by 2002:a02:85a7:0:0:0:0:0 with SMTP id d36csp3066324jai; Mon, 7 Dec 2020 11:10:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJzsH0aGPTInJi06ReuF0ZiZMbBzqnntpHD+He75zQQwG2bQg3vZ3aySs57Kpk+eeLs3K6Qw X-Received: by 2002:a17:906:e082:: with SMTP id gh2mr19363502ejb.406.1607368236458; Mon, 07 Dec 2020 11:10:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607368236; cv=none; d=google.com; s=arc-20160816; b=EquayFyj6/ESuHFFI9Sn3jBWgjk84KiR/UYEuBJETApoI7SEI5XkM1Y1bZSlJvQAEX WQizscMfUs+9GeRJpRH77e4OXp4wa90Z5Q0kdzS//02iDKx1n2wR8RgetoXVGI6s4jNp 5W7Gt+nuWNDAdtZSL+crpow49YiDdBP6aDPLWfOmF1hZ5SctZ4pwHGt8MaphsD8QJ9m2 DrELXeRgWsLSpYSag+JQJ1BTPMEwbE2IupUMIEVDq+8UPKEhap7FS6ndc93x2zWovUM4 6xcDDqdRDBPl8B0Sq+NfjI28JJXiVmD/yXabzB/Hrk7qM6eq1c6a3LiChqOPDnhZFiIM gTxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=jLzBGlSW3uUTIEu7vncLkrlWKsGqZuKn9AcbkvV5Usk=; b=tnw/GcnTJpd3DjCdHl6F1GGnWaydSJEl8+5UKzeDErq1xmSMfB7jKlBRjyQDZi+ayp ZVTNdp68r2zddSB+gQEL1FHaHCVQDZnkCcdUX3TbqXEuhoEiRSmUmWwP6FDNPtd3Ign7 A8KLDDx8GHxxRy6hLiPTg5ubDoPc99yfuamnK0+b4Ja/cpkrfGRy2bFVOeKIt2hP/Ila +1M2i1fmqOEctMraxRcdNAugmLYnlUGHFXwqzK4jOiou7fA2XCrqVUjb4ccz2QHl7coU LX2xE/xap/CHEexpAL7ds69N5SfBlPcHVn5cj5UYJ99GZ7pQmLsehaq8qngVjGviGF7X lwyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KUKwbIk9; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h14si6936020ejt.198.2020.12.07.11.10.36; Mon, 07 Dec 2020 11:10:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KUKwbIk9; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726647AbgLGTKC (ORCPT + 8 others); Mon, 7 Dec 2020 14:10:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726190AbgLGTKC (ORCPT ); Mon, 7 Dec 2020 14:10:02 -0500 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43F28C061794 for ; Mon, 7 Dec 2020 11:09:16 -0800 (PST) Received: by mail-wm1-x344.google.com with SMTP id d3so220685wmb.4 for ; Mon, 07 Dec 2020 11:09:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=jLzBGlSW3uUTIEu7vncLkrlWKsGqZuKn9AcbkvV5Usk=; b=KUKwbIk9HYGTBhmuBYLvw5fsabq33U6zbk//YQgkHImTT+LqTI4cXeMgHXWZUhryap vZoA+aS8JzLxTY1oH3rGUcMEZOPkeCOq+B6UewDiYKWJB3/e2/6168Jg0N6H0dt6Wfv6 XcF9hOk6TpBmw3t0BfrjitHcxTxx0alVgPqCq4UNHwebDIHYs4S7FNbpVhBYpvjZCQ63 HMWX2nOASHriSxDlfWSsvmfqJNY4E5Qm3MNvOI+g45xSrlen83M8NYkiUGgDk/v9Kzmm cZ6Er6sMOvjnMk15qpYDo6EYMw9xEAdPxAkgSzZhr7eFELnYIH6K5+49SX/NL2CshCUQ aGDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=jLzBGlSW3uUTIEu7vncLkrlWKsGqZuKn9AcbkvV5Usk=; b=ZTXZvzDPCDrnkPJOE4HYY+k9TaRO6LgSxeALg0/VGisSG9xi02M/x1pqZbizXlhL75 O21BPbivqbCVab0stKsbW9d0d5duiTepUfW067UxVOt5BXiFsKX454i61Bk95LNF6gC2 tr/OFjLOJxuqqh17c7EPDkpNSHovudsNgNCavdgNOc3PWAY3NH8nSPBATkP3j8+eL7In F7kpzjJzFYp9tTGKHNy46Fq5YB14rIoLRh17MeLkBfbGQzXsh5YkK787jrEQ7xITfjVw /6Uj3qYulP1OCPBOlmp3MBFBLbwfj4qxoRzDYMqqDAL46DsUgPx1CvKX0PMlu9uMWXbZ ptog== X-Gm-Message-State: AOAM533560jWgZ+Xy1tpUMB/nZN6dNayjWaOyQZ7wWvd+/T6s0sLX2HC zvCRJYPoIUSXtX5gkCW+6027Nw== X-Received: by 2002:a1c:f00a:: with SMTP id a10mr273464wmb.83.1607368154795; Mon, 07 Dec 2020 11:09:14 -0800 (PST) Received: from localhost.localdomain (lns-bzn-59-82-252-158-132.adsl.proxad.net. [82.252.158.132]) by smtp.gmail.com with ESMTPSA id v1sm16335827wrr.48.2020.12.07.11.09.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Dec 2020 11:09:14 -0800 (PST) From: Daniel Lezcano To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: amitk@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 1/4] thermal/core: Rename passive_delay and polling_delay with units Date: Mon, 7 Dec 2020 20:08:59 +0100 Message-Id: <20201207190902.30464-1-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org The input unit used by the thermal framework is the msec but it uses the jiffies to set the timers. As it is stored in the thermal zone device structure, everytime the timer is setup at each polling interval, the msecs to jiffies conversion happens. The jiffies is the unit the thermal framework is using, so keeping it under the jiffies instead of msecs will save some pointless conversion. Set the scene to directly store the delays under their jiffies form by adding to the variable name the 'ms' suffix. Signed-off-by: Daniel Lezcano --- drivers/platform/x86/acerhdf.c | 2 +- drivers/thermal/da9062-thermal.c | 4 ++-- drivers/thermal/gov_power_allocator.c | 2 +- drivers/thermal/thermal_core.c | 10 +++++----- drivers/thermal/thermal_of.c | 16 ++++++++-------- drivers/thermal/thermal_sysfs.c | 6 +++--- .../thermal/ti-soc-thermal/ti-thermal-common.c | 2 +- include/linux/thermal.h | 8 ++++---- 8 files changed, 25 insertions(+), 25 deletions(-) -- 2.17.1 Reviewed-by: Lukasz Luba diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c index b6aa6e5514f4..7b26f601b407 100644 --- a/drivers/platform/x86/acerhdf.c +++ b/drivers/platform/x86/acerhdf.c @@ -336,7 +336,7 @@ static void acerhdf_check_param(struct thermal_zone_device *thermal) pr_notice("interval changed to: %d\n", interval); if (thermal) - thermal->polling_delay = interval*1000; + thermal->polling_delay_ms = interval*1000; prev_interval = interval; } diff --git a/drivers/thermal/da9062-thermal.c b/drivers/thermal/da9062-thermal.c index 4d74994f160a..ebb3d0b4a5be 100644 --- a/drivers/thermal/da9062-thermal.c +++ b/drivers/thermal/da9062-thermal.c @@ -95,7 +95,7 @@ static void da9062_thermal_poll_on(struct work_struct *work) thermal_zone_device_update(thermal->zone, THERMAL_EVENT_UNSPECIFIED); - delay = msecs_to_jiffies(thermal->zone->passive_delay); + delay = msecs_to_jiffies(thermal->zone->passive_delay_ms); queue_delayed_work(system_freezable_wq, &thermal->work, delay); return; } @@ -245,7 +245,7 @@ static int da9062_thermal_probe(struct platform_device *pdev) dev_dbg(&pdev->dev, "TJUNC temperature polling period set at %d ms\n", - thermal->zone->passive_delay); + thermal->zone->passive_delay_ms); ret = platform_get_irq_byname(pdev, "THERMAL"); if (ret < 0) { diff --git a/drivers/thermal/gov_power_allocator.c b/drivers/thermal/gov_power_allocator.c index 7a4170a0b51f..f7a663f698d4 100644 --- a/drivers/thermal/gov_power_allocator.c +++ b/drivers/thermal/gov_power_allocator.c @@ -258,7 +258,7 @@ static u32 pid_controller(struct thermal_zone_device *tz, * power being applied, slowing down the controller) */ d = mul_frac(tz->tzp->k_d, err - params->prev_err); - d = div_frac(d, tz->passive_delay); + d = div_frac(d, tz->passive_delay_ms); params->prev_err = err; power_range = p + i + d; diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 1bd23ff2247b..5b500d72aab4 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -317,9 +317,9 @@ static void monitor_thermal_zone(struct thermal_zone_device *tz) mutex_lock(&tz->lock); if (!stop && tz->passive) - thermal_zone_device_set_polling(tz, tz->passive_delay); - else if (!stop && tz->polling_delay) - thermal_zone_device_set_polling(tz, tz->polling_delay); + thermal_zone_device_set_polling(tz, tz->passive_delay_ms); + else if (!stop && tz->polling_delay_ms) + thermal_zone_device_set_polling(tz, tz->polling_delay_ms); else thermal_zone_device_set_polling(tz, 0); @@ -1340,8 +1340,8 @@ thermal_zone_device_register(const char *type, int trips, int mask, tz->device.class = &thermal_class; tz->devdata = devdata; tz->trips = trips; - tz->passive_delay = passive_delay; - tz->polling_delay = polling_delay; + tz->passive_delay_ms = passive_delay; + tz->polling_delay_ms = polling_delay; /* sys I/F */ /* Add nodes that are always present via .groups */ diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c index 69ef12f852b7..c01248e48c09 100644 --- a/drivers/thermal/thermal_of.c +++ b/drivers/thermal/thermal_of.c @@ -51,8 +51,8 @@ struct __thermal_bind_params { /** * struct __thermal_zone - internal representation of a thermal zone - * @passive_delay: polling interval while passive cooling is activated - * @polling_delay: zone polling interval + * @passive_delay_ms: polling interval while passive cooling is activated + * @polling_delay_ms: zone polling interval * @slope: slope of the temperature adjustment curve * @offset: offset of the temperature adjustment curve * @ntrips: number of trip points @@ -64,8 +64,8 @@ struct __thermal_bind_params { */ struct __thermal_zone { - int passive_delay; - int polling_delay; + int passive_delay_ms; + int polling_delay_ms; int slope; int offset; @@ -865,14 +865,14 @@ __init *thermal_of_build_thermal_zone(struct device_node *np) pr_err("%pOFn: missing polling-delay-passive property\n", np); goto free_tz; } - tz->passive_delay = prop; + tz->passive_delay_ms = prop; ret = of_property_read_u32(np, "polling-delay", &prop); if (ret < 0) { pr_err("%pOFn: missing polling-delay property\n", np); goto free_tz; } - tz->polling_delay = prop; + tz->polling_delay_ms = prop; /* * REVIST: for now, the thermal framework supports only @@ -1085,8 +1085,8 @@ int __init of_parse_thermal_zones(void) zone = thermal_zone_device_register(child->name, tz->ntrips, mask, tz, ops, tzp, - tz->passive_delay, - tz->polling_delay); + tz->passive_delay_ms, + tz->polling_delay_ms); if (IS_ERR(zone)) { pr_err("Failed to build %pOFn zone %ld\n", child, PTR_ERR(zone)); diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c index 0866e949339b..f465462d8aa1 100644 --- a/drivers/thermal/thermal_sysfs.c +++ b/drivers/thermal/thermal_sysfs.c @@ -233,12 +233,12 @@ passive_store(struct device *dev, struct device_attribute *attr, return -EINVAL; if (state && !tz->forced_passive) { - if (!tz->passive_delay) - tz->passive_delay = 1000; + if (!tz->passive_delay_ms) + tz->passive_delay_ms = 1000; thermal_zone_device_rebind_exception(tz, "Processor", sizeof("Processor")); } else if (!state && tz->forced_passive) { - tz->passive_delay = 0; + tz->passive_delay_ms = 0; thermal_zone_device_unbind_exception(tz, "Processor", sizeof("Processor")); } diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c index 2ce4b19f312a..4baff19e1142 100644 --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c @@ -185,7 +185,7 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, ti_bandgap_set_sensor_data(bgp, id, data); ti_bandgap_write_update_interval(bgp, data->sensor_id, - data->ti_thermal->polling_delay); + data->ti_thermal->polling_delay_ms); return 0; } diff --git a/include/linux/thermal.h b/include/linux/thermal.h index d07ea27e72a9..230d451bf335 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -116,9 +116,9 @@ struct thermal_cooling_device { * @devdata: private pointer for device private data * @trips: number of trip points the thermal zone supports * @trips_disabled; bitmap for disabled trips - * @passive_delay: number of milliseconds to wait between polls when + * @passive_delay_ms: number of milliseconds to wait between polls when * performing passive cooling. - * @polling_delay: number of milliseconds to wait between polls when + * @polling_delay_ms: number of milliseconds to wait between polls when * checking whether trip points have been crossed (0 for * interrupt driven systems) * @temperature: current temperature. This is only for core code, @@ -159,8 +159,8 @@ struct thermal_zone_device { void *devdata; int trips; unsigned long trips_disabled; /* bitmap for disabled trips */ - int passive_delay; - int polling_delay; + int passive_delay_ms; + int polling_delay_ms; int temperature; int last_temperature; int emul_temperature; From patchwork Mon Dec 7 19:09:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 339176 Delivered-To: patch@linaro.org Received: by 2002:a02:85a7:0:0:0:0:0 with SMTP id d36csp3066329jai; Mon, 7 Dec 2020 11:10:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJwdKdWCPSHCA25OfUiaEhh+Ivv4XNhHDS3nNbBOnf32AjjJ4p1wEkcJ749jRVMrvFzjvq4B X-Received: by 2002:a17:906:a51:: with SMTP id x17mr20395540ejf.97.1607368237309; Mon, 07 Dec 2020 11:10:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607368237; cv=none; d=google.com; s=arc-20160816; b=vRJNMxDr/mVSRfC4uf4NGU0DGSq0Png9duZq0tXW+7yLO+9YelKqibetfvWO+lA0kj 5Ur2JBEOEm173YHgL+uzH6nih+IqfAR0sScY4aBClpQz3uC1GVp4eoIixYf0+YoSmlGm di9AVlgio7GKYgRmcEN7sp0d6CAHJQMMEXJ7QHUpG4jp8Z6z8fhrittOqXvbvoPjVSJ8 ycZ77ZUrNqoG9M6+tPJ4fBwNfUKvqb/VQoSGsBzIkdYPqF86eTibNSaRQ2KzeNnms31b m3M02FFuuuI8N3s/e29H11ICzV4fw2HBc6C37Zu1b4h7amumRwAxEu3WH0UsXVbuyoPb mzTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=LwCnH4NJfHp5ZykyBVx/tUGuZ/xxrEB0midiN+uyBnQ=; b=Y6INxHyxkj9vOSw9zrJ8eguetaSzcQHI/dFAqKpmQNSpAypbXlm51TZ1Icwwj0EF3c XE21AJnQCdXmRIxn+Joje9RsbmGLLqw00JSqcovQgd1wYLqRBRRkNpsu07Wo9Af58lyv 29oDGQrL+b/G7pa+4eeZp1ZJsmOskJ3FCv7/mNSCeFCX8Gw9XVbLdrnqcQz1GlhGXvvN 8oxkdwu8jznGzUPeBqR0sue4cudOLrIzAGIiSyJWduc8ZG2kZhdCN6si/oNn5kfRYj0d YYBDZx6oCrRh2vU62xB9/5U9D/9bnNDRhYJmKJrBfIFQnt0DnpPx+9Ehz0Q66i+O2kQ6 gynA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="XfOuHP/I"; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h14si6936020ejt.198.2020.12.07.11.10.37; Mon, 07 Dec 2020 11:10:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="XfOuHP/I"; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726699AbgLGTKF (ORCPT + 8 others); Mon, 7 Dec 2020 14:10:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55706 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726616AbgLGTKD (ORCPT ); Mon, 7 Dec 2020 14:10:03 -0500 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AB462C061749 for ; Mon, 7 Dec 2020 11:09:17 -0800 (PST) Received: by mail-wm1-x341.google.com with SMTP id e25so277339wme.0 for ; Mon, 07 Dec 2020 11:09:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=LwCnH4NJfHp5ZykyBVx/tUGuZ/xxrEB0midiN+uyBnQ=; b=XfOuHP/I+sgUgtIImebemPfmcZZujI8Cebh1xBnaU9kkJvzZodlCckakvVyq5R2i7i 8PvJiTTaTfwYSVHpRmWBXrHgtPDkCrIiEtQ88RZ/JD+PKqMYuHIVq7BEf+K4PquIsp3B ZbnTdYLnpd/AkzqvutIx5jTYSJs4Eyhxk6VuKOUFp6WPTqV6fgMj4wOem1a+BdG9GdJJ TIvcQc1j8GuyAW/cLflX21znv7bUMGUeH68DQQmmCr1j08IlUTt+oQjrKan03EW+hc5L qaUWGKLC5bMbXycb8BCeaTjiJu4JZ/+Y/JUomOxJYo2WzacxbWEADO8H6/ejQgLP669r eFXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=LwCnH4NJfHp5ZykyBVx/tUGuZ/xxrEB0midiN+uyBnQ=; b=TLiXIenFdWtrf+G9dIpSsCFFlQmHFqKcaeZ6cNFKvpjSVUFb/kfjzPV07VgyACfcgK im9fkJ1DIYHJXWy1W5ZrkVPGQyqQTy9uARGBew9Wfz6hT0xcjafquDUfFePH5Sm04Rf2 Jcff0TvdyzyoxuD+qd37h3oWl4h7kjqYsY+tMTxvImKLhDn3kjyp76X1c7OQDE+AlUoy 4xwYvdgNjF26ixuAzUvr1sOQ9c+zZXkeahOLsUM8OjOSnsLSxDCK/thBEIOlnCfduaz0 gCTYgCIvWRkopxdOqTL0h7Bfo8K01iZ0J7L/CpKWfEWL4405GG5gvdKyuPftf7hbUds3 ggXg== X-Gm-Message-State: AOAM530ymQlTE+JIMBYBlAcTJYfuU3tGZoHjSVHsCglWicb35d5KnSl/ 3NOS1l1sMY+JA6B/bUzWxEkdkg== X-Received: by 2002:a1c:491:: with SMTP id 139mr257287wme.81.1607368156261; Mon, 07 Dec 2020 11:09:16 -0800 (PST) Received: from localhost.localdomain (lns-bzn-59-82-252-158-132.adsl.proxad.net. [82.252.158.132]) by smtp.gmail.com with ESMTPSA id v1sm16335827wrr.48.2020.12.07.11.09.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Dec 2020 11:09:15 -0800 (PST) From: Daniel Lezcano To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: amitk@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 2/4] thermal/core: Precompute the delays from msecs to jiffies Date: Mon, 7 Dec 2020 20:09:00 +0100 Message-Id: <20201207190902.30464-2-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201207190902.30464-1-daniel.lezcano@linaro.org> References: <20201207190902.30464-1-daniel.lezcano@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org The delays are stored in ms units and when the polling function is called this delay is converted into jiffies at each call. Instead of doing the conversion again and again, compute the jiffies at init time and use the value directly when setting the polling. Signed-off-by: Daniel Lezcano --- drivers/thermal/thermal_core.c | 5 +++-- drivers/thermal/thermal_core.h | 18 ++++++++++++++++++ drivers/thermal/thermal_sysfs.c | 4 ++-- include/linux/thermal.h | 7 +++++++ 4 files changed, 30 insertions(+), 4 deletions(-) -- 2.17.1 Reviewed-by: Lukasz Luba diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 5b500d72aab4..08c6e4e36896 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -1340,8 +1340,9 @@ thermal_zone_device_register(const char *type, int trips, int mask, tz->device.class = &thermal_class; tz->devdata = devdata; tz->trips = trips; - tz->passive_delay_ms = passive_delay; - tz->polling_delay_ms = polling_delay; + + thermal_zone_set_passive_delay(tz, passive_delay); + thermal_zone_set_polling_delay(tz, polling_delay); /* sys I/F */ /* Add nodes that are always present via .groups */ diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h index 8df600fa7b79..2c9551ed5ef8 100644 --- a/drivers/thermal/thermal_core.h +++ b/drivers/thermal/thermal_core.h @@ -128,6 +128,24 @@ int thermal_build_list_of_policies(char *buf); /* Helpers */ void thermal_zone_set_trips(struct thermal_zone_device *tz); +static inline void thermal_zone_set_passive_delay( + struct thermal_zone_device *tz, int delay_ms) +{ + tz->passive_delay_ms = delay_ms; + tz->passive_delay_jiffies = msecs_to_jiffies(delay_ms); + if (delay_ms > 1000) + tz->passive_delay_jiffies = round_jiffies(tz->passive_delay_jiffies); +} + +static inline void thermal_zone_set_polling_delay( + struct thermal_zone_device *tz, int delay_ms) +{ + tz->polling_delay_ms = delay_ms; + tz->polling_delay_jiffies = msecs_to_jiffies(delay_ms); + if (delay_ms > 1000) + tz->polling_delay_jiffies = round_jiffies(tz->polling_delay_jiffies); +} + /* sysfs I/F */ int thermal_zone_create_device_groups(struct thermal_zone_device *, int); void thermal_zone_destroy_device_groups(struct thermal_zone_device *); diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c index f465462d8aa1..9598b288a0a1 100644 --- a/drivers/thermal/thermal_sysfs.c +++ b/drivers/thermal/thermal_sysfs.c @@ -234,11 +234,11 @@ passive_store(struct device *dev, struct device_attribute *attr, if (state && !tz->forced_passive) { if (!tz->passive_delay_ms) - tz->passive_delay_ms = 1000; + thermal_zone_set_passive_delay(tz, 1000); thermal_zone_device_rebind_exception(tz, "Processor", sizeof("Processor")); } else if (!state && tz->forced_passive) { - tz->passive_delay_ms = 0; + thermal_zone_set_passive_delay(tz, 0); thermal_zone_device_unbind_exception(tz, "Processor", sizeof("Processor")); } diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 230d451bf335..5dd9bdb6c6ad 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -118,9 +118,14 @@ struct thermal_cooling_device { * @trips_disabled; bitmap for disabled trips * @passive_delay_ms: number of milliseconds to wait between polls when * performing passive cooling. + * @passive_delay_jiffies: number of jiffies to wait between polls when + * performing passive cooling. * @polling_delay_ms: number of milliseconds to wait between polls when * checking whether trip points have been crossed (0 for * interrupt driven systems) + * @polling_delay_jiffies: number of jiffies to wait between polls when + * checking whether trip points have been crossed (0 for + * interrupt driven systems) * @temperature: current temperature. This is only for core code, * drivers should use thermal_zone_get_temp() to get the * current temperature @@ -161,6 +166,8 @@ struct thermal_zone_device { unsigned long trips_disabled; /* bitmap for disabled trips */ int passive_delay_ms; int polling_delay_ms; + int passive_delay_jiffies; + int polling_delay_jiffies; int temperature; int last_temperature; int emul_temperature; From patchwork Mon Dec 7 19:09:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 339177 Delivered-To: patch@linaro.org Received: by 2002:a02:85a7:0:0:0:0:0 with SMTP id d36csp3066341jai; Mon, 7 Dec 2020 11:10:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJxGaZKq2WyUPVNy78Pk+2rOMTMNbIzCEYkz0WJCDh81I9QmMFp9yXKdySEAyjAUUibtzOc8 X-Received: by 2002:a17:906:3508:: with SMTP id r8mr9824479eja.137.1607368238923; Mon, 07 Dec 2020 11:10:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607368238; cv=none; d=google.com; s=arc-20160816; b=JhG4iMhQwd2rVGwPZAE+RLmnLWM0CAtIAFuInmE/l2TNK0cLQG73nfsu5809GL4jTv /w3TksH/LYZ2gIyiM8En1LnPCLogDND/pf6M4XUSSLY9XsgzKh0ySe2iDHNUqGitHKK+ pNVS2YxG0LB29D8K0bbXhs1wnkdR/bo4mSyxaj3++1V7hyUyjzDUoHs9eCkSCAxKzmZq 7XT+JB+vUaPbu91jWtSuJrFFSTkcxOehUybZh1Bt9mMIHwc0J7YhEo7Lf5DDi42Z+c17 WEEfKcIZlW6yLz1ff3s2VXOcebTJpPx4Vi+lmG6WthR58GARNqgYi5MndC64KbqzacN+ UCBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=BhPEvjVqwexH1Hle2+ctCV7xDbrLGK3UanoHRddvROg=; b=IpoSNLjNliPkP/lBE8soAovnWU+dzJ5+vYQ+1D99Gjuv5dLDQBdMuvVstiIq+nc8Z+ 6shuOBfdwcZHdzuym31vmujt22A2NEaznh6r4ClodqaUuIf5y9BcKIuUuYzTfuLVK1NM ulSVul0BWjWIFQKmTZSTaAH7bgHnZyVlESz82J9ejCrt1XZAOqKw6JCIgxIxPcIaR69F TgzLY43mbvSRD/g8B/4TN7v74t19gpvrsVPnaiRsRgLevpoYqkR33D5t+M0D4beJgjns K2yCwg/qyNoIQSznjuPM8QApafZC0+wGClIXUwgXim02oJN0I0AvAPVCjH/Syai5DTLB tGzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WukHso3E; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h14si6936020ejt.198.2020.12.07.11.10.38; Mon, 07 Dec 2020 11:10:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WukHso3E; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726867AbgLGTKR (ORCPT + 8 others); Mon, 7 Dec 2020 14:10:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726616AbgLGTKR (ORCPT ); Mon, 7 Dec 2020 14:10:17 -0500 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3213FC061285 for ; Mon, 7 Dec 2020 11:09:19 -0800 (PST) Received: by mail-wm1-x344.google.com with SMTP id a6so232443wmc.2 for ; Mon, 07 Dec 2020 11:09:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BhPEvjVqwexH1Hle2+ctCV7xDbrLGK3UanoHRddvROg=; b=WukHso3EQRBNv8iqcv+rXMyFp5xa0jSexX3IuFw/1s62AkBakuROjwGPEUQgkpI2Dd P8cyn4AzlwV3MkKqiqtwpW92EhNR8SQiVfDV1bS2NTcK+SZu6l1oLWIkN4WeKZu3xwmA 6miHNlV2QMlyz1OP1r4YiEBsM7+DL9QW0ujTPYOb2evMteLVdt6+LTwyuZUr94P70UsZ fs4Va3s3va5PRXRLxyEhy/ciK0jstMh+nFRyzJ3iG2ZkUUzlqyFtGWRO5QP/s2uhSL4m myMfGJNWq2RN2LCrEaaW/BrSuQ4buOKC72HFSCx8MHSqdQE0RVL6kencjxXH37QF0JI7 nAzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=BhPEvjVqwexH1Hle2+ctCV7xDbrLGK3UanoHRddvROg=; b=I8UDVzqv2hOb+f0DARtpgCNicow9N9yNE6lvDmrHfkIpG06htyfd3jGLrcYX+KxCcp yC2Wqi6/IYm63PIiNk1VVRzZ+GxmZCX61PUuZa9PrG/8cs/fRkdzl8Mzq13ajDrG3u6R 5ENcCzBBltoOne5c4/MzRKL3MKnhjYoIMiXe7dJb8m99g5/kSrad+bbUmZIWqzG/hxQM /jdTMIQ0jmE2ljI8wOIBs5UsUwn5k/mJwRhBCwqW/1qBRK3mO21whNOAV60xD+uZn55M KUgcMj7MPdkj9R7J3T1kg5lMNkQh9IZ1CNeHN9vVYKwx7r2qgnBF6kDTn4KRkQDOYGUs FlxA== X-Gm-Message-State: AOAM531TvdsLhn1u/4UsfgGnLw4heUHodqWiTGV4XmSeZrnqAxagH6lV ufyoq5QaQYqsISlTe/8greNmPw== X-Received: by 2002:a1c:c2d4:: with SMTP id s203mr319881wmf.58.1607368157831; Mon, 07 Dec 2020 11:09:17 -0800 (PST) Received: from localhost.localdomain (lns-bzn-59-82-252-158-132.adsl.proxad.net. [82.252.158.132]) by smtp.gmail.com with ESMTPSA id v1sm16335827wrr.48.2020.12.07.11.09.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Dec 2020 11:09:17 -0800 (PST) From: Daniel Lezcano To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: amitk@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 3/4] thermal/core: Use precomputed jiffies for the polling Date: Mon, 7 Dec 2020 20:09:01 +0100 Message-Id: <20201207190902.30464-3-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201207190902.30464-1-daniel.lezcano@linaro.org> References: <20201207190902.30464-1-daniel.lezcano@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org The delays are also stored in jiffies based unit. Use them instead of the ms. Signed-off-by: Daniel Lezcano --- drivers/thermal/thermal_core.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) -- 2.17.1 Reviewed-by: Lukasz Luba diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 08c6e4e36896..16ef5d652d85 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -291,14 +291,9 @@ static int __init thermal_register_governors(void) static void thermal_zone_device_set_polling(struct thermal_zone_device *tz, int delay) { - if (delay > 1000) + if (delay) mod_delayed_work(system_freezable_power_efficient_wq, - &tz->poll_queue, - round_jiffies(msecs_to_jiffies(delay))); - else if (delay) - mod_delayed_work(system_freezable_power_efficient_wq, - &tz->poll_queue, - msecs_to_jiffies(delay)); + &tz->poll_queue, delay); else cancel_delayed_work(&tz->poll_queue); } @@ -317,9 +312,9 @@ static void monitor_thermal_zone(struct thermal_zone_device *tz) mutex_lock(&tz->lock); if (!stop && tz->passive) - thermal_zone_device_set_polling(tz, tz->passive_delay_ms); + thermal_zone_device_set_polling(tz, tz->passive_delay_jiffies); else if (!stop && tz->polling_delay_ms) - thermal_zone_device_set_polling(tz, tz->polling_delay_ms); + thermal_zone_device_set_polling(tz, tz->polling_delay_jiffies); else thermal_zone_device_set_polling(tz, 0); From patchwork Mon Dec 7 19:09:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 339178 Delivered-To: patch@linaro.org Received: by 2002:a02:85a7:0:0:0:0:0 with SMTP id d36csp3067230jai; Mon, 7 Dec 2020 11:12:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJx/Xkk9L/B3/rA1WNRFSabxVl1rMm4KHokpBS/GfG9fm114JenEEQzF5bBMYVZ2g3WgAQv2 X-Received: by 2002:a17:906:38c8:: with SMTP id r8mr20673186ejd.39.1607368326718; Mon, 07 Dec 2020 11:12:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607368326; cv=none; d=google.com; s=arc-20160816; b=dmqZ3zChqwYGefhN804m6aFJ4b0qbj0+EgQsyZKT+4Yv2mBkh3yccC76dSQVnv+ZUk h0PB1DEUNuC+UIOh9upFvBlNkW9uMPOIULHhMP4Ik7wW6N+jF1FC1TUaqBzES5CkQYXT NxD7mf8u9S1AH2V6YPDOn+8bwHFLEdZbIofmX3Dqx1V/WF7dtfTV/ZuQ0u8F3r0jWRVf GCVUrTjuRt256dk/edcT41YoLNJ1YLycMIuReWBJMY3zwn/wKTkxf8U2UGsAspN4quur 3/BcOF+YEAKT3/z9L+A5G+J162cA2zIqHCb/OSac88OW+6o5IHVC2Ly0Xt8WtA1nHoa5 zYgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=jCh3YkTolPPOUud4un2kHWaTqPIRbwaR3OZE9Pv+gLk=; b=OHFmNCAKbvTQbnzbf9AzAerUabN1JRh9G+q3cflV3ux1kPhDjunDSvGUyo4bsMCPQT PhNWXOewFeQkpavr9kE6X8n5gy3G9g6PUhPRSXZSUwph2rL111ZrUGLyWYaaWr2QrTse /Kt/j4rRsdUmRfUGKXz0wIISKYxpaqoT/QNB51BOPKJb2e2rAdMMZI+dqdMts+d00zoF jr/IUsN9Vbubrl50aFyp+fQa5Nk2smzFbW/+578fumJ8brDEouXl04DSP96sCtbSIZ1i Q8jGAC4Hk/u3i71/9V0CQXvnIYsaKBo1MbfVgAWXWh2+WwGnv14Sxmu3aYze4K0cE8i7 cL+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fyN6Oo4A; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bm11si7114339ejb.442.2020.12.07.11.12.06; Mon, 07 Dec 2020 11:12:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fyN6Oo4A; spf=pass (google.com: domain of linux-pm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726600AbgLGTKi (ORCPT + 8 others); Mon, 7 Dec 2020 14:10:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726530AbgLGTKi (ORCPT ); Mon, 7 Dec 2020 14:10:38 -0500 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B686BC0611C5 for ; Mon, 7 Dec 2020 11:09:20 -0800 (PST) Received: by mail-wr1-x443.google.com with SMTP id r7so2603878wrc.5 for ; Mon, 07 Dec 2020 11:09:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jCh3YkTolPPOUud4un2kHWaTqPIRbwaR3OZE9Pv+gLk=; b=fyN6Oo4AHvNfExKI3HUy9bxEsBXaospDterXXGQ6XkEsXSMLmrDW9PFE8cyudstWjn i7NX9DAyhd8HWewIznJzD+NCzyZs1yOEZnt7GMC3tzwwuMtD9Ri1T1+EkOsxuxIwE2Ir 9y7rdQXBfmDpUOkvyEjtCdP5bS3shDIzdayYjJQkk8+GCd+8EQi93zIUkp28Iju7Xjbp Pe60IVcvvmJjwpQ6jLmUloQ6u0y6BgibxHIp1iOZ9GlHsWeaMLcYW8oTarxMGOrBnYtw nhUvV6IXYS19IasG/g28MZxh25CHTs0Smjr/JoAqsurG15MDDFLkoktuIA19MN65y2KO 66FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jCh3YkTolPPOUud4un2kHWaTqPIRbwaR3OZE9Pv+gLk=; b=OflBj3ES/sItmMVB2MfVH2xolaz6UngIUE3MziwB5kfNTmfQGAsQ1uQjiy2Y/HfzoP PRaUZ59uDPaR6rYatiDhCrwHVQ+R8AvHEuFRYIzS7vlklBLrjUbfSCafn/Z4o2euLe8b FJfpKttZ+Y7d6HVuyRlq6BY4UbmDrZy3LU+9BxZzCLAhe3HurEVzgmcqu1Gzv0QTfUbk cBq6NEyyaieOQ7E1rCbV5Zp4Z51PegWkAlDXKO2ElySFtIb1ODW7XqTGyE48r45tut7+ BW+ZRPvX2eCdKKDAaL+uJj9OXUqXTj8lHf2rXppm2UW6+H7ZtqBAZ4QCDBs6Q4rgaw8y Xchg== X-Gm-Message-State: AOAM533OFn/Pu5hbg58Yu0dBAK7PG7irSVFWprftge52KahbbQMsbbKo 5wLY3++tnWLJLqhED23KDHRcXg== X-Received: by 2002:adf:efc4:: with SMTP id i4mr20729608wrp.323.1607368159250; Mon, 07 Dec 2020 11:09:19 -0800 (PST) Received: from localhost.localdomain (lns-bzn-59-82-252-158-132.adsl.proxad.net. [82.252.158.132]) by smtp.gmail.com with ESMTPSA id v1sm16335827wrr.48.2020.12.07.11.09.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Dec 2020 11:09:18 -0800 (PST) From: Daniel Lezcano To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: amitk@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 4/4] thermal/core: Remove ms based delay fields Date: Mon, 7 Dec 2020 20:09:02 +0100 Message-Id: <20201207190902.30464-4-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201207190902.30464-1-daniel.lezcano@linaro.org> References: <20201207190902.30464-1-daniel.lezcano@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org The code does no longer use the ms unit based fields to set the delays as they are replaced by the jiffies. Remove them and replace their user to use the jiffies version instead. Signed-off-by: Daniel Lezcano --- drivers/platform/x86/acerhdf.c | 3 ++- drivers/thermal/da9062-thermal.c | 4 ++-- drivers/thermal/gov_power_allocator.c | 2 +- drivers/thermal/thermal_core.c | 2 +- drivers/thermal/thermal_core.h | 2 -- drivers/thermal/thermal_sysfs.c | 2 +- drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 6 ++++-- include/linux/thermal.h | 7 ------- 8 files changed, 11 insertions(+), 17 deletions(-) -- 2.17.1 Reviewed-by: Lukasz Luba diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c index 7b26f601b407..b7dbcf6be13e 100644 --- a/drivers/platform/x86/acerhdf.c +++ b/drivers/platform/x86/acerhdf.c @@ -336,7 +336,8 @@ static void acerhdf_check_param(struct thermal_zone_device *thermal) pr_notice("interval changed to: %d\n", interval); if (thermal) - thermal->polling_delay_ms = interval*1000; + thermal->polling_delay_jiffies = + msecs_to_jiffies(interval * 1000); prev_interval = interval; } diff --git a/drivers/thermal/da9062-thermal.c b/drivers/thermal/da9062-thermal.c index ebb3d0b4a5be..180edec34e07 100644 --- a/drivers/thermal/da9062-thermal.c +++ b/drivers/thermal/da9062-thermal.c @@ -95,7 +95,7 @@ static void da9062_thermal_poll_on(struct work_struct *work) thermal_zone_device_update(thermal->zone, THERMAL_EVENT_UNSPECIFIED); - delay = msecs_to_jiffies(thermal->zone->passive_delay_ms); + delay = thermal->zone->passive_delay_jiffies; queue_delayed_work(system_freezable_wq, &thermal->work, delay); return; } @@ -245,7 +245,7 @@ static int da9062_thermal_probe(struct platform_device *pdev) dev_dbg(&pdev->dev, "TJUNC temperature polling period set at %d ms\n", - thermal->zone->passive_delay_ms); + jiffies_to_msecs(thermal->zone->passive_delay_jiffies)); ret = platform_get_irq_byname(pdev, "THERMAL"); if (ret < 0) { diff --git a/drivers/thermal/gov_power_allocator.c b/drivers/thermal/gov_power_allocator.c index f7a663f698d4..f8c3d1e40b86 100644 --- a/drivers/thermal/gov_power_allocator.c +++ b/drivers/thermal/gov_power_allocator.c @@ -258,7 +258,7 @@ static u32 pid_controller(struct thermal_zone_device *tz, * power being applied, slowing down the controller) */ d = mul_frac(tz->tzp->k_d, err - params->prev_err); - d = div_frac(d, tz->passive_delay_ms); + d = div_frac(d, jiffies_to_msecs(tz->passive_delay_jiffies)); params->prev_err = err; power_range = p + i + d; diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 16ef5d652d85..aff15c6b1c61 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -313,7 +313,7 @@ static void monitor_thermal_zone(struct thermal_zone_device *tz) if (!stop && tz->passive) thermal_zone_device_set_polling(tz, tz->passive_delay_jiffies); - else if (!stop && tz->polling_delay_ms) + else if (!stop && tz->polling_delay_jiffies) thermal_zone_device_set_polling(tz, tz->polling_delay_jiffies); else thermal_zone_device_set_polling(tz, 0); diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h index 2c9551ed5ef8..5baa308ee7a5 100644 --- a/drivers/thermal/thermal_core.h +++ b/drivers/thermal/thermal_core.h @@ -131,7 +131,6 @@ void thermal_zone_set_trips(struct thermal_zone_device *tz); static inline void thermal_zone_set_passive_delay( struct thermal_zone_device *tz, int delay_ms) { - tz->passive_delay_ms = delay_ms; tz->passive_delay_jiffies = msecs_to_jiffies(delay_ms); if (delay_ms > 1000) tz->passive_delay_jiffies = round_jiffies(tz->passive_delay_jiffies); @@ -140,7 +139,6 @@ static inline void thermal_zone_set_passive_delay( static inline void thermal_zone_set_polling_delay( struct thermal_zone_device *tz, int delay_ms) { - tz->polling_delay_ms = delay_ms; tz->polling_delay_jiffies = msecs_to_jiffies(delay_ms); if (delay_ms > 1000) tz->polling_delay_jiffies = round_jiffies(tz->polling_delay_jiffies); diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c index 9598b288a0a1..8532b1dd0608 100644 --- a/drivers/thermal/thermal_sysfs.c +++ b/drivers/thermal/thermal_sysfs.c @@ -233,7 +233,7 @@ passive_store(struct device *dev, struct device_attribute *attr, return -EINVAL; if (state && !tz->forced_passive) { - if (!tz->passive_delay_ms) + if (!tz->passive_delay_jiffies) thermal_zone_set_passive_delay(tz, 1000); thermal_zone_device_rebind_exception(tz, "Processor", sizeof("Processor")); diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c index 4baff19e1142..f84375865c97 100644 --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c @@ -166,6 +166,7 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain) { struct ti_thermal_data *data; + int interval; data = ti_bandgap_get_sensor_data(bgp, id); @@ -183,9 +184,10 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, return PTR_ERR(data->ti_thermal); } + interval = jiffies_to_msecs(data->ti_thermal->polling_delay_jiffies); + ti_bandgap_set_sensor_data(bgp, id, data); - ti_bandgap_write_update_interval(bgp, data->sensor_id, - data->ti_thermal->polling_delay_ms); + ti_bandgap_write_update_interval(bgp, data->sensor_id, interval); return 0; } diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 5dd9bdb6c6ad..f23a388ded15 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -116,13 +116,8 @@ struct thermal_cooling_device { * @devdata: private pointer for device private data * @trips: number of trip points the thermal zone supports * @trips_disabled; bitmap for disabled trips - * @passive_delay_ms: number of milliseconds to wait between polls when - * performing passive cooling. * @passive_delay_jiffies: number of jiffies to wait between polls when * performing passive cooling. - * @polling_delay_ms: number of milliseconds to wait between polls when - * checking whether trip points have been crossed (0 for - * interrupt driven systems) * @polling_delay_jiffies: number of jiffies to wait between polls when * checking whether trip points have been crossed (0 for * interrupt driven systems) @@ -164,8 +159,6 @@ struct thermal_zone_device { void *devdata; int trips; unsigned long trips_disabled; /* bitmap for disabled trips */ - int passive_delay_ms; - int polling_delay_ms; int passive_delay_jiffies; int polling_delay_jiffies; int temperature;