Received: by 10.213.65.68 with SMTP id h4csp1770919imn; Mon, 19 Mar 2018 12:49:00 -0700 (PDT) X-Google-Smtp-Source: AG47ELuw0gdzr2hcFb6QYwXT17jQ+hJBeACjJsm4aukA38tRHDBq6RWPoYVtvKTIIH04H3jnOLuh X-Received: by 10.101.101.217 with SMTP id y25mr9858779pgv.165.1521488940881; Mon, 19 Mar 2018 12:49:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521488940; cv=none; d=google.com; s=arc-20160816; b=Z9Bkfk3BA6cbWR+QHK9/nSrrM6/YBipjkUHlBcS2d16xD5VjORDrebSSKzxFLgh44P 9L2kselG9sGEf+1Yp0dMz3p6IzqjazcLTx6165OI5cBLLqGBjUwiIcTFJ/K3XC1NjKgz IssBTuZpxzQY2QHbmZqqcU+IzEEyxmx9r7buH+NLpJeKk5bYCMuJCZo+gn/P/Kr+zSbC N3hf/LpFh6djxFD7LbVz54kNnp+UDRi852FWp1a4gTBVm7cjriqZvynMR1wmd7IG1A6E iiUIFei54zfTnduClUdV44k7mlDb5bvuNBFHtJPwUqwI+YIJljPTJqOpWgaz11dogxkt tqFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=rHaZRoX4Iitc3yEyjnxYrHqUZNQBVDNaNf6prpAfzYs=; b=ZpH1kizOhRdf09spnJy4cZ4gQEaXN7nbRAbo1WzVZ5zeIFk2jaktcbZt/tKyzgDPxC wNLxnMseYf6frBnKpqOPpAtXODlMe6q8R5XY0nBAwGSNS4S7RaQIOxq1++xBR0YAEkrw 4eTNMoVHRibxWRGQhhrPpBGvk8EMxwuE7rnVg6XA1F6S8Yi4DQzH9uGNWDookl+6KHse rJIcX+kOoERHk7L4mAzGW8dGR2HWwYrS83aDi13DR66akhraT3KshMA1LsKQCtc7oCDP EQgmpkM4h1SooE09hSYYpvN2lpQXfBBdOV9Gi0LQqPG6wQnFbXcIXYfTE51ty6nXExt7 Xh+w== 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 p11-v6si538216pll.308.2018.03.19.12.48.47; Mon, 19 Mar 2018 12:49:00 -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 S969769AbeCSTp6 (ORCPT + 99 others); Mon, 19 Mar 2018 15:45:58 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:47758 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S969530AbeCSSUk (ORCPT ); Mon, 19 Mar 2018 14:20:40 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 420BC11CA; Mon, 19 Mar 2018 18:20:39 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Al Cooper , Florian Fainelli , Sasha Levin Subject: [PATCH 4.9 027/241] ARM: brcmstb: Enable ZONE_DMA for non 64-bit capable peripherals Date: Mon, 19 Mar 2018 19:04:52 +0100 Message-Id: <20180319180752.292056472@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180319180751.172155436@linuxfoundation.org> References: <20180319180751.172155436@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Al Cooper [ Upstream commit 3c51b9c7f1fae00c25f1e34da649a288e3fea1ae ] Some Host Controller hardware blocks, like the OHCI, EHCI and SDIO controllers, have hardware blocks that are not capable of doing 64 bit DMA. These host controllers fail on boards with >3GB of memory because the memory above 3GB is located physically >= 0x100000000 and can only be accessed using 64 DMA. The way Linux is currently configured for BRCMSTB systems, the memory given to drivers for DMA through functions like dma_alloc_coherent() comes from CMA memory and CMA memory is taken from the top of physical memory. When these drivers get a DMA buffer with an address >=0x100000000, they end up dropping the upper 32 bit of the address causing the hardware to DMA to incorrect memory, typically BMEM (custom memory carveout). This issue was discovered on a BCM97449SSV_DDR4 system with 4GB or memory. The fix is to enable CONFIG_ZONE_DMA. On ARM systems this makes sure that all DMA memory is located within the first 32 bits of address space. Signed-off-by: Al Cooper Signed-off-by: Florian Fainelli Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- arch/arm/mach-bcm/Kconfig | 1 + 1 file changed, 1 insertion(+) --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -199,6 +199,7 @@ config ARCH_BRCMSTB select BRCMSTB_L2_IRQ select BCM7120_L2_IRQ select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE + select ZONE_DMA if ARM_LPAE select SOC_BRCMSTB select SOC_BUS help