Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752587AbbLIBYM (ORCPT ); Tue, 8 Dec 2015 20:24:12 -0500 Received: from mail-bn1on0067.outbound.protection.outlook.com ([157.56.110.67]:23168 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752104AbbLIBYK (ORCPT ); Tue, 8 Dec 2015 20:24:10 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NZ2H84-08-4FP-02 X-M-MSG: Message-ID: <1449623909.2175.48.camel@kxue-X58A-UD3R> Subject: Re: [PATCH 1/1] ACPI: Support D3 COLD device for old BIOS From: Ken Xue To: "Rafael J. Wysocki" CC: , , , , , Andy Shevchenko , , Date: Wed, 9 Dec 2015 09:18:29 +0800 In-Reply-To: <1717488.DiPkR8HF9g@vostro.rjw.lan> References: <1449463473.2175.13.camel@kxue-X58A-UD3R> <3822904.Z6rtg8lMJ5@vostro.rjw.lan> <1449538676.2175.35.camel@kxue-X58A-UD3R> <1717488.DiPkR8HF9g@vostro.rjw.lan> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 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)(24454002)(377454003)(199003)(377424004)(189002)(33646002)(103116003)(47776003)(76176999)(87936001)(19580405001)(50986999)(33716001)(19580395003)(86362001)(92566002)(50466002)(2950100001)(23676002)(11100500001)(5820100001)(77096005)(50226001)(586003)(93886004)(1096002)(105586002)(106466001)(101416001)(5008740100001)(1220700001)(97736004)(230700001)(189998001)(110136002)(99106002)(3940600001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0718;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;2:DX+tI5AfORnKtCSoIc23QPePcJh7bju+wadg0SAc21GbIqSK4S5jxHzna/BahMNhNZk/gX8QtoAuoRwmcymstgYvbmM0Trgx6QzuaD2FPlfcJp7wHBSRYncBEjxP76sE4FfY+EnflFzaFAqxH55F/g==;3:mllhkNy7UAcQodYkHX2vnf2w61GgDf0QCxrlrL85mAZ0zgTMGbpWrwl0BVshpPCN6hbAfTwQ/5FfOmWWQYvXfaMWEV63t0ZRrtllcofbaMifFi2TgL/DUbXVpCXCi9SDrLizBLh9Q3BjpSJrGjgg2nmaQOPP4vaIXN31G30P9rREjWhG/2AiJolZPL4TtCk8AMEmGq+EIl174E3l6EMRq2LeEwC4MoIAUHbaYEzdvLg=;25:XO1TNiDVJ7efn/3j5i0cYo4Jun2HalX3jCiYBjDpREXyGjiPPxTq/QSfD2h4iHxKkcVsJVksTtuqWSpcuXLTMlYKj70WsM8DM7ftNYc5X+f0oJs4G8sFgq8ltaVMa9JF6Q/MC2zRgzplccktulX+8Rc88SRix3OfPrUXuMpSqO2ui19+5ctKquVljk96Pdk7Er1AppwdQRgQYt0rbRyM446Fdk9qEG/DRhuBMBpK/oLVMD9v6N0upXD9LvGjjJNY X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0718; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;20:UZ4PWo56tLqSv7fViIg+w5bePrxHHd9RDCEENGY9269nfcD7YWHvw4MzFN1fG4g2eY2FJmf48r0Mg99vR33t/wj+ULFORCLiEePiFIIP5fyk91xnIN1pIpmqFNHuhLzFx/0tEzASyJlq+O5aH3kw/ynt1sH+qSXlG5Mud4DNxvQ4aQ92UyirhYeFsiQhSVFfrkkb5SmIW+se/pJX1suY+tuD206YqUgE1Dva0aWF7/EwgPGHM6QTYJXIPpwC0LVkCi8hzGaIsE53oN2k3xnP3luoNlwSbg3inTbwkVnkvdstms7K297+yybTWjqurXc1aDyB35tu7NU1Ae+YjYCN0BW+2FO2iSSLzU+pYHvSDwBsKwgNbWQVgcZjnyWxymYwLSEaSBxaoA/042pYPEjLJylxnW0dYrSYk9ti5ckKSfDtPWKNWyfCWLCjPpZJBGWWClBYg7ZLqoIbdYycnO7uoEkDQ3X6KZLAVJHR7AeN3VkprDG46olRjkCcoQvVL1qu;4:zs/Gh2NlDk/c2vLQQvUnZ9cxWfkwDG0ZhFpHgMREoyJCJkIWrSB+KSvXwM4I6DduEPbb1/HinpgwxMxUVZp65LZ0tc93rwKQF5PwuqWbRdslEpNO0e3yTu7N88fm95wogUtUt5hpz0MQlLRrMhh5LC04uQn6a7/C9ciNzDNsbJbhVfNzXacTaLrcbqBUjcXhWpJ4WnVntPQkMPYvV5JEV5i3XmwOG5QkDHIIjB1f3W8IZQYJD040i+quY5LMP6gHfPVxhxOn101kzxZeqhCQH2JamMy6yCTB68NtDG0uS8rz0CP2C2NNqId22CGSxdKPBWaI8hi2mjrCUWNbBDj1+REMlzVZeSj9zoaOYBbWftsN28c7Mzns7NecPL7g8zrGYgPXPES6hCmBqpx/iSa5gIQfD7q8ZOV5d1+NjhBFDnM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:SN1PR12MB0718;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0718; X-Forefront-PRVS: 0785459C39 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwNzE4OzIzOmtMZTVNb2ZwY1FadW9pa3NUY21PTngycUxu?= =?utf-8?B?Y3VjT3RoeUpXZDNCZ3NKSkFtYnRuR0FvK0ZqWWpuMkY0eW9Eb3N6eWRtM2F0?= =?utf-8?B?QklVWkQ2eUw2NysrS09DYjA5TElwM29ydTlDSGxEKzI0QkJ5Z2J6UzZ1ZEJ1?= =?utf-8?B?REE4bW1PMnlWL3ZocTFHRGlHU0JtcHhIWnpNc3haOFpiakltQjNQUWU1NXpk?= =?utf-8?B?U2xtZnIwMXNkcVdFQ2g0TndTTTdzaElVOUZRaFUyT1pzNXpCUHFicTFuSk54?= =?utf-8?B?NFB4bHh0bW1SdUVXaCtxUE4zVUI1U1FkNXNvNGY0dmlXdHR1UlQ0RVBudUhx?= =?utf-8?B?K2k0YXVQSFZFSEhKQmp2L0ZrVHZkamR2UWNoRThadHNwSE84MTRJemJhbUY0?= =?utf-8?B?dzlyWGFTQWI4elArSkE3bll6K0p1S3FWZGJVUFlBTjNJTDI0KzIrajRFTXBq?= =?utf-8?B?N1JYejBKK3RpamhKMEJNUVpscktXTG1SZUxOUk5XekFHc2pLMXRQMmU1R200?= =?utf-8?B?bnhLR2N3RFMzM1crVlhkRDhBT3cxR0w3bVV2Q1IwVVViSzh6cWxZYVdZb0l5?= =?utf-8?B?QnM4NzJtRklMUzIzVk5ObDdDU2ltRzdFTjc0MVBWRm1sb01GNVMzN2tsZGx4?= =?utf-8?B?aStuTEViV3BmTlNOZXhucGROeWVCMzBIKzZObGVQbiszNkJSRDgzZUMxQzkr?= =?utf-8?B?SmJnS3FhNGFSNHBoODB1WFhHeUs5MUdCcTlwQjFkSkM1dE1tdzJ3MExySWZl?= =?utf-8?B?TTNXcFpIcFpNZ3c1V2ZWd2NqNHlvZ2V5VTR0UXNvaTlUQmtrMHRXeVVIWEZE?= =?utf-8?B?eVFMRVpkSzY4bVFVVkV6dzgvTlkzNnZidEZXVlJ0cVAxL3hLT0NsT00xRVVX?= =?utf-8?B?N3lET1dma2s0RmpWRWFQeWU5RlVHQlgvcFExSzVobWJKd2tYdjl2ZnpIemcv?= =?utf-8?B?ZlpZMDcreXc1L1Nab3dndlVKUkVLT3FORzcrOENCYWE4dnBpZVE5UXFYOE5z?= =?utf-8?B?dUpmdmhsTDUxNzZucFRPN2dYblEyMGZ0SWdwK1ErdWUyYUdwQlVma2NyTWhs?= =?utf-8?B?TytxVTRIVjI3WitPWDBWdXJha3I1VjgreEtTbkZrUTkydFF6RGZEekp6SExo?= =?utf-8?B?am10OUs2c1laYVhBV3ROdGF5ZEtwYnFyNWwzSTgvaC9YK3NPSUVBZGZ4UXV4?= =?utf-8?B?K3EyanFoNGwrRDMzSTdXL3N3UjZPVlJaMGNyRU5QUnEyaWFPMlFNeG5nWU5H?= =?utf-8?B?aGhvdkI5ekQ4UjhMQlpsYTJqM1QrSlRZdkxnUmc3anFtYWxjQWhIcWlkelRM?= =?utf-8?B?ZXNuTmV0eUtQUXFTVWZ5emZYcnFQMUxaSG15ei9vZXBBdjlXRjMwcXI1dDVG?= =?utf-8?B?dmZQaElqOGYwTGZWSm9NYkUyaWp0Y1NEQ1o0YUVaSERGTEdmVlp5RnFkR1ZR?= =?utf-8?Q?tH1JDI=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;5:6+keYG4bSLMCvzESk7wapu85ALTgGXDKb8OtjoUpH9W0qaqN16IYzzBQZ6nvDd6oKTtegO/xV93XgSGeoxglcWx0UgL4nagbt5vuEmgv3XOLrME8oHjzTSfpKGHLmOjS6HI7b9nlhe4lWLS4JHWdWg==;24:uqeIWMuaIZGeuNCi2Nz0Hh/ArDs1dyeGqnom+iK/10lPitUSpibnK9pkq86r+GG+nQmglQhRscYCom4tyYaekqz3gSpVkg32nG8XH26S3mE=;20:/mREmGU2rcUt3zvZm4hJiVeDcaGexBNTiz85LEW6G9+2xPjeochNlito9EGhfUnwziyQVABijaOO1lkC5wL8D86Kn+anF6h2xhgbqEl9+cZTfYgxQWFR7EOGifQBvFKNf3rDDJVKox7MbP/XR/ax3h9BNRO1Svc+3gbabbvhmoLlg/rmqH0i196Da+H9JrB/l0oqx/R3o2XoS0o1KFJHsG43KmbYi/KXgo2C5R3LfZhUk6ymqyrxIa8HJSCouKrm SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2015 01:24:07.2029 (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: SN1PR12MB0718 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1918 Lines: 45 On Tue, 2015-12-08 at 14:14 +0100, Rafael J. Wysocki wrote: > On Tuesday, December 08, 2015 09:37:56 AM Ken Xue wrote: > > On Mon, 2015-12-07 at 23:48 +0100, Rafael J. Wysocki wrote: > > > On Monday, December 07, 2015 12:44:33 PM Ken Xue wrote: > > > > D3cold is only regarded as valid if the "_PR3" object is present > > > > for the given device after the commit <20dacb71ad28> > > > > (ACPI/PM: Reworkdevice power management to follow ACPI 6). > > > > > > > > But some old BIOS only defined "_PS3" for the D3COLD device. > > > > And old kernel also believes the device has "_PS3" is a > > > > D3COLD device. > > > > > > > > So, add some logics for supporting D3 COLD device for old BIOS > > > > which is compatible with earlier ACPI spec. > > > > > > > > Signed-off-by: Ken Xue > > > > Reported-and-tested-by: Gang Long > > > > > > Well, what really is the problem? > > > > My problem is that > > "acpi_device_can_poweroff" is called by "zpodd_init" in libata-zpodd.c. > > And ZPODD feature only can be enabled when D3_COLD is valid. > > This means that acpi_device_can_poweroff() needs to be updated. What about > like this: > > static inline bool acpi_device_can_poweroff(struct acpi_device *adev) > { > return adev->power.states[ACPI_STATE_D3_COLD].flags.valid || ((acpi_gbl_FADT.header.revision < 6) && > adev->power.states[ACPI_STATE_D3_HOT].flags.explicit_set); > } It also could work by refining "acpi_device_can_poweroff". But ZPODD exactly requests D3 Cold support, So, checking ACPI version should be necessary when D3 hot is explicit_set. If you do not have other concern, I will submit new Patch later. -- 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/