Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp2239033pxb; Wed, 30 Mar 2022 20:21:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwPwmwTJdDOPP0j5fygrvixZChXX4HQuJSGiyKPT2lCi1Hw9Uuk3at5PbX9PfwvAX2wSmxx X-Received: by 2002:a17:90b:3851:b0:1c7:80f9:5306 with SMTP id nl17-20020a17090b385100b001c780f95306mr3516996pjb.207.1648696876458; Wed, 30 Mar 2022 20:21:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648696876; cv=none; d=google.com; s=arc-20160816; b=abaE8F1hcX/LMSNJCPTXpr73NTXR29yUjOholwNgad5zFohm5zvPoEa7DGiU3RCen/ sclkJsKAwlnngCkecvowFPKUfqNdBZT9ngqvqQgNS6dp9+GxnWxAp+BD7D2r1Gi2nLBu dmv17DvDJ9SBQaDkb8rL8cmVgs67+jkrsxAuAScyCOaG0B0731qp/sSDo/htvvqXAkc0 nilYLRcJghB4heD9+goI2dRnJeuEVxYZsaV6ys4t9xuH7fHjXFXS7JwPJEKgDqTAaAbe fPPcXRPQx7pHgUfKQe+IzNH1iS2Xzanjr0FI2sJ22GJ8fjlrzcxzpWmf3INPYGbY+EpR +64Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=Us5b63WMzhDi+Hq0bRJs6Xjfo1M6MjZ07zBNrB9O7mk=; b=w20ZDedmRR5DZ4rKiD1Zp2cLArj5it/DTGL43wE6nJqKN8Kf20IGccEiRKS3i82Qpz fclOhJNuRmhk00wVBdVTFCSgSK1NVKpARMR7ED7eaZtmkNByMdfHwt4LHIN20YGeYqf1 l6S38aN89n21jtgYf0UY1P7NSMvi2lqWwXVoNeF2ebJzXent2Qhdc8WB4e1Am1xVHYTq OmLZ85DlSnama7dP8gvpcEgjL4f7+21sT5dP0mM0J5BVVEIl4yQMfhsg4HMav7CRXYWS r/nZ2i64mjggR/bszz8eI2q0vmssTcZ7orSwH61IV9KxnxkJjqakTFxuSvM17jG7k+Dd 8D/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IHlTFB+2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id lr3-20020a17090b4b8300b001c65440a793si2251819pjb.144.2022.03.30.20.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Mar 2022 20:21:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IHlTFB+2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4868710E06C; Wed, 30 Mar 2022 19:52:12 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345602AbiC3VNH (ORCPT + 99 others); Wed, 30 Mar 2022 17:13:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34768 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238534AbiC3VNF (ORCPT ); Wed, 30 Mar 2022 17:13:05 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 310923A181 for ; Wed, 30 Mar 2022 14:11:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648674680; x=1680210680; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=keon6mJSiu6oJTFE85youukWofwphPuyQTu9o5aZfkI=; b=IHlTFB+2s8niBP3np51PR7rAGkkpRpK42uzFh4VfYV63RhixM+Cmb606 Y9krwY35KyW1CZfZ+pPqMcLezy6+VtEmnMZllP44u8soDl+Y9wTdwWiOp WaaJv2BtalAdkqspSk4Aw+CLe6dahazsGiQbiIAyIyR3VHmPyC8z+zdbm Miqw1TVWxdtYE5bCEI6ui4WvSNRxX99yZ2DYhOpDGPFCAQe2kFYh1c4uo WU6nyt419UiXkTdKk5hAy+qls70CJbkdvxearTpybqhlN8k5xSuXZaDP+ OpEXgtXf6N91NAq2FAHCn5a2FqmF95HxBMVO6zFUOcFL7MsEXsPQtwUoN g==; X-IronPort-AV: E=McAfee;i="6200,9189,10302"; a="240241104" X-IronPort-AV: E=Sophos;i="5.90,223,1643702400"; d="scan'208";a="240241104" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2022 14:11:19 -0700 X-IronPort-AV: E=Sophos;i="5.90,223,1643702400"; d="scan'208";a="639869076" Received: from npeper-mobl1.amr.corp.intel.com (HELO localhost) ([10.212.16.15]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2022 14:11:19 -0700 Date: Wed, 30 Mar 2022 14:11:19 -0700 From: Ira Weiny To: "Fabio M. De Francesco" Cc: Greg Kroah-Hartman , Benjamin Philip , Bart Van Assche , "Martin K. Petersen" , "Eric W. Biederman" , Colin Ian King , Samuel =?iso-8859-1?Q?Sj=F6berg?= , Charlie Sands , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Dan Carpenter , outreachy@lists.linux.dev Subject: Re: [PATCH v4] staging: rts5208: Convert kmap() to kmap_local_page() Message-ID: References: <20220330143331.8306-1-fmdefrancesco@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220330143331.8306-1-fmdefrancesco@gmail.com> X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 On Wed, Mar 30, 2022 at 04:33:31PM +0200, Fabio M. De Francesco wrote: > The use of kmap() is being deprecated in favor of kmap_local_page() > where it is feasible. > > With kmap_local_page(), the mapping is per thread, CPU local and not > globally visible. Therefore rtsx_stor_access_xfer_buf() is a function > where the use of kmap_local_page() in place of kmap() is correctly > suited. > > Convert to kmap_local_page() but, instead of open coding it, use the > helpers memcpy_to_page() and memcpy_from_page(). > > Make a minor change to a comment related to scatter-gather. > > Signed-off-by: Fabio M. De Francesco Thanks! Reviewed-by: Ira Weiny > --- > > v1 -> v2: Rework the commit message and use the appropriate helpers > instead of open coding the use of kmap_local_page()/kunmap_local_page(). > (Thanks to Ira Weiny ). > > v2 -> v3: Use memcpy_{to,from}_page() arguments correctly. > (Thanks to Dan Carpenter ). > > v3 -> v4: According to a suggestion by Ira Weiny, change the test > of a comment related to the use of scatter-gather. > > drivers/staging/rts5208/rtsx_transport.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/drivers/staging/rts5208/rtsx_transport.c b/drivers/staging/rts5208/rtsx_transport.c > index 805dc18fac0a..d5ad49de4c56 100644 > --- a/drivers/staging/rts5208/rtsx_transport.c > +++ b/drivers/staging/rts5208/rtsx_transport.c > @@ -55,9 +55,9 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > *offset += cnt; > > /* > - * Using scatter-gather. We have to go through the list one entry > - * at a time. Each s-g entry contains some number of pages, and > - * each page has to be kmap()'ed separately. > + * Using scatter-gather. We have to go through the list one entry > + * at a time. Each s-g entry contains some number of pages which > + * have to be copied one at a time. > */ > } else { > struct scatterlist *sg = > @@ -92,13 +92,11 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > while (sglen > 0) { > unsigned int plen = min(sglen, (unsigned int) > PAGE_SIZE - poff); > - unsigned char *ptr = kmap(page); > > if (dir == TO_XFER_BUF) > - memcpy(ptr + poff, buffer + cnt, plen); > + memcpy_to_page(page, poff, buffer + cnt, plen); > else > - memcpy(buffer + cnt, ptr + poff, plen); > - kunmap(page); > + memcpy_from_page(buffer + cnt, page, poff, plen); > > /* Start at the beginning of the next page */ > poff = 0; > -- > 2.34.1 >