From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752745AbcKPAze (ORCPT ); Tue, 15 Nov 2016 19:55:34 -0500 Received: from mail-qk0-f193.google.com ([209.85.220.193]:36180 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751166AbcKPAz3 (ORCPT ); Tue, 15 Nov 2016 19:55:29 -0500 MIME-Version: 1.0 In-Reply-To: <20161109141948.19244-8-lorenzo.pieralisi@arm.com> References: <20161109141948.19244-1-lorenzo.pieralisi@arm.com> <20161109141948.19244-8-lorenzo.pieralisi@arm.com> From: "Rafael J. Wysocki" Date: Wed, 16 Nov 2016 01:55:27 +0100 X-Google-Sender-Auth: w67JWU9NnYKivxGAko3j4HcFEnw Message-ID: Subject: Re: [PATCH v7 07/16] drivers: acpi: implement acpi_dma_configure To: Lorenzo Pieralisi Cc: "open list:AMD IOMMU (AMD-VI)" , Bjorn Helgaas , Robin Murphy , Tomasz Nowicki , Joerg Roedel , "Rafael J. Wysocki" , Will Deacon , Marc Zyngier , Hanjun Guo , Jon Masters , Eric Auger , Sinan Kaya , Nate Watterson , Prem Mallappa , Dennis Chen , ACPI Devel Maling List , Linux PCI , Linux Kernel Mailing List , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 9, 2016 at 3:19 PM, Lorenzo Pieralisi wrote: > On DT based systems, the of_dma_configure() API implements DMA > configuration for a given device. On ACPI systems an API equivalent to > of_dma_configure() is missing which implies that it is currently not > possible to set-up DMA operations for devices through the ACPI generic > kernel layer. > > This patch fills the gap by introducing acpi_dma_configure/deconfigure() > calls that for now are just wrappers around arch_setup_dma_ops() and > arch_teardown_dma_ops() and also updates ACPI and PCI core code to use > the newly introduced acpi_dma_configure/acpi_dma_deconfigure functions. > > Since acpi_dma_configure() is used to configure DMA operations, the > function initializes the dma/coherent_dma masks to sane default values > if the current masks are uninitialized (also to keep the default values > consistent with DT systems) to make sure the device has a complete > default DMA set-up. > > The DMA range size passed to arch_setup_dma_ops() is sized according > to the device coherent_dma_mask (starting at address 0x0), mirroring the > DT probing path behaviour when a dma-ranges property is not provided > for the device being probed; this changes the current arch_setup_dma_ops() > call parameters in the ACPI probing case, but since arch_setup_dma_ops() > is a NOP on all architectures but ARM/ARM64 this patch does not change > the current kernel behaviour on them. > > Signed-off-by: Lorenzo Pieralisi > Acked-by: Bjorn Helgaas [pci] > Tested-by: Hanjun Guo > Tested-by: Tomasz Nowicki > Cc: Bjorn Helgaas > Cc: Robin Murphy > Cc: Tomasz Nowicki > Cc: Joerg Roedel > Cc: "Rafael J. Wysocki" LGTM Acked-by: Rafael J. Wysocki