Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1171164yba; Thu, 18 Apr 2019 16:50:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqzmrvbKsTB91MC7mNzo4iH0anDyJbDiC/qwTbhQEexzvmBZw5ockoUIvbxF4ObbmsrdDQ/O X-Received: by 2002:a17:902:e101:: with SMTP id cc1mr458900plb.129.1555631427706; Thu, 18 Apr 2019 16:50:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555631427; cv=none; d=google.com; s=arc-20160816; b=cuhPCiSjNsQhUhcWl8095X+2mI8PzvSWk314la+cCVrrxjK/4kWQwaeK4G/Y1LFZoF nyafBv/nOZMrOxoT7RJhnTlMxFt2KUnPY6nfNltro0ohXMUHVaBgO76qUdSgwNxj9DBH yycxdCNg2O9lTx0LIv0+WmpgEl02nyX4hh5kXBZJB90MTONKCg9yiSkMdHWUc5T/KeCP moOMvU7zRlowR6UD0Neg5PJBj4TPALpg0XWRSadkqdASIQ92MASUUFNaC2MNP0p2cAb3 r/PV1VBKqPEXSvgKAr2w+CXCE5Bi8ToesEEvppDmobxPxg7L/rakxqRf/alO1dRaqDFj 2CHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=XZ2KnQRZX9hVSdWXGxIWFKVyCirx50bxVtf9hrtieAI=; b=hiiIqzwn4VagtBO6N/IidmefYft4knG3w5NdS5Qf6e47RtOMheUhZb9tfa2thcvChY dfCWcH6DKxOTxGNcLByUyKYOu9dZXQ6LsBVAjEkfQdtUAS0VSD72cgbCcNq6seKsA1k1 5TtVfOP5dG6zcKPdoGncuou9KPfhyuQWBg08QP7v2ID2QkFBADP/lRp3jgDrDammmVVh hSl6O15hVvlew9XrZEPl+T+hFBAQdiqMjWc/XENn3HMSPbO2d4UiPjf0uCFJEOoxZqau /pLlcuqOkGlr/+UOM5KzC6cm/rHnw1n6yRT2hCilBYKbAZcWJ2nFh8udd83fnIJClc2N vAeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0kIFHrEN; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j5si3666677pfa.63.2019.04.18.16.50.12; Thu, 18 Apr 2019 16:50:27 -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; dkim=pass header.i=@kernel.org header.s=default header.b=0kIFHrEN; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726740AbfDRXtZ (ORCPT + 99 others); Thu, 18 Apr 2019 19:49:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:36768 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725894AbfDRXtZ (ORCPT ); Thu, 18 Apr 2019 19:49:25 -0400 Received: from localhost (unknown [69.71.4.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 361A3206B6; Thu, 18 Apr 2019 23:49:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1555631364; bh=RdRuENMt2N8EcFqmuOVsp9lgB312z9UdqMSFIAs3IrE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=0kIFHrENnmKj3GeqVyaIoay2R1vKfYATSAZLzKR0ppVo0/VxojkAn3vYVQt21g5sF k52nBSe4aX+ThkElxPakCGtR+U1n15XomqC9njay/plcUFjJZY+Xn9+4ChSmHwVlU9 U2MZXTBlq0eWeoWWS8uqQMH7GLqpiHcx2T9mr7Q0= Date: Thu, 18 Apr 2019 18:49:23 -0500 From: Bjorn Helgaas To: Srinath Mannam Cc: Robin Murphy , Joerg Roedel , Lorenzo Pieralisi , poza@codeaurora.org, Ray Jui , bcm-kernel-feedback-list@broadcom.com, linux-pci@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 1/3] PCI: Add dma_ranges window list Message-ID: <20190418234922.GH126710@google.com> References: <1555038815-31916-1-git-send-email-srinath.mannam@broadcom.com> <1555038815-31916-2-git-send-email-srinath.mannam@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1555038815-31916-2-git-send-email-srinath.mannam@broadcom.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 12, 2019 at 08:43:33AM +0530, Srinath Mannam wrote: > Add a dma_ranges field in PCI host bridge structure to hold resource > entries list of memory regions in sorted order given through dma-ranges > DT property. > > While initializing IOMMU domain of PCI EPs connected to that host bridge > This list of resources will be processed and IOVAs for the address holes > will be reserved. s/bridge This list/bridge, this list/ > Signed-off-by: Srinath Mannam > Based-on-patch-by: Oza Pawandeep > Reviewed-by: Oza Pawandeep Acked-by: Bjorn Helgaas > --- > drivers/pci/probe.c | 3 +++ > include/linux/pci.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 257b9f6..ce5505f 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -544,6 +544,7 @@ struct pci_host_bridge *pci_alloc_host_bridge(size_t priv) > return NULL; > > INIT_LIST_HEAD(&bridge->windows); > + INIT_LIST_HEAD(&bridge->dma_ranges); > bridge->dev.release = pci_release_host_bridge_dev; > > /* > @@ -572,6 +573,7 @@ struct pci_host_bridge *devm_pci_alloc_host_bridge(struct device *dev, > return NULL; > > INIT_LIST_HEAD(&bridge->windows); > + INIT_LIST_HEAD(&bridge->dma_ranges); > bridge->dev.release = devm_pci_release_host_bridge_dev; > > return bridge; > @@ -581,6 +583,7 @@ EXPORT_SYMBOL(devm_pci_alloc_host_bridge); > void pci_free_host_bridge(struct pci_host_bridge *bridge) > { > pci_free_resource_list(&bridge->windows); > + pci_free_resource_list(&bridge->dma_ranges); > > kfree(bridge); > } > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 65f1d8c..016a044 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -487,6 +487,7 @@ struct pci_host_bridge { > void *sysdata; > int busnr; > struct list_head windows; /* resource_entry */ > + struct list_head dma_ranges; /* dma ranges resource list */ > u8 (*swizzle_irq)(struct pci_dev *, u8 *); /* Platform IRQ swizzler */ > int (*map_irq)(const struct pci_dev *, u8, u8); > void (*release_fn)(struct pci_host_bridge *); > -- > 2.7.4 >