Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751277AbbBIFXx (ORCPT ); Mon, 9 Feb 2015 00:23:53 -0500 Received: from mail-bl2on0122.outbound.protection.outlook.com ([65.55.169.122]:52915 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750905AbbBIFXw (ORCPT ); Mon, 9 Feb 2015 00:23:52 -0500 X-WSS-ID: 0NJHOBM-07-DRF-02 X-M-MSG: Message-ID: <54D84456.8050509@amd.com> Date: Mon, 9 Feb 2015 13:23:34 +0800 From: Suravee Suthikulpanit User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Murali Karicheri , , , , , CC: Joerg Roedel , Grant Likely , Rob Herring , Bjorn Helgaas , "Will Deacon" , Russell King , "Arnd Bergmann" Subject: Re: [PATCH v6 0/7] PCI: get DMA configuration from parent device References: <1423173179-10227-1-git-send-email-m-karicheri2@ti.com> In-Reply-To: <1423173179-10227-1-git-send-email-m-karicheri2@ti.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(479174004)(51704005)(377454003)(164054003)(24454002)(80316001)(1720100001)(46102003)(19580405001)(83506001)(23746002)(92566002)(87936001)(86362001)(19580395003)(47776003)(59896002)(106466001)(2950100001)(65816999)(77156002)(50986999)(62966003)(2201001)(50466002)(77096005)(76176999)(87266999)(36756003)(33656002)(54356999)(15975445007);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR02MB197;H:atltwp01.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; Authentication-Results: 8bytes.org; dkim=none (message not signed) header.d=none; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR02MB197; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004);SRVR:BN1PR02MB197; X-Forefront-PRVS: 04825EA361 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:BN1PR02MB197; X-OriginatorOrg: amd4.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2015 05:23:47.9696 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.221] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR02MB197 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4029 Lines: 86 Sorry for delay response. I have also tested this on AMD Seattle platform w/ PCI Generic Host Controller, and I can see that the PCI endpoint devices are getting proper dma_map_ops as set in the host bridge. : Suravee Suthikulpanit Thanks, Suravee On 02/06/2015 05:52 AM, Murali Karicheri wrote: > This patch add an important capability to PCI driver on Keystone. I hope to > have this merged to the upstream branch so that it is available for v3.20. > Also would like thank everyone for the contribution. > > PCI devices on Keystone doesn't have correct dma_pfn_offset set. This patch > add capability to set the dma configuration such as dma-mask, dma_pfn_offset, > and dma ops etc using the information from DT. The prior RFCs and discussions > are available at [1] and [2] below. > > [2] : https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg790244.html > [1] : http://www.gossamer-threads.com/lists/linux/kernel/2024591 > > Change history: > v6 - Rebased to v3.19-v7 > - Addressed some minor comments about node name and DT size validation. > - Pulled out 8/8 of v5 and plan to send a patch for enhancing > of_dma_configure() to use size to calculate dma mask. > - Added Acks from reviewers. > v5 - moved the dma_mask update in device from ARM specific API to > of_dma_configure to allow this across other architecture as well > - improved sanity check for DT dma-range size in of_dma_configure() > - moved API to get parent bridge device to PCI (host-bridge.c) > v4 - moved size adjustments in of_iommu_configure() to a separate patch > - consistent node name comment from Rob > - patch 6 added for dma_mask adjustment and iommu mapping size > limiting. > v3 - addressed comments to re-use of_dma_configure() for PCI > - To help re-use, change of_iommu_configure() function argument > - Move of_dma_configure to of/device.c > - Limit the of_iommu_configure to non pci devices > v2 - update size to coherent_dma_mask + 1 if dma-range info is missing > - also check the np for null. > v1 - updates based on the comments against initial RFC. > - Added a helper function to get the OF node of the parent > - Added an API in of_pci.c to update DMA configuration of the pci > device. > > Cc: Joerg Roedel > Cc: Grant Likely > Cc: Rob Herring > Cc: Bjorn Helgaas > Cc: Will Deacon > Cc: Russell King > Cc: Arnd Bergmann > Cc: Suravee Suthikulpanit > > Acked-by: Bjorn Helgaas > Acked-by: Murali Karicheri > > Murali Karicheri (7): > of: iommu: add ptr to OF node arg to of_iommu_configure() > of: move of_dma_configure() to device.c to help re-use > of: fix size when dma-range is not used > PCI: add helper functions pci_get[put]_host_bridge_device() > of/pci: add of_pci_dma_configure() update dma configuration > PCI: update dma configuration from DT > arm: dma-mapping: limit iommu mapping size > > arch/arm/mm/dma-mapping.c | 7 +++++ > drivers/iommu/of_iommu.c | 10 ++++-- > drivers/of/device.c | 74 +++++++++++++++++++++++++++++++++++++++++++++ > drivers/of/of_pci.c | 19 ++++++++++++ > drivers/of/platform.c | 58 ++--------------------------------- > drivers/pci/host-bridge.c | 14 +++++++++ > drivers/pci/probe.c | 2 ++ > include/linux/of_device.h | 2 ++ > include/linux/of_iommu.h | 6 ++-- > include/linux/of_pci.h | 5 +++ > include/linux/pci.h | 3 ++ > 11 files changed, 140 insertions(+), 60 deletions(-) > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/