From patchwork Wed Nov 25 17:48:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 333140 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.2 required=3.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB9ECC64E8A for ; Thu, 26 Nov 2020 02:13:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A14EF2075A for ; Thu, 26 Nov 2020 02:13:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N0aQDwHh" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733077AbgKZCMb (ORCPT ); Wed, 25 Nov 2020 21:12:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732838AbgKZCM2 (ORCPT ); Wed, 25 Nov 2020 21:12:28 -0500 Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A23FC0613D4; Wed, 25 Nov 2020 18:12:28 -0800 (PST) Received: by mail-ed1-x541.google.com with SMTP id k4so588104edl.0; Wed, 25 Nov 2020 18:12:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=O0qe7oIz20vmKxuGqEFKoOxtqbsQn05TcW7sLZuS3Bs=; b=N0aQDwHhQHzYRqKfp748d+z7YntGYV7ipjMrz8zV5WB1ORzQfrnI/mj4fXk+5WeGaD J39vlU5abGU/1KD1JIPFPyj0y2ekQJW/D2hEPyBHRjalGHBHknhA4S14ZhWY07wGWQ/M C1nFR4mdiN4PNoRRWXbG7NcI+qOFgXNkNcJeKLHuxgVPKP87yTYvdDS2b0HSjjvI9DKk lkEWrUd4K2qDUwFizlwFgxCRuV+BxNYfRBtfwjOV+EJ/880KJKLSULtGGgNW8eHOGP1z QRAXXiyaVO6j4VItcY66wkjAS9QdzpX1DlqNMcCsCMmhUZ5UgfMyq/q9/oicILxpPdB/ jOHg== 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:mime-version:content-transfer-encoding; bh=O0qe7oIz20vmKxuGqEFKoOxtqbsQn05TcW7sLZuS3Bs=; b=ZSgNAR7+jAKcT3hj0qaHTv/pH34MRnMMHJF7C667zQh2qV5jrmaRZo3rEJKR0qsDx/ a2au8XPPssUpH/MMU8KeDiSGumPdkM20ws5FlkAMFf6I1jkC+3fgIst3osmJT10vf8bR f8cJ6Qu+Sij9olCDI459eF249bILBc6OpX3wCKFYFzcYcg2YX0ccKE8Ze2zNSsRBgE/r 1xXQ/b6qOuktQ1pzV7st23I1NSmXmsrdX9eTXy4RmyWMhqmQV8tVPBEcMiLwiTCijE+z nfbAXAue6zuviZzKFsMp4wwwL7/9ukbDjX4A4LcPX2azokVatzpa1ilkvYPxm4E8ai5p QrTg== X-Gm-Message-State: AOAM533LGfghnpgGbrz4JbTxlSUojePrXFYpQa8yN8Iyepj3czxUhr2u EOK3hvYxpHRZ4pQ/HKCQDJc= X-Google-Smtp-Source: ABdhPJyBvkkG/E1UWL4vQBngd6UbbvfU36I65vCOb+wVVnnC5bmA29N5JVtN5Bhle8xaa2vi87DRdg== X-Received: by 2002:aa7:c44d:: with SMTP id n13mr529533edr.138.1606356747115; Wed, 25 Nov 2020 18:12:27 -0800 (PST) Received: from ansuel-xps20.localdomain (93-39-149-95.ip76.fastwebnet.it. [93.39.149.95]) by smtp.googlemail.com with ESMTPSA id d7sm417276edv.17.2020.11.25.18.12.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Nov 2020 18:12:26 -0800 (PST) From: Ansuel Smith To: Amit Kucheria Cc: Ansuel Smith , Andy Gross , Bjorn Andersson , Zhang Rui , Daniel Lezcano , Rob Herring , linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 2/8] drivers: thermal: tsens: Don't hardcode sensor slope Date: Wed, 25 Nov 2020 18:48:19 +0100 Message-Id: <20201125174826.24462-3-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201125174826.24462-1-ansuelsmth@gmail.com> References: <20201125174826.24462-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Function compute_intercept_slope hardcode the sensor slope to SLOPE_DEFAULT. Change this and use the default value only if a slope is not defined. This is needed for tsens VER_0 that has a hardcoded slope table. Signed-off-by: Ansuel Smith --- drivers/thermal/qcom/tsens.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c index bda965b3ac05..80551e17cdbe 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c @@ -86,7 +86,8 @@ void compute_intercept_slope(struct tsens_priv *priv, u32 *p1, "%s: sensor%d - data_point1:%#x data_point2:%#x\n", __func__, i, p1[i], p2[i]); - priv->sensor[i].slope = SLOPE_DEFAULT; + if (!priv->sensor[i].slope) + priv->sensor[i].slope = SLOPE_DEFAULT; if (mode == TWO_PT_CALIB) { /* * slope (m) = adc_code2 - adc_code1 (y2 - y1)/ From patchwork Wed Nov 25 17:48:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 333139 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.2 required=3.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8BD4DC8300C for ; Thu, 26 Nov 2020 02:13:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 53BEA207BC for ; Thu, 26 Nov 2020 02:13:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="frZxwhQZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733065AbgKZCMb (ORCPT ); Wed, 25 Nov 2020 21:12:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732932AbgKZCMa (ORCPT ); Wed, 25 Nov 2020 21:12:30 -0500 Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 37D7DC0613D4; Wed, 25 Nov 2020 18:12:30 -0800 (PST) Received: by mail-ed1-x543.google.com with SMTP id d18so547846edt.7; Wed, 25 Nov 2020 18:12:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=81sqGxzuC6LNmogSg2JIcputtWB+AH0q5r5QvZXa8PQ=; b=frZxwhQZl7qP0c7zff1P4P2kS/TCpZnYDeuL4NnSBOJn3WKRFmspTLf7Ca4tXDJl8w curS+6eUtus+qg54evtD/+hea7f3POKCtNNrzOWSVKjpWmDElNQtCkSbFHakGm2GHv8t k4Tm1opaBkmtaXHtrBl627YZlVm0qpqCNa/eH9YmEqw3YKo7hkgwwgWUZiE4yl0fEpKY RffrxcfkolHNx+JL7UUTQgAjLOiZ+7EMKEm1Uqi7uARt3Soz9LeXCuxfwnqDr5kCnl7F 5K7eIDx3R9RJso2cUTWe+PMjCQXFZa07VK22yr2nbQp2+Xz2mMWdaKQ1LRA7j3E9CLTw XnXA== 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:mime-version:content-transfer-encoding; bh=81sqGxzuC6LNmogSg2JIcputtWB+AH0q5r5QvZXa8PQ=; b=LSpqZ68EefXp/OwGJvjPwSmhzNvVJaB/MOWouk3tJJOCPzEHaGJ7rrQ5wycmL7VpEo xbQs2mKz2RwW3I2IXQjPxbbDwK0BXVcNGNP3PsNmnIW/jBpSuBh/zo4py9mXRQFuq3p2 isWyagGKOgYX9lFF34BIxMH1B/t15yK4ZlWz41PRS/62ltMaUYBK7NdMBWAsZsHoUpdO wvKe22iSSKmGrOw/zuVPhxp6R5Q/5fis5uSGCVw31cIERriwP9+WjjZyqvJJYeQqWI1O 47sdyqAk+6hKfzW0t4T7WbzREHjJCOCRYrbZfE96C2ggqkyZvxd0UFP+ILf0kcx+OR32 5T4Q== X-Gm-Message-State: AOAM5329mBbZCwePOeeOz+Acb7gco5wJn4K30XIPCyOUTS60b9oUrmFj 9E3+SMR18FSgJIzzENAtLtM= X-Google-Smtp-Source: ABdhPJwMOUjOf/52prfJJEGGtuS/jeOaophY3o4X5SswGyRyvEMcmmOFAf7es3Zy37GmH8woGKQEig== X-Received: by 2002:aa7:c6c3:: with SMTP id b3mr543116eds.84.1606356748922; Wed, 25 Nov 2020 18:12:28 -0800 (PST) Received: from ansuel-xps20.localdomain (93-39-149-95.ip76.fastwebnet.it. [93.39.149.95]) by smtp.googlemail.com with ESMTPSA id d7sm417276edv.17.2020.11.25.18.12.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Nov 2020 18:12:28 -0800 (PST) From: Ansuel Smith To: Amit Kucheria Cc: Ansuel Smith , Andy Gross , Bjorn Andersson , Zhang Rui , Daniel Lezcano , Rob Herring , linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 3/8] drivers: thermal: tsens: Convert msm8960 to reg_field Date: Wed, 25 Nov 2020 18:48:20 +0100 Message-Id: <20201125174826.24462-4-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201125174826.24462-1-ansuelsmth@gmail.com> References: <20201125174826.24462-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Convert msm9860 driver to reg_field to use the init_common function. Signed-off-by: Ansuel Smith --- drivers/thermal/qcom/tsens-8960.c | 75 ++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c index 2a28a5af209e..e383dc545bf0 100644 --- a/drivers/thermal/qcom/tsens-8960.c +++ b/drivers/thermal/qcom/tsens-8960.c @@ -51,11 +51,22 @@ #define MIN_LIMIT_TH 0x0 #define MAX_LIMIT_TH 0xff -#define S0_STATUS_ADDR 0x3628 #define INT_STATUS_ADDR 0x363c #define TRDY_MASK BIT(7) #define TIMEOUT_US 100 +#define S0_STATUS_OFF 0x3628 +#define S1_STATUS_OFF 0x362c +#define S2_STATUS_OFF 0x3630 +#define S3_STATUS_OFF 0x3634 +#define S4_STATUS_OFF 0x3638 +#define S5_STATUS_OFF 0x3664 /* Sensors 5-10 found on apq8064/msm8960 */ +#define S6_STATUS_OFF 0x3668 +#define S7_STATUS_OFF 0x366c +#define S8_STATUS_OFF 0x3670 +#define S9_STATUS_OFF 0x3674 +#define S10_STATUS_OFF 0x3678 + static int suspend_8960(struct tsens_priv *priv) { int ret; @@ -269,6 +280,66 @@ static int get_temp_8960(const struct tsens_sensor *s, int *temp) return -ETIMEDOUT; } +static struct tsens_features tsens_8960_feat = { + .ver_major = VER_0, + .crit_int = 0, + .adc = 1, + .srot_split = 0, + .max_sensors = 11, +}; + +static const struct reg_field tsens_8960_regfields[MAX_REGFIELDS] = { + /* ----- SROT ------ */ + /* No VERSION information */ + + /* CNTL */ + [TSENS_EN] = REG_FIELD(CNTL_ADDR, 0, 0), + [TSENS_SW_RST] = REG_FIELD(CNTL_ADDR, 1, 1), + /* 8960 has 5 sensors, 8660 has 11, we only handle 5 */ + [SENSOR_EN] = REG_FIELD(CNTL_ADDR, 3, 7), + + /* ----- TM ------ */ + /* INTERRUPT ENABLE */ + /* NO INTERRUPT ENABLE */ + + /* Single UPPER/LOWER TEMPERATURE THRESHOLD for all sensors */ + [LOW_THRESH_0] = REG_FIELD(THRESHOLD_ADDR, 0, 7), + [UP_THRESH_0] = REG_FIELD(THRESHOLD_ADDR, 8, 15), + [MIN_THRESH_0] = REG_FIELD(THRESHOLD_ADDR, 16, 23), + [MAX_THRESH_0] = REG_FIELD(THRESHOLD_ADDR, 24, 31), + + /* UPPER/LOWER INTERRUPT [CLEAR/STATUS] */ + /* 1 == clear, 0 == normal operation */ + [LOW_INT_CLEAR_0] = REG_FIELD(CNTL_ADDR, 9, 9), + [UP_INT_CLEAR_0] = REG_FIELD(CNTL_ADDR, 10, 10), + + /* NO CRITICAL INTERRUPT SUPPORT on 8960 */ + + /* Sn_STATUS */ + [LAST_TEMP_0] = REG_FIELD(S0_STATUS_OFF, 0, 7), + [LAST_TEMP_1] = REG_FIELD(S1_STATUS_OFF, 0, 7), + [LAST_TEMP_2] = REG_FIELD(S2_STATUS_OFF, 0, 7), + [LAST_TEMP_3] = REG_FIELD(S3_STATUS_OFF, 0, 7), + [LAST_TEMP_4] = REG_FIELD(S4_STATUS_OFF, 0, 7), + [LAST_TEMP_5] = REG_FIELD(S5_STATUS_OFF, 0, 7), + [LAST_TEMP_6] = REG_FIELD(S6_STATUS_OFF, 0, 7), + [LAST_TEMP_7] = REG_FIELD(S7_STATUS_OFF, 0, 7), + [LAST_TEMP_8] = REG_FIELD(S8_STATUS_OFF, 0, 7), + [LAST_TEMP_9] = REG_FIELD(S9_STATUS_OFF, 0, 7), + [LAST_TEMP_10] = REG_FIELD(S10_STATUS_OFF, 0, 7), + + /* No VALID field on 8960 */ + /* TSENS_INT_STATUS bits: 1 == threshold violated */ + [MIN_STATUS_0] = REG_FIELD(INT_STATUS_ADDR, 0, 0), + [LOWER_STATUS_0] = REG_FIELD(INT_STATUS_ADDR, 1, 1), + [UPPER_STATUS_0] = REG_FIELD(INT_STATUS_ADDR, 2, 2), + /* No CRITICAL field on 8960 */ + [MAX_STATUS_0] = REG_FIELD(INT_STATUS_ADDR, 3, 3), + + /* TRDY: 1=ready, 0=in progress */ + [TRDY] = REG_FIELD(INT_STATUS_ADDR, 7, 7), +}; + static const struct tsens_ops ops_8960 = { .init = init_8960, .calibrate = calibrate_8960, @@ -282,4 +353,6 @@ static const struct tsens_ops ops_8960 = { struct tsens_plat_data data_8960 = { .num_sensors = 11, .ops = &ops_8960, + .feat = &tsens_8960_feat, + .fields = tsens_8960_regfields, }; From patchwork Wed Nov 25 17:48:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 333141 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.2 required=3.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18F36C83019 for ; Thu, 26 Nov 2020 02:12:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BE4EA2075A for ; Thu, 26 Nov 2020 02:12:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hfRE7omb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733108AbgKZCMc (ORCPT ); Wed, 25 Nov 2020 21:12:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36810 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732838AbgKZCMc (ORCPT ); Wed, 25 Nov 2020 21:12:32 -0500 Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16340C0613D4; Wed, 25 Nov 2020 18:12:32 -0800 (PST) Received: by mail-ed1-x543.google.com with SMTP id y4so558858edy.5; Wed, 25 Nov 2020 18:12:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BSqsyJR1uJjdUfbv6MslglDa94RlSlGvsXMc7VN4ajw=; b=hfRE7ombuJxM5u2HDsgC9CqyeDu7oP8SxLwQhGmR4icpgiMGVEqCxPHdB6jvz6TcFS Zu25VEQZyiRERrZtMJ4R3eYdDHo2alcbeuHtxcwqCcSvfNEkISjaoOfd09Tu73F+kdTq DwDXzcwjISt7pg9uVFp4wIW2Goym2RB/xYj/N7B45N5cYTiPSMqMLD5fYGuKvMlxD9El 42AA77DnS3cvWaZFNs5bEkqn8hwr1XgsA0UhcNbLcmCxvP48iulafxjCcighQkbb50+S CSrJ0KySnCmBos+mVBWzDk2Zigv2BGSTRmf4jhUpXBg04cmqVy4FEuiAsEHVMwcwIY+d TDUQ== 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:mime-version:content-transfer-encoding; bh=BSqsyJR1uJjdUfbv6MslglDa94RlSlGvsXMc7VN4ajw=; b=phlm6dzykgl4+6hB5jSt/HEpjcNLQKDZaLI4Y+3mow/xn702zLaL6vc2F2UT2uVL0s Ep4xC+ROWrktgPRa5lH4ybwEG/DaFx1gXSHyW8Ft+fMH3uxEra3gy/v5fZ/a+/gPfeoH oqPP6ozCoaPxG4chGVbLsfS/ujfoR+T5JSAvByVkJ6/iLgek+dO4oXsbugcaSKF4wSA3 7usaj9T/JwBhaTSkOna1RL8sJqYeS0rIHvCfr4G1/uS7ebl7lKJt9Y+n3oxfA39ndjTa 5aFQQUJ77SJpLQ/urqSIqzyoLBfYgNZIKoKmnoLPSPV+PWCI9nJhR6RruWrLLJyK/wX8 nbBA== X-Gm-Message-State: AOAM530BqQRTOVm/ga7sBy/My8mdcw+JukebcIhEuDNj9k7AMpNWem3B VW81Mn0c3VEYVX8T6joMhdLAUTNTF86QBg== X-Google-Smtp-Source: ABdhPJyORc9i/wzDY1nieyUer9Ad9lDzMYPWeOrKJxHEm3+1NLpRWGiGhJLY0GwTZmoIXKcUN+cLew== X-Received: by 2002:a50:a689:: with SMTP id e9mr477813edc.233.1606356750740; Wed, 25 Nov 2020 18:12:30 -0800 (PST) Received: from ansuel-xps20.localdomain (93-39-149-95.ip76.fastwebnet.it. [93.39.149.95]) by smtp.googlemail.com with ESMTPSA id d7sm417276edv.17.2020.11.25.18.12.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Nov 2020 18:12:30 -0800 (PST) From: Ansuel Smith To: Amit Kucheria Cc: Ansuel Smith , Andy Gross , Bjorn Andersson , Zhang Rui , Daniel Lezcano , Rob Herring , linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 4/8] drivers: thermal: tsens: Use init_common for msm8960 Date: Wed, 25 Nov 2020 18:48:21 +0100 Message-Id: <20201125174826.24462-5-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201125174826.24462-1-ansuelsmth@gmail.com> References: <20201125174826.24462-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Use init_common and drop custom init for msm8960. Signed-off-by: Ansuel Smith --- drivers/thermal/qcom/tsens-8960.c | 52 +------------------------------ 1 file changed, 1 insertion(+), 51 deletions(-) diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c index e383dc545bf0..93d2c6c7d1bd 100644 --- a/drivers/thermal/qcom/tsens-8960.c +++ b/drivers/thermal/qcom/tsens-8960.c @@ -173,56 +173,6 @@ static void disable_8960(struct tsens_priv *priv) regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl); } -static int init_8960(struct tsens_priv *priv) -{ - int ret, i; - u32 reg_cntl; - - priv->tm_map = dev_get_regmap(priv->dev, NULL); - if (!priv->tm_map) - return -ENODEV; - - /* - * The status registers for each sensor are discontiguous - * because some SoCs have 5 sensors while others have more - * but the control registers stay in the same place, i.e - * directly after the first 5 status registers. - */ - for (i = 0; i < priv->num_sensors; i++) { - if (i >= 5) - priv->sensor[i].status = S0_STATUS_ADDR + 40; - priv->sensor[i].status += i * 4; - } - - reg_cntl = SW_RST; - ret = regmap_update_bits(priv->tm_map, CNTL_ADDR, SW_RST, reg_cntl); - if (ret) - return ret; - - if (priv->num_sensors > 1) { - reg_cntl |= SLP_CLK_ENA | (MEASURE_PERIOD << 18); - reg_cntl &= ~SW_RST; - ret = regmap_update_bits(priv->tm_map, CONFIG_ADDR, - CONFIG_MASK, CONFIG); - } else { - reg_cntl |= SLP_CLK_ENA_8660 | (MEASURE_PERIOD << 16); - reg_cntl &= ~CONFIG_MASK_8660; - reg_cntl |= CONFIG_8660 << CONFIG_SHIFT_8660; - } - - reg_cntl |= GENMASK(priv->num_sensors - 1, 0) << SENSOR0_SHIFT; - ret = regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl); - if (ret) - return ret; - - reg_cntl |= EN; - ret = regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl); - if (ret) - return ret; - - return 0; -} - static int calibrate_8960(struct tsens_priv *priv) { int i; @@ -341,7 +291,7 @@ static const struct reg_field tsens_8960_regfields[MAX_REGFIELDS] = { }; static const struct tsens_ops ops_8960 = { - .init = init_8960, + .init = init_common, .calibrate = calibrate_8960, .get_temp = get_temp_8960, .enable = enable_8960, From patchwork Wed Nov 25 17:48:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 333142 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.2 required=3.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E012C83017 for ; Thu, 26 Nov 2020 02:12:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1BE2E2075A for ; Thu, 26 Nov 2020 02:12:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IVWWFORN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733142AbgKZCMe (ORCPT ); Wed, 25 Nov 2020 21:12:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732838AbgKZCMe (ORCPT ); Wed, 25 Nov 2020 21:12:34 -0500 Received: from mail-ej1-x643.google.com (mail-ej1-x643.google.com [IPv6:2a00:1450:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DBB8CC0613D4; Wed, 25 Nov 2020 18:12:33 -0800 (PST) Received: by mail-ej1-x643.google.com with SMTP id oq3so608830ejb.7; Wed, 25 Nov 2020 18:12:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ILjgLO1gu3OAaJ22R8SZw9mkrx615wQIxgl8+dYN3Gg=; b=IVWWFORNV5BHhFaYS+NvMN3osEnjqv7jCERz48upU8l2dI5uDmpS2Fr24s95chsXFi FBxQ+H54wYOPVxTQ7LzyxGGY162GbqGLaTbP/oSAmYPFAGSiTtq1PW34z+lecYeNa3k0 wqgeO7PSvwj2xZEMuyT1fQVJU9IUftjG3qd0A3QcAusd+AWhUKm7dUZJ3idaOobjqWbb ITH/QEKj9DUA4CicU6sCUSimcr8riZoF254Q0ALKPg3uj6dgVZ03NQUIGdkkmnMo+NZR DyBgICtW98GGYWW7hQgyCVAp/t6RUCCRrBblZm3M8XitZapYntGtGFhBYkVJ62/GixcL alQA== 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:mime-version:content-transfer-encoding; bh=ILjgLO1gu3OAaJ22R8SZw9mkrx615wQIxgl8+dYN3Gg=; b=sZwWIHV5PQaOOzi3Rr6iEHerbZc7p8HkOVwcyuwTg/JQ7IWYe5sVIRJkBiXphRXHEM MQN1tAn8szrju6iOt5AUnPZg1NYPVxUjvrEV2qlSvTfj86yqvWv3tBcVzRi2ZtLCrUmG yehOJwZu/kjBPq9sE0zpglla9oiAqzyUxBReMBR3twJZVRZYkroQZjywmV8R13x0l9PV A28CQajPd8NUHhS+0k4NowRAZDZOzqC+UapN+fTVxjaoMcsDMZfCV6Re2hnH0MKuvLjI wmr+e4RV1wDhWy9jTCBnJyIXaBqZuRVMD1K04/JCRyId/mawFXsiX+xQn/LB1+bpQMM7 MfGg== X-Gm-Message-State: AOAM533HXEA61qj2NWX48HpDMx38f5DBz+dcrAVomsZrwBuIhEsaM39o 6KMcT4E7gUJV+AJrSnKmhuE= X-Google-Smtp-Source: ABdhPJxbDo53ZIGywt/XVzIMgDLvC5bng5aRcQkFz7cZYZDdlAMe6RlLz245mtl3Zqpim/SmadiRJw== X-Received: by 2002:a17:906:7b49:: with SMTP id n9mr730677ejo.418.1606356752572; Wed, 25 Nov 2020 18:12:32 -0800 (PST) Received: from ansuel-xps20.localdomain (93-39-149-95.ip76.fastwebnet.it. [93.39.149.95]) by smtp.googlemail.com with ESMTPSA id d7sm417276edv.17.2020.11.25.18.12.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Nov 2020 18:12:31 -0800 (PST) From: Ansuel Smith To: Amit Kucheria Cc: Ansuel Smith , Andy Gross , Bjorn Andersson , Zhang Rui , Daniel Lezcano , Rob Herring , linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 5/8] drivers: thermal: tsens: Fix bug in sensor enable for msm8960 Date: Wed, 25 Nov 2020 18:48:22 +0100 Message-Id: <20201125174826.24462-6-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201125174826.24462-1-ansuelsmth@gmail.com> References: <20201125174826.24462-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org It's present a hardware bug in tsens VER_0 where if sensors upper to id 6 are enabled selectively, underfined results are expected. Fix this by enabling all the remaining sensor in one step. Signed-off-by: Ansuel Smith --- drivers/thermal/qcom/tsens-8960.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c index 93d2c6c7d1bd..f786f44f5d5d 100644 --- a/drivers/thermal/qcom/tsens-8960.c +++ b/drivers/thermal/qcom/tsens-8960.c @@ -27,9 +27,9 @@ #define EN BIT(0) #define SW_RST BIT(1) #define SENSOR0_EN BIT(3) +#define MEASURE_PERIOD BIT(18) #define SLP_CLK_ENA BIT(26) #define SLP_CLK_ENA_8660 BIT(24) -#define MEASURE_PERIOD 1 #define SENSOR0_SHIFT 3 /* INT_STATUS_ADDR bitmasks */ @@ -132,11 +132,26 @@ static int enable_8960(struct tsens_priv *priv, int id) if (ret) return ret; - mask = BIT(id + SENSOR0_SHIFT); + /* HARDWARE BUG: + * On platform with more than 5 sensors, all the remaining + * sensors needs to be enabled all togheder or underfined + * results are expected. (Sensor 6-7 disabled, Sensor 3 + * disabled...) In the original driver, all the sensors + * are enabled in one step hence this bug is not triggered. + */ + if (id > 5) + mask = GENMASK(10, 6); + else + mask = BIT(id); + + mask <<= SENSOR0_SHIFT; + ret = regmap_write(priv->tm_map, CNTL_ADDR, reg | SW_RST); if (ret) return ret; + reg |= MEASURE_PERIOD; + if (priv->num_sensors > 1) reg |= mask | SLP_CLK_ENA | EN; else From patchwork Wed Nov 25 17:48:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 333143 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.2 required=3.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B9B4C8300E for ; Thu, 26 Nov 2020 02:12:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9CE452075A for ; Thu, 26 Nov 2020 02:12:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XMjlfsLS" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733186AbgKZCMi (ORCPT ); Wed, 25 Nov 2020 21:12:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732838AbgKZCMi (ORCPT ); Wed, 25 Nov 2020 21:12:38 -0500 Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A79DBC0613D4; Wed, 25 Nov 2020 18:12:37 -0800 (PST) Received: by mail-ed1-x542.google.com with SMTP id y4so559031edy.5; Wed, 25 Nov 2020 18:12:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=79LT5m1zaUEIWOsVIZn2npQ8OOH0dyimXZhYveTdKSk=; b=XMjlfsLSHHkIbEVSU0E0i78ckvqn6EHeL+XFd67OAgMdnwV8rrihYAiak99JbY0m9x semNdv5hZiK3+BpAwHLPB4o33pSmyyHlORAm4WnyIObyL9Ke4NEDLhFwv66XYGh605Px dgEqcdORufm0U5zygjKd+y/K8Ia9o5lulDOcAT6hqhEyHEJ0MYN1jvU6ZNxctCqqoCP4 ub3OdjOjoajWHicTZ0gyAMalY3ddo1z+4/uk56AaPj0DTovHgb02uXoQrOYiXg6p2MGe IzJw+wk/X5tESgruWGijb+oSee3HFXp9lQZ6bUzQXgwsSTjA6NK1cfandpdhipCKiMdF mvOw== 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:mime-version:content-transfer-encoding; bh=79LT5m1zaUEIWOsVIZn2npQ8OOH0dyimXZhYveTdKSk=; b=uAOHQGPa2Z101yFzFIXhR0G9GtJBee4JFnwLixLinke0SCJclZU6vOfbh7r6Oa1lqF a50yy0sppQggjZJzq/9U0LepT4NePZ3naTMZGMtAClty8v2b4WY5y96aQ9Dbao6xnu9l DJ2l8Z1ReEPhriJr9yIBqPJ8noLnFKx4A7GKEP2eicTCWWFZJxOY98mxzRMNFZGq6sof VV00h373ffW3IuH3EQwDUJ4rloLxxTulZ+xwfU5Durhgz3qlsfEO2kco10OEDwXJF0xj wR32auQ9m+h5ydfwuSyOoQQobNTMuRWzRa5kfSq1YYhtdILbbLnElco2t5tiRly1/51D R2VQ== X-Gm-Message-State: AOAM530JkLkc1IudOD9GVoR5vceAyOerR/OYzYk/ilu8FlTF3lW9Tnw2 vVKVUAUzSzOaUqmF/VG84LyldQ5vwigg9A== X-Google-Smtp-Source: ABdhPJzGhIRKUFYiFTIkbfmOHWRD009oGY7oIb9i20gCyFcA8R/lMKUVvA3F8+i66aUlrvdpp1u9bQ== X-Received: by 2002:aa7:cac2:: with SMTP id l2mr489880edt.141.1606356756395; Wed, 25 Nov 2020 18:12:36 -0800 (PST) Received: from ansuel-xps20.localdomain (93-39-149-95.ip76.fastwebnet.it. [93.39.149.95]) by smtp.googlemail.com with ESMTPSA id d7sm417276edv.17.2020.11.25.18.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Nov 2020 18:12:35 -0800 (PST) From: Ansuel Smith To: Amit Kucheria Cc: Ansuel Smith , Andy Gross , Bjorn Andersson , Zhang Rui , Daniel Lezcano , Rob Herring , linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 7/8] drivers: thermal: tsens: Add support for ipq8064-tsens Date: Wed, 25 Nov 2020 18:48:24 +0100 Message-Id: <20201125174826.24462-8-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201125174826.24462-1-ansuelsmth@gmail.com> References: <20201125174826.24462-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Add support for tsens present in ipq806x SoCs based on generic msm8960 tsens driver. Signed-off-by: Ansuel Smith --- drivers/thermal/qcom/tsens.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c index 80551e17cdbe..cd89492385c7 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c @@ -1005,6 +1005,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, tsens_suspend, tsens_resume); static const struct of_device_id tsens_table[] = { { + .compatible = "qcom,ipq8064-tsens", + .data = &data_8960, + }, { .compatible = "qcom,msm8916-tsens", .data = &data_8916, }, {