Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3359734pxb; Mon, 24 Jan 2022 08:02:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJzi9raS0AWZXcDf/OtEWnUQ0GKr4zz/ijbdv4+IX53EW1efuWY6YwrwfzsEEQHPkSb5wNJ8 X-Received: by 2002:a17:902:f693:b0:14b:5501:c6ee with SMTP id l19-20020a170902f69300b0014b5501c6eemr4450282plg.133.1643040148861; Mon, 24 Jan 2022 08:02:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643040148; cv=none; d=google.com; s=arc-20160816; b=wdQ6Talx37KW9ly4xSBzolOeBDnr7W/Uw0B7JtfDVyYB2J92n+n+oshX0WfH4V3sBO FexQtJ1Yck6oqL9jbtCjOjxe5LrtyCz44s5FkhZIdBLGsl9VMtEzWtQgJV1suTLnCVfH r+XBrbzDOEc7UqyeEVLmXojDuu/7sulgnrBagN82L7H5M9IlvSvknAx5NT9NWyR9NTku GWgBzZS2BrqYQkMpGaWeU/eGVwgkhAXaYx7r1bBZQRmLv7GpBLlFoDrXFu7TsiMSt3Kc nGDItjGAQtupAkyVbY/RXmLftsk/FyNYSf0doZrvcKQ8HzzouoUZgaDPS2uNJAC+Txxo Xs2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:authenticated-by; bh=1A6+OcsTK3hYtUrjr8xLrAXtl1V8qHSO2VuSwMGLt5Q=; b=fKuk5Nf32ntLJQh4MASBD7Du7fI0ycqh7Sot+iAqRwl9I+MCsHTveg6SWhmtI8K9/I Xom/mYta1syU2P3LKrBAqUo3cczH3locBWSUQPS2TPoJT3cZ3B+V/Up2IeR/wkxhFiti PR8EOA4VlGjBWzQC4+vvKfohQBSR57Ph2RtENECyhbXMxqBra/UfKr4Xd0d/iiNEDCfG sHXEeF+yJFKqqYVLQeELWkrRxhTDxRlBrJemQcYP6BHqmzU66AFE0Qp10AIVSl+jqBEX Y+K4DBYV441sb//8ysRY7mdKlorOSSSWcN0p2qbh2BKo83/tef8YH0xpI3pm8J7mMfsB 4ISg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u21si15349523plq.218.2022.01.24.08.02.14; Mon, 24 Jan 2022 08:02:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241035AbiAXD1W (ORCPT + 99 others); Sun, 23 Jan 2022 22:27:22 -0500 Received: from rtits2.realtek.com ([211.75.126.72]:48014 "EHLO rtits2.realtek.com.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235685AbiAXD1U (ORCPT ); Sun, 23 Jan 2022 22:27:20 -0500 Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.73 with qID 20O3Qxw86024082, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36504.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.71/5.88) with ESMTPS id 20O3Qxw86024082 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Mon, 24 Jan 2022 11:26:59 +0800 Received: from RTEXDAG01.realtek.com.tw (172.21.6.100) by RTEXH36504.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 24 Jan 2022 11:26:59 +0800 Received: from RTEXMBS01.realtek.com.tw (172.21.6.94) by RTEXDAG01.realtek.com.tw (172.21.6.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Sun, 23 Jan 2022 19:26:59 -0800 Received: from RTEXMBS01.realtek.com.tw ([fe80::472:6d76:b35d:421e]) by RTEXMBS01.realtek.com.tw ([fe80::472:6d76:b35d:421e%5]) with mapi id 15.01.2308.020; Mon, 24 Jan 2022 11:26:59 +0800 From: Ricky WU To: Kai-Heng Feng CC: "arnd@arndb.de" , "gregkh@linuxfoundation.org" , "ulf.hansson@linaro.org" , "linux-pm@vger.kernel.org" , Christophe JAILLET , Yang Li , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v3 2/4] misc: rtsx: Rework runtime power management flow Thread-Topic: [PATCH v3 2/4] misc: rtsx: Rework runtime power management flow Thread-Index: AQHYDpCVn6wpCNNmxE66FK3dpfXmoKxtOFYA//+sOgCABJcHEA== Date: Mon, 24 Jan 2022 03:26:59 +0000 Message-ID: References: <20220121014039.1693208-1-kai.heng.feng@canonical.com> <20220121063138.1723616-1-kai.heng.feng@canonical.com> <3616f18533d34481a994d3450ecd8d85@realtek.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.22.81.97] x-kse-serverinfo: RTEXDAG01.realtek.com.tw, 9 x-kse-attachmentfiltering-interceptor-info: no applicable attachment filtering rules found x-kse-antivirus-interceptor-info: scan successful x-kse-antivirus-info: =?utf-8?B?Q2xlYW4sIGJhc2VzOiAyMDIyLzEvMjMg5LiL5Y2IIDExOjAwOjAw?= x-kse-bulkmessagesfiltering-scan-result: protection disabled Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-KSE-ServerInfo: RTEXH36504.realtek.com.tw, 9 X-KSE-Attachment-Filter-Triggered-Rules: Clean X-KSE-Attachment-Filter-Triggered-Filters: Clean X-KSE-BulkMessagesFiltering-Scan-Result: protection disabled Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLYWktSGVuZyBGZW5nIDxrYWku aGVuZy5mZW5nQGNhbm9uaWNhbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAyMSwgMjAy MiA4OjM5IFBNDQo+IFRvOiBSaWNreSBXVSA8cmlja3lfd3VAcmVhbHRlay5jb20+DQo+IENjOiBh cm5kQGFybmRiLmRlOyBncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZzsgdWxmLmhhbnNzb25AbGlu YXJvLm9yZzsNCj4gbGludXgtcG1Admdlci5rZXJuZWwub3JnOyBDaHJpc3RvcGhlIEpBSUxMRVQN Cj4gPGNocmlzdG9waGUuamFpbGxldEB3YW5hZG9vLmZyPjsgWWFuZyBMaSA8eWFuZy5sZWVAbGlu dXguYWxpYmFiYS5jb20+Ow0KPiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnDQo+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0ggdjMgMi80XSBtaXNjOiBydHN4OiBSZXdvcmsgcnVudGltZSBwb3dlciBt YW5hZ2VtZW50DQo+IGZsb3cNCj4gDQo+IE9uIEZyaSwgSmFuIDIxLCAyMDIyIGF0IDU6NTkgUE0g Umlja3kgV1UgPHJpY2t5X3d1QHJlYWx0ZWsuY29tPiB3cm90ZToNCj4gPg0KPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEthaS1IZW5nIEZlbmcgPGthaS5oZW5n LmZlbmdAY2Fub25pY2FsLmNvbT4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAyMSwgMjAy MiAyOjMyIFBNDQo+ID4gPiBUbzogYXJuZEBhcm5kYi5kZTsgZ3JlZ2toQGxpbnV4Zm91bmRhdGlv bi5vcmc7DQo+ID4gPiB1bGYuaGFuc3NvbkBsaW5hcm8ub3JnDQo+ID4gPiBDYzogbGludXgtcG1A dmdlci5rZXJuZWwub3JnOyBLYWktSGVuZyBGZW5nDQo+ID4gPiA8a2FpLmhlbmcuZmVuZ0BjYW5v bmljYWwuY29tPjsgUmlja3kgV1UgPHJpY2t5X3d1QHJlYWx0ZWsuY29tPjsNCj4gPiA+IENocmlz dG9waGUgSkFJTExFVCA8Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI+OyBZYW5nIExpDQo+ ID4gPiA8eWFuZy5sZWVAbGludXguYWxpYmFiYS5jb20+OyBsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnDQo+ID4gPiBTdWJqZWN0OiBbUEFUQ0ggdjMgMi80XSBtaXNjOiBydHN4OiBSZXdvcmsg cnVudGltZSBwb3dlciBtYW5hZ2VtZW50DQo+ID4gPiBmbG93DQo+ID4gPg0KPiA+ID4gQ29tbWl0 IDViNDI1OGY2NzIxZiAoIm1pc2M6IHJ0c3g6IHJ0czUyNDkgc3VwcG9ydCBydW50aW1lIFBNIikg dXNlcw0KPiA+ID4gInJ0ZDNfd29yayIgYW5kICJpZGxlX3dvcmsiIHRvIG1hbmFnZSBpdCdzIG93 biBydW50aW1lIFBNIHN0YXRlDQo+IG1hY2hpbmUuDQo+ID4gPg0KPiA+ID4gV2hlbiBpdHMgY2hp bGQgZGV2aWNlLCBydHN4X3BjaV9zZG1tYywgdXNlcyBydW50aW1lIFBNIHJlZmNvdW50DQo+ID4g PiBjb3JyZWN0bHksIGFsbCB0aGUgYWRkaXRpb25hbCB3b3JrcyBjYW4gYmUgbWFuYWdlZCBieSBn ZW5lcmljIHJ1bnRpbWUgUE0NCj4gaGVscGVycy4NCj4gPiA+DQo+ID4gPiBTbyBjb25zb2xpZGF0 ZSAiaWRsZV93b3JrIiBhbmQgInJ0ZDNfd29yayIgaW50byBnZW5lcmljIHJ1bnRpbWUgaWRsZQ0K PiA+ID4gY2FsbGJhY2sgYW5kIHJ1bnRpbWUgc3VzcGVuZCBjYWxsYmFjaywgcmVzcGVjdGl2ZWx5 Lg0KPiA+DQo+ID4NCj4gPiBPcmlnaW5hbCBpZGxlX3dvcmsgaXMgZm9yIGFzcG0gZGVsYXkgdGlt ZSBpcyAyMDAgbXNlYywgYmVjYXVzZSBBc3BtDQo+ID4gY2FuIHF1aWNrIGluIGFuZCBvdXQgdG8g c2F2ZSBtb3JlIHBvd2VyIE5vdyB0aGlzIHBhdGNoIG5lZWQgdG8gd2FpdCA1IHNlYw0KPiBiZWNh dXNlIHNldCBhdXRvc3VzcGVuZCB0aW1lIHNldCB0byA1IHNlYyBpbiBzZG1tYywuLi4gdGhpcyB0 aW1lIG5lZWQgdG8gc2V0IHRvDQo+IDIwMCBtc2VjLg0KPiANCj4gT0ssIHdpbGwgY2hhbmdlIGl0 IHRvIDIwMG1zLg0KPiANCj4gPg0KPiA+IEJ1dCBpdCB3aWxsIGdldCBhbm90aGVyIHF1ZXN0aW9u LCB0aGUgcXVlc3Rpb24gaXMgdGhlIGhvc3Qoc2RtbWMpIGNhcHMNCj4gPiBoYXMgc2V0IE1NQ19D QVBfQUdHUkVTU0lWRV9QTSB3aGVuIHJ0ZDNfZW4gaXMgc2V0LCBJdCB3aWxsIG1ha2UgY2FyZA0K PiA+IHBvd2VyIG9mZiB3aGVuIHNkbW1jIGdvIHRvIHN1c3BlbmQsIDIwMCBtc2VjIHdpbGwgY2F1 c2UgY2FyZCBwb3dlciBvZmYNCj4gPiBhbmQgb24gZnJlcXVlbnRseQ0KPiA+DQo+ID4gTmVlZCB0 byByZW1vdmUgdGhpcyBmbGFnIGluIGNhcHMsIGFuZCB0aGVuIGNoYW5nZSBjYXJkIHBvd2VyIG9m ZiB0bw0KPiBydHN4X3BjaV9ydW50aW1lX3N1c3BlbmQoKS4uLi4NCj4gDQo+IFlvdSBhcmUgcmln aHQsIHNpbmNlIHJ0c3hfcGNpX3NkbW1jIGJlaGF2ZXMgbGlrZSBhIHZpcnR1YWwgZGV2aWNlIG9m IHJ0c3hfcGNpLA0KPiBzbyB3ZSBzaG91bGQgbGV0IHRoZSBsYXR0ZXIgaGFuZGxlIGFsbCB0aGUg UE0gd29yay4NCj4gV2lsbCBkcm9wIE1NQ19DQVBfQUdHUkVTU0lWRV9QTSBpbiBuZXh0IGl0ZXJh dGlvbi4NCj4gDQoNCldlIGZvdW5kIGFub3RoZXIgcHJvYmxlbSB3aGVuIHdlIHJlbW92ZWQgTU1D X0NBUF9BR0dSRVNTSVZFX1BNDQpXZSBjYWxsIHJ0c3hfc2RfcG93ZXJfb2ZmX2NhcmQzdjMgaW4g cnRzeF9wY2lfcnVudGltZV9zdXNwZW5kLCANCndlIGZvdW5kIG1tYyBjb3JlIGRvZXNuJ3QgY2Fs bCBmcm9tIENNRCAwIHdoZW4gcmVzdW1lIGJhY2sgDQoNCj4gPg0KPiA+IFdoYXQgZG8geW91IHRo aW5rPw0KPiANCj4gVGhhbmtzIGZvciB5b3VyIHRlc3RpbmcgYW5kIHJldmlldy4NCj4gDQo+IE9u ZSBxdWVzdGlvbiB0aG91Z2gsIHJlZ2FyZGluZyB0byB0aGUgbWVtc3RpY2sgdmlydHVhbCBkcml2 ZXIuIFRoZSBtZW1zdGljaw0KPiBzdXBwb3J0IHdhcyBzaWxlbnRseSBkcm9wcGVkIGJ5ICJtaXNj OiBydHN4OiBBZGQgc3VwcG9ydCBmb3IgUlRTNTI2MSIsIGFzDQo+IFJUU1hfTVNfQ0FSRCB3YXMg cmVtb3ZlZCBmcm9tIE1GRCBjZWxscy4NCj4gDQo+IElzIHRoZXJlIGFueSBtZW1zdGljayBkZXZp Y2UgaW4gdGhlIHdpbGQ/IElmIHRoZXJlIGlzLCB3ZSBzaG91bGQgYWRkIGl0IGJhY2sgdG8NCj4g dGhlIE1GRCBjZWxscyB0byBhdm9pZCByZWdyZXNzaW9uLg0KPiBBbmQgSSBndWVzcyBzdGFydGlu ZyBmcm9tIHJ0czUyNjEsIG9ubHkgTU1DIGlzIHN1cHBvcnRlZD8NCj4gDQoNClllcywgZnJvbSBy dHM1MjYxIG9ubHkgc3VwcG9ydCBTRC4uLiANCkJ1dCB3ZSByZW1vdmVkIE1TIG1haW4gcmVzdWx0 IGlzLi4uIA0KMS4gTWVtc3RpY2sgY2FyZCB3YXMgZGlzYXBwZWFyZWQgYWJvdXQgMTAgeWVhciAN CjIuIE91ciBndWVzdCBkbyBub3QgdXNlIGNvbWJvIHNvY2tldCwgb25seSB1c2UgU0QgY2FyZCBz b2NrZXQgc28gd2UgcmVtb3ZlZCBNUyBldmVudCANCg0KUmlja3kNCj4gDQo+ID4NCj4gPiA+DQo+ ID4gPiBGaXhlczogNWI0MjU4ZjY3MjFmICgibWlzYzogcnRzeDogcnRzNTI0OSBzdXBwb3J0IHJ1 bnRpbWUgUE0iKQ0KPiA+ID4gQ2M6IFJpY2t5IFdVIDxyaWNreV93dUByZWFsdGVrLmNvbT4NCj4g PiA+IFNpZ25lZC1vZmYtYnk6IEthaS1IZW5nIEZlbmcgPGthaS5oZW5nLmZlbmdAY2Fub25pY2Fs LmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gdjM6DQo+ID4gPiAgLSBBbGxvdyBydW50aW1lIFBNIGZv ciBhbGwgZGV2aWNlcywgYnV0IG9ubHkgc2NoZWR1bGUgcnVudGltZSBzdXNwZW5kDQo+ID4gPiAg ICBmb3IgZGV2aWNlcyB3aXRoIHJ0ZDNfZW4gZmxhZ2dlZC4NCj4gPiA+DQo+ID4gPiB2MjoNCj4g PiA+ICAtIFJlbW92ZSB1bnVzZWQgaWRsZV93b3JrIGFuZCBydGQzX3dvcmsgZnJvbSBydHN4X3Bj ci4NCj4gPiA+DQo+ID4gPiAgZHJpdmVycy9taXNjL2NhcmRyZWFkZXIvcnRzeF9wY3IuYyB8IDEx OCArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gIGluY2x1ZGUvbGludXgvcnRz eF9wY2kuaCAgICAgICAgICAgfCAgIDMgLQ0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzkgaW5z ZXJ0aW9ucygrKSwgODIgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWlzYy9jYXJkcmVhZGVyL3J0c3hfcGNyLmMNCj4gPiA+IGIvZHJpdmVycy9taXNjL2Nh cmRyZWFkZXIvcnRzeF9wY3IuYw0KPiA+ID4gaW5kZXggNmFjNTA5YzE4MjFjOS4uZjkxOTI5MGYw MTE5MiAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvbWlzYy9jYXJkcmVhZGVyL3J0c3hfcGNy LmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvbWlzYy9jYXJkcmVhZGVyL3J0c3hfcGNyLmMNCj4gPiA+ IEBAIC0xNTIsMjAgKzE1MiwxMiBAQCB2b2lkIHJ0c3hfcGNpX3N0YXJ0X3J1bihzdHJ1Y3QgcnRz eF9wY3IgKnBjcikNCj4gPiA+ICAgICAgIGlmIChwY3ItPnJlbW92ZV9wY2kpDQo+ID4gPiAgICAg ICAgICAgICAgIHJldHVybjsNCj4gPiA+DQo+ID4gPiAtICAgICBpZiAocGNyLT5ydGQzX2VuKQ0K PiA+ID4gLSAgICAgICAgICAgICBpZiAocGNyLT5pc19ydW50aW1lX3N1c3BlbmRlZCkgew0KPiA+ ID4gLSAgICAgICAgICAgICAgICAgICAgIHBtX3J1bnRpbWVfZ2V0KCYocGNyLT5wY2ktPmRldikp Ow0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgIHBjci0+aXNfcnVudGltZV9zdXNwZW5kZWQg PSBmYWxzZTsNCj4gPiA+IC0gICAgICAgICAgICAgfQ0KPiA+ID4gLQ0KPiA+ID4gICAgICAgaWYg KHBjci0+c3RhdGUgIT0gUERFVl9TVEFUX1JVTikgew0KPiA+ID4gICAgICAgICAgICAgICBwY3It PnN0YXRlID0gUERFVl9TVEFUX1JVTjsNCj4gPiA+ICAgICAgICAgICAgICAgaWYgKHBjci0+b3Bz LT5lbmFibGVfYXV0b19ibGluaykNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICBwY3ItPm9w cy0+ZW5hYmxlX2F1dG9fYmxpbmsocGNyKTsNCj4gPiA+ICAgICAgICAgICAgICAgcnRzeF9wbV9m dWxsX29uKHBjcik7DQo+ID4gPiAgICAgICB9DQo+ID4gPiAtDQo+ID4gPiAtICAgICBtb2RfZGVs YXllZF93b3JrKHN5c3RlbV93cSwgJnBjci0+aWRsZV93b3JrLA0KPiBtc2Vjc190b19qaWZmaWVz KDIwMCkpOw0KPiA+ID4gIH0NCj4gPiA+ICBFWFBPUlRfU1lNQk9MX0dQTChydHN4X3BjaV9zdGFy dF9ydW4pOw0KPiA+ID4NCj4gPiA+IEBAIC0xMDk0LDQwICsxMDg2LDYgQEAgc3RhdGljIHZvaWQg cnRzeF9wbV9wb3dlcl9zYXZpbmcoc3RydWN0DQo+ID4gPiBydHN4X3Bjcg0KPiA+ID4gKnBjcikN Cj4gPiA+ICAgICAgIHJ0c3hfY29tbV9wbV9wb3dlcl9zYXZpbmcocGNyKTsgIH0NCj4gPiA+DQo+ ID4gPiAtc3RhdGljIHZvaWQgcnRzeF9wY2lfcnRkM193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykgLXsNCj4gPiA+IC0gICAgIHN0cnVjdCBkZWxheWVkX3dvcmsgKmR3b3JrID0gdG9fZGVs YXllZF93b3JrKHdvcmspOw0KPiA+ID4gLSAgICAgc3RydWN0IHJ0c3hfcGNyICpwY3IgPSBjb250 YWluZXJfb2YoZHdvcmssIHN0cnVjdCBydHN4X3BjciwNCj4gcnRkM193b3JrKTsNCj4gPiA+IC0N Cj4gPiA+IC0gICAgIHBjcl9kYmcocGNyLCAiLS0+ICVzXG4iLCBfX2Z1bmNfXyk7DQo+ID4gPiAt ICAgICBpZiAoIXBjci0+aXNfcnVudGltZV9zdXNwZW5kZWQpDQo+ID4gPiAtICAgICAgICAgICAg IHBtX3J1bnRpbWVfcHV0KCYocGNyLT5wY2ktPmRldikpOw0KPiA+ID4gLX0NCj4gPiA+IC0NCj4g PiA+IC1zdGF0aWMgdm9pZCBydHN4X3BjaV9pZGxlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKSAtew0KPiA+ID4gLSAgICAgc3RydWN0IGRlbGF5ZWRfd29yayAqZHdvcmsgPSB0b19kZWxh eWVkX3dvcmsod29yayk7DQo+ID4gPiAtICAgICBzdHJ1Y3QgcnRzeF9wY3IgKnBjciA9IGNvbnRh aW5lcl9vZihkd29yaywgc3RydWN0IHJ0c3hfcGNyLA0KPiBpZGxlX3dvcmspOw0KPiA+ID4gLQ0K PiA+ID4gLSAgICAgcGNyX2RiZyhwY3IsICItLT4gJXNcbiIsIF9fZnVuY19fKTsNCj4gPiA+IC0N Cj4gPiA+IC0gICAgIG11dGV4X2xvY2soJnBjci0+cGNyX211dGV4KTsNCj4gPiA+IC0NCj4gPiA+ IC0gICAgIHBjci0+c3RhdGUgPSBQREVWX1NUQVRfSURMRTsNCj4gPiA+IC0NCj4gPiA+IC0gICAg IGlmIChwY3ItPm9wcy0+ZGlzYWJsZV9hdXRvX2JsaW5rKQ0KPiA+ID4gLSAgICAgICAgICAgICBw Y3ItPm9wcy0+ZGlzYWJsZV9hdXRvX2JsaW5rKHBjcik7DQo+ID4gPiAtICAgICBpZiAocGNyLT5v cHMtPnR1cm5fb2ZmX2xlZCkNCj4gPiA+IC0gICAgICAgICAgICAgcGNyLT5vcHMtPnR1cm5fb2Zm X2xlZChwY3IpOw0KPiA+ID4gLQ0KPiA+ID4gLSAgICAgcnRzeF9wbV9wb3dlcl9zYXZpbmcocGNy KTsNCj4gPiA+IC0NCj4gPiA+IC0gICAgIG11dGV4X3VubG9jaygmcGNyLT5wY3JfbXV0ZXgpOw0K PiA+ID4gLQ0KPiA+ID4gLSAgICAgaWYgKHBjci0+cnRkM19lbikNCj4gPiA+IC0gICAgICAgICAg ICAgbW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fd3EsICZwY3ItPnJ0ZDNfd29yaywNCj4gPiA+IG1z ZWNzX3RvX2ppZmZpZXMoMTAwMDApKTsNCj4gPiA+IC19DQo+ID4gPiAtDQo+ID4gPiAgc3RhdGlj IHZvaWQgcnRzeF9iYXNlX2ZvcmNlX3Bvd2VyX2Rvd24oc3RydWN0IHJ0c3hfcGNyICpwY3IsIHU4 DQo+ID4gPiBwbV9zdGF0ZSkgew0KPiA+ID4gICAgICAgLyogU2V0IHJlbGlua190aW1lIHRvIDAg Ki8NCj4gPiA+IEBAIC0xNTk4LDcgKzE1NTYsNiBAQCBzdGF0aWMgaW50IHJ0c3hfcGNpX3Byb2Jl KHN0cnVjdCBwY2lfZGV2ICpwY2lkZXYsDQo+ID4gPiAgICAgICBwY3ItPmNhcmRfaW5zZXJ0ZWQg PSAwOw0KPiA+ID4gICAgICAgcGNyLT5jYXJkX3JlbW92ZWQgPSAwOw0KPiA+ID4gICAgICAgSU5J VF9ERUxBWUVEX1dPUksoJnBjci0+Y2FyZGRldF93b3JrLCBydHN4X3BjaV9jYXJkX2RldGVjdCk7 DQo+ID4gPiAtICAgICBJTklUX0RFTEFZRURfV09SSygmcGNyLT5pZGxlX3dvcmssIHJ0c3hfcGNp X2lkbGVfd29yayk7DQo+ID4gPg0KPiA+ID4gICAgICAgcGNyLT5tc2lfZW4gPSBtc2lfZW47DQo+ ID4gPiAgICAgICBpZiAocGNyLT5tc2lfZW4pIHsNCj4gPiA+IEBAIC0xNjIzLDIwICsxNTgwLDE0 IEBAIHN0YXRpYyBpbnQgcnRzeF9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYNCj4gKnBjaWRldiwN Cj4gPiA+ICAgICAgICAgICAgICAgcnRzeF9wY3JfY2VsbHNbaV0ucGRhdGFfc2l6ZSA9IHNpemVv ZigqaGFuZGxlKTsNCj4gPiA+ICAgICAgIH0NCj4gPiA+DQo+ID4gPiAtICAgICBpZiAocGNyLT5y dGQzX2VuKSB7DQo+ID4gPiAtICAgICAgICAgICAgIElOSVRfREVMQVlFRF9XT1JLKCZwY3ItPnJ0 ZDNfd29yaywNCj4gcnRzeF9wY2lfcnRkM193b3JrKTsNCj4gPiA+IC0gICAgICAgICAgICAgcG1f cnVudGltZV9hbGxvdygmcGNpZGV2LT5kZXYpOw0KPiA+ID4gLSAgICAgICAgICAgICBwbV9ydW50 aW1lX2VuYWJsZSgmcGNpZGV2LT5kZXYpOw0KPiA+ID4gLSAgICAgICAgICAgICBwY3ItPmlzX3J1 bnRpbWVfc3VzcGVuZGVkID0gZmFsc2U7DQo+ID4gPiAtICAgICB9DQo+ID4gPiAtDQo+ID4gPg0K PiA+ID4gICAgICAgcmV0ID0gbWZkX2FkZF9kZXZpY2VzKCZwY2lkZXYtPmRldiwgcGNyLT5pZCwg cnRzeF9wY3JfY2VsbHMsDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShy dHN4X3Bjcl9jZWxscyksIE5VTEwsIDAsIE5VTEwpOw0KPiA+ID4gICAgICAgaWYgKHJldCA8IDAp DQo+ID4gPiAgICAgICAgICAgICAgIGdvdG8gZnJlZV9zbG90czsNCj4gPiA+DQo+ID4gPiAtICAg ICBzY2hlZHVsZV9kZWxheWVkX3dvcmsoJnBjci0+aWRsZV93b3JrLCBtc2Vjc190b19qaWZmaWVz KDIwMCkpOw0KPiA+ID4gKyAgICAgcG1fcnVudGltZV9hbGxvdygmcGNpZGV2LT5kZXYpOw0KPiA+ ID4gKyAgICAgcG1fcnVudGltZV9wdXQoJnBjaWRldi0+ZGV2KTsNCj4gPiA+DQo+ID4gPiAgICAg ICByZXR1cm4gMDsNCj4gPiA+DQo+ID4gPiBAQCAtMTY2OCwxMSArMTYxOSwxMSBAQCBzdGF0aWMg dm9pZCBydHN4X3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYNCj4gPiA+ICpwY2lkZXYpDQo+ID4g PiAgICAgICBzdHJ1Y3QgcGNyX2hhbmRsZSAqaGFuZGxlID0gcGNpX2dldF9kcnZkYXRhKHBjaWRl dik7DQo+ID4gPiAgICAgICBzdHJ1Y3QgcnRzeF9wY3IgKnBjciA9IGhhbmRsZS0+cGNyOw0KPiA+ ID4NCj4gPiA+IC0gICAgIGlmIChwY3ItPnJ0ZDNfZW4pDQo+ID4gPiAtICAgICAgICAgICAgIHBt X3J1bnRpbWVfZ2V0X25vcmVzdW1lKCZwY3ItPnBjaS0+ZGV2KTsNCj4gPiA+IC0NCj4gPiA+ICAg ICAgIHBjci0+cmVtb3ZlX3BjaSA9IHRydWU7DQo+ID4gPg0KPiA+ID4gKyAgICAgcG1fcnVudGlt ZV9nZXRfc3luYygmcGNpZGV2LT5kZXYpOw0KPiA+ID4gKyAgICAgcG1fcnVudGltZV9mb3JiaWQo JnBjaWRldi0+ZGV2KTsNCj4gPiA+ICsNCj4gPiA+ICAgICAgIC8qIERpc2FibGUgaW50ZXJydXB0 cyBhdCB0aGUgcGNyIGxldmVsICovDQo+ID4gPiAgICAgICBzcGluX2xvY2tfaXJxKCZwY3ItPmxv Y2spOw0KPiA+ID4gICAgICAgcnRzeF9wY2lfd3JpdGVsKHBjciwgUlRTWF9CSUVSLCAwKTsgQEAg LTE2ODAsOSArMTYzMSw2IEBADQo+ID4gPiBzdGF0aWMgdm9pZCBydHN4X3BjaV9yZW1vdmUoc3Ry dWN0IHBjaV9kZXYgKnBjaWRldikNCj4gPiA+ICAgICAgIHNwaW5fdW5sb2NrX2lycSgmcGNyLT5s b2NrKTsNCj4gPiA+DQo+ID4gPiAgICAgICBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJnBjci0+ Y2FyZGRldF93b3JrKTsNCj4gPiA+IC0gICAgIGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmcGNy LT5pZGxlX3dvcmspOw0KPiA+ID4gLSAgICAgaWYgKHBjci0+cnRkM19lbikNCj4gPiA+IC0gICAg ICAgICAgICAgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZwY3ItPnJ0ZDNfd29yayk7DQo+ID4g Pg0KPiA+ID4gICAgICAgbWZkX3JlbW92ZV9kZXZpY2VzKCZwY2lkZXYtPmRldik7DQo+ID4gPg0K PiA+ID4gQEAgLTE3MDAsMTEgKzE2NDgsNiBAQCBzdGF0aWMgdm9pZCBydHN4X3BjaV9yZW1vdmUo c3RydWN0IHBjaV9kZXYNCj4gPiA+ICpwY2lkZXYpDQo+ID4gPiAgICAgICBpZHJfcmVtb3ZlKCZy dHN4X3BjaV9pZHIsIHBjci0+aWQpOw0KPiA+ID4gICAgICAgc3Bpbl91bmxvY2soJnJ0c3hfcGNp X2xvY2spOw0KPiA+ID4NCj4gPiA+IC0gICAgIGlmIChwY3ItPnJ0ZDNfZW4pIHsNCj4gPiA+IC0g ICAgICAgICAgICAgcG1fcnVudGltZV9kaXNhYmxlKCZwY3ItPnBjaS0+ZGV2KTsNCj4gPiA+IC0g ICAgICAgICAgICAgcG1fcnVudGltZV9wdXRfbm9pZGxlKCZwY3ItPnBjaS0+ZGV2KTsNCj4gPiA+ IC0gICAgIH0NCj4gPiA+IC0NCj4gPiA+ICAgICAgIGtmcmVlKHBjci0+c2xvdHMpOw0KPiA+ID4g ICAgICAga2ZyZWUocGNyKTsNCj4gPiA+ICAgICAgIGtmcmVlKGhhbmRsZSk7DQo+ID4gPiBAQCAt MTcyNiw3ICsxNjY5LDYgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZA0KPiA+ID4gcnRzeF9w Y2lfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXZfZCkNCj4gPiA+ICAgICAgIHBjciA9IGhhbmRs ZS0+cGNyOw0KPiA+ID4NCj4gPiA+ICAgICAgIGNhbmNlbF9kZWxheWVkX3dvcmsoJnBjci0+Y2Fy ZGRldF93b3JrKTsNCj4gPiA+IC0gICAgIGNhbmNlbF9kZWxheWVkX3dvcmsoJnBjci0+aWRsZV93 b3JrKTsNCj4gPiA+DQo+ID4gPiAgICAgICBtdXRleF9sb2NrKCZwY3ItPnBjcl9tdXRleCk7DQo+ ID4gPg0KPiA+ID4gQEAgLTE3NjAsOCArMTcwMiw2IEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVz ZWQNCj4gPiA+IHJ0c3hfcGNpX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXZfZCkNCj4gPiA+ICAg ICAgIGlmIChyZXQpDQo+ID4gPiAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4NCj4gPiA+ IC0gICAgIHNjaGVkdWxlX2RlbGF5ZWRfd29yaygmcGNyLT5pZGxlX3dvcmssIG1zZWNzX3RvX2pp ZmZpZXMoMjAwKSk7DQo+ID4gPiAtDQo+ID4gPiAgb3V0Og0KPiA+ID4gICAgICAgbXV0ZXhfdW5s b2NrKCZwY3ItPnBjcl9tdXRleCk7DQo+ID4gPiAgICAgICByZXR1cm4gcmV0Ow0KPiA+ID4gQEAg LTE3ODYsNiArMTcyNiwzMyBAQCBzdGF0aWMgdm9pZCBydHN4X3BjaV9zaHV0ZG93bihzdHJ1Y3Qg cGNpX2Rldg0KPiA+ID4gKnBjaWRldikNCj4gPiA+ICAgICAgICAgICAgICAgcGNpX2Rpc2FibGVf bXNpKHBjci0+cGNpKTsgIH0NCj4gPiA+DQo+ID4gPiArc3RhdGljIGludCBydHN4X3BjaV9ydW50 aW1lX2lkbGUoc3RydWN0IGRldmljZSAqZGV2aWNlKSB7DQo+ID4gPiArICAgICBzdHJ1Y3QgcGNp X2RldiAqcGNpZGV2ID0gdG9fcGNpX2RldihkZXZpY2UpOw0KPiA+ID4gKyAgICAgc3RydWN0IHBj cl9oYW5kbGUgKmhhbmRsZSA9IHBjaV9nZXRfZHJ2ZGF0YShwY2lkZXYpOw0KPiA+ID4gKyAgICAg c3RydWN0IHJ0c3hfcGNyICpwY3IgPSBoYW5kbGUtPnBjcjsNCj4gPiA+ICsNCj4gPiA+ICsgICAg IGRldl9kYmcoZGV2aWNlLCAiLS0+ICVzXG4iLCBfX2Z1bmNfXyk7DQo+ID4gPiArDQo+ID4gPiAr ICAgICBtdXRleF9sb2NrKCZwY3ItPnBjcl9tdXRleCk7DQo+ID4gPiArDQo+ID4gPiArICAgICBw Y3ItPnN0YXRlID0gUERFVl9TVEFUX0lETEU7DQo+ID4gPiArDQo+ID4gPiArICAgICBpZiAocGNy LT5vcHMtPmRpc2FibGVfYXV0b19ibGluaykNCj4gPiA+ICsgICAgICAgICAgICAgcGNyLT5vcHMt PmRpc2FibGVfYXV0b19ibGluayhwY3IpOw0KPiA+ID4gKyAgICAgaWYgKHBjci0+b3BzLT50dXJu X29mZl9sZWQpDQo+ID4gPiArICAgICAgICAgICAgIHBjci0+b3BzLT50dXJuX29mZl9sZWQocGNy KTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIHJ0c3hfcG1fcG93ZXJfc2F2aW5nKHBjcik7DQo+ID4g PiArDQo+ID4gPiArICAgICBtdXRleF91bmxvY2soJnBjci0+cGNyX211dGV4KTsNCj4gPiA+ICsN Cj4gPiA+ICsgICAgIGlmIChwY3ItPnJ0ZDNfZW4pDQo+ID4gPiArICAgICAgICAgICAgIHBtX3Nj aGVkdWxlX3N1c3BlbmQoZGV2aWNlLCA1MDAwKTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIHJldHVy biAtRUJVU1k7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gIHN0YXRpYyBpbnQgcnRzeF9wY2lf cnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldmljZSkgIHsNCj4gPiA+ICAgICAgIHN0 cnVjdCBwY2lfZGV2ICpwY2lkZXYgPSB0b19wY2lfZGV2KGRldmljZSk7IEBAIC0xNzk0LDMxDQo+ ID4gPiArMTc2MSwyNiBAQCBzdGF0aWMgaW50IHJ0c3hfcGNpX3J1bnRpbWVfc3VzcGVuZChzdHJ1 Y3QgZGV2aWNlDQo+ID4gPiAqZGV2aWNlKQ0KPiA+ID4NCj4gPiA+ICAgICAgIGhhbmRsZSA9IHBj aV9nZXRfZHJ2ZGF0YShwY2lkZXYpOw0KPiA+ID4gICAgICAgcGNyID0gaGFuZGxlLT5wY3I7DQo+ ID4gPiAtICAgICBkZXZfZGJnKCYocGNpZGV2LT5kZXYpLCAiLS0+ICVzXG4iLCBfX2Z1bmNfXyk7 DQo+ID4gPg0KPiA+ID4gLSAgICAgY2FuY2VsX2RlbGF5ZWRfd29yaygmcGNyLT5jYXJkZGV0X3dv cmspOw0KPiA+ID4gLSAgICAgY2FuY2VsX2RlbGF5ZWRfd29yaygmcGNyLT5ydGQzX3dvcmspOw0K PiA+ID4gLSAgICAgY2FuY2VsX2RlbGF5ZWRfd29yaygmcGNyLT5pZGxlX3dvcmspOw0KPiA+ID4g KyAgICAgZGV2X2RiZyhkZXZpY2UsICItLT4gJXNcbiIsIF9fZnVuY19fKTsNCj4gPiA+ICsNCj4g PiA+ICsgICAgIGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmcGNyLT5jYXJkZGV0X3dvcmspOw0K PiA+ID4NCj4gPiA+ICAgICAgIG11dGV4X2xvY2soJnBjci0+cGNyX211dGV4KTsNCj4gPiA+ICAg ICAgIHJ0c3hfcGNpX3Bvd2VyX29mZihwY3IsIEhPU1RfRU5URVJfUzMpOw0KPiA+ID4NCj4gPiA+ ICAgICAgIG11dGV4X3VubG9jaygmcGNyLT5wY3JfbXV0ZXgpOw0KPiA+ID4NCj4gPiA+IC0gICAg IHBjci0+aXNfcnVudGltZV9zdXNwZW5kZWQgPSB0cnVlOw0KPiA+ID4gLQ0KPiA+ID4gICAgICAg cmV0dXJuIDA7DQo+ID4gPiAgfQ0KPiA+ID4NCj4gPiA+ICBzdGF0aWMgaW50IHJ0c3hfcGNpX3J1 bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldmljZSkgIHsNCj4gPiA+ICAgICAgIHN0cnVj dCBwY2lfZGV2ICpwY2lkZXYgPSB0b19wY2lfZGV2KGRldmljZSk7DQo+ID4gPiAtICAgICBzdHJ1 Y3QgcGNyX2hhbmRsZSAqaGFuZGxlOw0KPiA+ID4gLSAgICAgc3RydWN0IHJ0c3hfcGNyICpwY3I7 DQo+ID4gPiArICAgICBzdHJ1Y3QgcGNyX2hhbmRsZSAqaGFuZGxlID0gcGNpX2dldF9kcnZkYXRh KHBjaWRldik7DQo+ID4gPiArICAgICBzdHJ1Y3QgcnRzeF9wY3IgKnBjciA9IGhhbmRsZS0+cGNy Ow0KPiA+ID4NCj4gPiA+IC0gICAgIGhhbmRsZSA9IHBjaV9nZXRfZHJ2ZGF0YShwY2lkZXYpOw0K PiA+ID4gLSAgICAgcGNyID0gaGFuZGxlLT5wY3I7DQo+ID4gPiAtICAgICBkZXZfZGJnKCYocGNp ZGV2LT5kZXYpLCAiLS0+ICVzXG4iLCBfX2Z1bmNfXyk7DQo+ID4gPiArICAgICBkZXZfZGJnKGRl dmljZSwgIi0tPiAlc1xuIiwgX19mdW5jX18pOw0KPiA+ID4NCj4gPiA+ICAgICAgIG11dGV4X2xv Y2soJnBjci0+cGNyX211dGV4KTsNCj4gPiA+DQo+ID4gPiBAQCAtMTgzNCw4ICsxNzk2LDYgQEAg c3RhdGljIGludCBydHN4X3BjaV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QNCj4gPiA+IGRldmljZQ0K PiA+ID4gKmRldmljZSkNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjci0+ c2xvdHNbUlRTWF9TRF9DQVJEXS5wX2Rldik7DQo+ID4gPiAgICAgICB9DQo+ID4gPg0KPiA+ID4g LSAgICAgc2NoZWR1bGVfZGVsYXllZF93b3JrKCZwY3ItPmlkbGVfd29yaywgbXNlY3NfdG9famlm ZmllcygyMDApKTsNCj4gPiA+IC0NCj4gPiA+ICAgICAgIG11dGV4X3VubG9jaygmcGNyLT5wY3Jf bXV0ZXgpOw0KPiA+ID4gICAgICAgcmV0dXJuIDA7DQo+ID4gPiAgfQ0KPiA+ID4gQEAgLTE4NTAs NyArMTgxMCw3IEBAIHN0YXRpYyBpbnQgcnRzeF9wY2lfcnVudGltZV9yZXN1bWUoc3RydWN0DQo+ ID4gPiBkZXZpY2UNCj4gPiA+ICpkZXZpY2UpDQo+ID4gPg0KPiA+ID4gIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZGV2X3BtX29wcyBydHN4X3BjaV9wbV9vcHMgPSB7DQo+ID4gPiAgICAgICBTRVRfU1lT VEVNX1NMRUVQX1BNX09QUyhydHN4X3BjaV9zdXNwZW5kLCBydHN4X3BjaV9yZXN1bWUpDQo+ID4g PiAtICAgICBTRVRfUlVOVElNRV9QTV9PUFMocnRzeF9wY2lfcnVudGltZV9zdXNwZW5kLA0KPiA+ ID4gcnRzeF9wY2lfcnVudGltZV9yZXN1bWUsIE5VTEwpDQo+ID4gPiArICAgICBTRVRfUlVOVElN RV9QTV9PUFMocnRzeF9wY2lfcnVudGltZV9zdXNwZW5kLA0KPiA+ID4gcnRzeF9wY2lfcnVudGlt ZV9yZXN1bWUsDQo+ID4gPiArcnRzeF9wY2lfcnVudGltZV9pZGxlKQ0KPiA+ID4gIH07DQo+ID4g Pg0KPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBydHN4X3BjaV9kcml2ZXIgPSB7IGRp ZmYgLS1naXQNCj4gPiA+IGEvaW5jbHVkZS9saW51eC9ydHN4X3BjaS5oIGIvaW5jbHVkZS9saW51 eC9ydHN4X3BjaS5oIGluZGV4DQo+ID4gPiA0YWI3YmZjNjc1ZjExLi44OWI3ZDM0ZTI1YjYzIDEw MDY0NA0KPiA+ID4gLS0tIGEvaW5jbHVkZS9saW51eC9ydHN4X3BjaS5oDQo+ID4gPiArKysgYi9p bmNsdWRlL2xpbnV4L3J0c3hfcGNpLmgNCj4gPiA+IEBAIC0xMjAxLDggKzEyMDEsNiBAQCBzdHJ1 Y3QgcnRzeF9wY3Igew0KPiA+ID4gICAgICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgICAg ICBjYXJkX2V4aXN0Ow0KPiA+ID4NCj4gPiA+ICAgICAgIHN0cnVjdCBkZWxheWVkX3dvcmsgICAg ICAgICAgICAgY2FyZGRldF93b3JrOw0KPiA+ID4gLSAgICAgc3RydWN0IGRlbGF5ZWRfd29yayAg ICAgICAgICAgICBpZGxlX3dvcms7DQo+ID4gPiAtICAgICBzdHJ1Y3QgZGVsYXllZF93b3JrICAg ICAgICAgICAgIHJ0ZDNfd29yazsNCj4gPiA+DQo+ID4gPiAgICAgICBzcGlubG9ja190ICAgICAg ICAgICAgICAgICAgICAgIGxvY2s7DQo+ID4gPiAgICAgICBzdHJ1Y3QgbXV0ZXggICAgICAgICAg ICAgICAgICAgIHBjcl9tdXRleDsNCj4gPiA+IEBAIC0xMjEyLDcgKzEyMTAsNiBAQCBzdHJ1Y3Qg cnRzeF9wY3Igew0KPiA+ID4gICAgICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgICAgICBj dXJfY2xvY2s7DQo+ID4gPiAgICAgICBib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl bW92ZV9wY2k7DQo+ID4gPiAgICAgICBib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1z aV9lbjsNCj4gPiA+IC0gICAgIGJvb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcnVu dGltZV9zdXNwZW5kZWQ7DQo+ID4gPg0KPiA+ID4gICNkZWZpbmUgRVhUUkFfQ0FQU19TRF9TRFI1 MCAgICAgICAgICAoMSA8PCAwKQ0KPiA+ID4gICNkZWZpbmUgRVhUUkFfQ0FQU19TRF9TRFIxMDQg ICAgICAgICAoMSA8PCAxKQ0KPiA+ID4gLS0NCj4gPiA+IDIuMzMuMQ0KPiA+DQo+IC0tLS0tLVBs ZWFzZSBjb25zaWRlciB0aGUgZW52aXJvbm1lbnQgYmVmb3JlIHByaW50aW5nIHRoaXMgZS1tYWls Lg0K