From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932544AbbJMPwN (ORCPT ); Tue, 13 Oct 2015 11:52:13 -0400 Received: from mail-bn1bon0055.outbound.protection.outlook.com ([157.56.111.55]:32155 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751417AbbJMPwL (ORCPT ); Tue, 13 Oct 2015 11:52:11 -0400 X-Greylist: delayed 76855 seconds by postgrey-1.27 at vger.kernel.org; Tue, 13 Oct 2015 11:52:10 EDT Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NW61ES-08-6H4-02 X-M-MSG: Subject: Re: [PATCH V3 2/4] ACPI/scan: Clean up acpi_check_dma To: Bjorn Helgaas References: <1440597279-11802-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1440597279-11802-3-git-send-email-Suravee.Suthikulpanit@amd.com> <20150914163411.GL829@google.com> CC: , , , , , , , , , Rob Herring From: Suravee Suthikulpanit Message-ID: <561D28B5.7030303@amd.com> Date: Tue, 13 Oct 2015 08:52:21 -0700 User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20150914163411.GL829@google.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(479174004)(199003)(377454003)(24454002)(164054003)(59896002)(105586002)(101416001)(47776003)(50466002)(189998001)(64706001)(106466001)(83506001)(50986999)(87266999)(65956001)(2950100001)(64126003)(76176999)(5008740100001)(65816999)(110136002)(92566002)(33656002)(87936001)(54356999)(86362001)(65806001)(5001920100001)(23676002)(46102003)(11100500001)(80316001)(36756003)(77096005)(97736004)(4001350100001)(5007970100001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0717;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0717;2:lPa1YODcTUTpIDjc9uadG5MMISnyysCuxFB2yj/52TbCgyh36XD82ALjlYkpC1XAdK489YQeJLSU8vT6xZ33EGnxu9Ive6PddrpFx0czs7FZIsPHC75e0rR29F853ErAT+julb83cG47NZZeKCoUZhxt8a3fbno9GHy9IJ+s090=;3:rCa0UOMBML1oUw2dn7gaQ72Wdgo5U3WftuEKEHxK9Y5Hc8J8oQVGVDTrwmuB3apLJFHteXWiQ+U/QagUUPB91D4jjgmGJgGUMhUmnMNpj+tglx6FhlLMojWv8w1i7Z2Pi9ZqHF1wKAUzRH/CBoYRC1kjTZiGlkHsYMVbQp1hDZq1ageQrc5/wsQ5v5r145nBI/kRB9m9jLjEPrIms9NAbhMdqf8QYcdJbbCfRL+hYsed/ZRKPwDzUEjzC98EHoMl;25:XMdpvvw28ByPaY0lPA1h+t0CPeC9UTiV2qBqv0LedGnZvkEV4wvST4z0Ub/R7AxPCPUhgUM92QhJdAiXjksCp82TsJWzdquaBRa5nWuCBuhdwv+hIZKRCQfO5g1/JXMDwXim/UUHdWYWNg+s5X1F2hAeUWmeh+5qDLs9Zsswoy0PgLE5TwpUkf8nflt6BanZ+JPLmKP0VWw8Hhz9UMuCUIqpk0yIEHdIaqhFgXJABj4zX0Gcd4GCWYISwPCqYt3j88D/Uf2PXmIdo6IvdKmgOw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0717; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0717;20:54J3v1fJUcG60BMXkZc0BWAamCcuCBgTfkbPghWk7dDeEdYx+a/taSEJ7vaXAVim/dmmCbTbt9/tkaW/Q6qm+POruE0l1/nY/XsKuiE/eDWI4cNfbqxyq+aFTb+t0I1fSkr0GMHL4jsLG/8fENuPhy6Kwnp1+DfiOp8lxU/Ilr5zfWOKeTuhqMQG+XXLJVHvpUuk4LO9dL9BKoRoQqIluRBJjMlqVf11E+2exTBdxF7/WYsWY4SNf+9i2WILs109oJKn5fHK7RK47pIPJC7Y3xUS38OWaNohng6FlE8fonCkoM9CmReS/TsYcEstBdds+cOWBAaskqciK0EHSGEaj+YPaF08LWULb/Nd+ydSL+VtR4EiB4Myen8Ay2iaLj01XUDiUQEqOcoZ3lMwBcavlyfeIjz6jEJhMUTgBI5hw80ujLKMZfB4y82rFPHBUDQ1ttXpJOR/rO0+WXnGjxAM0oCIc1JCZ30JBzYWdOPQFzoQM74gMhc8MAoRkzp+vcoX;4:aa6qNX6k44J6Ig45RVlXSgwo67wjvvjLVVCogOkUdBpxSyLPMGnwsO9oCSD3UNJK20kGx8nKy/RY9XDwd0I0YycJ11tgzrK9d5XqtAncFExBNmEdgzWA7aXo4hAmIqpozAZWrg90vW9wr8ev0puWiXXGQLqa5MffoX0ytxRBItJ341kKI3ujl4BtLwq1i5H79OPUw+VcLMQK5cPfPGgd+o1l58cTq41ElWoVseKZ2aFzEH6M0pxrATuG9gK+FG+qrNksTsf2rmSZUw3v4YZ+UTTuyqzkshaVGyJ456r4swlViY3QnuLMkWS+SRE34VINizpOpOaCymvlqc/977i3ANEXuxTg2Io2Pv/maIedECU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001);SRVR:SN1PR12MB0717;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0717; X-Forefront-PRVS: 07283408BE X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwNzE3OzIzOkFWdEU3Z1pHQWoyY0JoN1RtMzcrQWhTbGl1?= =?utf-8?B?OGlvM3pob0hoSno3ekxjcjZoTDlWS1Frb1BqckxudWZqOXhhdHEyUk1IbXYw?= =?utf-8?B?ejI2U0hUV04wYjBaR2tnRHNhU0pOYWpXMExSUTZZRjV3d3FZK25mQUtjbmNZ?= =?utf-8?B?Kzh1eS8vL1h0ckxRV0E0YzM2RUptM0NnV0JiSHFNZzJDWXN1N0sxS05mZTdU?= =?utf-8?B?THkvVmlMUUNKaUVLOGNmZEYzY01JVkd2dFBYWW5DdHJaUE1kOXpYc2czUE9M?= =?utf-8?B?RU5kNGRoSE9yck9OYVhsNCtjK0RzVUhCcnBubnp2THF2WFE2aHJTaEJvWC9I?= =?utf-8?B?bzZybEF1WFRJRExCTitHRmI3OHE0K0owV0JjSkFKMlE5d25DK0lPYjd0VHhw?= =?utf-8?B?aURiRzZPTCtHRGI0L2pQRDJOVWR5RHJTcGxqMlZRTmpNYUk1dTI0WkdLZmJN?= =?utf-8?B?clhTVVRzUGlJT2EyK1RCZ2JzRkR1ZjJVMzZyOGEvbEVuU0p6bkg3eVU0ZGZ1?= =?utf-8?B?RGNaak8rQUEyUnBUOUFSeEsxcU5lOVhRcFdjemlzNVZQaFFiS1duWm9iQWhC?= =?utf-8?B?clMvVkkyK2R6WFVGMFE4bzRoUnZsOXd1VUlEcjBzN3dlWnFoZGNmM2l2WXlX?= =?utf-8?B?UmFNUGdsbWpEOHVNZGoyTGR3OFEwenNGOEFNTHBGUXkrUzF6UytabVR4cUw2?= =?utf-8?B?dW1OdXNvdjVjYkRocEdIa0VMdHFUTk1IekJ4cTVRM1hSdXUzYjg5NmEyU0lx?= =?utf-8?B?TlFKNTFoY1kwQlAzVmprZklXNVpPL0JGaVJEenlsRlBRY1orQTVvSVMzdlNH?= =?utf-8?B?L0VCQzV4ZmFFYlJyUm54K001YTFsMFRvOTBnczVwTndSbWUwT3N2QXRqZStk?= =?utf-8?B?VGh3YWtDYTBRSlN0bmFkNWN0TVNqWXFVN3l4WFYvclpOempuUERjVnQwb081?= =?utf-8?B?bExOWENKMTNRSmRjVkt5UkhWQ01hTnZkenJVRWIxZERSWlhvVjN1VE53SDhm?= =?utf-8?B?aDk2SDdUV0x5UWFsOXBZdGFCWUZMS0FBY2dUT1dIcC9oL0ZoS1lxUEFkb2dR?= =?utf-8?B?VEw1cEdEMnhWYjByaEd0ck1sSjRkT0loRkc1RFUrWkxXeFBtNGNMVHNhOWls?= =?utf-8?B?aWRDTU5ZWmc4aGppaDc4RnZXak10TUhva2RsL0EvY2didXdIL3JsRFhSOE5K?= =?utf-8?B?NzljTGVaaE1rb0RWeHYwVUhPNkowRzBUb296QXJBdlFxRVoycDRXYlhCeEc1?= =?utf-8?B?VlorRDVRaytyMTJ3bzdjMXNTanFuSlJreXBjZzVTTUtNS3JRVk4xYnlEemFZ?= =?utf-8?B?ci9xLzV1a242c2RkanNkWENJRzVJaDk2U01FL2pLT3ExVWk5TFVuUHFoUXJh?= =?utf-8?B?SU1HcnpjZzRWVVJtVXRmVnVVWjZtYW1xdUpKeUtyMHhxMzh1dHZoRDhRQVV4?= =?utf-8?B?QmwwK1lVWVBrdTczeXVneW9DazJGdUUrbFFHTEE4OXNUaTBEaDhqMkVuOElF?= =?utf-8?Q?IL1LuJzAOX6i62skJp+uZeLqpebrkg0EoGs1G3Y+RFCdEl?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0717;5:Yof9NqRjbg1pCwAfgexBuj7ktrCu42IyqgUEIo/4L/5O47Zh5e0FCc+GZ+jyNLQ50AM6wJT+VpFL7q2N96IUV7spOkCQQTz+PIjl23DT8RKkJ0lNc3bNsbe+nx7jVws6cw+w5ozrGCdeMBAIurSQbQ==;24:u8dElfqT8/Ecti0KlQema09FD74Y5BnZDkXf/oK/Rso8wmbgyrT4Z5GlEdEa+o5Ziij7zy1AR91FkNnbFTeJokzNQuHIPDTlXcAvM7Hlv68=;20:eRHP0QbUeYgMM8UonwdtTAqZQ/EhaapXBK87WsdqO/SPtTK8yKzM0Px8bWbnE8I0Szwa1ygOIs4Hm0dkjP2LHHsJ0x6+F/I5YoM8ZLLNpLOCKqiG81YNMb2hwuESXFCpmAIs1wvW2P97Iox2h2ws35y79G8mxTJhcBZilBcHvVbwmysgJ5TEHf+Bll6rBNvTJ4uukGZW7vpR7uP4ECBAGZfxTnefMmBBOgcJgGXTtewm1JbF4X05e4iYBqTpbYqd SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2015 15:52:07.0087 (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.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0717 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0349;2:Dx/OjLxk2mAFbCQevsB5fgtdNdTu0ckCUUCwQoUDLcqGD8LD6QPv+z+6r7e0Vs5pS94R/I6TWEcGbnvO400hkvoWg8+exX6c/xsat+1W0rsTrBm4qxwjTMwzq0zf2WRrs+4h/W7VaQm59S9HnTiBHs5AthsR+Nn3aK6XNu5xY8k=;23:4fEVZ2ZxqCW1p4Bk3G5otbYCk2jRnw/ZkibwWe6You4Euh8F0lretLXboAUQ2QrSODctAIFLbtqNRKuxXDNVWjZRy4k0C7Sj6ofYkWtxvJqrOm33PiaS6yVUclMqpfQc68SrZiai7H0wAHPsWuMeymhzasMFaEvWbhyUH12y3pd2WGsINF+zIuzUVcnpdtrS X-OriginatorOrg: amd.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Bjorn, Thanks for your feedback. And sorry for late response. Some how I didn't see this earlier. Please see my comments below. On 09/14/2015 09:34 AM, Bjorn Helgaas wrote: >> [..] >> So, in order to simplify the function, this patch renames acpi_check_dma() >> to acpi_check_dma_coherency() to clearly indicate the purpose of this >> function, and only returns an integer where -1 means DMA not supported, >> 1 means coherent DMA, and 0 means non-coherent DMA. > > I think acpi_check_dma_coherency() is better, but only slightly. It > still doesn't give a hint about the *sense* of the return value. I > think it'd be easier to read if there were two functions, e.g., I have been going back-and-forth between the current version, and the two-function-approach in the past. I can definitely go with this route if you would prefer. Although, if acpi_dma_is_coherent() == 0, it would be ambiguous whether DMA is not supported or non-coherent DMA is supported. Then, we would need to call acpi_dma_is_supported() to find out. So, that's okay with you? >> [...] >> + >> + /** >> + * Currently, we only support _CCA=1 (i.e. coherent_dma=1) >> + * This should be equivalent to specifying dma-coherent for >> + * a device in OF. >> + * >> + * For the case when _CCA=0 (i.e. coherent_dma=0 && cca_seen=1), >> + * we have two choices: >> + * 1. Do not support and disable DMA. > > I know you didn't write this comment, but do we actually *disable* DMA in > the sense of turning off PCI bus mastering or calling an ACPI method that > disables DMA by this device? I suspect we just don't set up DMA ops and > masks for this device. Actually, I wrote this comment. When we disable DMA, we basically set dma-mask=0 and do not setup DMA ops as you mentioned. We don't actually mess with the hardware. Thanks, Suravee