From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751220AbbLGFEo (ORCPT ); Mon, 7 Dec 2015 00:04:44 -0500 Received: from mail-bl2on0058.outbound.protection.outlook.com ([65.55.169.58]:55392 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750715AbbLGFEm (ORCPT ); Mon, 7 Dec 2015 00:04:42 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.221) 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: 0NYZ1FM-07-ERV-02 X-M-MSG: Message-ID: <1449463473.2175.13.camel@kxue-X58A-UD3R> Subject: [PATCH 1/1] ACPI: Support D3 COLD device for old BIOS From: Ken Xue To: , , , CC: , , "Andy Shevchenko" , , Date: Mon, 7 Dec 2015 12:44:33 +0800 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.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(106466001)(105586002)(229853001)(87936001)(103116003)(5001770100001)(97736004)(86362001)(50226001)(189998001)(47776003)(77096005)(19580395003)(50986999)(2201001)(19580405001)(586003)(230700001)(92566002)(101416001)(23676002)(5008740100001)(33646002)(33716001)(50466002)(1220700001)(1096002)(5820100001)(11100500001)(99106002)(3940600001)(2101003);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:0QmLLheRwW0nRMK1YJTPaqsFFKLYajDynArXhN2SKmCy9TlpN5U8RD7tzPERT7M28bLqK0ORaj7Xmwa7WWL4zQk8CWgCziBQ+/hXHMZVeLhJXac11i44bKiiYpkF5D0aobywcp+a+l6Q+Mw1J/Evag==;3:ewukE65nVPQ301RzN4g6DvKYm7h0ODx6QYRYmLQplF0p8TR/2Mq+HJ07/cT84IqEOalppy/IMpBcaNQ5MnPcoucihERNdFG2D3okq9UCaaAPlD2l3meQ+D6G+ULt0TBnERCpVDy9bPvNqSeFgkEJdbVqfhxX23A+TYPpGtWWN7g5YCZkN+dXeaRik1KkSP9x/54YkiAMzVd96FozfSM2t2nX4BHc3Oh5ujkRxfpdHqI=;25:ogEkY+v5qMRKUQTqkXzOW8Uv6+JHzssEtCqELoFWYyHyTcP18F8KrERaWhEc/kqARl/9zY0hqHlldb+Y45YwVdvE3z4mbPWM3Wtjmjxou/vH/wSXz3di7Qi029lNIIE3iAgBM1eIbjY3ZaYy3N23dAqX4/QtrNyRvGoANC60tYLA8S/d0h5vGtz1X3N5TGbHO01yfGdAk8s/nMrUc7WFWPXy7Gz68M1B/YcocybIsDn2IRXrtmT3PwNepW+w0tsd X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR12MB0859; X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0859;20:SnJvrlEbKgRXIvY5/DyFIP95Bq6nzCLe1bN9Vf9KiMPthYyir8uKSu+83PYscMk58nuOaeUBC4bnh4aH3BrdUM2EUtK+cwVCGfaGK+ksQ2IwYgsWfCR/jAOPVgIy8EjhhTRMRwfk/3ipwt3elJv9792yrS5IN301mLTizaEJp4zS/+e9mW7+RcItkUMgW49zU7u670ekHBTDvBxt/Us704BMbJRRNjVy+gx2kRf0xz5ACXCQQB/r7RT6rISOfCXefoQbRoTEQjqtwUiFjpiRPrkCmtYdoMibONyxtvwXb/oF3MU8goCv7Sfnq8n+xPNSew7pk6zmZLlDZGUFuHnFSNqnwHVY6F823AnAGuBl0UrGaTIO6D4mp/1fEjMk8XEpBeUkAmIdXkxtJf/3u6pjEopCZ65zxKecCqQKtPCkuGG5YpPMvLU2BupVeMadwDMrlxVimydF4AJHWb11j9/ansY9kFnauWjnllqgJpEPOtVEfwbF1OoepOiI2SNRmQRb;4:wec25AuenVLGbx1kZUWE/NDvauO1plEmZklxS8aT/r0u53puetG8saUXqKd+aKpRVmojXoLApYhfCLTyMI4VQi16fWmxYFYgXMp17OZ3cOa3k14Y8Vavt3h2GWLEkz8/R7LoxcJyB/Cl1jtuRB+8dJbJ927ciBg3MXYCKwfSMXIJ67H3NP6ixnNrGzcZ+S6RTORSi0dmnguEHJnw3kWWk5I6kzuPBbFPHvQVag7xtFJps2FBFg99HsAZF6sGHhXuc+8ITgfP9yoNmOz2et+tS9AKHj2jcTYXsgXgMkpV/xXKPKt2+R2/JosTL9dUzLOJm4KHMwxZzFskKNHaMrk2hBG4QPw0rnIAzy+P3LUGNW1+IAvvIZYElTb9mqcWmBVgUjzkqjSg5GLxnnKOkDDfCqX3n61OxpE0uapPwe03Cm8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046);SRVR:DM3PR12MB0859;BCL:0;PCL:0;RULEID:;SRVR:DM3PR12MB0859; X-Forefront-PRVS: 078310077C X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTNQUjEyTUIwODU5OzIzOmV2Z2Zxb0NRa1AycHlCRnRIVi9NcHlrRHhv?= =?utf-8?B?cGRtcFRyT0Fwc0FsQVhYMlRFUlF6eTZiSXh0NG1ETG55Zi91dktueHlwREdF?= =?utf-8?B?d3RoY255dmtJdzg1SlJ5ZzZnZWpjNEV3SWxwTlJIQUhFVmoyMVlCZ3U0cW5K?= =?utf-8?B?WkVrY0JxQ0lrbUdvYkp1ZGwxRk5pb0N3UFVPd1VoNDJHbk9QKzBaUUhsSk9O?= =?utf-8?B?QlVKb1I2Q2g4WlQ4K25ZWnpoRStPdGJnN2hXK0tNbmNCQitmMHJ0YWlyaDQv?= =?utf-8?B?MXFwQ1lrN2RSRDZoaVhxSVN4TFg2dUE2S3VRTm1rQTloNlRualRPd2REbmNm?= =?utf-8?B?VGN0YzlSU2pNY3JhMmx5dDdKZzFCUXJsNVBJcVJDU1NoRllSVHpQZlBtdlFw?= =?utf-8?B?aGhkb3BqT0ZiZnkzNUliT0h5RTlEWDR6RjlxYW9HRmppYm1IQ2l4RVVySlRH?= =?utf-8?B?ODhmK0tuOVVjUGlWRmJFZHJSQmtydUc0RitMRStMTy9iZEU1dWNORVZ4Qkd1?= =?utf-8?B?Yi93TlZmU2pCMFR0emlLdTJ3eVV5RXhNd2MwQjlBaDFXbkZXK2FoYjB0YXlk?= =?utf-8?B?cnRWUXQ3dzA0dUtpKy9RaHlVelo1a05jT0Ewbjh5TEJOOFVibGQrRXl6Nng4?= =?utf-8?B?Y1JXOEliMjJoQ09BZVJQU2NSeEJFd25scmJkZk9PUHh6YkRDWE9wOFYwUVov?= =?utf-8?B?M0NBVjFIdE51amtKek5WWTcxMnVIVnZtMllOSUREMUsyZk04cUdIWVl6VEdT?= =?utf-8?B?WkNzd0w1SnErOUtDU2djTFRUdUZzSlpGQ1dIYWJxZnRra3FVa01aQ3hWSGRG?= =?utf-8?B?Yjk5Z0VEajNYYmRvWGRleUozeHYzRXNKN2wxUTRNSHNrc2c4dEo2dXEzemVI?= =?utf-8?B?ZHNDSjZXc2d3SVFmQUdaNDRKZFMveFdCdzJjY0luTUxyMzZYaXlPUXV3ZUVZ?= =?utf-8?B?NXFicm9qdlV4emUxQWhnc3l6d0Y1UFhQNUlxcVBaVVVkMWZQbmdnMmxUb2Zq?= =?utf-8?B?L1g3SlhXMHVJTk5nUkFZZFQ1alBkZ0JRRDNXdUNSN0NjYkxTMlg2QXBRLy9i?= =?utf-8?B?UXBtMmwvU2JPdUdxcDkyZnliQ3VQZEsxU3dYUjljTUd5VUg0WjU4b01iejNt?= =?utf-8?B?RXdTeTV0M21RQzNoNjF4aXZaQzlRTWVGUXNWTGg0VE1yTVVXbFo5bFUxd2JC?= =?utf-8?B?SStIcjdDTGRJWnRKSStVdnBodDUyYTlFeUF6UlFyQSs1L0RaNFdSVnZTc2Iz?= =?utf-8?B?dDlldG5meDdwemZFYTE3NnArUUVrL3BvRVNRWGZ0OGx6RXB5UjZYVExGQWRS?= =?utf-8?Q?46GiFtdPp4tvtNJip7L56osq1xW4GcFs=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0859;5:DK68AXzb03Yv8eJ/jdaYNpo2eS0HucMl7sRbuCR6O8TgSc1UJ7GyKzC/ub8nEzNR2Ws/dVHND+i+9tz6eoAewAhSiXO8sXkH8n8H7B/Aof8a5wnfHvZ6aMguCOLNrq0GUtDz84/pcGKY3YWrGle7pg==;24:eCXFe0BBOp+wkqhEzmuNpwL4IMRnt1wvsFJZ4rjMLKtKxTe5LpGuQrp9ui6O52Lh6Pj5zaRuQcoj/B/MmbrGp2Af1O/SVoCjFKtrFDv/cTI=;20:gN+pvfNW1GfwYKNhohB93gGBXj5nvdzbOIgz4Ws3IMbYdrDiQrs9pvLjpM7CheEE0lmqEpGsXLqTTnp+AsNDaNIMQ9b3C2dwD4YUCqiwHFbXNkXWBD7GvAjpU6U7N8QuX+beT+S038aLPbMmpAnqn0Px2TR2ObE/QBougeKa/3ESNqqzY5vptTObt4J1RbXI7KbetMiA4oD3yf8EJdcvWrtztt98Tb7Rd12lsoV23jkbrq4xR9P9fa6RUJyOkRhz SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2015 04:50:10.7849 (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 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 --- drivers/acpi/scan.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 01136b8..85c16bb 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -979,7 +979,9 @@ static void acpi_bus_get_power_flags(struct acpi_device *device) acpi_bus_init_power_state(device, i); INIT_LIST_HEAD(&device->power.states[ACPI_STATE_D3_COLD].resources); - if (!list_empty(&device->power.states[ACPI_STATE_D3_HOT].resources)) + if (!list_empty(&device->power.states[ACPI_STATE_D3_HOT].resources) || + ((acpi_gbl_FADT.header.revision < 6) && + device->power.states[ACPI_STATE_D3_HOT].flags.explicit_set)) device->power.states[ACPI_STATE_D3_COLD].flags.valid = 1; /* Set defaults for D0 and D3hot states (always valid) */ -- 1.9.1