Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933286AbbHZCCM (ORCPT ); Tue, 25 Aug 2015 22:02:12 -0400 Received: from mail-bn1bon0058.outbound.protection.outlook.com ([157.56.111.58]:4205 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752277AbbHZCCJ (ORCPT ); Tue, 25 Aug 2015 22:02:09 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none; X-WSS-ID: 0NTO2ZG-07-RRZ-02 X-M-MSG: Subject: Re: [PATCH V2 4/4] PCI: ACPI: Add support for PCI device DMA coherency To: "Rafael J. Wysocki" References: <1440524009-5359-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1440524009-5359-5-git-send-email-Suravee.Suthikulpanit@amd.com> <5541922.5doADRYBJG@vostro.rjw.lan> CC: , , , , , , , , , Rob Herring , Murali Karicheri From: Suravee Suthikulpanit Message-ID: <55DD1E16.40607@amd.com> Date: Wed, 26 Aug 2015 09:01:58 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <5541922.5doADRYBJG@vostro.rjw.lan> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.180.168.240] X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(3050300001)(199003)(164054003)(377454003)(24454002)(189002)(479174004)(19580395003)(50986999)(46102003)(86362001)(2950100001)(19580405001)(83506001)(105586002)(64706001)(106466001)(65816999)(47776003)(54356999)(76176999)(87936001)(5003600100002)(68736005)(53416004)(65806001)(5004730100002)(77096005)(64126003)(4001350100001)(65956001)(5007970100001)(4001540100001)(36756003)(50466002)(189998001)(33656002)(23676002)(92566002)(62966003)(101416001)(77156002)(97736004)(5001860100001)(5001830100001)(110136002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM3PR12MB0859;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0859;2:i7oYLhkxONzYL/7J/LmDQqcIQcdwOknlO9NUxVr61UplQwHjh+NrqxJtpQb9NDsqe18hxFBx6qoLAF7cp8ibkvdrWdUmn7G//vrULXSvE2mmQDgFV+A3ijp6EujdoKNtgeAb53QWaS3cRjFVM8pVoa6S94GD5NRi2bBajuE40+0=;3:9S97RCqEAE+acv5c4wBR8a7aLli2aVZLVZ8HtU/ZvktWyHgBCQjq7FisVEWi1iEZHfu+SwQsa3QuA8B6lWw1KCgkQAdIs0C+SdfuFNZoyKVxpJydVn4zn/RblfAjgn1xDyf2/h4iO/4hnii0/95n7oxOb0zbnbgfA9Psrrb5Ms3UCYyKSnnT3gDp5x2RBoqM4+NqeMmySYH54GqWI6DxWlMkn708TPW67q6mFnWOicFlF1nVTyyNNstM0WqpM23R;25:RSLagF/BuQbwvnzrX1XvQxuMuvIEqAyeGidfPghPZfZ0bDqaCnrMxO7l/GLg5FT4VvxDrA8gN8MmBK8NFxDlGM2OSoHFLDAXTm/ZrmQkw9Tkn48wzSn1VZyKx/HUxTjOXlnRRjoQal15lnGucliIeKjAtbgMsCgcIkZ+IAWLgpb1EW4/omlz+eLQWj3bP/ZjayfoLfX070MKlcJX8Gkj6iNinP5xfHUXEoZVhFjgQ77Luhko6mLsraeDYLKICEJ+/AMbAAb+pwIm8lffUSSevA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR12MB0859; X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0859;20:ktK+3xKLkv2GbIipLWpzzJCQc4hsrHEwfaazm/kV0YYYWngz/EVGuFrO//e2vgJ5EJu4T3ylEl/9McsqKRliYXpI2cXswQtKfU0FsbML3ZWl6EL5iFlURVWFd+ECPsDV7cdUDEFpw8Y1G8YO/BsY1DC5kbPqgPvXMpgxMC7RBGRVBW/MdCLjdWK5Wvc/gi0NXtNGJ37BHpFlEW8IW192/VgYR2fvXGK2252EwlglinmyWk0U57ywREwm+D8k/4DegWeHeNbT3wiCM6rAKK+xrLLY/1Egm2uAxEJjifgopzMyPZZmLdvn/CCtYcfkodlJAXzf6364OAf31xGHu2DFgyvgpZZlyfLZKCpA0v2gV3I9F5qtCAroNnEXBjYiiePzluMzsthRGSEVjTBrPJhn2yG+DsW/GTGtRbLos9ikymF9zDQsQnxMzlaFSct4YBF9218l6jiosYrXjQ9DrSVfjp2CEXZBEEAv8NcBH2DBWA9OYzEyuKUA6ezkE/q+K3xU;4:FW1jdeDE1CLVH6GX2J/e/n/dI6RTiUbecVvBwqhE9ubHJOJlTCeupayaXsLU4JEyesqdE+AbvZ5bZ4z81C3TCEE1XX6WBwRBcHB55jKZHFon0PAgOtsX1zUB3yGwdwG2D1f4VksLFyxUraq086dchhc3L/P+qtfiQnnVzXLUUpH/WGYMr0FfRxtc01i/JvIQapCoWg294uiKqaVLEf4XBPQt8dzFdGbNkvLYr2z0YG/uXvs/FDkwaT48df2mhik9nmZDF0tWqOWU5Z1bu5dpQbJQ2ePd3nh2kND65gMKi5BDsorcZE68GE3sDa4uTZA7 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(5005006)(3002001);SRVR:DM3PR12MB0859;BCL:0;PCL:0;RULEID:;SRVR:DM3PR12MB0859; X-Forefront-PRVS: 0680FADD48 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTNQUjEyTUIwODU5OzIzOngraDBuTTJnRkxjUklOYTllTVM4T3pXeEs4?= =?utf-8?B?QlR3amhXWk5ycks3dkV3NHRXT1hIMUZMVEh1aW5JbWl1dHJ0STM3NkpqUzdR?= =?utf-8?B?ZXBWdjdHYzhGem1BcE9Zc0N2eWNlT0hTYVJab0ZYUVpWdEk2TGtPUW5WbVp4?= =?utf-8?B?VzNMRFg1RGtkVVNlREswY2tzNmNJWS94K1ZWWGlvL0RIK3htSTJKQjdFY0o3?= =?utf-8?B?KzZyTjE4NGVDeUQ3c0d2bEt2UEc4TnhmSEczWGJqVVhVdGg3S3NuLzZDZGU4?= =?utf-8?B?Z0J0RVFjRmFRK3RKWjc5YVREMmx1WHRNTERXNDB3ZERUbldFdzc3ZzNtdVov?= =?utf-8?B?ME5WQVBDckJHQ2NpRERYUStMTmxpTUFjVjMxa0J5NnovdGhFTWxMTERyb3RG?= =?utf-8?B?dEoxenJwaTh1VFpRZTlWWkE0N1V3UHkyalAxVG1tWElMdHY2ZTV5Sm5mMG1a?= =?utf-8?B?T0JLS2RRVDBQaW90K1YyYWxSc09KdE5xd1Y3MmNVcmwvT0VsUFRBRVU4eHRO?= =?utf-8?B?Y1NCYm1sVWtWNzAwbUNPenl6azlwQmlhVFJUWE5DN25oKzBrVW1QRi9BTnAv?= =?utf-8?B?MkpnN3IyYk9XTkJ1UnZuUVl6K2tla0ZhN3lxcXY0YVUwVDhwbENITlBlWXF0?= =?utf-8?B?R1kxeWdZNXFKL0praUxWdTFBYXV2aFBOZUhxaFVmZUhqaFRXSkRHb0V6aGJt?= =?utf-8?B?cGYzS3FxbGEwOGxpcm9ZZFNNTXpDYUxDaWtmaWZjZU12d3pVUTVvS205ZS9u?= =?utf-8?B?WUF2OXpmbzR3eDZuM3o2SDZDbVE0c3h5emN1Tmt2RGVIekRJb0x0dHhxYU95?= =?utf-8?B?U3FheDkvQ1FZd0x0SHMxS2hZVWh0blIrcDVkcSs4NWQ1RFFzcWdpWW5PWGFJ?= =?utf-8?B?TjJ6NUtkWExmbTFSdUdDT1prbFB5VFhIeHNqbkhNMVdHdVlHVzNHRkQrZjIv?= =?utf-8?B?dnF2dXFJSTdxc1grTFNHOGM0U080NlFBY0JVendqNkU4NHJWUnQ5QXVsMXpn?= =?utf-8?B?U0dQY2R1MnJGVmVvWmU2d0NuZVBGZ1gyWUxIWVZTZWdZUDJBV05DODlXS3U4?= =?utf-8?B?UWNIRlVsWlROR1EzenhsY2NyYlRMWTR1dmdLR2Z0Yy9DQ3Rublc3Mk1jdVB1?= =?utf-8?B?ZzhUY25yeFZSOE5jdXVaU3VjRTFjMHkwa3owNXppYkNldVJ4S2QxVnVTZHVm?= =?utf-8?B?em5uQ01PWXpjMys3ZUJrNjh2ZndyWnQ2VlpYVitxOXI4NFQ4UjFUVkVMbmdF?= =?utf-8?B?c2FIWU9rdHozL3NWVThWYTNuOWFOV2RhT1lDdy9kSGpVL3FIaEFaUFRnaDVX?= =?utf-8?B?cG4xNDVvRUZhUWVDd3RibUJzMVRtQVJCdW9TazFiM0NDU0cxcnNZRFpQVWZZ?= =?utf-8?B?b1pJbzVGVkZuOHcxbzk0NUgvYlB6a29ZbGRNRXBGaGJtMThWRnQ4VkJ4Rlpx?= =?utf-8?B?VzEzc281dHJROWt3RXpCN3JHa3ovODhSY0YrUnRHamptdlQ2bDhnVEl6YlhH?= =?utf-8?B?S2pSZi8wb3VJeHJKNlZPQXZtSkZLZ1BvaEhqWEpBajJnMCtIK3BRV1k4WThw?= =?utf-8?B?NkNIY2hqcjJ0QkhDUmx1VkczZFFNUDkzK0U1RlhRb2l0TnNuNDBJbkJsYkFG?= =?utf-8?B?TTZERXhmWGZFR2NNWUVhYUIxaGFxOU9wMmxDNkJTVHlTUGpsSXFBUm83aEpy?= =?utf-8?B?MU5XdGhWRUFYSmZOL0ZVUk1OT0owU2YrWmUvZzRDNm5rK0QwMWpnSHlKbytX?= =?utf-8?Q?eaMgfo/MnDJDpmPjJfvrxS7WH0NuJRsAK6m3A=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0859;5:RM65PGAbsSosoqr5/Edlg48WGNqvNIRkbqKBClS5vPpXbJuZ9vqUL5XfGPfNjC6/374cJONTPkkDrAsRwcUJij+YC9PIgY/PmrqNSNr+bcVQepBixXRawvUHa31O7yYVQ/9A1wfm/353HBsib0tENQ==;24:Q7xDK/3eXctvb1XMir3uQICoPBoLyV/gUyXSse/BChYjp9c8W1vccTIw0aZXB3dTH+A3zP4s6Mm24Wuy3JsgPKy2/ZVZoGoZmTHiw3oQtRo=;20:F7E/V6abhnVOs8RmgW+SvbBxE2GazpTpD5mSg2/hwJoKHzqCI+FCfYzSOwXfiNTzLRWaYmfa4652S0ZOh9xclA== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2015 02:02:04.7768 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB0859 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2173 Lines: 59 Hi Rafael, On 8/26/15 06:48, Rafael J. Wysocki wrote: > On Wednesday, August 26, 2015 12:33:29 AM 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 | 15 ++++++++++----- >> 1 file changed, 10 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c >> index 4de6594..2fd2a60 100644 >> --- a/drivers/pci/probe.c >> +++ b/drivers/pci/probe.c >> @@ -1551,17 +1551,22 @@ static void pci_init_capabilities(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); >> + int coherent = acpi_check_dma_coherency(adev); >> + >> + if (-1 != coherent) > > The ordering of this check is somewhat unusual. I'll fix this. Thanks, Suravee -- 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/