From patchwork Thu Jul 13 00:49:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 119462 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1524227vqm; Wed, 12 Jul 2023 18:26:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlEDdr04cCxtCpV3NwMptXQFyVb+0gAx2mJo6MTTBKNckQMw5PtP4Egb6Y0UGEazk1oz7/ed X-Received: by 2002:a54:4f95:0:b0:3a3:fe9b:b679 with SMTP id g21-20020a544f95000000b003a3fe9bb679mr103319oiy.48.1689211604821; Wed, 12 Jul 2023 18:26:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689211604; cv=none; d=google.com; s=arc-20160816; b=hVhZPfWW3oBMqnipJgxBG3ALvTp+fUMdh0V3Sb35LDMUdZeOzYwEzlH49DzqyakgxW If7U1nekRR3sb++kk+7vioQlbChL6DoXfzOFgQrxhlGvrENA/iqJOAap5tX36Va8SaJm +nJGVq4Q3XReEh9ZYnJcTcZDRd096eduutgBUUM/ZAJuq+EPo78jdCvl4FeDKwd+iZO6 uVZCq4LZxc+wglYIINqWjgD4NJSFb4SHcsnbRhXtL2cHe813wQZgey1d8rlrRMoJ7oKA xDwBtQsZJS6GZB6t5F+mM9JF9UaK4FrVbpb6a/DuB0A64DwrMEf54rD/Zz9Xk4SfbnBG QtGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=No7PtV7eT7RHA1wvOAL6mWh0t6GxNLiQU5mVE/r1/dk=; fh=dOxFUzZCNbe5xMYraRYkMHf2W14njpUxK2j3f3I+S7c=; b=m/dnuMDx5393U1IA5cCFRZT/TR8cIwBB6VRTFHPTbf6q+p2tzdZJQpn9fpY1Yaztx6 wg7ChJL9IOlXOk6i5MkGJC/5QP9V5aIdIv+U9gd8e0MkItRJ3ygr1BbGZbTU9aN5636E PBVgFBVb+WUJE1AFS4F0ot7J4AXQDB+V7MvxY/RNO+nRbq3A56I9K4eEdbF98ejff3oZ aUcnZzdf52zF80+P6E83MdQ95a0oChw1YlhyjDccQMvbHOyrMSxQHSvb2KfYtVFLOhFv Ki/HeU31OpAvFuGMfwtstJQ5C/Q3Vuwx98uJm3g7eyLPWJGil4hr4hycB9cJoSM9O1AB By/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Ak9P+Sug; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bs193-20020a6328ca000000b0054201a3f08dsi3877873pgb.592.2023.07.12.18.26.31; Wed, 12 Jul 2023 18:26:44 -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=@kernel.org header.s=k20201202 header.b=Ak9P+Sug; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232023AbjGMAx6 (ORCPT + 99 others); Wed, 12 Jul 2023 20:53:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233386AbjGMAxx (ORCPT ); Wed, 12 Jul 2023 20:53:53 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6AB95211F for ; Wed, 12 Jul 2023 17:53:51 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C3EC0618A6 for ; Thu, 13 Jul 2023 00:53:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64999C433CB; Thu, 13 Jul 2023 00:53:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209630; bh=9opwocm8Bxmswth6eY43OSPv8SSHNSdvl6coyj+aFLQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Ak9P+SugOsPagKIfJrMaoaw+AAFvEqKBIhHa4D2xv4HwdZBFVrIlmdNCoBf7r8HYa /CvIKdO5PWpnTozdS1X8oCXBD6qrQVXJtwcMmemre2wOXmqwQ8Rz99HuyjNFjlwq7W zSK2O4wKemExGAYc5iw2esnXQfcWpK/yimFVNRmxw76vI+IMdh2vLmIlC2MVWRCVq8 QCpBucBzBDNP6rdmg+Yh/hK/p9q1jgmVNqte1Z6+pZ+fji4ETwek3pQ6M4uiF0nCLE k3JlfC8OsLBw+bt6LXPD067CMChJbMxqh2zu09S7Ego4byc9gDl9Ew46ZQZqYr2Eyz WyBKiB97WCe0w== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:22 +0100 Subject: [PATCH 04/11] mfd: cs47l85: Update to use maple tree register cache MIME-Version: 1.0 Message-Id: <20230713-mfd-cirrus-maple-v1-4-16dacae402a8@kernel.org> References: <20230713-mfd-cirrus-maple-v1-0-16dacae402a8@kernel.org> In-Reply-To: <20230713-mfd-cirrus-maple-v1-0-16dacae402a8@kernel.org> To: Charles Keepax , Richard Fitzgerald , Lee Jones Cc: alsa-devel@alsa-project.org, patches@opensource.cirrus.com, linux-kernel@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-099c9 X-Developer-Signature: v=1; a=openpgp-sha256; l=2127; i=broonie@kernel.org; h=from:subject:message-id; bh=9opwocm8Bxmswth6eY43OSPv8SSHNSdvl6coyj+aFLQ=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sM8UI068/G7/CDS8R7s+b+JyPD/0VjEJUc1 2zJya7fnEKJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LDAAKCRAk1otyXVSH 0Do6B/4/iI5Agfo0eBLtv5QMHaMiWVLZezbwTn3XuOftiZ35oPvOCiUtMN7IenWL0iJ9EgMNnLg 78u+6+VHZohZ7ADz7cScEppK17wigN7WHjX6fT8ldDDGp8t1IOqC4Nf8GtfRTLdfz9C7rxI+e2f iMjv3Yj5EAQxjadmGLiFNZseu46V7i/gwPdsL+qqk2y4H0qE7fxBI5u8cIAxwINJu8lqQgZHcvc cHwHH60N+3pHNMNuYHgYQpB43PW8Ym5xpYuy2Ocivd08nnkCjwn+00h90OLeEo85bUglVLoPWyo KG6AVCMxFZ2E8i8IvSbKYVK5KLapLQyleYUY4ogxaLWHJWyx X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771266747746089962 X-GMAIL-MSGID: 1771266747746089962 The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the cs47l85 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/cs47l85-tables.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/cs47l85-tables.c b/drivers/mfd/cs47l85-tables.c index 270d8eda3f5f..f397894827ce 100644 --- a/drivers/mfd/cs47l85-tables.c +++ b/drivers/mfd/cs47l85-tables.c @@ -2836,7 +2836,7 @@ const struct regmap_config cs47l85_16bit_spi_regmap = { .readable_reg = cs47l85_16bit_readable_register, .volatile_reg = cs47l85_16bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, .reg_defaults = cs47l85_reg_default, .num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default), }; @@ -2853,7 +2853,7 @@ const struct regmap_config cs47l85_16bit_i2c_regmap = { .readable_reg = cs47l85_16bit_readable_register, .volatile_reg = cs47l85_16bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, .reg_defaults = cs47l85_reg_default, .num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default), }; @@ -2872,7 +2872,7 @@ const struct regmap_config cs47l85_32bit_spi_regmap = { .readable_reg = cs47l85_32bit_readable_register, .volatile_reg = cs47l85_32bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l85_32bit_spi_regmap); @@ -2888,6 +2888,6 @@ const struct regmap_config cs47l85_32bit_i2c_regmap = { .readable_reg = cs47l85_32bit_readable_register, .volatile_reg = cs47l85_32bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l85_32bit_i2c_regmap);