Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2251348ybz; Thu, 30 Apr 2020 13:41:02 -0700 (PDT) X-Google-Smtp-Source: APiQypLstn81ipxYJNhSvq6sb7i3fmpYP4ft6fjUsiUv+Sn0aQkkoiDL3UAiTG0uulTgh9uhblgk X-Received: by 2002:a17:906:348d:: with SMTP id g13mr264079ejb.374.1588279262228; Thu, 30 Apr 2020 13:41:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588279262; cv=none; d=google.com; s=arc-20160816; b=Rnwa0+7a2hmU+q7zaOslqV1P4AJsTtzJBILz0qtLub4O5jEzFawUue5ENldJ354Qb8 RpzNK+2ntCYD44fGRvdUNzhmGu++0tT0oxC76o6PGjw5Tq1JbXw5Im2LI0IDBy7Le8Fl U73UhfUmOcQM8J3ZGSD1sPOpveP8TXn2UMHh5Xvvb4ipSgP7xzzpk9NeEMY552x5+G7j OLhGL9HTjQFwYje7tRnpiUXUP84ttlpl2ykKGq3aznZFGVnQGlXmkeBllym6L3G9PgZc elOOg+4xlTZYe+6Tj4mu0CG5SsijFmHW+ZeQxxFj++pfQpUDVIS8MaU+ygwqETWMyOTt NKpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=oaNJrRe5sST31D9rjWSyIkMU9kNCBIqEmOq8RJ98Uo8=; b=VRLF5xse3gr3c5gnDDKF6PHkikeQ3tDTjD6PMWdSQcMLl02sMlUxH2+P6DVgdrW9HX odp8w3yMdLQ4y6s5jCuv7jtQSV0QYRThmav7jqB3hbmJEiHYHSDFyGKJIbBaVAg6qmXZ W3pXmoPsmk9l5CaJItL+8QNEcpAsCPBp9er5aFxrCd6hWwJ1P357BtDtznof9uhXYGEo JDvXpfebNn3awagKAIlxagu2KaSOyidOaxNA824YY8xLy1CtrUIKVD0Ji5clJefpz4eP 7BRZ9q1Vs2qFKdXhd/bIokSuY/oUayVLz5fpslYu1GX4dKIQLkYPXhzTJAvQk1zVxdM9 nbSw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d14si444968edv.332.2020.04.30.13.40.39; Thu, 30 Apr 2020 13:41:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727923AbgD3UjE (ORCPT + 99 others); Thu, 30 Apr 2020 16:39:04 -0400 Received: from mga03.intel.com ([134.134.136.65]:22078 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727890AbgD3UjB (ORCPT ); Thu, 30 Apr 2020 16:39:01 -0400 IronPort-SDR: ZODs9olETWZxq6vIHJIICUyOFs8gHM0Qs2WVKqA6Ct8Lu1+RnD0suwTdffaEOJZIPfXPlRHkQ3 yZzIR1ejDQSA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2020 13:38:49 -0700 IronPort-SDR: I4KrUIKV1JIB236IcZ/nZ88R5GBVmHR6Cx62c+EO6isHRqV8HMXGZ8LGPtTewSc3X7sQE/xJP4 Vwm62Pd83kiw== X-IronPort-AV: E=Sophos;i="5.73,337,1583222400"; d="scan'208";a="248380175" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2020 13:38:49 -0700 From: ira.weiny@intel.com To: linux-kernel@vger.kernel.org, Andrew Morton , Christian Koenig , Huang Rui Cc: Ira Weiny , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Benjamin Herrenschmidt , Paul Mackerras , "David S. Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Chris Zankel , Max Filippov , Dan Williams , linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org, linux-xtensa@linux-xtensa.org, dri-devel@lists.freedesktop.org Subject: [PATCH V1 00/10] Remove duplicated kmap code Date: Thu, 30 Apr 2020 13:38:35 -0700 Message-Id: <20200430203845.582900-1-ira.weiny@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ira Weiny The kmap infrastructure has been copied almost verbatim to every architecture. This series consolidates obvious duplicated code by defining core functions which call into the architectures only when needed. Some of the k[un]map_atomic() implementations have some similarities but the similarities were not sufficient to warrant further changes. In addition we remove a duplicate implementation of kmap() in DRM. Testing was done by 0day to cover all the architectures I can't readily build/test. --- Changes from V0: rebase to 5.7-rc4 Define kmap_flush_tlb() and make kmap() truely arch independent. Redefine the k[un]map_atomic_* code to call into the architectures for high mem pages Ensure all architectures define kmap_prot, use it appropriately, and define kmap_atomic_prot() Remove drm implementation of kmap_atomic() Ira Weiny (10): arch/kmap: Remove BUG_ON() arch/xtensa: Move kmap build bug out of the way arch/kmap: Remove redundant arch specific kmaps arch/kunmap: Remove duplicate kunmap implementations arch/kmap_atomic: Consolidate duplicate code arch/kunmap_atomic: Consolidate duplicate code arch/kmap: Ensure kmap_prot visibility arch/kmap: Don't hard code kmap_prot values arch/kmap: Define kmap_atomic_prot() for all arch's drm: Remove drm specific kmap_atomic code arch/arc/include/asm/highmem.h | 16 +------ arch/arc/mm/highmem.c | 28 +++---------- arch/arm/include/asm/highmem.h | 9 +--- arch/arm/mm/highmem.c | 35 +++------------- arch/csky/include/asm/highmem.h | 11 ++--- arch/csky/mm/highmem.c | 43 +++++-------------- arch/microblaze/include/asm/highmem.h | 29 ++----------- arch/microblaze/mm/highmem.c | 16 ++----- arch/microblaze/mm/init.c | 3 -- arch/mips/include/asm/highmem.h | 11 ++--- arch/mips/mm/cache.c | 6 +-- arch/mips/mm/highmem.c | 49 ++++------------------ arch/nds32/include/asm/highmem.h | 9 +--- arch/nds32/mm/highmem.c | 39 +++-------------- arch/parisc/include/asm/cacheflush.h | 4 +- arch/powerpc/include/asm/highmem.h | 30 ++------------ arch/powerpc/mm/highmem.c | 21 ++-------- arch/powerpc/mm/mem.c | 3 -- arch/sparc/include/asm/highmem.h | 23 +--------- arch/sparc/mm/highmem.c | 18 +++----- arch/x86/include/asm/highmem.h | 11 +---- arch/x86/mm/highmem_32.c | 50 ++-------------------- arch/xtensa/include/asm/highmem.h | 28 +------------ arch/xtensa/mm/highmem.c | 23 +++++----- drivers/gpu/drm/ttm/ttm_bo_util.c | 56 ++----------------------- drivers/gpu/drm/vmwgfx/vmwgfx_blit.c | 16 +++---- include/drm/ttm/ttm_bo_api.h | 4 -- include/linux/highmem.h | 60 +++++++++++++++++++++++++-- 28 files changed, 159 insertions(+), 492 deletions(-) -- 2.25.1