Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp6129031ybi; Wed, 31 Jul 2019 08:49:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqzRR/C9jL7UvDjm+msGrfSuJ7t8jSVyP4j9wm2bOt8iou2vthMLtyeYmBoRPsiY8170e3+z X-Received: by 2002:a17:902:9b94:: with SMTP id y20mr120926457plp.260.1564588173617; Wed, 31 Jul 2019 08:49:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564588173; cv=none; d=google.com; s=arc-20160816; b=GOqc8JJkklwVuyirfhz1GszmoGzOdy/ycec3ayj8/p2Vo+2fqy587jNb+IhyZoT7Xm qDA3fPDgzfrwkRlYn7wB8IjU3XfUmKv4X+OLk0+4wiYTj6xOjjeq9JtiygDs4SxPeVHU yTMVa3BFaQkDAsODVhPgxJ8kIkdph3q7qkeap4vcg6GBhL/NMMDNCJeoVLoJomfiMyr6 3lYZtNGstPJz7W9VpZjun1JYcnZUBhlE6ex9DUz42/hY5gLrFmRedkmkAK+Vp77OvvVh s6bBXPq75YlGEUOqIMI/xFNvS+oDxCutGfHv5OxcaSQjmSMKRKx2dC/2s5q92sVKkiic UgYg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=1RTLm79+PCTkW78/wyWR1dPnN2NdqNkCsW6ORpXl4gE=; b=SIMlXywzqOIF0sRz8pR4zKSSuLqZKybj5xMiYEJfmtNxAYeAwhViKMPcIYFz2wEVqo 0udCoDyScYC9R8GJo+l1O4qy3WLFOvDJU+EEfImVHpB1w2lLDFTmKCVioJfUhLku/+e2 NzC1WIQug9WoxOLgrYCRCoM4v3L7Swe6FLQqi56SwnwAfnyZ/HnUHY7gMzpnHWzq3WIb /SDtiZh+HLd37suyauH8tjzFhd+cU0EMkuW3S0hQOZdNPRDM/onc1gZT7IOQ9hpf7RP4 Vw7uwIggST2gc2yVcWVnRQXn1wonzAye2Un9q+g6YPC8IYYLXVBv8dxXx582Yy4Mglhk +Etg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m3si18794097pld.385.2019.07.31.08.49.18; Wed, 31 Jul 2019 08:49:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730267AbfGaPsM (ORCPT + 99 others); Wed, 31 Jul 2019 11:48:12 -0400 Received: from mx2.suse.de ([195.135.220.15]:50146 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728933AbfGaPsG (ORCPT ); Wed, 31 Jul 2019 11:48:06 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 4554EB020; Wed, 31 Jul 2019 15:48:05 +0000 (UTC) From: Nicolas Saenz Julienne To: catalin.marinas@arm.com, hch@lst.de, wahrenst@gmx.net, marc.zyngier@arm.com, Robin Murphy , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, iommu@lists.linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: phill@raspberryi.org, f.fainelli@gmail.com, will@kernel.org, robh+dt@kernel.org, eric@anholt.net, mbrugger@suse.com, nsaenzjulienne@suse.de, akpm@linux-foundation.org, frowand.list@gmail.com, m.szyprowski@samsung.com, linux-rpi-kernel@lists.infradead.org Subject: [PATCH 4/8] arm64: re-introduce max_zone_dma_phys() Date: Wed, 31 Jul 2019 17:47:47 +0200 Message-Id: <20190731154752.16557-5-nsaenzjulienne@suse.de> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190731154752.16557-1-nsaenzjulienne@suse.de> References: <20190731154752.16557-1-nsaenzjulienne@suse.de> 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 Some devices might have multiple interconnects with different DMA addressing limitations. This function provides the higher physical address accessible by all peripherals on the SoC. If such limitation doesn't exist it'll return 0. Signed-off-by: Nicolas Saenz Julienne --- arch/arm64/mm/init.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 8956c22634dd..1c4ffabbe1cb 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -174,6 +174,19 @@ static phys_addr_t __init max_zone_dma32_phys(void) return min(offset + (1ULL << 32), memblock_end_of_DRAM()); } +static phys_addr_t __init max_zone_dma_phys(void) + +{ + u64 memory_size = memblock_end_of_DRAM() - memblock_start_of_DRAM(); + u64 zone_dma_size; + + of_scan_flat_dt(early_init_dt_dma_zone_size, &zone_dma_size); + if (zone_dma_size && zone_dma_size < min(memory_size, SZ_4G)) + return memblock_start_of_DRAM() + zone_dma_size; + + return 0; +} + #ifdef CONFIG_NUMA static void __init zone_sizes_init(unsigned long min, unsigned long max) -- 2.22.0