From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: RE: [PATCH] platform/x86: intel-hid: Power button suspend on Dell Latitude 7275 Date: Wed, 20 Sep 2017 20:07:41 +0000 Message-ID: References: <20170917225712.12136-1-jerome.debretagne@gmail.com> <4b5c673c2858470a8b6d0af43a2cd250@ausx13mpc120.AMER.DELL.COM> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: jerome.debretagne@gmail.com Cc: platform-driver-x86@vger.kernel.org, dvhart@infradead.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, rjw@rjwysocki.net, andy.shevchenko@gmail.com, alex.hung@canonical.com List-Id: linux-acpi@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKw6lyw7RtZSBkZSBCcmV0YWdu ZSBbbWFpbHRvOmplcm9tZS5kZWJyZXRhZ25lQGdtYWlsLmNvbV0NCj4gU2VudDogTW9uZGF5LCBT ZXB0ZW1iZXIgMTgsIDIwMTcgNTo0MSBQTQ0KPiBUbzogTGltb25jaWVsbG8sIE1hcmlvIDxNYXJp b19MaW1vbmNpZWxsb0BEZWxsLmNvbT4NCj4gQ2M6IHBsYXRmb3JtLWRyaXZlci14ODZAdmdlci5r ZXJuZWwub3JnOyBEYXJyZW4gSGFydCA8ZHZoYXJ0QGluZnJhZGVhZC5vcmc+Ow0KPiBMS01MIDxs aW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgQUNQSSBEZXZlbCBNYWxpbmcgTGlzdCA8bGlu dXgtDQo+IGFjcGlAdmdlci5rZXJuZWwub3JnPjsgUmFmYWVsIEouIFd5c29ja2kgPHJqd0Byand5 c29ja2kubmV0PjsgQW5keSBTaGV2Y2hlbmtvDQo+IDxhbmR5LnNoZXZjaGVua29AZ21haWwuY29t PjsgQWxleCBIdW5nIDxhbGV4Lmh1bmdAY2Fub25pY2FsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQ QVRDSF0gcGxhdGZvcm0veDg2OiBpbnRlbC1oaWQ6IFBvd2VyIGJ1dHRvbiBzdXNwZW5kIG9uIERl bGwNCj4gTGF0aXR1ZGUgNzI3NQ0KPiANCj4gMjAxNy0wOS0xOCAyMzoyOSBHTVQrMDI6MDAgIDxN YXJpby5MaW1vbmNpZWxsb0BkZWxsLmNvbT46DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4+IEZyb206IErDqXLDtG1lIGRlIEJyZXRhZ25lIFttYWlsdG86amVyb21lLmRlYnJl dGFnbmVAZ21haWwuY29tXQ0KPiA+PiBTZW50OiBTdW5kYXksIFNlcHRlbWJlciAxNywgMjAxNyA1 OjU3IFBNDQo+ID4+IFRvOiBwbGF0Zm9ybS1kcml2ZXIteDg2QHZnZXIua2VybmVsLm9yZw0KPiA+ PiBDYzogRGFycmVuIEhhcnQgPGR2aGFydEBpbmZyYWRlYWQub3JnPjsgTEtNTCA8bGludXgta2Vy bmVsQHZnZXIua2VybmVsLm9yZz47DQo+ID4+IExpbnV4IEFDUEkgPGxpbnV4LWFjcGlAdmdlci5r ZXJuZWwub3JnPjsgUmFmYWVsIEouIFd5c29ja2kNCj4gPHJqd0Byand5c29ja2kubmV0PjsNCj4g Pj4gQW5keSBTaGV2Y2hlbmtvIDxhbmR5LnNoZXZjaGVua29AZ21haWwuY29tPjsgTGltb25jaWVs bG8sIE1hcmlvDQo+ID4+IDxNYXJpb19MaW1vbmNpZWxsb0BEZWxsLmNvbT47IEFsZXggSHVuZyA8 YWxleC5odW5nQGNhbm9uaWNhbC5jb20+DQo+ID4+IFN1YmplY3Q6IFtQQVRDSF0gcGxhdGZvcm0v eDg2OiBpbnRlbC1oaWQ6IFBvd2VyIGJ1dHRvbiBzdXNwZW5kIG9uIERlbGwgTGF0aXR1ZGUNCj4g Pj4gNzI3NQ0KPiA+Pg0KPiA+PiBGcm9tOiBKw6lyw7RtZSBkZSBCcmV0YWduZSA8amVyb21lLmRl YnJldGFnbmVAZ21haWwuY29tPg0KPiA+Pg0KPiA+PiBPbiBEZWxsIExhdGl0dWRlIDcyNzUgdGhl IDUtYnV0dG9uIGFycmF5IGlzIG5vdCBleHBvc2VkIGluIHRoZQ0KPiA+PiBBQ1BJIHRhYmxlcywg YnV0IHN0aWxsIG5vdGlmaWVzIGFyZSBzZW50IHRvIHRoZSBJbnRlbCBISUQgZGV2aWNlDQo+ID4+ IG9iamVjdCAoZGV2aWNlIElEIElOVDMzRDUpIGluIHJlc3BvbnNlIHRvIHBvd2VyIGJ1dHRvbiBh Y3Rpb25zLg0KPiA+PiBUaGV5IHdlcmUgaWdub3JlZCBhcyB0aGUgaW50ZWwtaGlkIGRyaXZlciB3 YXMgbm90IHByZXBhcmVkIHRvDQo+ID4+IHRha2UgY2FyZSBvZiB0aGVtIHVudGlsIHJlY2VudGx5 Lg0KPiA+Pg0KPiA+PiBQb3dlciBidXR0b24gd2FrZXVwIGZyb20gc3VzcGVuZC10by1pZGxlIHdh cyBhZGRlZCBpbjoNCj4gPj4gNjM1MTczYTE3YjAzICgiaW50ZWwtaGlkOiBXYWtlIHVwIERlbGwg TGF0aXR1ZGUgNzI3NSBmcm9tDQo+ID4+IHN1c3BlbmQtdG8taWRsZSIpLiBIb3dldmVyIHBvd2Vy IGJ1dHRvbiBzdXNwZW5kIGRvZXNuJ3Qgd29yaw0KPiA+PiB5ZXQgb24gdGhpcyBwbGF0Zm9ybSBz byBpdCB3b3VsZCBiZSBnb29kIHRvIGFkZCBpdCBhbHNvLg0KPiA+Pg0KPiA+PiBPbiB0aGUgYWZm ZWN0ZWQgcGxhdGZvcm0gKGZvciB3aGljaCBwcml2LT5hcnJheSBpcyBOVUxMKSwgYWRkDQo+ID4+ IGEgbmV3IHVwZnJvbnQgY2hlY2sgYWdhaW5zdCB0aGUgcG93ZXIgYnV0dG9uIHByZXNzIG5vdGlm aWNhdGlvbg0KPiA+PiAoMHhDRSkgdG8gbm90aWZ5X2hhbmRsZXIoKSwgb3V0c2lkZSB0aGUgd2Fr ZXVwIG1vZGUgdGhpcyB0aW1lLA0KPiA+PiB3aGljaCBhbGxvd3MgdG8gcmVwb3J0IHRoZSBwb3dl ciBidXR0b24gcHJlc3MgZXZlbnQgYW5kDQo+ID4+IHRyaWdnZXIgdGhlIHN1c3BlbmQuIEFsc28g Y2F0Y2ggYW5kIGlnbm9yZSB0aGUgY29ycmVzcG9uZGluZw0KPiA+PiBwb3dlciBidXR0b24gcmVs ZWFzZSBub3RpZmljYXRpb24gKDB4Q0YpIHRvIHN0b3AgaXQgZnJvbSBiZWluZw0KPiA+PiByZXBv cnRlZCBhcyBhbiAidW5rbm93biBldmVudCIgaW4gdGhlIGxvZ3MuDQo+ID4+DQo+ID4+IExpbms6 IGh0dHBzOi8vYnVnemlsbGEua2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTE1DQo+ID4+ IFRlc3RlZC1ieTogSsOpcsO0bWUgZGUgQnJldGFnbmUgPGplcm9tZS5kZWJyZXRhZ25lQGdtYWls LmNvbT4NCj4gPj4gU2lnbmVkLW9mZi1ieTogSsOpcsO0bWUgZGUgQnJldGFnbmUgPGplcm9tZS5k ZWJyZXRhZ25lQGdtYWlsLmNvbT4NCj4gPj4gLS0tDQo+ID4+ICBkcml2ZXJzL3BsYXRmb3JtL3g4 Ni9pbnRlbC1oaWQuYyB8IDE2ICsrKysrKysrKysrKysrKysNCj4gPj4gIDEgZmlsZSBjaGFuZ2Vk LCAxNiBpbnNlcnRpb25zKCspDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRm b3JtL3g4Ni9pbnRlbC1oaWQuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsLWhpZC5jDQo+ ID4+IGluZGV4IGE3ODJjNzhlN2M2My4uYjE5ZjhkY2Y5ZDhjIDEwMDY0NA0KPiA+PiAtLS0gYS9k cml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbC1oaWQuYw0KPiA+PiArKysgYi9kcml2ZXJzL3BsYXRm b3JtL3g4Ni9pbnRlbC1oaWQuYw0KPiA+PiBAQCAtMjI2LDYgKzIyNiwyMiBAQCBzdGF0aWMgdm9p ZCBub3RpZnlfaGFuZGxlcihhY3BpX2hhbmRsZSBoYW5kbGUsIHUzMg0KPiBldmVudCwNCj4gPj4g dm9pZCAqY29udGV4dCkNCj4gPj4gICAgICAgICAgICAgICByZXR1cm47DQo+ID4+ICAgICAgIH0N Cj4gPj4NCj4gPj4gKyAgICAgLyoNCj4gPj4gKyAgICAgICogTmVlZGVkIGZvciBzdXNwZW5kIHRv IHdvcmsgb24gc29tZSBwbGF0Zm9ybXMgdGhhdCBkb24ndCBleHBvc2UNCj4gPj4gKyAgICAgICog dGhlIDUtYnV0dG9uIGFycmF5LCBidXQgc3RpbGwgc2VuZCBub3RpZmllcyB3aXRoIHBvd2VyIGJ1 dHRvbg0KPiA+PiArICAgICAgKiBldmVudCBjb2RlIHRvIHRoaXMgZGV2aWNlIG9iamVjdCBvbiBw b3dlciBidXR0b24gYWN0aW9ucy4NCj4gPj4gKyAgICAgICoNCj4gPj4gKyAgICAgICogUmVwb3J0 IHRoZSBwb3dlciBidXR0b24gcHJlc3M7IGNhdGNoIGFuZCBpZ25vcmUgdGhlIGJ1dHRvbiByZWxl YXNlLg0KPiA+PiArICAgICAgKi8NCj4gPj4gKyAgICAgaWYgKCFwcml2LT5hcnJheSkgew0KPiA+ PiArICAgICAgICAgICAgIGlmIChldmVudCA9PSAweGNlKSB7DQo+ID4+ICsgICAgICAgICAgICAg ICAgICAgICBpbnB1dF9yZXBvcnRfa2V5KHByaXYtPmlucHV0X2RldiwgS0VZX1BPV0VSLCAxKTsN Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIGlucHV0X3N5bmMocHJpdi0+aW5wdXRfZGV2KTsN Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCj4gPj4gKyAgICAgICAgICAgICB9 IGVsc2UgaWYgKGV2ZW50ID09IDB4Y2YpDQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1 cm47DQo+ID4+ICsgICAgIH0NCj4gPj4gKw0KPiA+PiAgICAgICAvKiAweEMwIGlzIGZvciBISUQg ZXZlbnRzLCBvdGhlciB2YWx1ZXMgYXJlIGZvciA1IGJ1dHRvbiBhcnJheSAqLw0KPiA+PiAgICAg ICBpZiAoZXZlbnQgIT0gMHhjMCkgew0KPiA+PiAgICAgICAgICAgICAgIGlmICghcHJpdi0+YXJy YXkgfHwNCj4gPg0KPiA+IExHVE0sIGl0J3MgaW1wcm92ZWQgZnJvbSB3aGF0IHlvdSBwb3N0ZWQg dG8gdGhhdCBidWcgYWxyZWFkeS4NCj4gPg0KPiA+IEFja2VkLUJ5OiBNYXJpbyBMaW1vbmNpZWxs byA8bWFyaW8ubGltb25jaWVsbG9AZGVsbC5jb20+DQo+IA0KPiBUaGFua3MgTWFyaW8uDQo+IA0K PiBJbiBmYWN0LCBJIHVwZGF0ZWQgbXkgaW5pdGlhbCBmaXggcHJvcG9zYWwgb24gdGhlIDEydGgg aW4gWzFdIGFuZA0KPiB0aGlzIHBhdGNoIG1hdGNoZXMgZXhhY3RseSB0aGUgdXBkYXRlZCB2ZXJz aW9uLiBZb3UgZGlkbid0IHJlY2VpdmUNCj4gdGhlIHVwZGF0ZSBub3RpZmljYXRpb24gZnJvbSBC dWd6aWxsYT8NCj4gDQo+IFsxXSBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcu Y2dpP2lkPTE5NjExNSNjMTINCg0KTm8gSSBkaWRuJ3QgZ2V0IG9uZSAob3Igc29tZSBlbnRlcnBy aXNlIHNwYW0gZmlsdGVyIGhlbHBmdWxseSBhdm9pZGVkDQpsZXR0aW5nIGl0IGludG8gbXkgaW5i b3gpLg0KDQoNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751599AbdITUHs (ORCPT ); Wed, 20 Sep 2017 16:07:48 -0400 Received: from esa7.dell-outbound.iphmx.com ([68.232.153.96]:9446 "EHLO esa7.dell-outbound.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750895AbdITUHo (ORCPT ); Wed, 20 Sep 2017 16:07:44 -0400 From: X-LoopCount0: from 10.166.132.198 X-IronPort-AV: E=Sophos;i="5.42,422,1500958800"; d="scan'208";a="552484280" X-DLP: DLP_GlobalPCIDSS To: CC: , , , , , , Subject: RE: [PATCH] platform/x86: intel-hid: Power button suspend on Dell Latitude 7275 Thread-Topic: [PATCH] platform/x86: intel-hid: Power button suspend on Dell Latitude 7275 Thread-Index: AQHTMAhtgvNy/2FU8keTnAL/0yDRZaK7KcYAgABoUwCAAqXJcA== Date: Wed, 20 Sep 2017 20:07:41 +0000 Message-ID: References: <20170917225712.12136-1-jerome.debretagne@gmail.com> <4b5c673c2858470a8b6d0af43a2cd250@ausx13mpc120.AMER.DELL.COM> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.143.242.75] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id v8KK7s5Y026089 > -----Original Message----- > From: Jérôme de Bretagne [mailto:jerome.debretagne@gmail.com] > Sent: Monday, September 18, 2017 5:41 PM > To: Limonciello, Mario > Cc: platform-driver-x86@vger.kernel.org; Darren Hart ; > LKML ; ACPI Devel Maling List acpi@vger.kernel.org>; Rafael J. Wysocki ; Andy Shevchenko > ; Alex Hung > Subject: Re: [PATCH] platform/x86: intel-hid: Power button suspend on Dell > Latitude 7275 > > 2017-09-18 23:29 GMT+02:00 : > >> -----Original Message----- > >> From: Jérôme de Bretagne [mailto:jerome.debretagne@gmail.com] > >> Sent: Sunday, September 17, 2017 5:57 PM > >> To: platform-driver-x86@vger.kernel.org > >> Cc: Darren Hart ; LKML ; > >> Linux ACPI ; Rafael J. Wysocki > ; > >> Andy Shevchenko ; Limonciello, Mario > >> ; Alex Hung > >> Subject: [PATCH] platform/x86: intel-hid: Power button suspend on Dell Latitude > >> 7275 > >> > >> From: Jérôme de Bretagne > >> > >> On Dell Latitude 7275 the 5-button array is not exposed in the > >> ACPI tables, but still notifies are sent to the Intel HID device > >> object (device ID INT33D5) in response to power button actions. > >> They were ignored as the intel-hid driver was not prepared to > >> take care of them until recently. > >> > >> Power button wakeup from suspend-to-idle was added in: > >> 635173a17b03 ("intel-hid: Wake up Dell Latitude 7275 from > >> suspend-to-idle"). However power button suspend doesn't work > >> yet on this platform so it would be good to add it also. > >> > >> On the affected platform (for which priv->array is NULL), add > >> a new upfront check against the power button press notification > >> (0xCE) to notify_handler(), outside the wakeup mode this time, > >> which allows to report the power button press event and > >> trigger the suspend. Also catch and ignore the corresponding > >> power button release notification (0xCF) to stop it from being > >> reported as an "unknown event" in the logs. > >> > >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=196115 > >> Tested-by: Jérôme de Bretagne > >> Signed-off-by: Jérôme de Bretagne > >> --- > >> drivers/platform/x86/intel-hid.c | 16 ++++++++++++++++ > >> 1 file changed, 16 insertions(+) > >> > >> diff --git a/drivers/platform/x86/intel-hid.c b/drivers/platform/x86/intel-hid.c > >> index a782c78e7c63..b19f8dcf9d8c 100644 > >> --- a/drivers/platform/x86/intel-hid.c > >> +++ b/drivers/platform/x86/intel-hid.c > >> @@ -226,6 +226,22 @@ static void notify_handler(acpi_handle handle, u32 > event, > >> void *context) > >> return; > >> } > >> > >> + /* > >> + * Needed for suspend to work on some platforms that don't expose > >> + * the 5-button array, but still send notifies with power button > >> + * event code to this device object on power button actions. > >> + * > >> + * Report the power button press; catch and ignore the button release. > >> + */ > >> + if (!priv->array) { > >> + if (event == 0xce) { > >> + input_report_key(priv->input_dev, KEY_POWER, 1); > >> + input_sync(priv->input_dev); > >> + return; > >> + } else if (event == 0xcf) > >> + return; > >> + } > >> + > >> /* 0xC0 is for HID events, other values are for 5 button array */ > >> if (event != 0xc0) { > >> if (!priv->array || > > > > LGTM, it's improved from what you posted to that bug already. > > > > Acked-By: Mario Limonciello > > Thanks Mario. > > In fact, I updated my initial fix proposal on the 12th in [1] and > this patch matches exactly the updated version. You didn't receive > the update notification from Bugzilla? > > [1] https://bugzilla.kernel.org/show_bug.cgi?id=196115#c12 No I didn't get one (or some enterprise spam filter helpfully avoided letting it into my inbox).