From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751564AbbJXHrp (ORCPT ); Sat, 24 Oct 2015 03:47:45 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:47952 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750882AbbJXHrm (ORCPT ); Sat, 24 Oct 2015 03:47:42 -0400 Message-ID: <562B378D.10903@huawei.com> Date: Sat, 24 Oct 2015 15:47:25 +0800 From: Hanjun Guo User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: Suravee Suthikulpanit , , , , , CC: , , , , , , , , "Rob Herring" , Murali Karicheri Subject: Re: [PATCH V4 8/8] PCI: ACPI: Add support for PCI device DMA coherency References: <1445442731-28819-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1445442731-28819-9-git-send-email-Suravee.Suthikulpanit@amd.com> In-Reply-To: <1445442731-28819-9-git-send-email-Suravee.Suthikulpanit@amd.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.17.188] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020204.562B3795.0080,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: d74228567e07142779503327f1934126 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2015/10/21 23:52, Suravee Suthikulpanit wrote: > This patch adds support for setting up PCI device DMA coherency from > ACPI _CCA object that should normally be specified in the DSDT node > of its PCI host bridge. > > Signed-off-by: Suravee Suthikulpanit > CC: Bjorn Helgaas > CC: Catalin Marinas > CC: Rob Herring > CC: Will Deacon > CC: Rafael J. Wysocki > CC: Murali Karicheri > --- > drivers/pci/probe.c | 19 ++++++++++++++----- > 1 file changed, 14 insertions(+), 5 deletions(-) > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 09264f8..6e9f7e6 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -1642,17 +1642,26 @@ static void pci_set_msi_domain(struct pci_dev *dev) > * @dev: ptr to pci_dev struct of the PCI device > * > * Function to update PCI devices's DMA configuration using the same > - * info from the OF node of host bridge's parent (if any). > + * info from the OF node or ACPI node of host bridge's parent (if any). > */ > static void pci_dma_configure(struct pci_dev *dev) > { > struct device *bridge = pci_get_host_bridge_device(dev); > > if (IS_ENABLED(CONFIG_OF) && dev->dev.of_node) { > - if (!bridge->parent) > - return; > - > - of_dma_configure(&dev->dev, bridge->parent->of_node); > + if (bridge->parent) > + of_dma_configure(&dev->dev, > + bridge->parent->of_node); > + } else if (has_acpi_companion(bridge)) { > + struct acpi_device *adev = to_acpi_node(bridge->fwnode); It's to_acpi_device_node() now in Rafael's tree. Thanks Hanjun