Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp4428519pxb; Mon, 21 Feb 2022 21:19:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJznMo2y/jzStXj40v2RGvGq62MXZ8xlRS9aocdj5mC7EhtMfKGpiTd/qwefaOU/2X11+OZo X-Received: by 2002:a17:90a:4286:b0:1b8:8ba1:730c with SMTP id p6-20020a17090a428600b001b88ba1730cmr2389241pjg.181.1645507154410; Mon, 21 Feb 2022 21:19:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645507154; cv=none; d=google.com; s=arc-20160816; b=ol6JorMkDiQk8dH+d5i45jUPt4JCrNMBBkoJL1/dB2RWbLHF1B+VrJ5BMr0Js0ETwB XkKITNdn6ILqyI8k8cZL+CCes3twEuI/E9bsc9w3VeqVXr37RBTuq2FPq8/W9LLusCIP FlOzbwn+jpiGY4Ust089tnxUXwpLG9EkbwPqeFBm18H3pyRSQegYYuWnI+Suy3sPQG/L Fpx30IYRf1U72KolJS0qcJSyVGXiEW43Q0CAV4RDVf8Y5zJ+L1cogaFUcedFgdlMJLLA XsK4FPNechWC+lDIHGqXVulRBNZmSA+OvVkKCfAne+3ohehz8hgM6venYUEhda3vIiFM umlA== 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:message-id:date:thread-index :thread-topic:subject:to:from:authenticated-by; bh=celDrkpxg+kaR4O8vxOQOsQ/IAaJYSmKZfHtiL/jZCc=; b=Myx7s6DJ9XKjcawhUg4ntTlp7aEzgqlQX1lj/CDAtr1M75IeE/fXIWd/KW0po6dfn6 2igNcZHUwGTZq7tL7rb2xTUdNBPXR3vMf/HRytJtG5rY0PpVl7MI4nwIDHzEjGntTR0F 8IR61QYe5l4T/0TgQWaAR7O6nH9Sx4i7rgwqBp+mk8oyGXGLli5aV9wZQJiqrFtrR0aF yVFG7MuqZzT9WIZfrl7WGes3ZjT6tZK72edQT/oq0epZLYbKyz2j8i+QKikdGqUr+7Wm 5cKg1AH+EYnmSARI88MjN/qHTgcQLeDt2MrnVo+bjm6tFAQDCVfgB5/o2cS+C6DiwSNY N8wA== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id c21si19140924pgh.514.2022.02.21.21.19.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Feb 2022 21:19:14 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 511CBEFFA7; Mon, 21 Feb 2022 20:51:02 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356099AbiBULZ0 (ORCPT + 99 others); Mon, 21 Feb 2022 06:25:26 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:34504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356176AbiBULYv (ORCPT ); Mon, 21 Feb 2022 06:24:51 -0500 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C62D61C0 for ; Mon, 21 Feb 2022 03:20:43 -0800 (PST) Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.73 with qID 21LBKUTc8022194, 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 21LBKUTc8022194 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Mon, 21 Feb 2022 19:20:30 +0800 Received: from RTEXMBS02.realtek.com.tw (172.21.6.95) 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, 21 Feb 2022 19:20:30 +0800 Received: from RTEXMBS01.realtek.com.tw (172.21.6.94) by RTEXMBS02.realtek.com.tw (172.21.6.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 21 Feb 2022 19:20:29 +0800 Received: from RTEXMBS01.realtek.com.tw ([fe80::a0f1:14d7:38a1:7026]) by RTEXMBS01.realtek.com.tw ([fe80::a0f1:14d7:38a1:7026%5]) with mapi id 15.01.2308.021; Mon, 21 Feb 2022 19:20:29 +0800 From: Ricky WU To: "arnd@arndb.de" , "gregkh@linuxfoundation.org" , "kai.heng.feng@canonical.com" , "linux-kernel@vger.kernel.org" , Ricky WU Subject: [PATCH] misc: rtsx: rts522a rts5228 rts5261 support Runtime PM Thread-Topic: [PATCH] misc: rtsx: rts522a rts5228 rts5261 support Runtime PM Thread-Index: AQHYJxRl7osD91UJlUmI6/y1W+wpVg== Date: Mon, 21 Feb 2022 11:20:29 +0000 Message-ID: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.22.81.102] x-kse-serverinfo: RTEXMBS02.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: =?big5?B?Q2xlYW4sIGJhc2VzOiAyMDIyLzIvMjEgpFekyCAxMDoyMDowMA==?= x-kse-bulkmessagesfiltering-scan-result: protection disabled Content-Type: text/plain; charset="big5" 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 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cnRzNTIyYSwgcnRzNTIyOCwgcnRzNTI2MQ0KYWRkIGV4dHJhIGluaXQgZmxvdyBmb3IgcnRkMw0K YWRkIG1vcmUgcG93ZXJfZG93biBzZXR0aW5nIGZvciBhdm9pZCBiZWluZyB3b2tlbiB1cA0KYnkg cGx1Z2dpbmcgb3IgdW5wbHVnZ2luZyBjYXJkIHdoZW4gc3lzdGVtIGluIFMzDQoNClNpZ25lZC1v ZmYtYnk6IFJpY2t5IFd1IDxyaWNreV93dUByZWFsdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvbWlz Yy9jYXJkcmVhZGVyL3J0czUyMjcuYyAgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysNCiBkcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjI4LmMgIHwgMjEgKysrKysrKysrKyst LQ0KIGRyaXZlcnMvbWlzYy9jYXJkcmVhZGVyL3J0czUyNjEuYyAgfCAzMyArKysrKysrKysrKysr KysrKysrLS0NCiBkcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHN4X3Bjci5oIHwgIDIgKysNCiA0 IGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQoNCmRpZmYg LS1naXQgYS9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjI3LmMgYi9kcml2ZXJzL21pc2Mv Y2FyZHJlYWRlci9ydHM1MjI3LmMNCmluZGV4IDRiY2ZiYzlhZmJhYy4uZDY3NmNmNjNhOTY2IDEw MDY0NA0KLS0tIGEvZHJpdmVycy9taXNjL2NhcmRyZWFkZXIvcnRzNTIyNy5jDQorKysgYi9kcml2 ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjI3LmMNCkBAIC03Miw2ICs3Miw4IEBAIHN0YXRpYyB2 b2lkIHJ0czUyMjdfZmV0Y2hfdmVuZG9yX3NldHRpbmdzKHN0cnVjdCBydHN4X3BjciAqcGNyKQ0K IA0KIAlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwgUENSX1NFVFRJTkdfUkVHMiwgJnJlZyk7 DQogCXBjcl9kYmcocGNyLCAiQ2ZnIDB4JXg6IDB4JXhcbiIsIFBDUl9TRVRUSU5HX1JFRzIsIHJl Zyk7DQorCWlmIChDSEtfUENJX1BJRChwY3IsIDB4NTIyQSkpDQorCQlwY3ItPnJ0ZDNfZW4gPSBy dHN4X3JlZ190b19ydGQzKHJlZyk7DQogCWlmIChydHN4X2NoZWNrX21tY19zdXBwb3J0KHJlZykp DQogCQlwY3ItPmV4dHJhX2NhcHMgfD0gRVhUUkFfQ0FQU19OT19NTUM7DQogCXBjci0+c2QzMF9k cml2ZV9zZWxfM3YzID0gcnRzeF9yZWdfdG9fc2QzMF9kcml2ZV9zZWxfM3YzKHJlZyk7DQpAQCAt MTcxLDYgKzE3MywyOCBAQCBzdGF0aWMgaW50IHJ0czUyMjdfZXh0cmFfaW5pdF9odyhzdHJ1Y3Qg cnRzeF9wY3IgKnBjcikNCiAJZWxzZQ0KIAkJcnRzeF9wY2lfYWRkX2NtZChwY3IsIFdSSVRFX1JF R19DTUQsIFBFVFhDRkcsIDB4MzAsIDB4MDApOw0KIA0KKwlpZiAoQ0hLX1BDSV9QSUQocGNyLCAw eDUyMkEpKQ0KKwkJcnRzeF9wY2lfYWRkX2NtZChwY3IsIFdSSVRFX1JFR19DTUQsIFJUUzUyMkFf QVVUT0xPQURfQ0ZHMSwNCisJCQlDRF9SRVNVTUVfRU5fTUFTSywgQ0RfUkVTVU1FX0VOX01BU0sp Ow0KKw0KKwlpZiAocGNyLT5ydGQzX2VuKSB7DQorCQlpZiAoQ0hLX1BDSV9QSUQocGNyLCAweDUy MkEpKSB7DQorCQkJcnRzeF9wY2lfYWRkX2NtZChwY3IsIFdSSVRFX1JFR19DTUQsIFJUUzUyMkFf UE1fQ1RSTDMsIDB4MDEsIDB4MDEpOw0KKwkJCXJ0c3hfcGNpX2FkZF9jbWQocGNyLCBXUklURV9S RUdfQ01ELCBSVFM1MjJBX1BNRV9GT1JDRV9DVEwsIDB4MzAsIDB4MzApOw0KKwkJfSBlbHNlIHsN CisJCQlydHN4X3BjaV9hZGRfY21kKHBjciwgV1JJVEVfUkVHX0NNRCwgUE1fQ1RSTDMsIDB4MDEs IDB4MDEpOw0KKwkJCXJ0c3hfcGNpX2FkZF9jbWQocGNyLCBXUklURV9SRUdfQ01ELCBQTUVfRk9S Q0VfQ1RMLCAweEZGLCAweDMzKTsNCisJCX0NCisJfSBlbHNlIHsNCisJCWlmIChDSEtfUENJX1BJ RChwY3IsIDB4NTIyQSkpIHsNCisJCQlydHN4X3BjaV9hZGRfY21kKHBjciwgV1JJVEVfUkVHX0NN RCwgUlRTNTIyQV9QTV9DVFJMMywgMHgwMSwgMHgwMCk7DQorCQkJcnRzeF9wY2lfYWRkX2NtZChw Y3IsIFdSSVRFX1JFR19DTUQsIFJUUzUyMkFfUE1FX0ZPUkNFX0NUTCwgMHgzMCwgMHgyMCk7DQor CQl9IGVsc2Ugew0KKwkJCXJ0c3hfcGNpX2FkZF9jbWQocGNyLCBXUklURV9SRUdfQ01ELCBQTUVf Rk9SQ0VfQ1RMLCAweEZGLCAweDMwKTsNCisJCQlydHN4X3BjaV9hZGRfY21kKHBjciwgV1JJVEVf UkVHX0NNRCwgUE1fQ1RSTDMsIDB4MDEsIDB4MDApOw0KKwkJfQ0KKwl9DQorDQogCWlmIChvcHRp b24tPmZvcmNlX2Nsa3JlcV8wKQ0KIAkJcnRzeF9wY2lfYWRkX2NtZChwY3IsIFdSSVRFX1JFR19D TUQsIFBFVFhDRkcsDQogCQkJCUZPUkNFX0NMS1JFUV9ERUxJTktfTUFTSywgRk9SQ0VfQ0xLUkVR X0xPVyk7DQpAQCAtNDM4LDYgKzQ2MiwyOCBAQCBzdGF0aWMgaW50IHJ0czUyMmFfc3dpdGNoX291 dHB1dF92b2x0YWdlKHN0cnVjdCBydHN4X3BjciAqcGNyLCB1OCB2b2x0YWdlKQ0KIAlyZXR1cm4g cnRzeF9wY2lfc2VuZF9jbWQocGNyLCAxMDApOw0KIH0NCiANCitzdGF0aWMgdm9pZCBydHM1MjJh X2ZvcmNlX3Bvd2VyX2Rvd24oc3RydWN0IHJ0c3hfcGNyICpwY3IsIHU4IHBtX3N0YXRlLCBib29s IHJ1bnRpbWUpDQorew0KKwkvKiBTZXQgcmVsaW5rX3RpbWUgdG8gMCAqLw0KKwlydHN4X3BjaV93 cml0ZV9yZWdpc3RlcihwY3IsIEFVVE9MT0FEX0NGR19CQVNFICsgMSwgTUFTS184X0JJVF9ERUYs IDApOw0KKwlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIEFVVE9MT0FEX0NGR19CQVNFICsg MiwgTUFTS184X0JJVF9ERUYsIDApOw0KKwlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIEFV VE9MT0FEX0NGR19CQVNFICsgMywNCisJCQkJUkVMSU5LX1RJTUVfTUFTSywgMCk7DQorDQorCXJ0 c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgUlRTNTIyQV9QTV9DVFJMMywNCisJCQlEM19ERUxJ TktfTU9ERV9FTiwgRDNfREVMSU5LX01PREVfRU4pOw0KKw0KKwlpZiAoIXJ1bnRpbWUpIHsNCisJ CXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgUlRTNTIyQV9BVVRPTE9BRF9DRkcxLA0KKwkJ CQlDRF9SRVNVTUVfRU5fTUFTSywgMCk7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3Is IFJUUzUyMkFfUE1fQ1RSTDMsIDB4MDEsIDB4MDApOw0KKwkJcnRzeF9wY2lfd3JpdGVfcmVnaXN0 ZXIocGNyLCBSVFM1MjJBX1BNRV9GT1JDRV9DVEwsIDB4MzAsIDB4MjApOw0KKwl9DQorDQorCXJ0 c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgRlBEQ1RMLCBBTExfUE9XRVJfRE9XTiwgQUxMX1BP V0VSX0RPV04pOw0KK30NCisNCisNCiBzdGF0aWMgdm9pZCBydHM1MjJhX3NldF9sMW9mZl9jZmdf c3ViX2QwKHN0cnVjdCBydHN4X3BjciAqcGNyLCBpbnQgYWN0aXZlKQ0KIHsNCiAJc3RydWN0IHJ0 c3hfY3Jfb3B0aW9uICpvcHRpb24gPSAmcGNyLT5vcHRpb247DQpAQCAtNDczLDYgKzUxOSw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNyX29wcyBydHM1MjJhX3Bjcl9vcHMgPSB7DQogCS5jYXJk X3Bvd2VyX29uID0gcnRzNTIyN19jYXJkX3Bvd2VyX29uLA0KIAkuY2FyZF9wb3dlcl9vZmYgPSBy dHM1MjI3X2NhcmRfcG93ZXJfb2ZmLA0KIAkuc3dpdGNoX291dHB1dF92b2x0YWdlID0gcnRzNTIy YV9zd2l0Y2hfb3V0cHV0X3ZvbHRhZ2UsDQorCS5mb3JjZV9wb3dlcl9kb3duID0gcnRzNTIyYV9m b3JjZV9wb3dlcl9kb3duLA0KIAkuY2RfZGVnbGl0Y2ggPSBOVUxMLA0KIAkuY29udl9jbGtfYW5k X2Rpdl9uID0gTlVMTCwNCiAJLnNldF9sMW9mZl9jZmdfc3ViX2QwID0gcnRzNTIyYV9zZXRfbDFv ZmZfY2ZnX3N1Yl9kMCwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1 MjI4LmMgYi9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjI4LmMNCmluZGV4IGZmZTNhZmJm OGJmZS4uYWY1ODFmNGY3NGQxIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9taXNjL2NhcmRyZWFkZXIv cnRzNTIyOC5jDQorKysgYi9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjI4LmMNCkBAIC0x MDIsNiArMTAyLDE0IEBAIHN0YXRpYyB2b2lkIHJ0czUyMjhfZm9yY2VfcG93ZXJfZG93bihzdHJ1 Y3QgcnRzeF9wY3IgKnBjciwgdTggcG1fc3RhdGUsIGJvb2wgcnVuDQogCXJ0c3hfcGNpX3dyaXRl X3JlZ2lzdGVyKHBjciwgcGNyLT5yZWdfcG1fY3RybDMsDQogCQkJRDNfREVMSU5LX01PREVfRU4s IEQzX0RFTElOS19NT0RFX0VOKTsNCiANCisJaWYgKCFydW50aW1lKSB7DQorCQlydHN4X3BjaV93 cml0ZV9yZWdpc3RlcihwY3IsIFJUUzUyMjhfQVVUT0xPQURfQ0ZHMSwNCisJCQkJQ0RfUkVTVU1F X0VOX01BU0ssIDApOw0KKwkJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNyLCBwY3ItPnJlZ19w bV9jdHJsMywgMHgwMSwgMHgwMCk7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIFJU UzUyMjhfUkVHX1BNRV9GT1JDRV9DVEwsDQorCQkJCUZPUkNFX1BNX0NPTlRST0wgfCBGT1JDRV9Q TV9WQUxVRSwgRk9SQ0VfUE1fQ09OVFJPTCk7DQorCX0NCisNCiAJcnRzeF9wY2lfd3JpdGVfcmVn aXN0ZXIocGNyLCBGUERDVEwsDQogCQlTU0NfUE9XRVJfRE9XTiwgU1NDX1BPV0VSX0RPV04pOw0K IH0NCkBAIC00ODAsOSArNDg4LDE4IEBAIHN0YXRpYyBpbnQgcnRzNTIyOF9leHRyYV9pbml0X2h3 KHN0cnVjdCBydHN4X3BjciAqcGNyKQ0KIAkJCQkgRk9SQ0VfQ0xLUkVRX0RFTElOS19NQVNLLCBG T1JDRV9DTEtSRVFfSElHSCk7DQogDQogCXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgUFdE X1NVU1BFTkRfRU4sIDB4RkYsIDB4RkIpOw0KLQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3Is IHBjci0+cmVnX3BtX2N0cmwzLCAweDEwLCAweDAwKTsNCisNCisJaWYgKHBjci0+cnRkM19lbikg ew0KKwkJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNyLCBwY3ItPnJlZ19wbV9jdHJsMywgMHgw MSwgMHgwMSk7DQogCXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgUlRTNTIyOF9SRUdfUE1F X0ZPUkNFX0NUTCwNCi0JCQlGT1JDRV9QTV9DT05UUk9MIHwgRk9SQ0VfUE1fVkFMVUUsIEZPUkNF X1BNX0NPTlRST0wpOw0KKwkJCQlGT1JDRV9QTV9DT05UUk9MIHwgRk9SQ0VfUE1fVkFMVUUsDQor CQkJCUZPUkNFX1BNX0NPTlRST0wgfCBGT1JDRV9QTV9WQUxVRSk7DQorCX0gZWxzZSB7DQorCQly dHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIHBjci0+cmVnX3BtX2N0cmwzLCAweDAxLCAweDAw KTsNCisJCXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgUlRTNTIyOF9SRUdfUE1FX0ZPUkNF X0NUTCwNCisJCQkJRk9SQ0VfUE1fQ09OVFJPTCB8IEZPUkNFX1BNX1ZBTFVFLCBGT1JDRV9QTV9D T05UUk9MKTsNCisJfQ0KKwlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIHBjci0+cmVnX3Bt X2N0cmwzLCBEM19ERUxJTktfTU9ERV9FTiwgMHgwMCk7DQogDQogCXJldHVybiAwOw0KIH0NCmRp ZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjYxLmMgYi9kcml2ZXJzL21p c2MvY2FyZHJlYWRlci9ydHM1MjYxLmMNCmluZGV4IDY0MzMzMzQ3YzE0YS4uYTc3NTg1YWIwZjMw IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9taXNjL2NhcmRyZWFkZXIvcnRzNTI2MS5jDQorKysgYi9k cml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHM1MjYxLmMNCkBAIC0xMDMsNiArMTAzLDI0IEBAIHN0 YXRpYyB2b2lkIHJ0czUyNjFfZm9yY2VfcG93ZXJfZG93bihzdHJ1Y3QgcnRzeF9wY3IgKnBjciwg dTggcG1fc3RhdGUsIGJvb2wgcnVuDQogCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIHBj ci0+cmVnX3BtX2N0cmwzLA0KIAkJCQkJRDNfREVMSU5LX01PREVfRU4sIEQzX0RFTElOS19NT0RF X0VOKTsNCiANCisJaWYgKCFydW50aW1lKSB7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3Rlcihw Y3IsIFJUUzUyNjFfQVVUT0xPQURfQ0ZHMSwNCisJCQkJQ0RfUkVTVU1FX0VOX01BU0ssIDApOw0K KwkJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNyLCBwY3ItPnJlZ19wbV9jdHJsMywgMHgwMSwg MHgwMCk7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIFJUUzUyNjFfUkVHX1BNRV9G T1JDRV9DVEwsDQorCQkJCUZPUkNFX1BNX0NPTlRST0wgfCBGT1JDRV9QTV9WQUxVRSwgRk9SQ0Vf UE1fQ09OVFJPTCk7DQorDQorCX0gZWxzZSB7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3Rlcihw Y3IsIFJUUzUyNjFfUkVHX1BNRV9GT1JDRV9DVEwsDQorCQkJCUZPUkNFX1BNX0NPTlRST0wgfCBG T1JDRV9QTV9WQUxVRSwgMCk7DQorDQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIFJU UzUyNjFfRldfQ1RMLA0KKwkJCQlSVFM1MjYxX0lORk9STV9SVEQzX0NPTEQsIFJUUzUyNjFfSU5G T1JNX1JURDNfQ09MRCk7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIFJUUzUyNjFf QVVUT0xPQURfQ0ZHNCwNCisJCQkJUlRTNTI2MV9GT1JDRV9QUlNOVF9MT1csIFJUUzUyNjFfRk9S Q0VfUFJTTlRfTE9XKTsNCisNCisJfQ0KKw0KIAlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3Is IFJUUzUyNjFfUkVHX0ZQRENUTCwNCiAJCVNTQ19QT1dFUl9ET1dOLCBTU0NfUE9XRVJfRE9XTik7 DQogfQ0KQEAgLTUzNiw5ICs1NTQsMTggQEAgc3RhdGljIGludCBydHM1MjYxX2V4dHJhX2luaXRf aHcoc3RydWN0IHJ0c3hfcGNyICpwY3IpDQogCQkJCSBGT1JDRV9DTEtSRVFfREVMSU5LX01BU0ss IEZPUkNFX0NMS1JFUV9ISUdIKTsNCiANCiAJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNyLCBQ V0RfU1VTUEVORF9FTiwgMHhGRiwgMHhGQik7DQotCXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBj ciwgcGNyLT5yZWdfcG1fY3RybDMsIDB4MTAsIDB4MDApOw0KLQlydHN4X3BjaV93cml0ZV9yZWdp c3RlcihwY3IsIFJUUzUyNjFfUkVHX1BNRV9GT1JDRV9DVEwsDQotCQkJRk9SQ0VfUE1fQ09OVFJP TCB8IEZPUkNFX1BNX1ZBTFVFLCBGT1JDRV9QTV9DT05UUk9MKTsNCisNCisJaWYgKHBjci0+cnRk M19lbikgew0KKwkJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNyLCBwY3ItPnJlZ19wbV9jdHJs MywgMHgwMSwgMHgwMSk7DQorCQlydHN4X3BjaV93cml0ZV9yZWdpc3RlcihwY3IsIFJUUzUyNjFf UkVHX1BNRV9GT1JDRV9DVEwsDQorCQkJCUZPUkNFX1BNX0NPTlRST0wgfCBGT1JDRV9QTV9WQUxV RSwNCisJCQkJRk9SQ0VfUE1fQ09OVFJPTCB8IEZPUkNFX1BNX1ZBTFVFKTsNCisJfSBlbHNlIHsN CisJCXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgcGNyLT5yZWdfcG1fY3RybDMsIDB4MDEs IDB4MDApOw0KKwkJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNyLCBSVFM1MjYxX1JFR19QTUVf Rk9SQ0VfQ1RMLA0KKwkJCQlGT1JDRV9QTV9DT05UUk9MIHwgRk9SQ0VfUE1fVkFMVUUsIEZPUkNF X1BNX0NPTlRST0wpOw0KKwl9DQorCXJ0c3hfcGNpX3dyaXRlX3JlZ2lzdGVyKHBjciwgcGNyLT5y ZWdfcG1fY3RybDMsIEQzX0RFTElOS19NT0RFX0VOLCAweDAwKTsNCiANCiAJLyogQ2xlYXIgRW50 ZXIgUlREM19jb2xkIEluZm9ybWF0aW9uKi8NCiAJcnRzeF9wY2lfd3JpdGVfcmVnaXN0ZXIocGNy LCBSVFM1MjYxX0ZXX0NUTCwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9y dHN4X3Bjci5oIGIvZHJpdmVycy9taXNjL2NhcmRyZWFkZXIvcnRzeF9wY3IuaA0KaW5kZXggYWEw ZWJkNjY3MjI3Li4zN2QxZjMxNmFlMTcgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21pc2MvY2FyZHJl YWRlci9ydHN4X3Bjci5oDQorKysgYi9kcml2ZXJzL21pc2MvY2FyZHJlYWRlci9ydHN4X3Bjci5o DQpAQCAtMTUsNiArMTUsOCBAQA0KICNkZWZpbmUgTUlOX0RJVl9OX1BDUgkJODANCiAjZGVmaW5l IE1BWF9ESVZfTl9QQ1IJCTIwOA0KIA0KKyNkZWZpbmUgUlRTNTIyQV9QTUVfRk9SQ0VfQ1RMCTB4 RkY3OA0KKyNkZWZpbmUgUlRTNTIyQV9BVVRPTE9BRF9DRkcxCTB4RkY3Qw0KICNkZWZpbmUgUlRT NTIyQV9QTV9DVFJMMwkJMHhGRjdFDQogDQogI2RlZmluZSBSVFM1MjRBX1BNRV9GT1JDRV9DVEwJ CTB4RkY3OA0KLS0gDQoyLjI1LjENCg==