From patchwork Tue Jul 2 13:51:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 13719691 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DAD91C30658 for ; Tue, 2 Jul 2024 13:52:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 762E06B00CE; Tue, 2 Jul 2024 09:52:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 711D56B00CF; Tue, 2 Jul 2024 09:52:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 58A846B00D0; Tue, 2 Jul 2024 09:52:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3A62E6B00CE for ; Tue, 2 Jul 2024 09:52:36 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E7A131601AB for ; Tue, 2 Jul 2024 13:52:35 +0000 (UTC) X-FDA: 82294952670.22.C02F323 Received: from pegase1.c-s.fr (pegase1.c-s.fr [93.17.236.30]) by imf27.hostedemail.com (Postfix) with ESMTP id 94E6040013 for ; Tue, 2 Jul 2024 13:52:33 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=none; spf=pass (imf27.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.236.30 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719928343; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GUwsHog4uuWwb0OErwYz1eYxTd3EDOsz1QgWZ06a0N0=; b=skj4MbEsE0n5Xv1POQB9SMWBxdHxKOqUsP3rmJ11kIejpQ0x62FaYvosPBulQR0TBVOTEN WC93R9NCaTGUXR3HLMGku/dk/MN+BWF9mQ5HXGANKRchesySLp4zu2aCV6ETF8s/ZddhYU hXLpNdkIbhX/LrmZzr45tPQBXB8Uctg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; spf=pass (imf27.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.236.30 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719928343; a=rsa-sha256; cv=none; b=IhN76KGmf29SEWZk76cdFnHb6XEP+QUuD9ufc0am3qQVnnBdE5hWTSQK3YFjsfoGYOMnp6 hWWbuciLPBWhwbh/zML2t4ynhu17H/qjY0LoM7PXUCB3ERrC+jLYbP55Bb6vZ58bsU6/2y jqzD3ZarnKUnqBc2LoMS5zOiRaNyH9I= Received: from localhost (mailhub3.si.c-s.fr [192.168.12.233]) by localhost (Postfix) with ESMTP id 4WD48D0xTmz9v86; Tue, 2 Jul 2024 15:51:40 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9B-ocB9gqIgs; Tue, 2 Jul 2024 15:51:40 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4WD4852k4Vz9v4N; Tue, 2 Jul 2024 15:51:33 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 588358B775; Tue, 2 Jul 2024 15:51:33 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id lNIOyt1GS2mJ; Tue, 2 Jul 2024 15:51:33 +0200 (CEST) Received: from PO20335.idsi0.si.c-s.fr (unknown [192.168.233.12]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 903A18B764; Tue, 2 Jul 2024 15:51:32 +0200 (CEST) From: Christophe Leroy To: Andrew Morton , Jason Gunthorpe , Peter Xu , Oscar Salvador , Michael Ellerman , Nicholas Piggin Cc: Christophe Leroy , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v7 15/23] powerpc/e500: Remove enc and ind fields from struct mmu_psize_def Date: Tue, 2 Jul 2024 15:51:27 +0200 Message-ID: X-Mailer: git-send-email 2.44.0 In-Reply-To: References: MIME-Version: 1.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1719928275; l=3777; i=christophe.leroy@csgroup.eu; s=20211009; h=from:subject:message-id; bh=GvUuKmINqllZ54PyQ+lDpy16CYLzBdm/Cr1rg49spF8=; b=Hq6AokvcEQX3KXHKd1MjTChdvR3DS0zwpXsD9x0ejqMg2bkdbI+1N7nb2He8rvXKXUn5mV0a7 sanxVNVG2jzCW4FrWfzM4A943aYO0AI9wKWCW6tI/sfYPbWjUOG8xwR X-Developer-Key: i=christophe.leroy@csgroup.eu; a=ed25519; pk=HIzTzUj91asvincQGOFx6+ZF5AoUuP9GdOtQChs7Mm0= X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 94E6040013 X-Stat-Signature: 9iwu1sorjh4adtdbuzj1yjmka8b85t8b X-HE-Tag: 1719928353-365525 X-HE-Meta: U2FsdGVkX19nNdfwBbk3SYqFHLcPBx7a9jaWdAZlAVASBQQGwqNIf4Uq90hSi7/vuaYCkY0wblXxm4Z2pwfSYaWw7Q8nLKk9l03zb1AiVHQIv3CFq+csfsM6uT2Ak3epFspBIIBV6+MY/H4JA77QUDsFU0u+EQn3kZwrPp4codr+mB8u1TziSiTecqucqY360wV/TJekkbgkzKjOpHkNCiLmYSupXl6/ZUglBP22DGnO/VmHkCj2MdLgxWPOYQBl8Pc2eUgHtlnR6bt2R6fohdNnHpPZO7fjvcKmJyPcHi7osp8FQryVMOiUxwjGsL9eHgvbgtZQr50d1DstEmfwQGgb1Omh0bM27yTnzb1eD/d/rp5uXMNQTe7vE4e+FUyjATch10WUFo2H5kiy+hV3wCc9hjHqAqjLmZEe4nPLG7nn+WQELeo1sYTUt6Jl3mTEC3r639pUfBn2i4wRVDxjpavxIjZIG9h48hgI0F8UGljgZBd/fjLKI7pX1mpyHDXEvdL8wIrFf3fJTU5JQYQIbzSWd3zcjkXTvrchs4ol7jHJ/DrjDRUPKzTd9oc7QM2qZPp+oJaHz+XapjDpjbLWJYOdXUpXtkHR8i8iMytGnvYIAJjDDcueEEDwXIaGFkDzElEhiBJLU/VqKDZhsukNpTvY4wxTgTcM71hIBSUyp9GeUGj/E8Ww0EWwiWcdNvA2X6kgVvkBYHPcD2LbvsI2PnsCH3oR+wMXz+CDo+Tnq/+E2xbUm0cjRVOKu46ACFv18N+KFAY4TnrVxTp1631Td69iHmJHQwTYyfsGYPUSjx6wMqXEWveVWp65R3CwGlhGVBSHYXev/U+6Vn2Tqr6sxMxQvVPXI/mDPbI70wzt0dZQzuCpge505bw9FaVOroaFKk7kBr/iDKXR8kwN0lK/qosCRbWz5DwvC8GsFndaz1Z+eGfmhn0zn/1Bk2vFU3Wu07xjZh6i7go/vjS5ANY y8bMnUFc PUCVxtUdXGKhqPvxYBCedF4vpIduTcZMm7g8AtmJde4FGbKWOFRz0ET1llIZy+Tmsr9nRSCboO8SYBe2mtCu+8QpBEEYIny04/seogHpYFAI4ta4C8sSJrDfv8aggBzW36uzskExEoFAyW1JGjU3hms/Q4aInhJIgFN4BUUPIOb2XkZqjQ68cYBEXiw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: enc field is hidden behind BOOK3E_PAGESZ_XX macros, and when you look closer you realise that this field is nothing else than the value of shift minus ten. So remove enc field and calculate tsize from shift field. Also remove inc field which is unused. Signed-off-by: Christophe Leroy Reviewed-by: Oscar Salvador --- arch/powerpc/include/asm/nohash/mmu-e500.h | 3 --- arch/powerpc/mm/nohash/book3e_pgtable.c | 4 ++-- arch/powerpc/mm/nohash/tlb.c | 9 +-------- arch/powerpc/mm/nohash/tlb_64e.c | 2 +- 4 files changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/powerpc/include/asm/nohash/mmu-e500.h b/arch/powerpc/include/asm/nohash/mmu-e500.h index 7dc24b8632d7..b281d9eeaf1e 100644 --- a/arch/powerpc/include/asm/nohash/mmu-e500.h +++ b/arch/powerpc/include/asm/nohash/mmu-e500.h @@ -244,14 +244,11 @@ typedef struct { /* Page size definitions, common between 32 and 64-bit * * shift : is the "PAGE_SHIFT" value for that page size - * penc : is the pte encoding mask * */ struct mmu_psize_def { unsigned int shift; /* number of bits */ - unsigned int enc; /* PTE encoding */ - unsigned int ind; /* Corresponding indirect page size shift */ unsigned int flags; #define MMU_PAGE_SIZE_DIRECT 0x1 /* Supported as a direct size */ #define MMU_PAGE_SIZE_INDIRECT 0x2 /* Supported as an indirect size */ diff --git a/arch/powerpc/mm/nohash/book3e_pgtable.c b/arch/powerpc/mm/nohash/book3e_pgtable.c index 1c5e4ecbebeb..ad2a7c26f2a0 100644 --- a/arch/powerpc/mm/nohash/book3e_pgtable.c +++ b/arch/powerpc/mm/nohash/book3e_pgtable.c @@ -29,10 +29,10 @@ int __meminit vmemmap_create_mapping(unsigned long start, _PAGE_KERNEL_RW; /* PTEs only contain page size encodings up to 32M */ - BUG_ON(mmu_psize_defs[mmu_vmemmap_psize].enc > 0xf); + BUG_ON(mmu_psize_defs[mmu_vmemmap_psize].shift - 10 > 0xf); /* Encode the size in the PTE */ - flags |= mmu_psize_defs[mmu_vmemmap_psize].enc << 8; + flags |= (mmu_psize_defs[mmu_vmemmap_psize].shift - 10) << 8; /* For each PTE for that area, map things. Note that we don't * increment phys because all PTEs are of the large size and diff --git a/arch/powerpc/mm/nohash/tlb.c b/arch/powerpc/mm/nohash/tlb.c index f57dc721d063..b653a7be4cb1 100644 --- a/arch/powerpc/mm/nohash/tlb.c +++ b/arch/powerpc/mm/nohash/tlb.c @@ -53,37 +53,30 @@ struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT] = { [MMU_PAGE_4K] = { .shift = 12, - .enc = BOOK3E_PAGESZ_4K, }, [MMU_PAGE_2M] = { .shift = 21, - .enc = BOOK3E_PAGESZ_2M, }, [MMU_PAGE_4M] = { .shift = 22, - .enc = BOOK3E_PAGESZ_4M, }, [MMU_PAGE_16M] = { .shift = 24, - .enc = BOOK3E_PAGESZ_16M, }, [MMU_PAGE_64M] = { .shift = 26, - .enc = BOOK3E_PAGESZ_64M, }, [MMU_PAGE_256M] = { .shift = 28, - .enc = BOOK3E_PAGESZ_256M, }, [MMU_PAGE_1G] = { .shift = 30, - .enc = BOOK3E_PAGESZ_1GB, }, }; static inline int mmu_get_tsize(int psize) { - return mmu_psize_defs[psize].enc; + return mmu_psize_defs[psize].shift - 10; } #else static inline int mmu_get_tsize(int psize) diff --git a/arch/powerpc/mm/nohash/tlb_64e.c b/arch/powerpc/mm/nohash/tlb_64e.c index 053128a5636c..7988238496d7 100644 --- a/arch/powerpc/mm/nohash/tlb_64e.c +++ b/arch/powerpc/mm/nohash/tlb_64e.c @@ -53,7 +53,7 @@ int extlb_level_exc; */ void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address) { - int tsize = mmu_psize_defs[mmu_pte_psize].enc; + int tsize = mmu_psize_defs[mmu_pte_psize].shift - 10; if (book3e_htw_mode != PPC_HTW_NONE) { unsigned long start = address & PMD_MASK;