From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752243AbbJMXxw (ORCPT ); Tue, 13 Oct 2015 19:53:52 -0400 Received: from mail-bl2on0080.outbound.protection.outlook.com ([65.55.169.80]:9376 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751049AbbJMXxr (ORCPT ); Tue, 13 Oct 2015 19:53:47 -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;arm.com; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NW6NPH-07-94A-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> <561D28B5.7030303@amd.com> CC: , , , , , , , , Rob Herring , Jeremy Linton , Tom Lendacky From: Suravee Suthikulanit Message-ID: <561D9978.9090406@amd.com> Date: Tue, 13 Oct 2015 18:53:28 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <561D28B5.7030303@amd.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.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(479174004)(43784003)(24454002)(377454003)(189002)(59896002)(64126003)(50986999)(65806001)(36756003)(92566002)(80316001)(93886004)(87936001)(23676002)(77096005)(64706001)(5007970100001)(33656002)(65816999)(76176999)(83506001)(19580395003)(65956001)(87266999)(54356999)(47776003)(120886001)(15975445007)(5008740100001)(105586002)(2950100001)(106466001)(4001350100001)(86362001)(50466002)(101416001)(189998001)(46102003)(5001770100001)(97736004);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR12MB0706;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0706;2:kFgV9u9V10WHmP7+fw/T11qzRtuAdh0DpVjb3zsXdXFV9ysHUbn4wwVV+0SVBduYUXdH0bb+zkz4Rit0U4Nhih87l8o97BQG1zvlYBghch5FYjWi0oy625SMRLuM6Qz0aMAqYB7eijngrbry4gmWGQow6AueTkaU/dolZZsDogA=;3:K3o1RSn28d6Oi5qZ09PmInLuXjHse4ZqneVsHqHzDyxZSPCkYYGkmqM0BtAHzjDVvfe7GwLxbdkYE6yUcIHQo4MTcjy8YEjTgKXVmO8EDeM7rHatHurMyTKqpFgfirwVK558WKITQKVi+38xgrcQ8UOKl6GOLiJ90CzTwMVdMCY4EzOsvY7/MEZxwJcHLhaROiEkjXU6Uw86SOFDC+Ds3jyVSE4VL9hIDxP8z1O/b3glOmeBS5QbaHWEpTUXoulC;25:bc73vGvL1hhXJnJXSA/F/b1XHq2b0J/YIec9/McgcRwquMJNfq4l7oO4dNARdEh9qcMt4mmzjpT6V95j5/BY4/NrE3l3Ev7MxgTwEgoR/yMOr0wRp61GlS0IiTOe6O83GAOz0Z5YxgU7AVhaQE36c3TGPS6GAMKZ8JSRR609F25m/dOXSt8z2q2F2eQMUpL8ogMBu97jbseeQt9ntfU1ocEcRlW6AaJnJ9tJckvwJzz/sYpc+KdDDzvlWjKFdh4DOGiP81la1FpqnHkiA43Pmg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0706; X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0706;20:33WjaVYZyADDu/OrDsAcjeq6vXuxaEl3Ft/Tv2paf0i7LQQiNP2eH6jeUr2H7joFXIesLBDiyKvZCFdhak9gmTV94Hape6/sJitISKhlTCzWVqfxE+OHslzpWdnLQBScSwdmVqBOMuC87HkLvHQ99jATxAWNEyin9O1SeKy+nBPEXw8k5+CToJ8tRuzB6f8Lfz9iNJ+G9oCpogO1AeCAdOozu5oAqPvMajDsjta77jmc0hkIj1Uq7BAkjKawb7voVSZhs5ABLDdVg94VnLPz/iqKzx2ReVj3MxNRjCV+d05hiVhkyzqoPHTYl0upjL/gDy3mUmbLHGk3mU2d+wQIk9xP0exn5D1++o+TOTgMdjZJAEf+xvbbYv7B6V4qjUr1KqVfGOxA2PVSSD1/6yQv147wfQAHCOLNhsMwuL5dP43vThfQrOBirIfzhTautKe1aAMoL8cUSGRFCwutj90jBh0Y035beX14KQ9vEuzGRTB+66vatsNCqqImjVh6NpVN;4:hjDkw5/RH/swJm9QdUCRnJqLdl2ztULyF7guLPtV7403zTNhEftTPQOth64LZccnN3h/niUyNUplfpUnG4JQpQIaLSITU3Y0lYujqmEUFm2CBxacouYTMnDZHqltUyY86V+nl/H+futomNR9Zns3TEO25OjA6AEECMLu1lo/fXWvuEtUt9gGL6rWfbe6UNoZSWoA6YuMdXyA0eU2W1pjHHVj8Gb2UAoDG09Y10pXkMmO6QFgkczo6jH5AKW0NVi7RT0BIeSaeyXZRCGEjlTLjwR6YGFfpiKY3aztSyuFX5OMG+n+rJ3Sn26n1jU8tgf15WhRRMQKJKgSAq0Fk3cnXeUWq5TylGT8TO3w27ZPc6w= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001);SRVR:BLUPR12MB0706;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0706; X-Forefront-PRVS: 07283408BE X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTFVQUjEyTUIwNzA2OzIzOmRXMVk4emlxUEpPREo5YURkbS9mZEJneW9N?= =?utf-8?B?eHZEWisrSGdsZ01RRGlzVkZZYTgrZ3NGb1lZNE1sZ2IyaU5KNHFaN3liV2tW?= =?utf-8?B?RjhXTTdPdTZBNXBmcTV2T2VZYis5ZUFscFNrZDR0THZEb0NRNTBXbEFhN3R1?= =?utf-8?B?ZmlZUityaUJyS3NlRHVtemZiWGdlQjZwZWxQVXJKeml0aEgvb3IxWHBBSFcr?= =?utf-8?B?eFhqemJZTEpKVUlvbnpRLzFtZ2pDeXJpbVRudE0wZG1leHcydXJaNEdEdjQ0?= =?utf-8?B?N3pGajdIcGRqcm5GWGR3S0RVbkpJWmdycEcwakZLNEN2UUIrT1JDOWxkNFRs?= =?utf-8?B?SUh6elI1SEROdXczSmR3YmR4Y3JxNEdDY1NZbVdUUkZ2OW9QZGRZZE40czJW?= =?utf-8?B?THZrdFJaSXBZZTZRTlpwL2JXTi9jQndSOEwvM2xDWXB6Q0t2ZlNaWFdIODBL?= =?utf-8?B?WW5HQ1NzaFBxNG9nNCs5bnl0MFhkc1pndTJodnNBUlgraWtrNXova0RWcHdS?= =?utf-8?B?cmhvWngvRkdOS3JpMDAzcnBXODlTSkYvNVNWN0R6OGRVc21CQTJlUkF5aVUw?= =?utf-8?B?TkoxN2E0NGM1RnY0UGJEVnFYSk42dFJWQnZ4ZjZEdlI3YkFkemoyZ2I1NVg2?= =?utf-8?B?eEYxRk91YVgxL3FnVjVQRUtWOHRzQzlWVUFmSFFLNE5lSHNWNUErS1RFeVdI?= =?utf-8?B?Z3ZRM04xM2NRaXF5SzBVWURSTjNuV2REaHB0cDg3dnlLMmkvdjBIQ0NiNWlo?= =?utf-8?B?aWdNSUVpYkU1NVVISWVUeTNLcUpNcGpUQTJVMGpzZVZYSEprN2MrM3dWT3dq?= =?utf-8?B?M2l0RGgza3VHRnZTVzM2clBxL1h0Z2QvN0NmejAvZFRSWGZIenJvUHIwaWhl?= =?utf-8?B?NE9wZkY4SkFwSWZkSmhVbnMwazFWTGQ1SE1kNmxqOGlSWEFPbDlveG84SGli?= =?utf-8?B?eDdXU0dmZVpONjdDTmRwZlljamdmT1htckl1YW5YNXdTazViUlpxelU4V2dR?= =?utf-8?B?TzVreWZtOEp6R1JWRWFHb1lpc0w1Qi9ya1h6d2NmSlJ5ZjEyKzlva2lrMkFB?= =?utf-8?B?NGFmdFZpcTRZQUMyditBNDhydUE2ZXE0Q0lneWlrK0ZzandHZTdTVjluQm43?= =?utf-8?B?RnE5VzhXcmhmM2ZUeXBpd0dyVUZ6RVQrcFRvZ2JJbnFNakdtTTVYcUZ0TzZ5?= =?utf-8?B?aCtjUmFia2VJNCtGdWszOWZvdndKY1B1WlZIRWYyVmdBdlJiWlUxem4wUjdv?= =?utf-8?B?bGZkaGRnZmRkUXVleHUzUDJaYjV4RFB3dmpxaUova0RtK3diUHdXUnhYWlRW?= =?utf-8?B?WFQ5V05FWXZINUdhWDU4NUFqTDhadkZmSlM5RmJqTDg2c2hTSitnVTNjbUJw?= =?utf-8?B?R0pmL2kweFdBcEZoNWZHcWxpajViaUJvdSsyeFUwVTd4QTFrSjMzbjJkWWUr?= =?utf-8?B?dkVDdDA5RHU2VlhQaXJGcXZCck5rVVRNZ1ZKTTlxS2pnMHQvT2s4T3RPcG5V?= =?utf-8?B?WWxLQTBGWWl4TGszZk9IYlROTDVMbFRvQjE5SEpwYktOblhDZnBRY21wemNi?= =?utf-8?Q?ivYL5XUOGEy62stlIVagNt683LcEJhrWaeWkXCdBjpKk=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0706;5:h6PZfMVwNEHk0ijYl+nNwOyTuyMMLeKg9S3ZOG7EFzl6levUDrp+3mVVewzK4YGbSZAQPlrTTqZXQGXlYEfFyy5dnRHrC3l2Svk7A2523Jlk6B6aSwynR6hR7H5uBn2/YOGYPuLs7PPmn4LE+3sOBQ==;24:vPp0koKqSslKf/XP35MyPC18nD65vTryoad21z+Ebmj9j3yfanN5NIOgOYy2oVUGbC7xca7SWx7Zas2D2EVdt7YWuOMEufN+vdgWJjDWtuU=;20:p3p2qRfW+Wd421mPbzxZOg9xCRB9NApPF3BZUv2qjtjmZkZyOZn9bYx+RGQBJBLHsfW+qMIFkyrcawU6zB3QoqN2C9c0nN5l9KAOqQ7Oh/VCk7h0bkd4Sv/LGhPGNIJsVyPzPlNdZerVD0hdgVOGZFgnrSR2TaTI9gqivSHB6YfoD0pwY7Yl0teci1o5dehTEiNJ8c3zij3JfvH8NHrMHJ/26GWuT8uGoh5ZiX8WK8XEay4UkTaCk2DlV+Ul6cSb SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2015 23:53:42.9008 (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: BLUPR12MB0706 X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0659;2:VzHR1Mk2Juy1z6aMYlVNeFXEeKw4Dti7tk0Z/FD4Xj7FxckXoEf3ssvRcXjjJTbdFEy0nTxiXB/la1L8F0i4aJZW9AuOhPUEzyWyVnda7xV3lmuoqh6seakWGLCG6w0IOF210Hw3e3jSD6Oxck/0QnAfUi9qp8yjiunHmuhfpxg=;23:hsKB+/bus4MMaoa/+h+F2LKjxcXvxdaR9YOQja4A9xj7WyADNWvZzOhIK/2N8BSQaC9eA8hnzf3CGqjkakPS6sHT0G7A5CMlI7033Nf4xl7HB0/JT0PZQ8I4fAkwrPxCEFJ7GzJwKTNsFQFA6n4AqAd+q6S/jo691gnOUpP5BS8ZluepSgIhgKaLe5SGQi0T X-OriginatorOrg: amd.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Bjorn / Rafael, On 10/13/2015 10:52 AM, Suravee Suthikulpanit wrote: > > On 09/14/2015 09:34 AM, Bjorn Helgaas wrote: >> [..] >> 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? Thinking about this again, I still think having one API (which can tell whether DMA is supported or not, and if so whether it is coherent or non-coherent) would be the least confusing and least error prone. What if we would just have: enum dev_dma_type acpi_get_dev_dma_type(struct acpi_device *adev); where: enum dev_dma_type { DEV_DMA_NOT_SUPPORTED, DEV_DMA_NON_COHERENT, DEV_DMA_COHERENT, }; This would probably mean that we should modify drivers/base/property.c to replace: bool device_dma_is_coherent() to: enum dev_dma_type device_get_dma_type() We used to discuss the enum approach in the past (https://lkml.org/lkml/2015/8/25/868). But we only considered at the ACPI level at the time. Actually, this should also reflect in the property.c. At this point, only drivers/crypto/ccp/ccp-platform.c and drivers/net/ethernet/amd/xgbe/xgbe-main.c are calling the device_dma_is_coherent(). So, it should be easy to change this API. Please let me know your opinions, or if you have other suggestions. Thanks again, Suravee