From patchwork Thu Jul 13 00:49:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 119465 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1524794vqm; Wed, 12 Jul 2023 18:28:25 -0700 (PDT) X-Google-Smtp-Source: APBJJlHbDmNH/zzgWFe+Li5/+TAVnYmLwxjmGIZEVLbxVJxPW99698uPPus/2Q3p/Ai3WuLSZ8+n X-Received: by 2002:a05:6358:4289:b0:134:e5e7:fb0b with SMTP id s9-20020a056358428900b00134e5e7fb0bmr810826rwc.0.1689211704715; Wed, 12 Jul 2023 18:28:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689211704; cv=none; d=google.com; s=arc-20160816; b=mix1pLQTEQ3z/S2etQugCWmRuCYQD7qEU+ExL9UddirbeHlWfE8cG7x5Cfc49lYK6Z Qw18x80uEJWTIFswkOhoRPxy2sHY3RW6xpldFJUOMOnfKplHJjuCtJPYyeZ3WGviSIg2 pNMiO3u5P6Yoy7VuKkopy9/5jkTJS8Oku2lbSUk6O2cRgel3VGMXT8sUOzXkie9U3WGq Gxld7RQzokUHyelo6wiahjRALPbGQkVgSyzMunivuvjjo0mUztcz9aqBlucB7EUZ4K0s tK3fWlUwXnh0WkilC93HlU1dTurwa5LqdkEiT4JYFzYbjHOg2td/aUMrJxxGvJT4JDU2 B9CQ== 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=jT2EcnKBM+md8l4OI7hp2LZ8ETAAq/FmqgfbeQ6y6Z8=; fh=dOxFUzZCNbe5xMYraRYkMHf2W14njpUxK2j3f3I+S7c=; b=ae+w1vIyXm9/c+3eV5pnOU8yCb5l0t99aGv11KweayX6u0RQF4z32agnSLFiyjsDuC NkPbdwjus1DmHCRBC+Y1mMi0Ux/DD9yqWQV3f3ly23G+G7F8iHXf7Z1AkICMdVXVew2V yzJraQSXpoxQutstU/9hZVNPyiBngVdImfpMr6v3NoI66UK8iVO9YY5FPeREIwd/Iq68 FTpIqMC0iSsIxlYBu6VmCuWPBFL2bytAtX8Go8zf2cOj6cgorpf0XZXdmkfP4J3iFQjm kHN9lFzmQB6KbScAE8SexUa/nY9BQ9x8JW/V62BUSGiUEEs6qhzuhtJAp2sZ0VtHXPuw mttQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fMVnflMz; 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 e2-20020a637442000000b0055c786fbccesi1141476pgn.157.2023.07.12.18.28.11; Wed, 12 Jul 2023 18:28:24 -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=fMVnflMz; 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 S232401AbjGMAxs (ORCPT + 99 others); Wed, 12 Jul 2023 20:53:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229471AbjGMAxp (ORCPT ); Wed, 12 Jul 2023 20:53:45 -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 7D82D1FFF for ; Wed, 12 Jul 2023 17:53:44 -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 1375B61904 for ; Thu, 13 Jul 2023 00:53:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FD85C433CA; Thu, 13 Jul 2023 00:53:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209623; bh=OAjUIJFRiwfH4uG3mrS4YPTvxHzJtkPKEVfSkFAYGxY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=fMVnflMz/+0lwEA05Y/rLjbNZz5aR3zyMX5BK0KAHhFRInntQ6E/lw17Pjjo2nX5/ f1Cbfr0pHjRORHd+fIXpu675iG67gp1USa97BLK7khz7hiIj3jtvmwstHJCEy22e3w 9uevOLQVfeU6QIGYtTY6qnC4AfkrBRjWAvdZ4Ed+2PX9fHi+aYMFZ4ESCx1YtRcs9X /3/SqsNE/PZy7EXYt17KRl7UjJdEomFof28f8mvFJ/tmdOxeH7mmgjKwL1M0f1Xc1G Q5H5WbACap0UUByVdZf4spQB5dr5SynWpy4GMdUJJhINF8obmoqg6o65O7hETpS7GI UNW/nCgPM8fEQ== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:19 +0100 Subject: [PATCH 01/11] mfd: cs47l15: Update to use maple tree register cache MIME-Version: 1.0 Message-Id: <20230713-mfd-cirrus-maple-v1-1-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=2135; i=broonie@kernel.org; h=from:subject:message-id; bh=OAjUIJFRiwfH4uG3mrS4YPTvxHzJtkPKEVfSkFAYGxY=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sKi5ZGHZ2vvdghsQVY8c2PTT3pwO6B1qTdQ 0/tQ1glM9aJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LCgAKCRAk1otyXVSH 0FV7B/0RPVctooWsDmg7xE1H0aGi2Wc7+Bp4qZifOhWvLKdYHKENft3Pr2fVvIHySse9jOukw+P FgUzttUPAd/4lVlBnZ3W5Lv3caKlLhRKXbsEmmCTW5Q9O4hLvJB1ohXMm55Efpm83nehUCfwYpK 8Q+eSoPTHB8Wldc/xylyWQ3CilI/nYAZ6UDR30KYIKYoPpsOBa8b/ypPqKfYfFusD61x5czzHKg XjA1dMN+6449Mh78ruQx2vO8yzf0YUzKZK/vsCrmnLLUPM7GCBJH5RBZfjHV0JJO2VD13ofcSaq 4KEZytRGzv/p8SoL+30GbfwPkgo4ZCd8XA0SEAUnFI6hEvvY 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: 1771266852246673646 X-GMAIL-MSGID: 1771266852246673646 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 cs47l15 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/cs47l15-tables.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/cs47l15-tables.c b/drivers/mfd/cs47l15-tables.c index 3c77f0a24e9b..59b005cc1e33 100644 --- a/drivers/mfd/cs47l15-tables.c +++ b/drivers/mfd/cs47l15-tables.c @@ -1249,7 +1249,7 @@ const struct regmap_config cs47l15_16bit_spi_regmap = { .readable_reg = &cs47l15_16bit_readable_register, .volatile_reg = &cs47l15_16bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, .reg_defaults = cs47l15_reg_default, .num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default), }; @@ -1264,7 +1264,7 @@ const struct regmap_config cs47l15_16bit_i2c_regmap = { .readable_reg = &cs47l15_16bit_readable_register, .volatile_reg = &cs47l15_16bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, .reg_defaults = cs47l15_reg_default, .num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default), }; @@ -1281,7 +1281,7 @@ const struct regmap_config cs47l15_32bit_spi_regmap = { .readable_reg = &cs47l15_32bit_readable_register, .volatile_reg = &cs47l15_32bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l15_32bit_spi_regmap); @@ -1295,6 +1295,6 @@ const struct regmap_config cs47l15_32bit_i2c_regmap = { .readable_reg = &cs47l15_32bit_readable_register, .volatile_reg = &cs47l15_32bit_volatile_register, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l15_32bit_i2c_regmap);