Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp260472rdb; Fri, 6 Oct 2023 02:41:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHPjHhc2XNUKIqEtSxZpsoraeCyb7QplzvQC+WCr591boxCSi2ASSrQfZpdMrnMaBO5omhm X-Received: by 2002:a05:6870:7195:b0:1d5:f814:567b with SMTP id d21-20020a056870719500b001d5f814567bmr8615401oah.5.1696585270273; Fri, 06 Oct 2023 02:41:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696585270; cv=none; d=google.com; s=arc-20160816; b=JMQEaxewW6GxRJPzyLphP6V6ZdFyBuDQ0wtCoN8uOJtFiKqf2TXlWcSfa56uBahaB7 MlW0vu9SKES1W+ayEZMIvVpBO0eabUNIBRVMxr3RuZgfAOjaIs5x2QOr1IkF8jik0Kxp s3VXFvxvvRhvVDDkau0SYeFENruYOpJqskjbTxPzHXMqTk+l2bdTfGtnAng1j3I9SF+B 9d9HaHPCuJiQ/p03LZTiJ9Avh/uA8wQ8XPedV9iWux5RnZIwSiDTyiH6RI4Tzp7wp3pT ox8nzRpNC9khQODyXSnYhX8lKRuBsNwnVq42Ix95hiPkvLaUuF4Yc9WvsD95f7oIGBPb E+7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=fByIALREpuZEnX1N7Qd/juqzTHFvvIFwDWYVwVnb2cs=; fh=kdcNZYnkyZ+ZWfDO4WbeMSITNbqBTBm9j2eQc7KT0Q8=; b=K+YIYd6Tmre5fRunFAtGQxkNdVp+syAshv0tYmum84uXA0qfzYsynUUlwXwNcGFSay 3lhxpYaxtroVr4owm7t8J7cxVAEK4SifCozJj8HalOw5jP+ZgLIxK50Wl/5N+faU3iCU zODNADxH8FB+G7ERBRjXuNQAIt8pTFtHYQF/ZzLMaCfVu301JYfmmtM+rSHfUejIZJ7T th0B0xAbzF4wUvyAroJ3oDo75Ei8Tfy5rckCOePV1yvQN2yRslZmEWPOgPS8wrcZTsYz UJtojv4WDqFSIba0fq14mSi3BCNgWJUhdAFfK7M4Mrvqi2tnDm554mn6rzBiIO9MRX6O RvMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WI24N4DD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id k66-20020a632445000000b00577e00c5ffasi3356430pgk.867.2023.10.06.02.41.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 02:41:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WI24N4DD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id BA58C808EDE4; Fri, 6 Oct 2023 02:41:02 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231508AbjJFJkq (ORCPT + 99 others); Fri, 6 Oct 2023 05:40:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231373AbjJFJko (ORCPT ); Fri, 6 Oct 2023 05:40:44 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4205D9F; Fri, 6 Oct 2023 02:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696585241; x=1728121241; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=DBh81qjzYPJxlX4/+EjBm0h8lY3RyxT+qZS+GrWwc2I=; b=WI24N4DDSa7zCjIKhhjunaw8dIWImFXD45tbut2z8phPprSHN5GytB5b 8EYjXCubSY6B3E8H7jZjKKlGzdP+xY2+ht2xJZGKSFbgT93A/sHDJ2oGu BbSajsoFnkFE1h3Clj8mCzduqUobRWw6VaxdJb8z64ms9p7uA5c2rfNEZ sJ8BMDGguXRHcE80T29EVOnnH4dbsxrYaKdXV+425dNvr8K7/MEsGDunq EiKsfM4TG1QAR9GInXowJSZdsTbMSSw5M0aRxGR75GqMsEqRe9DmEhvvM ATfti2IYBzFH85swExlM0UEjd+HW7P+gNpoBA5wgeE4bzG8l6+KWSCGgL w==; X-IronPort-AV: E=McAfee;i="6600,9927,10854"; a="381000761" X-IronPort-AV: E=Sophos;i="6.03,203,1694761200"; d="scan'208";a="381000761" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Oct 2023 02:40:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10854"; a="999273973" X-IronPort-AV: E=Sophos;i="6.03,203,1694761200"; d="scan'208";a="999273973" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga006.fm.intel.com with ESMTP; 06 Oct 2023 02:40:38 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id A982E574; Fri, 6 Oct 2023 12:40:37 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij , Raag Jadav Subject: [PATCH v1 1/2] pinctrl: cherryview: Avoid duplicated I/O Date: Fri, 6 Oct 2023 12:40:32 +0300 Message-Id: <20231006094033.3082468-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Fri, 06 Oct 2023 02:41:03 -0700 (PDT) In some cases we already read the value from the register followed by a reading of it again for other purposes, but the both reads are under the lock and bits we are insterested in are not going to change (they are not volatile from HW perspective). Hence, no need to read the same registeer twice. Signed-off-by: Andy Shevchenko --- drivers/pinctrl/intel/pinctrl-cherryview.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c index f047f7bf4afb..9b9f18f50c1d 100644 --- a/drivers/pinctrl/intel/pinctrl-cherryview.c +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c @@ -612,9 +612,14 @@ static void chv_writel(struct intel_pinctrl *pctrl, unsigned int pin, unsigned i } /* When Pad Cfg is locked, driver can only change GPIOTXState or GPIORXState */ +static bool chv_pad_is_locked(u32 ctrl1) +{ + return ctrl1 & CHV_PADCTRL1_CFGLOCK; +} + static bool chv_pad_locked(struct intel_pinctrl *pctrl, unsigned int offset) { - return chv_readl(pctrl, offset, CHV_PADCTRL1) & CHV_PADCTRL1_CFGLOCK; + return chv_pad_is_locked(chv_readl(pctrl, offset, CHV_PADCTRL1)); } static void chv_pin_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s, @@ -623,13 +628,11 @@ static void chv_pin_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s, struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); unsigned long flags; u32 ctrl0, ctrl1; - bool locked; raw_spin_lock_irqsave(&chv_lock, flags); ctrl0 = chv_readl(pctrl, offset, CHV_PADCTRL0); ctrl1 = chv_readl(pctrl, offset, CHV_PADCTRL1); - locked = chv_pad_locked(pctrl, offset); raw_spin_unlock_irqrestore(&chv_lock, flags); @@ -646,7 +649,7 @@ static void chv_pin_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s, seq_printf(s, "0x%08x 0x%08x", ctrl0, ctrl1); - if (locked) + if (chv_pad_is_locked(ctrl1)) seq_puts(s, " [LOCKED]"); } -- 2.40.0.1.gaa8946217a0b