Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp396828rwe; Wed, 31 Aug 2022 04:55:16 -0700 (PDT) X-Google-Smtp-Source: AA6agR5GxmZK95iTnwp0KMTLPAz+eYF2DY5MI4tVyaf1TuMhABdzP+XgA08RlOTkUCEEjlzs1T7X X-Received: by 2002:a63:1921:0:b0:42b:6eb3:bce5 with SMTP id z33-20020a631921000000b0042b6eb3bce5mr22235472pgl.231.1661946916554; Wed, 31 Aug 2022 04:55:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661946916; cv=none; d=google.com; s=arc-20160816; b=VcD2BpPt5/GzWfjSKcDODgQLjJVzkLjV54jcYxN/oi23JW5qr3FMqV9vYAKD8Mvuwb yQG0IF5Fo1gnNa7jLBjDbHGQhOficS00tgKE3o6qcVuoG8ISsV4uZ5v+pxapkgH8t8fH Rto9a1SGK3vs0Z1v9FzRi0vGlCLE72k7qJ6Qx1R1XRQXYHY8fnKUS+hOlKyedAapRa7Y lat17HQboaIN5R92tMdM9Wbr+78b1dG9Kuq9CHSjX6BA/bJylJTDMIJMRkBZ7lSlithe VCQFjKFAwSQh1u48IFmWtFrJrnOg/9U+wiOrDurA+SSE7aXNWP2wZA31VRdbNe8onQYG MaGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:subject :from:references:cc:to:content-language:user-agent:mime-version:date :message-id:sender:dkim-signature; bh=kptEBsuKB5XrQ+zQWfXmJuaA8+ARn4KY6rJu7bkvlfs=; b=AVN448XyBNGTp0vTVU52DaHppsNvgms7V2LSYMJ0MM1SH63P0/EZrPcXGhZdxPX5zL ykefnliQgL0eD620kCIOO4h0ckKxVa5g7fem96XepkmnxDe50/qeMrcJQdAu+QyfKAZZ u2h/nLeNFsQiwSYwlNsTrstChG5PYdmCklicqJ1Z1GvMU02TbxHXDg7gpnoyRdzLSrpT +FMAMswKAMCUokTa9y8lu/M1LwuwLWlVNrAn5MsXrFPfc50CKkKwluEvJlgNcpWDCQIu d19BcfhjTd+CHaYIkZRKXNudVGZQNj4FHcNRZdA4CccW5ekswHZCF7n5nU+WQQZul+Zs g2mQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Bc4bPumD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z4-20020a170902834400b0016c474690cfsi13320021pln.318.2022.08.31.04.55.04; Wed, 31 Aug 2022 04:55:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Bc4bPumD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230355AbiHaLst (ORCPT + 99 others); Wed, 31 Aug 2022 07:48:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229732AbiHaLsq (ORCPT ); Wed, 31 Aug 2022 07:48:46 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C035CC31D; Wed, 31 Aug 2022 04:48:45 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id f24so11138551plr.1; Wed, 31 Aug 2022 04:48:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to :content-language:user-agent:mime-version:date:message-id:sender :from:to:cc; bh=kptEBsuKB5XrQ+zQWfXmJuaA8+ARn4KY6rJu7bkvlfs=; b=Bc4bPumDth4o4rU0fJGGxGJydnvEIbHxT6yHZp05HCEyPRA0CuXgjyJlI+KzcjsAMA XESBXtZPXJqWDAY/lT+YE4G3ZQIdT8bvOJ13wVGXKlwIq0s8Ke9uVRA9xZkv2g+bZXDc 0RhXxPV17aWnulpZnu86j97gL17kVqP904ts+icbse00ramgRgDJ9J0E3T4xiKgaEPC+ /WSrf4tVTNK/tiBnSu5GzbReZinZHL5n9/ZUWLSl3EU6ln/qH/1p0sJqGZdTSoY31NYk BEagfJhxMGXAwWOIFwFSsKU7smCeMYuJgPp4XM1Kgvath1WshSU0aZWaUvT7kHuuh4P4 nuEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to :content-language:user-agent:mime-version:date:message-id:sender :x-gm-message-state:from:to:cc; bh=kptEBsuKB5XrQ+zQWfXmJuaA8+ARn4KY6rJu7bkvlfs=; b=xt0KBjuQ05mev0PmmWfbNX5G06sOIEqZqFTKgW1syxNK3/Vu3m4rNbFokb+EAc0xOV Cu4fK7QOgIa6O/VdvCgBonDm1vF8xa5Hmqt/4RL7WqUhhhoWvjPEgwNsIptAUfeHFQuR kiTn4te+vAa0x2mkNtRcJuGL7fCKHMvSx/jxaWU6qmBti6Q1HG0ANe++kUTi6VmtxzVT D6JqoH0B4Njbewxjy78MjvnTWqVcRzm2zwcqydpFQz5Vsrk4nV2YrOFIkKmA6i+3+A9e nxt1KUsD+VHIeickM/fpsln/ih0P+sFWzRvoi3p5RfR8zeNp3g11ysHLxHfnBdOB9M+W JITA== X-Gm-Message-State: ACgBeo37E03F2bmJ8BcM3xxsUAfkzVrryIiMQ1463rY6GJd9cOTTDMar Txr6daYpcNswMg6Ft8OBSG4= X-Received: by 2002:a17:90a:4607:b0:1fa:f794:2c0d with SMTP id w7-20020a17090a460700b001faf7942c0dmr3014956pjg.24.1661946524757; Wed, 31 Aug 2022 04:48:44 -0700 (PDT) Received: from ?IPV6:2600:1700:e321:62f0:329c:23ff:fee3:9d7c? ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id p1-20020a17090a348100b001faa4a6691asm1141654pjb.30.2022.08.31.04.48.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 31 Aug 2022 04:48:43 -0700 (PDT) Sender: Guenter Roeck Message-ID: <71d6d57c-2165-5fe3-515d-9395022921e2@roeck-us.net> Date: Wed, 31 Aug 2022 04:48:40 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US To: "Farber, Eliav" , jdelvare@suse.com, robh+dt@kernel.org, p.zabel@pengutronix.de, rtanwar@maxlinear.com, linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: talel@amazon.com, hhhawa@amazon.com, jonnyc@amazon.com, hanochu@amazon.com, ronenk@amazon.com, itamark@amazon.com, shellykz@amazon.com, shorer@amazon.com, amitlavi@amazon.com, almogbs@amazon.com, dkl@amazon.com, andriy.shevchenko@intel.com References: <20220830192212.28570-1-farbere@amazon.com> <20220830192212.28570-3-farbere@amazon.com> <84a68eff-be64-71ce-1533-1e228d3da2a4@amazon.com> From: Guenter Roeck Subject: Re: [PATCH v3 02/19] hwmon: (mr75203) fix VM sensor allocation when "intel, vm-map" not defined In-Reply-To: <84a68eff-be64-71ce-1533-1e228d3da2a4@amazon.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/30/22 22:49, Farber, Eliav wrote: > On 8/31/2022 8:36 AM, Guenter Roeck wrote: >> On 8/30/22 12:21, Eliav Farber wrote: >>> Bug fix - in case "intel,vm-map" is missing in device-tree ,'num' is set >>> to 0, and no voltage channel infos are allocated. >>> >>> Signed-off-by: Eliav Farber >>> --- >>>   drivers/hwmon/mr75203.c | 28 ++++++++++++---------------- >>>   1 file changed, 12 insertions(+), 16 deletions(-) >>> >>> diff --git a/drivers/hwmon/mr75203.c b/drivers/hwmon/mr75203.c >>> index 046523d47c29..0e29877a1a9c 100644 >>> --- a/drivers/hwmon/mr75203.c >>> +++ b/drivers/hwmon/mr75203.c >>> @@ -580,8 +580,6 @@ static int mr75203_probe(struct platform_device *pdev) >>>       } >>> >>>       if (vm_num) { >>> -             u32 num = vm_num; >>> - >>>               ret = pvt_get_regmap(pdev, "vm", pvt); >>>               if (ret) >>>                       return ret; >>> @@ -594,30 +592,28 @@ static int mr75203_probe(struct platform_device *pdev) >>>               ret = device_property_read_u8_array(dev, "intel,vm-map", >>> pvt->vm_idx, vm_num); >>>               if (ret) { >>> -                     num = 0; >>> +                     /* >>> +                      * Incase intel,vm-map property is not defined, we >>> +                      * assume incremental channel numbers. >>> +                      */ >>> +                     for (i = 0; i < vm_num; i++) >>> +                             pvt->vm_idx[i] = i; >>>               } else { >>>                       for (i = 0; i < vm_num; i++) >>>                               if (pvt->vm_idx[i] >= vm_num || >>> -                                 pvt->vm_idx[i] == 0xff) { >>> -                                     num = i; >>> +                                 pvt->vm_idx[i] == 0xff) >>>                                       break; >> >> So all vm_idx values from 0x00 to 0xfe would be acceptable ? >> Does the chip really have that many registers (0x200 + 0x40 + 0x200 * 0xfe) ? >> Is that documented somewhere ? > According to the code vm_num is limited to 32 because the mask is > only 5 bits: > > #define VM_NUM_MSK    GENMASK(20, 16) > #define VM_NUM_SFT    16 > vm_num = (val & VM_NUM_MSK) >> VM_NUM_SFT; > > In practice according to the data sheet I have: > 0 <= VM instances <= 8 > Sorry, my bad. I misread the patch and thought the first part of the if statement was removed. Anyway, what is the difference between specifying an vm_idx value of 0xff and not specifying anything ? Or, in other words, taking the dt example, the difference between intel,vm-map = [03 01 04 ff ff]; and intel,vm-map = [03 01 04]; Thanks, Guenter