Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1406907pxu; Mon, 23 Nov 2020 22:12:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJzWrTjKfbu4T6YPntiROAkgV5GOPz0ulxv747ISnuwTQpYNpvLTPi6o647F4qX6BDAXcdFr X-Received: by 2002:a50:bf4a:: with SMTP id g10mr2608720edk.288.1606198350442; Mon, 23 Nov 2020 22:12:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606198350; cv=none; d=google.com; s=arc-20160816; b=L1VqRH2J5Vr4rbKoqjfJl30EcXTXb+Nb6RXMHawJH/m25yW/5U+rdmbrry1EydTIho zghBL6BOs2tFnKEuCGCrafPbNKkxM+WJuenf4uejwF04jhR8Ziqc8EE5q/+2YBn77VLn /sPS35VD57tG3aldW+lyPcDlEjm9B9CslkwzFD22sxsXhtu0GDYOE+E/l4UIU+a5UwpV S0sfE/eembfqwXyc6RuhltU3NDYpjWG+YKuaDPuf2cfMHzZ+O12upT5omfuj/g1i9ZHT KwOSw7fT201wtlJltGCPi32EY+dxa3mxChKjo84e4XcBPNjzB4FkyUUOgE/ARYAHh7N5 9USA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=n+VD/z0/khuDAlueA4Rd2fYbF4nF0V+6AjNhKEGTop8=; b=wwIei2Fxu+k/sdx9hV62VNVjc2UHo3Tvj/BXxGci/9oGA/Nh3qpgrVr02l5WnUTgHO QwH9s6mbBg3nJJIH521qtpJ7rJJ7tQwoGIQXSCKttyaEXdZTiyO+HWOzwzswyLTxkSt/ 32zsNKd+1Vz/RjJhbU6iBE89uZpq8jb4LNh1tyIxo651Pu5ThEIfeKlvmapdTTzpBLGy oQa3Lk1CTTe2IrpdO70zLjnrbDUxfA/BybyDIfXyP1j2VYJ9IXmIA6GNgJXOWgRbYjOz tsXpuEVFhcg8xFeUnp7nPptp+TCAWHm8dN0A4ydYI8c7v6TGvYqVlpAJZH6at5U7bb9h M1dw== 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 b6si8659212edq.479.2020.11.23.22.12.07; Mon, 23 Nov 2020 22:12:30 -0800 (PST) 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 S1729361AbgKXGIH (ORCPT + 99 others); Tue, 24 Nov 2020 01:08:07 -0500 Received: from mga17.intel.com ([192.55.52.151]:1868 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728113AbgKXGIE (ORCPT ); Tue, 24 Nov 2020 01:08:04 -0500 IronPort-SDR: nyM+vhB+2nJyCk4vfoPeDA+arcWNmWVIyzKFdcyT/ZbFKAWoRRdqGK2BH0eZPtgqnZDNh7KuIn 9ZPH6oWwvy+A== X-IronPort-AV: E=McAfee;i="6000,8403,9814"; a="151736677" X-IronPort-AV: E=Sophos;i="5.78,365,1599548400"; d="scan'208";a="151736677" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2020 22:08:04 -0800 IronPort-SDR: f/dY95uTTv9GesN8Y02GekMhGpG18T+cyerrpUpNz8pm5s2ET/W+heceKCXRjQXjVvhP/MUpoo xCP1iCZSWDVQ== X-IronPort-AV: E=Sophos;i="5.78,365,1599548400"; d="scan'208";a="361740977" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2020 22:08:04 -0800 From: ira.weiny@intel.com To: Andrew Morton Cc: Ira Weiny , Patrik Jakobsson , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Thomas Gleixner , Dave Hansen , Matthew Wilcox , Christoph Hellwig , Dan Williams , Al Viro , Eric Biggers , Luis Chamberlain , David Howells , Chris Mason , Josef Bacik , David Sterba , Steve French , Jaegeuk Kim , Chao Yu , Nicolas Pitre , "Martin K. Petersen" , Brian King , Greg Kroah-Hartman , Alexei Starovoitov , Daniel Borkmann , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Kirti Wankhede , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH 03/17] drivers/gpu: Convert to mem*_page() Date: Mon, 23 Nov 2020 22:07:41 -0800 Message-Id: <20201124060755.1405602-4-ira.weiny@intel.com> X-Mailer: git-send-email 2.28.0.rc0.12.gb6a658bd00c9 In-Reply-To: <20201124060755.1405602-1-ira.weiny@intel.com> References: <20201124060755.1405602-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ira Weiny The pattern of kmap/mem*/kunmap is repeated. Use the new mem*_page() calls instead. Cc: Patrik Jakobsson Cc: Jani Nikula Cc: Joonas Lahtinen Cc: Rodrigo Vivi Signed-off-by: Ira Weiny --- drivers/gpu/drm/gma500/gma_display.c | 7 +++---- drivers/gpu/drm/gma500/mmu.c | 4 ++-- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 6 ++---- drivers/gpu/drm/i915/gt/intel_gtt.c | 9 ++------- drivers/gpu/drm/i915/gt/shmem_utils.c | 8 +++----- 5 files changed, 12 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c index 3df6d6e850f5..f81114594211 100644 --- a/drivers/gpu/drm/gma500/gma_display.c +++ b/drivers/gpu/drm/gma500/gma_display.c @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -334,7 +335,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc, struct gtt_range *gt; struct gtt_range *cursor_gt = gma_crtc->cursor_gt; struct drm_gem_object *obj; - void *tmp_dst, *tmp_src; + void *tmp_dst; int ret = 0, i, cursor_pages; /* If we didn't get a handle then turn the cursor off */ @@ -400,9 +401,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc, /* Copy the cursor to cursor mem */ tmp_dst = dev_priv->vram_addr + cursor_gt->offset; for (i = 0; i < cursor_pages; i++) { - tmp_src = kmap(gt->pages[i]); - memcpy(tmp_dst, tmp_src, PAGE_SIZE); - kunmap(gt->pages[i]); + memcpy_from_page(tmp_dst, gt->pages[i], 0, PAGE_SIZE); tmp_dst += PAGE_SIZE; } diff --git a/drivers/gpu/drm/gma500/mmu.c b/drivers/gpu/drm/gma500/mmu.c index 505044c9a673..8a0856c7f439 100644 --- a/drivers/gpu/drm/gma500/mmu.c +++ b/drivers/gpu/drm/gma500/mmu.c @@ -5,6 +5,7 @@ **************************************************************************/ #include +#include #include "mmu.h" #include "psb_drv.h" @@ -204,8 +205,7 @@ struct psb_mmu_pd *psb_mmu_alloc_pd(struct psb_mmu_driver *driver, kunmap(pd->p); - clear_page(kmap(pd->dummy_page)); - kunmap(pd->dummy_page); + memzero_page(pd->dummy_page, 0, PAGE_SIZE); pd->tables = vmalloc_user(sizeof(struct psb_mmu_pt *) * 1024); if (!pd->tables) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index 75e8b71c18b9..8a25e08edd18 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -558,7 +558,7 @@ i915_gem_object_create_shmem_from_data(struct drm_i915_private *dev_priv, do { unsigned int len = min_t(typeof(size), size, PAGE_SIZE); struct page *page; - void *pgdata, *vaddr; + void *pgdata; err = pagecache_write_begin(file, file->f_mapping, offset, len, 0, @@ -566,9 +566,7 @@ i915_gem_object_create_shmem_from_data(struct drm_i915_private *dev_priv, if (err < 0) goto fail; - vaddr = kmap(page); - memcpy(vaddr, data, len); - kunmap(page); + memcpy_to_page(page, 0, data, len); err = pagecache_write_end(file, file->f_mapping, offset, len, len, diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.c b/drivers/gpu/drm/i915/gt/intel_gtt.c index 3f1114b58b01..f3d7c601d362 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.c +++ b/drivers/gpu/drm/i915/gt/intel_gtt.c @@ -153,13 +153,8 @@ static void poison_scratch_page(struct drm_i915_gem_object *scratch) if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) val = POISON_FREE; - for_each_sgt_page(page, sgt, scratch->mm.pages) { - void *vaddr; - - vaddr = kmap(page); - memset(vaddr, val, PAGE_SIZE); - kunmap(page); - } + for_each_sgt_page(page, sgt, scratch->mm.pages) + memset_page(page, val, 0, PAGE_SIZE); } int setup_scratch_page(struct i915_address_space *vm) diff --git a/drivers/gpu/drm/i915/gt/shmem_utils.c b/drivers/gpu/drm/i915/gt/shmem_utils.c index f011ea42487e..2d5f1f2e803d 100644 --- a/drivers/gpu/drm/i915/gt/shmem_utils.c +++ b/drivers/gpu/drm/i915/gt/shmem_utils.c @@ -95,19 +95,17 @@ static int __shmem_rw(struct file *file, loff_t off, unsigned int this = min_t(size_t, PAGE_SIZE - offset_in_page(off), len); struct page *page; - void *vaddr; page = shmem_read_mapping_page_gfp(file->f_mapping, pfn, GFP_KERNEL); if (IS_ERR(page)) return PTR_ERR(page); - vaddr = kmap(page); if (write) - memcpy(vaddr + offset_in_page(off), ptr, this); + memcpy_to_page(page, offset_in_page(off), ptr, this); else - memcpy(ptr, vaddr + offset_in_page(off), this); - kunmap(page); + memcpy_from_page(ptr, page, offset_in_page(off), this); + put_page(page); len -= this; -- 2.28.0.rc0.12.gb6a658bd00c9