From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6AC81C2B9F7 for ; Mon, 24 May 2021 23:52:05 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2D1A8613E6 for ; Mon, 24 May 2021 23:52:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2D1A8613E6 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:References: Mime-Version:Message-Id:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=DR1J8iCaeAsDXT2XFeoPNMkf8WaJyBs2fnfP9yjaZCw=; b=ZwXDvSNA3yyoIjoM7iKsEDUNPV Vi8m+kfrzipzl6cFnuG+ciIo7y9VUPi0qenRrwbpb9zXhwzuW72TUl98TTJ2L/5Os6tRHThb/bW5Y cQ8cUUP9ARjuTf0acjbd63pBODJhAt33oJuVVFo7OXuvK5lft3g9DYjLYyM67W03q/xzmIPCOETfp I2Z9FV/vc3uzV36S/0hgXv3kOqakmO4ZvajHAKMSzdSA6hiwnB5EXj+p3B5zEEWmbBkWA3I42M1wX DJvWeoamrr0wetG7KO+KOPPTyKWNuYPpU/L+Hstwun5405sBD4CMo0QRrHeA2l3RZGTISKFf/LwMz yBXd2A7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1llKJO-002PPI-A0; Mon, 24 May 2021 23:48:43 +0000 Received: from mail-wr1-x449.google.com ([2a00:1450:4864:20::449]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ll5yt-000lsk-3X for linux-arm-kernel@lists.infradead.org; Mon, 24 May 2021 08:30:36 +0000 Received: by mail-wr1-x449.google.com with SMTP id u20-20020a0560001614b02901115c8f2d89so12603682wrb.3 for ; Mon, 24 May 2021 01:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=PcjnW/fqCoXIV+w7Sz+O7O7ITwOtt0VA+eV7Tp0TNzU=; b=Kwccq5VpcLpcnotaXso3PRfJIrrNRgRVYUsG0n0NezLoTdcXiTOOYe1xFPu6SSrTAs B4rcfIVCpZrsh3yxBJNgb7QqzUjBlb2Mgfvz6OjhYWor2uhxsmWa3L0cTfCTzM6xMSyz aDb4PBm3O+q2aLai3341egqyJHiSY1US8pEedexUOP0/tEvgd3SMZxdQL/wiJy5punQX HD+JFlsrSpuBF1520GbEqQ6LZKcTa1kGdCu/QcY00tAIrxpUokneINXQflB7OaP3TF5E GJdTD5KLdt63LSJwR2K78mY6aV6bwNy4xwxYVxbTMIb8tuiDfmINBIOmIUgC3Wylm94y Y3Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=PcjnW/fqCoXIV+w7Sz+O7O7ITwOtt0VA+eV7Tp0TNzU=; b=F55kiNMfMG1jyuxkfqyvngTaKIqfI1f65HnVOOjila/GD8JBvNI1EmW2VCTX24g8p0 yZhLhag6Vw4kbw9y8uWkgiWpR6JFUwD5bIT7oFvfA6K4qJETd1v9DgsfWTjFDB3a0eVH 45/to1krd5mNCmrzDJ51Tdaa6lbvdG4G/9EDji/vDarEhWxRr3EvHFZGDTihRH9PldrA OYCMpTPSaUqZI43WgLIBv+pcyrbsM3xkv0AmRuJWRu9ujol10YxsrgJ7JqaJah7DQIdq vo95juDyBHciqAzda6TuORKqgrl9a6LY44XeJw9UUVhEJoc4Q9fbfcAAb6BTktPicXC1 tCDA== X-Gm-Message-State: AOAM531+1H3lxIQPGO91wy9IOCKQH0SNKVR+y5HUL0DcfbHrCHVWFE3z MY8gt9niKAZ62foufyPsMZ4URUMnOykTtzBfe4KFd71p8alWITvsle35nL2SVpd0H3nHemBSiMR q9+nsJh8DyvK6mKMTjclxMNflFok0UthrSRO91XFis8439ybw3FAIg5qbcddR3cOmz0cH8qLP3C GZSQ== X-Google-Smtp-Source: ABdhPJyiJFHwvcoelZAsbRCZ5mRK3oDcPgriYNUO90yNXriCgsqJRWjdKW4CKrcwl4M+VLC03tdcy3yZSw== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a5d:534f:: with SMTP id t15mr20252107wrv.206.1621845033001; Mon, 24 May 2021 01:30:33 -0700 (PDT) Date: Mon, 24 May 2021 09:29:57 +0100 In-Reply-To: <20210524083001.2586635-1-tabba@google.com> Message-Id: <20210524083001.2586635-15-tabba@google.com> Mime-Version: 1.0 References: <20210524083001.2586635-1-tabba@google.com> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog Subject: [PATCH v4 14/18] arm64: __clean_dcache_area_pop to take end parameter instead of size From: Fuad Tabba To: linux-arm-kernel@lists.infradead.org Cc: will@kernel.org, catalin.marinas@arm.com, mark.rutland@arm.com, maz@kernel.org, ardb@kernel.org, james.morse@arm.com, alexandru.elisei@arm.com, suzuki.poulose@arm.com, robin.murphy@arm.com, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210524_013035_171088_0A14A2C0 X-CRM114-Status: GOOD ( 14.20 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org To be consistent with other functions with similar names and functionality in cacheflush.h, cache.S, and cachetlb.rst, change to specify the range in terms of start and end, as opposed to start and size. No functional change intended. Reported-by: Will Deacon Acked-by: Mark Rutland Signed-off-by: Fuad Tabba --- arch/arm64/include/asm/cacheflush.h | 2 +- arch/arm64/lib/uaccess_flushcache.c | 4 ++-- arch/arm64/mm/cache.S | 9 ++++----- arch/arm64/mm/flush.c | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h index 3255878d6f30..fa5641868d65 100644 --- a/arch/arm64/include/asm/cacheflush.h +++ b/arch/arm64/include/asm/cacheflush.h @@ -61,7 +61,7 @@ extern void invalidate_icache_range(unsigned long start, unsigned long end); extern void __flush_dcache_area(unsigned long start, unsigned long end); extern void __inval_dcache_area(unsigned long start, unsigned long end); extern void __clean_dcache_area_poc(unsigned long start, unsigned long end); -extern void __clean_dcache_area_pop(void *addr, size_t len); +extern void __clean_dcache_area_pop(unsigned long start, unsigned long end); extern void __clean_dcache_area_pou(void *addr, size_t len); extern long __flush_cache_user_range(unsigned long start, unsigned long end); extern void sync_icache_aliases(void *kaddr, unsigned long len); diff --git a/arch/arm64/lib/uaccess_flushcache.c b/arch/arm64/lib/uaccess_flushcache.c index c83bb5a4aad2..62ea989effe8 100644 --- a/arch/arm64/lib/uaccess_flushcache.c +++ b/arch/arm64/lib/uaccess_flushcache.c @@ -15,7 +15,7 @@ void memcpy_flushcache(void *dst, const void *src, size_t cnt) * barrier to order the cache maintenance against the memcpy. */ memcpy(dst, src, cnt); - __clean_dcache_area_pop(dst, cnt); + __clean_dcache_area_pop((unsigned long)dst, (unsigned long)dst + cnt); } EXPORT_SYMBOL_GPL(memcpy_flushcache); @@ -33,6 +33,6 @@ unsigned long __copy_user_flushcache(void *to, const void __user *from, rc = raw_copy_from_user(to, from, n); /* See above */ - __clean_dcache_area_pop(to, n - rc); + __clean_dcache_area_pop((unsigned long)to, (unsigned long)to + n - rc); return rc; } diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S index e2e2740c55ce..b71fcf56516b 100644 --- a/arch/arm64/mm/cache.S +++ b/arch/arm64/mm/cache.S @@ -194,16 +194,15 @@ SYM_FUNC_END_PI(__clean_dcache_area_poc) SYM_FUNC_END(__dma_clean_area) /* - * __clean_dcache_area_pop(kaddr, size) + * __clean_dcache_area_pop(start, end) * - * Ensure that any D-cache lines for the interval [kaddr, kaddr+size) + * Ensure that any D-cache lines for the interval [start, end) * are cleaned to the PoP. * - * - kaddr - kernel address - * - size - size in question + * - start - virtual start address of region + * - end - virtual end address of region */ SYM_FUNC_START_PI(__clean_dcache_area_pop) - add x1, x0, x1 alternative_if_not ARM64_HAS_DCPOP b __clean_dcache_area_poc alternative_else_nop_endif diff --git a/arch/arm64/mm/flush.c b/arch/arm64/mm/flush.c index be650b573b2a..b2c226d93ca5 100644 --- a/arch/arm64/mm/flush.c +++ b/arch/arm64/mm/flush.c @@ -84,7 +84,7 @@ void arch_wb_cache_pmem(void *addr, size_t size) { /* Ensure order against any prior non-cacheable writes */ dmb(osh); - __clean_dcache_area_pop(addr, size); + __clean_dcache_area_pop((unsigned long)addr, (unsigned long)addr + size); } EXPORT_SYMBOL_GPL(arch_wb_cache_pmem); -- 2.31.1.818.g46aad6cb9e-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel