From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17E48C0015E for ; Thu, 13 Jul 2023 00:53:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232117AbjGMAxs (ORCPT ); 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 = =3D { .readable_reg =3D &cs47l15_16bit_readable_register, .volatile_reg =3D &cs47l15_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l15_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l15_reg_default), }; @@ -1264,7 +1264,7 @@ const struct regmap_config cs47l15_16bit_i2c_regmap = =3D { .readable_reg =3D &cs47l15_16bit_readable_register, .volatile_reg =3D &cs47l15_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l15_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l15_reg_default), }; @@ -1281,7 +1281,7 @@ const struct regmap_config cs47l15_32bit_spi_regmap = =3D { .readable_reg =3D &cs47l15_32bit_readable_register, .volatile_reg =3D &cs47l15_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l15_32bit_spi_regmap); =20 @@ -1295,6 +1295,6 @@ const struct regmap_config cs47l15_32bit_i2c_regmap = =3D { .readable_reg =3D &cs47l15_32bit_readable_register, .volatile_reg =3D &cs47l15_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l15_32bit_i2c_regmap); --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27ECAEB64DA for ; Thu, 13 Jul 2023 00:53:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232380AbjGMAxv (ORCPT ); Wed, 12 Jul 2023 20:53:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233372AbjGMAxr (ORCPT ); Wed, 12 Jul 2023 20:53:47 -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 B24732101 for ; Wed, 12 Jul 2023 17:53:46 -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 48066619E4 for ; Thu, 13 Jul 2023 00:53:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 064B8C433CB; Thu, 13 Jul 2023 00:53:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209625; bh=DMcBbHIWaHTbIq9ru63qI3E9fkbN5xT//N91HNaGRtQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ROFLvgG/95K1Vzvv61tkPhBFx4BcwLyxuWkepaw/umfwk90qjK/RU3bBFaDA4+4F5 bu4JpXyZRQyTJPJ7NfCE+FawMu4k3fH7UwqCdIp7lpb2o/eYQ2y9x82yQYLYxRUS/t DV+aJ60eHxvP+HDB35ONWLbiYBvTLiAim07ckPI3fupKSotXs0KMc0vhC4m1wxzw8d fsPVKsP611YjSlYI0jIH28cpMxswWYA1q7r2e6TGFoprIUB0qUeu579YT5/1EPegqU OzcNCYjtNn8iUYFfvBXx6Y1jYf5aaPhxrcOQrKsKYaYStOCzcpvX2GFqsW//c09SHP PhzZP85w58kJw== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:20 +0100 Subject: [PATCH 02/11] mfd: cs47l24: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-2-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=1134; i=broonie@kernel.org; h=from:subject:message-id; bh=DMcBbHIWaHTbIq9ru63qI3E9fkbN5xT//N91HNaGRtQ=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sLyGy1B+IlTty1iV5NhQQZdA3OWvcl8H5Wn G/JGK/Ynm2JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LCwAKCRAk1otyXVSH 0I+KB/9B/QsLxA6eB1e7qKUw8kkQsEsl2XJwSzAZjaCv97Ha0jWFXW0cR5/MyGCZDA4PUkMC2LP ZrRSdBhQbRJcBZY0xPErt79780tKWh2jgnC/Q492I0n0cUgtsNuNVeGzDGScFgT6/ynVcJxoLlE fSrN3mK25sWxMmsYRmfupHVYlPoivrglgPE99BU54nc87HIgE6I9IkmIHWbHVJcewiKr5/T/Bg3 z6AllUElH+S0C02lNq93+grbmfHYMdOeqRfaqOxTPsOl7h+LMbjDWbS78O1IN6DqDUiHV7yyXax V0HlXVIqsiAtX165jsk73K70XDUqPn8CyRu3gh4KaiK0Xsgw X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 cs47l24 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/cs47l24-tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/cs47l24-tables.c b/drivers/mfd/cs47l24-tables.c index c289d92a5c1d..878dfd298a17 100644 --- a/drivers/mfd/cs47l24-tables.c +++ b/drivers/mfd/cs47l24-tables.c @@ -1616,7 +1616,7 @@ const struct regmap_config cs47l24_spi_regmap =3D { .readable_reg =3D cs47l24_readable_register, .volatile_reg =3D cs47l24_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l24_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l24_reg_default), }; --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE46EC0015E for ; Thu, 13 Jul 2023 00:53:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233389AbjGMAxz (ORCPT ); Wed, 12 Jul 2023 20:53:55 -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 S233273AbjGMAxt (ORCPT ); Wed, 12 Jul 2023 20:53:49 -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 DFEF9210A for ; Wed, 12 Jul 2023 17:53:48 -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 705D0619F4 for ; Thu, 13 Jul 2023 00:53:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F73BC433C8; Thu, 13 Jul 2023 00:53:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209627; bh=n1mRkRxsofMbN51KpusPFOu4u+ZtWLVZsPkgoysprZA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=O9Myz43uTNCdO96Dkoe7ai/cJA9u69eu3xPz5Rwa7vTFawTNgUf37Iur6Q8JcYW/L q3H3ySyOJttJB5a8P/AEIG24JdlX3GuwlVOtxWsCrbfuS9bZFDd5rmSVcCMLbnrBty 6h+5x7SMilYrmxqV6U97EfU0rcx81N5ZkslQyrsEF0Pyj0nUtbi+FRbcC1z4kI544O Ibyzs6Bq7kytTLioN9QSQaWfVD66fXqxwkw43lKaQD+NqqjskLlMEy5EsWRyCeUtkq H3TLont3Myq57goDbtCSkP4IUBLabsKZocvvGkfF1j+uq04RoiqzHeesmKJJWSH/qy ++alQwUAt20hw== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:21 +0100 Subject: [PATCH 03/11] mfd: cs47l35: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-3-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=n1mRkRxsofMbN51KpusPFOu4u+ZtWLVZsPkgoysprZA=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sMEJDv4ZzC26fTmVQlhSonR4VXSGlV0NmHf i8q/BgHhuaJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LDAAKCRAk1otyXVSH 0BW2B/411+ysH7+FPeLiCtraOBTEIZasU1W/69G6xJT5X9q0aF0VpCvL56RiGhznM8LZqOusnxD 3lx/97Xr08FaWaa90C+xJ4z6bMzPWwvKz32+c3pHj15VnxRdG+QxPcSaMQNEzgSDQ7N0bogDiKH hh/ISLZ2d8OcHVG5n9rMWpsE0zf+RTJCIXFZg8l/WociSUq1LZ2IlauytT5jFVZ6SotGslq7gj+ jdJAM/7IX5+MKqujcWnWNFysnXzlhFAyLanNJPARfnoUTTemJNmjADHtNw6B5YLqVAuPc9ir6Qi hg+O9Frye/NWKNRf6nOy97wTot96sCdv0GB6o3y3fBFrrQo5 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 cs47l35 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/cs47l35-tables.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/cs47l35-tables.c b/drivers/mfd/cs47l35-tables.c index a0bc6c5100d6..274f4b05850a 100644 --- a/drivers/mfd/cs47l35-tables.c +++ b/drivers/mfd/cs47l35-tables.c @@ -1498,7 +1498,7 @@ const struct regmap_config cs47l35_16bit_spi_regmap = =3D { .readable_reg =3D cs47l35_16bit_readable_register, .volatile_reg =3D cs47l35_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l35_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l35_reg_default), }; @@ -1515,7 +1515,7 @@ const struct regmap_config cs47l35_16bit_i2c_regmap = =3D { .readable_reg =3D cs47l35_16bit_readable_register, .volatile_reg =3D cs47l35_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l35_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l35_reg_default), }; @@ -1534,7 +1534,7 @@ const struct regmap_config cs47l35_32bit_spi_regmap = =3D { .readable_reg =3D cs47l35_32bit_readable_register, .volatile_reg =3D cs47l35_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l35_32bit_spi_regmap); =20 @@ -1550,6 +1550,6 @@ const struct regmap_config cs47l35_32bit_i2c_regmap = =3D { .readable_reg =3D cs47l35_32bit_readable_register, .volatile_reg =3D cs47l35_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l35_32bit_i2c_regmap); --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9843EB64DD for ; Thu, 13 Jul 2023 00:53:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233197AbjGMAx6 (ORCPT ); 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 = =3D { .readable_reg =3D cs47l85_16bit_readable_register, .volatile_reg =3D cs47l85_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l85_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l85_reg_default), }; @@ -2853,7 +2853,7 @@ const struct regmap_config cs47l85_16bit_i2c_regmap = =3D { .readable_reg =3D cs47l85_16bit_readable_register, .volatile_reg =3D cs47l85_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l85_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l85_reg_default), }; @@ -2872,7 +2872,7 @@ const struct regmap_config cs47l85_32bit_spi_regmap = =3D { .readable_reg =3D cs47l85_32bit_readable_register, .volatile_reg =3D cs47l85_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l85_32bit_spi_regmap); =20 @@ -2888,6 +2888,6 @@ const struct regmap_config cs47l85_32bit_i2c_regmap = =3D { .readable_reg =3D cs47l85_32bit_readable_register, .volatile_reg =3D cs47l85_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l85_32bit_i2c_regmap); --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B576EB64DA for ; Thu, 13 Jul 2023 00:54:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232887AbjGMAyH (ORCPT ); Wed, 12 Jul 2023 20:54:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232383AbjGMAx5 (ORCPT ); Wed, 12 Jul 2023 20:53:57 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4EB7213F for ; Wed, 12 Jul 2023 17:53:53 -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 0D9CE619BD for ; Thu, 13 Jul 2023 00:53:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BB736C433CA; Thu, 13 Jul 2023 00:53:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209632; bh=0louHWS+XXVrWGr5v4QqW9jALA5BBNUAZSluJauCqd0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=eHhvNSC09sshN/TRZdq0ojEkp4yvyxSjoXySGaKfDDFT8jO73InrOeQ6il4/+sPpM DpozH+tTS88+QRG21HXsNc0R3sJL/x3+RASFUkJJ2j2sdg2ILsqXQYgiNr07y1PrDl AKaI8/nKl43yf4isn+6b77hXYi1xiq5iVP+CrMyQMML7r9jjjxknpOVYoystRG8rWe 22/NhSnbA8tfDe/rjV2Cs7Mtc+gKlVGNEpPZHAvEevxSwQNVj1T0s3qZoZrjoJUnYS D8UZdJ38P3v/iQQU5zyvcqDJXsTjgenZhg4T+A1cyGNQReZkHvkZ+rzzVkeC7oxcFs GemDoUQtYFRLQ== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:23 +0100 Subject: [PATCH 05/11] mfd: cs47l90: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-5-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=0louHWS+XXVrWGr5v4QqW9jALA5BBNUAZSluJauCqd0=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sNY5vw257sr3jpgkXKNHy/48m1h4uPbYXKl IOl8KrvhI6JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LDQAKCRAk1otyXVSH 0Nk9B/kBmk58s/KiHnGuAwEH83uyI8cL71peREwLy8yNm5+6bZndk1AlLQwcJbXTRdaH31maxRS lEkt2m7ASEmUq6xUL12Or5PpL3ZxsXpFo1M6rs2PqYg/09PzxkFTs4rt8o9nxeKiynFhreITXeQ HCO34NjJ6CCtpNcFGaY1BvTH4YQI+4pUA+C7WPwAknBiwrrMJ9eZevXaGal86CrJTBTJKXlX+L7 dbKZrXHKcfSMDVJ/6jpIjXUnfOdSq32RLBT9luEJ0fc8AZOwXQhkctjuaNR8/43XwgtvLoZvW5i g5RS+6AVhzyNJLN7j2h3y2joCxyhgHw7Q8YFEA9oJf2D3eZ3 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 cs47l90 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/cs47l90-tables.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/cs47l90-tables.c b/drivers/mfd/cs47l90-tables.c index 7345fc09c0bb..6f9ceb36c533 100644 --- a/drivers/mfd/cs47l90-tables.c +++ b/drivers/mfd/cs47l90-tables.c @@ -2539,7 +2539,7 @@ const struct regmap_config cs47l90_16bit_spi_regmap = =3D { .readable_reg =3D cs47l90_16bit_readable_register, .volatile_reg =3D cs47l90_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l90_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l90_reg_default), }; @@ -2556,7 +2556,7 @@ const struct regmap_config cs47l90_16bit_i2c_regmap = =3D { .readable_reg =3D cs47l90_16bit_readable_register, .volatile_reg =3D cs47l90_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l90_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l90_reg_default), }; @@ -2575,7 +2575,7 @@ const struct regmap_config cs47l90_32bit_spi_regmap = =3D { .readable_reg =3D cs47l90_32bit_readable_register, .volatile_reg =3D cs47l90_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l90_32bit_spi_regmap); =20 @@ -2591,6 +2591,6 @@ const struct regmap_config cs47l90_32bit_i2c_regmap = =3D { .readable_reg =3D cs47l90_32bit_readable_register, .volatile_reg =3D cs47l90_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l90_32bit_i2c_regmap); --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3452EB64DD for ; Thu, 13 Jul 2023 00:54:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233425AbjGMAyK (ORCPT ); Wed, 12 Jul 2023 20:54:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233418AbjGMAyF (ORCPT ); Wed, 12 Jul 2023 20:54:05 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E0AC2690 for ; Wed, 12 Jul 2023 17:53:55 -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 2D59561804 for ; Thu, 13 Jul 2023 00:53:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 057FFC433CB; Thu, 13 Jul 2023 00:53:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209634; bh=fh6MWW5xM6TIC1bWh50RDviYmRNKAyHpmR3q/bXKhDU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=FTuivQKQBdt9UEsyx3/KpaT+faJpV+JSsnAAwPop5YbJJYWUkWn/K4QpSk04+p20u aFcmRSQGqyVZjTwCWyj33IYTru5TLRdrcJlODIdMwZ6I/TjL+J1O7GkMrKKJkPvgvq uwJhZanwGJmFbLmMzYzWQcj6YRwcBbd0/zHNUvVWtXeA+vISR9B9fw6wTIq7b531bC Zylttd3FFis7CwFQLQvooiCj8OpOnbe/itPpz16AwdJXPh30hpA+MP55EbsYigBtpm MsMXNMzwrEUNxfnGDEgZ6h1D33Puwpj+tzgxkzKUJhZCYm8iBMM5C1LgXyecAbRjje 9iNnXxM8wR5Dg== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:24 +0100 Subject: [PATCH 06/11] mfd: cs47l92: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-6-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=fh6MWW5xM6TIC1bWh50RDviYmRNKAyHpmR3q/bXKhDU=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sON5sQREXOfKHsvrHnNJcEcMKpCwbhosYs8 g5ElL14lkWJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LDgAKCRAk1otyXVSH 0OHKB/9UmALu5xfiHKHx2GCR8b42sDK88pzDGhSp5VuvDZXe7Ow2s4KY3YVMU1Bv4cYvmbkUGRW KUoMeLFpCijKt0BSTIDlxQJqgEPpAvnyKznAmjf89d+pXiozENzEKja4Q3YITNkDsic3OtXFl2u 7fS0m6LoSLV338UYq/8AdF8w1qpBJIFdsUMgbvtEfOcA6GsshfkgzCRcHCTPsuhuqWRqXKw6qQc oo2+BkYUly/Kja62upqHODZnYo+ZQUmA+fW3+GLtH+NmIYaVJSCyv4fx1TY5/jyMRZnRbb8roVx nPG1eIIMlTkf0hOesZpPI1PDGpUk+Hywph9oBAtgwpOLzycZ X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 cs47l92 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/cs47l92-tables.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/cs47l92-tables.c b/drivers/mfd/cs47l92-tables.c index f296e355df4d..4d9ba865aaf6 100644 --- a/drivers/mfd/cs47l92-tables.c +++ b/drivers/mfd/cs47l92-tables.c @@ -1890,7 +1890,7 @@ const struct regmap_config cs47l92_16bit_spi_regmap = =3D { .readable_reg =3D &cs47l92_16bit_readable_register, .volatile_reg =3D &cs47l92_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l92_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l92_reg_default), }; @@ -1907,7 +1907,7 @@ const struct regmap_config cs47l92_16bit_i2c_regmap = =3D { .readable_reg =3D &cs47l92_16bit_readable_register, .volatile_reg =3D &cs47l92_16bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D cs47l92_reg_default, .num_reg_defaults =3D ARRAY_SIZE(cs47l92_reg_default), }; @@ -1926,7 +1926,7 @@ const struct regmap_config cs47l92_32bit_spi_regmap = =3D { .readable_reg =3D &cs47l92_32bit_readable_register, .volatile_reg =3D &cs47l92_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l92_32bit_spi_regmap); =20 @@ -1942,6 +1942,6 @@ const struct regmap_config cs47l92_32bit_i2c_regmap = =3D { .readable_reg =3D &cs47l92_32bit_readable_register, .volatile_reg =3D &cs47l92_32bit_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, }; EXPORT_SYMBOL_GPL(cs47l92_32bit_i2c_regmap); --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C264AEB64DA for ; Thu, 13 Jul 2023 00:54:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232359AbjGMAyU (ORCPT ); Wed, 12 Jul 2023 20:54:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233416AbjGMAyJ (ORCPT ); Wed, 12 Jul 2023 20:54:09 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F2002123 for ; Wed, 12 Jul 2023 17:53:58 -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 73506619F2 for ; Thu, 13 Jul 2023 00:53:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A8EBC433CD; Thu, 13 Jul 2023 00:53:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209636; bh=95pu5KtU1qvko6ANn17Zzddb4bi+7mdKGglwZE81sFk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=IRp7m2DAOLJTEcnzK5Q7PLljnm2417bbQK7brDkNKV0eis+MfNuPpBq3luiBOInae 1K7VtbVwChNrtZldcPbRLIYmMYCDANlm5ZabBmHwA2QxjCyzts7NdS+GaM8/Dpnhi+ L5WZs3D0ZhEsKr8E7tqCoJYjq+p0SX/y1yD+SglBdrmy5s67OdYfjJsY7ZpIO04749 8Z48UQSIxxPQa8MSlVUieb0CPulc4cFFSBL+0rFFu22I1XMmgD+2Lywh/XNcnt5dL+ xYtKCd7bW+kvhW/KFMbEjOXAOrer1LztBB+9ZcvxnPOWGVxEi+hIzjU0ac/LrNAo54 PzWBOKaZvK/ag== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:25 +0100 Subject: [PATCH 07/11] mfd: wm5102: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-7-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=1123; i=broonie@kernel.org; h=from:subject:message-id; bh=95pu5KtU1qvko6ANn17Zzddb4bi+7mdKGglwZE81sFk=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sPblkrzYbrwYToT5l1Ba2l7wQxPCc32XIwt uXq7i7TFS6JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LDwAKCRAk1otyXVSH 0CiGB/9fyppNpRfbFJ2O74l9AFTriTVFkczyDHpjyA0MYh6Lc5aOB9TmQ9UprTUK68onBvIERdi wFM6L0LVs0/Wfo6R7dH1BW6dSlXqNvvREln3b/bXbQqN0nNbEUyjVSpeuI3wT89XqUUV4x2Mxhd mf+a1D1EnmU2qO788dEs/RYbPS8w7W3CLNxu4k5VhvqIVyiCpdFS8JlRzooCNO2Ca7rD7YY72oP HJOTTBuk5epV9fMbpq49hxMIqAMYyO7wn3rUzgjYcC+6rlWYLBN+FXogyKPQkborm6CfXpZtnw3 EjQk/nNlggKuLfeHCi/Qdo/I94CR7zb1sC7LeWPgKQvB52xX X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 wm5102 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/wm5102-tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c index 6bba39657991..f77ecc635b6f 100644 --- a/drivers/mfd/wm5102-tables.c +++ b/drivers/mfd/wm5102-tables.c @@ -1938,7 +1938,7 @@ const struct regmap_config wm5102_i2c_regmap =3D { .readable_reg =3D wm5102_readable_register, .volatile_reg =3D wm5102_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D wm5102_reg_default, .num_reg_defaults =3D ARRAY_SIZE(wm5102_reg_default), }; --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ACB6C0015E for ; Thu, 13 Jul 2023 00:54:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233416AbjGMAyY (ORCPT ); Wed, 12 Jul 2023 20:54:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48492 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233273AbjGMAyO (ORCPT ); Wed, 12 Jul 2023 20:54:14 -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 C2F852709 for ; Wed, 12 Jul 2023 17:54:00 -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 A8484619EC for ; Thu, 13 Jul 2023 00:53:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67001C433C8; Thu, 13 Jul 2023 00:53:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209639; bh=4xCyosK5hPNwehtDaNrTf/Y8gMcOBjAwl62LZXcJO2k=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=pSkjhgImx+SaRhrDL82JHZ6UnXod1X3YmYRn45w9oGQgn9Extnkav5IsHqNWbSzy7 ScwQSFhloyQRWAlIykv073UWQQqwVF6MLtRvUA+xKdyj9jMfd4aAq+eGCBh/EohZsP Dk3PksxGem3QhDZzxVXBgyNFpK1TSiOAKJADaiKhOk4q/QUr4z40RmLIlqxRJtUWe/ Mo51nn7fpeWlg/IxQEQYbxMVRMQrC3lpq9t9JMe+jT6ihfQus1a0RwrOj7YRiDPmEF jN6wpw30eMKaL79A6s9+fk8QAieP2PGlfEzajy9UbyRzBxowQBbfpV2CsW7dw0clMT HA0ILUy3wlZbg== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:26 +0100 Subject: [PATCH 08/11] mfd: wm5110: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-8-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=1123; i=broonie@kernel.org; h=from:subject:message-id; bh=4xCyosK5hPNwehtDaNrTf/Y8gMcOBjAwl62LZXcJO2k=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sQ6b19gj1t3pk+IspVD63ACwUKmce+gW+3J fVQOh697P+JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LEAAKCRAk1otyXVSH 0FoECACGXALSQaWFQAnJ0GizEuUj7FSKDd7D6pHsgjYAqoKb7eaoSlzGKd5EgQcCwrFup4UB2St MDE2EPWQfIRPszMNUzZHPqVZI52AedurNdmwu1olUyR+QMHJXKYqBgScjgMZIguDv8195eJCZnp Ril2f8nSFPL5sgFaDLjvIPSJhDhKRD97w/lTTOPuylJ4oVzo8BHDACN13jPFtoxGVChmWLftrBa NExSO5w5VkWIND6zBvpiGM18YU6pbjWOJJg+eWUmXN5QFonj+qlRgmpmSYXf/Uh38py14OZObxd otVyxuRLhmraYFSZrS2Mnkh/s8/ryhqsLmFiq94WRrUB6X+2 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 wm5110 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/wm5110-tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c index 65b9b1d6daec..eba324875afd 100644 --- a/drivers/mfd/wm5110-tables.c +++ b/drivers/mfd/wm5110-tables.c @@ -3218,7 +3218,7 @@ const struct regmap_config wm5110_i2c_regmap =3D { .readable_reg =3D wm5110_readable_register, .volatile_reg =3D wm5110_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D wm5110_reg_default, .num_reg_defaults =3D ARRAY_SIZE(wm5110_reg_default), }; --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3567EB64DA for ; Thu, 13 Jul 2023 00:54:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232342AbjGMAyb (ORCPT ); Wed, 12 Jul 2023 20:54:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48434 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233263AbjGMAyV (ORCPT ); Wed, 12 Jul 2023 20:54:21 -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 6CE3B2722 for ; Wed, 12 Jul 2023 17:54:02 -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 CE1E061A01 for ; Thu, 13 Jul 2023 00:54:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7B57C433CB; Thu, 13 Jul 2023 00:53:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209641; bh=bgb4zzrORARsttsVydsHYK2GR/dBIf7Y05nOGfBm76Q=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=E3L0NFRriB2e+qQymmmDygbgT2zGzhTC3pL6IYAPKSSLS6NGAFgy7noyB5qJQSF6I dt9nfEXeWjxZr76nkTjbCfMzozZdGCDN11G3Cpokycjw3Aw8NtJQ/Lo0WUvCqDWpZG 8cXNShcC6vK7tOX+5jEIlYvNUw7nyLDchkKI5yaAtrLsKdgrzjrFCcL5jj9mAWv0h4 NBdf5LAuqR6uGYJMvKXw5FELQ0XsYx1H2PtypWqtevBzFNE+rA+72xGiBfYGVRJp2M rIYvRN8cmkiSW6T1hDICEAKq6A7s9Wb8utUD/IOJPgv7WbGx023NvbXurHa/OLTjPZ O6Q++DhhpAA2A== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:27 +0100 Subject: [PATCH 09/11] mfd: wm8994: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-9-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=1602; i=broonie@kernel.org; h=from:subject:message-id; bh=bgb4zzrORARsttsVydsHYK2GR/dBIf7Y05nOGfBm76Q=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sQP16X+5LO03wDeyBuSFRWgtqyxe/bYiSDo bVKlVemph6JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LEAAKCRAk1otyXVSH 0JzQB/95CWvUzhmhz2JVDo4P8KEtrsoRWkifqnHg3s2q32MLacOQJgC+/ci/oNb1TcgNNzbU8hj 8MYoK+h+RW/L0QofLHS+dip/p/hORXSRo4/oGzIDhSnWm/iA9eLZ/TX//qZxxuloyH0lEgUVIdh QLtOVJXJd9SPkWCCDOMp04X8erf7UDTBU2hVPnopZWrjv5B/SqnnGL8N/prP6S68vgVBx9EMkhL 7jVNmiyroCbtWQE1JBF0CByz8Q1nz/WaE0jf1Kwv58Chkpd0PXRUAuPwzov6W9n4QN+EVQ0EAp3 +ZhcjmSYEniPU8RoG5jZtEBhgBhxGf5H5dzyhcLEflJ1gmLA X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 wm8994 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/wm8994-regmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/wm8994-regmap.c b/drivers/mfd/wm8994-regmap.c index cd4fef7df336..ee2ed6773afd 100644 --- a/drivers/mfd/wm8994-regmap.c +++ b/drivers/mfd/wm8994-regmap.c @@ -1238,7 +1238,7 @@ struct regmap_config wm1811_regmap_config =3D { .reg_bits =3D 16, .val_bits =3D 16, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, =20 .reg_defaults =3D wm1811_defaults, .num_reg_defaults =3D ARRAY_SIZE(wm1811_defaults), @@ -1253,7 +1253,7 @@ struct regmap_config wm8994_regmap_config =3D { .reg_bits =3D 16, .val_bits =3D 16, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, =20 .reg_defaults =3D wm8994_defaults, .num_reg_defaults =3D ARRAY_SIZE(wm8994_defaults), @@ -1268,7 +1268,7 @@ struct regmap_config wm8958_regmap_config =3D { .reg_bits =3D 16, .val_bits =3D 16, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, =20 .reg_defaults =3D wm8958_defaults, .num_reg_defaults =3D ARRAY_SIZE(wm8958_defaults), --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6F0CC0015E for ; Thu, 13 Jul 2023 00:54:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232818AbjGMAyd (ORCPT ); Wed, 12 Jul 2023 20:54:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233343AbjGMAy0 (ORCPT ); Wed, 12 Jul 2023 20:54:26 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CFE7210C for ; Wed, 12 Jul 2023 17:54:04 -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 1C0EC619E5 for ; Thu, 13 Jul 2023 00:54:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC111C433C8; Thu, 13 Jul 2023 00:54:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209643; bh=LxhvrFeL+Gpj7Qmr5b/IyGJ+AVzm6I0kUVJo1JuCt7I=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=HJaW3QnwWRiD1OoF8dkDIqNT6oKTmaV2TSAJ3iwONv84fDV/8wNFx4MrKj+vBglmr PUZCc3lPEwCqN8scn9UjLU+kyuturhN1H/0YWLWECxWr9pfiAJaGbbelKS5xnfOtwD TQ8SdVZevWBg7vB4uSevcGKeaaN4Qy059quTviboUHHFDqTw8Z6LVinHFYoi5fWly2 5dg20ug43Ow0hx7/QXScCQHGQ4j/tCvMdjwIPOC3z17CahIXym81ilbplL9SIGkTsu NvULdvEp9uNJANusMS8cyM1gMArJrY7vTrEVdiOI0tfmctuiBEIOw6c9Lcdkg+AuZ6 y4rmY0IpgzfQA== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:28 +0100 Subject: [PATCH 10/11] mfd: wm8997: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-10-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=1123; i=broonie@kernel.org; h=from:subject:message-id; bh=LxhvrFeL+Gpj7Qmr5b/IyGJ+AVzm6I0kUVJo1JuCt7I=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sRpxscLPqDJrncFL/Ygn/56QtMhdNUuMBPM 6rHWS3o3CWJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LEQAKCRAk1otyXVSH 0KleCACEKH56FWa5rh+8+iXB+UL4K0XsQ7SW5jwr5jsail8gfJoGulRImulX7o3XtO61b0lvGYA eSmpKsHADfZE3X4czRuTzo+rZt3qqdew/bT6k9x22SyG/6MyMvH6+9A3dzM2LfSt2k1f44m+v2b oaiT/Vc1gX7u7CvjJKFfM278apwzkslv+j4tjBPU75ZaB35RC8OGWL/m2rPxEVXrRg+O/YGAgHR FKSNBtyF0LqtInBnlW+F0qRQQ8c7wzcg8+uL34sx1R/Q8HSK+Iza26UYOwooi6SpyUSqD4r5ioS dJFpqlsg9M20odrLblmdI6HuTChLGcWw9HBcc6WTAtZIF7/o X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 wm8997 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/wm8997-tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/wm8997-tables.c b/drivers/mfd/wm8997-tables.c index 3476787c485e..288c57b2d21e 100644 --- a/drivers/mfd/wm8997-tables.c +++ b/drivers/mfd/wm8997-tables.c @@ -1523,7 +1523,7 @@ const struct regmap_config wm8997_i2c_regmap =3D { .readable_reg =3D wm8997_readable_register, .volatile_reg =3D wm8997_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D wm8997_reg_default, .num_reg_defaults =3D ARRAY_SIZE(wm8997_reg_default), }; --=20 2.39.2 From nobody Sun Feb 8 04:12:27 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDB0DEB64DA for ; Thu, 13 Jul 2023 00:54:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232608AbjGMAyt (ORCPT ); Wed, 12 Jul 2023 20:54:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231758AbjGMAyl (ORCPT ); Wed, 12 Jul 2023 20:54:41 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7F3B2690 for ; Wed, 12 Jul 2023 17:54:14 -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 6D6FD61804 for ; Thu, 13 Jul 2023 00:54:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 146BEC433CB; Thu, 13 Jul 2023 00:54:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689209645; bh=NAAL9Cd9YIcAIGI/oTRPpfPZFpmQ19Yext7FFN1qesA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=rTxrrlNQwSPOsr3rE+iaR5ktgDSR23dH3280v54wKWZJPXAZVIZ1uWcH3ipkLka7N idnpD2oVbx1/robP18bOr6kjLK0DeAr/rZ58/1WyqtCiOlFMgrPdUkWJJPSqh8+ABq 1Q+t3S09bz8sjd6ZpJ40ExrOIRRqZoOEUhg9uFo5VnEOOJ6wBdDbh0ofRBaOEV9q16 qf+W7FQNzzeP/m0PtUnKj5f/+/TgOCZfVXCqH4OH6Aa9UIAc4+0ro6ix/YbT7abR4B mDV7vp1pzUlCZK9y+iMRvpSKdQ5OgIFpDF+TGFCMMuZCvdKAETsp6ej+MLy4lo2NAL FyDCjo/c/pe5A== From: Mark Brown Date: Thu, 13 Jul 2023 01:49:29 +0100 Subject: [PATCH 11/11] mfd: wm8998: Update to use maple tree register cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230713-mfd-cirrus-maple-v1-11-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=1123; i=broonie@kernel.org; h=from:subject:message-id; bh=NAAL9Cd9YIcAIGI/oTRPpfPZFpmQ19Yext7FFN1qesA=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBkr0sSUK6GUm1SA77YVeouv1BM9WH7FnHOBije/ VO+P9nAOViJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZK9LEgAKCRAk1otyXVSH 0ME2B/sECtbivU8s3ZNLb/6jhWEvB13cx5Gyq8KBtvp73i4sPYrPWiizG3LkwnvUBCnnzZdjaam QPU0ERspR6MlM3Ekk3B2WsicAPAT/jokxi/CJ7lwcVZ3HkwJYRSJXvVJLHKXnM7X+mBN7u8CkNx re13PMjpK7OQUpmWbqLTHloL5U2duhYJ0qGwAiAAQRhCm24sygRteeD3VBx8ZZ45jO9xR9Hp5aV RjZQ9i4gsTXQqsoJzgv9GWZyvsZzkiYdb/JEzlHST9G3XRIlFErz0naMfD8M7fUT5kU3M+1rAFG 8203RJ7yo8wR6TwXXhU19MFPkiwsTPeLj2bJV3aJMHAaM8Uy X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 wm8998 driver to use the more modern data structure. Signed-off-by: Mark Brown --- drivers/mfd/wm8998-tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/wm8998-tables.c b/drivers/mfd/wm8998-tables.c index 9b34a6d76094..b3e6e85bee89 100644 --- a/drivers/mfd/wm8998-tables.c +++ b/drivers/mfd/wm8998-tables.c @@ -1556,7 +1556,7 @@ const struct regmap_config wm8998_i2c_regmap =3D { .readable_reg =3D wm8998_readable_register, .volatile_reg =3D wm8998_volatile_register, =20 - .cache_type =3D REGCACHE_RBTREE, + .cache_type =3D REGCACHE_MAPLE, .reg_defaults =3D wm8998_reg_default, .num_reg_defaults =3D ARRAY_SIZE(wm8998_reg_default), }; --=20 2.39.2