Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4918384pxj; Tue, 25 May 2021 21:10:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzsyEJOrN8CJa+KZ1RNjy7flt4N8RibsNyAkYdTHRn7hRhXFMGOWLScmlYaZgupfLwGbS/T X-Received: by 2002:a17:906:c44a:: with SMTP id ck10mr32108737ejb.324.1622002222869; Tue, 25 May 2021 21:10:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622002222; cv=none; d=google.com; s=arc-20160816; b=cFr2kV6DwUtHy7vS3/jfMY26zbG7DiAjgKbSFHOHfX6TGMrvlMUlFuOq+OSyK7Tzmx +zG4kRaXTRXJmqoJ/aGau8DuXrRNMsSL4BThDdp+oc3mtFuQqqmo3IJ0Xl9XKJSt7fnS IyXMLRmkAWe4vnDRdIbN/z1qy2z1EAE0KXCmEQChv7tR/e2T06Khpd2DcEa5z1t4B0HV 6lGrqYt6zna7qFaIcRD7u7SbCrV3OMQm9lTDpujDPJt6eC5FSM9PVSAgomTi/tISrIQ1 0G+/VfTGOMibgL1RRzkSUL+VmITgskD+23bc3Mst/PbM0xJkK8sC34mFPl35b5CZ+x2H Ni9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8nbeH06NFP6eUTnDEu6NUPXmY+6twJtP65hfMHmJhSQ=; b=JysGd3S39ZAiyow7KTbz7Jizh/Foydru2MNavdxgIX9StXAr++/x5o2K+C/LxzboBY CXyLMdfdFXgj4qOqKJL/eXg9i4Lh0o5pHemHMqVvoDsBpZh5JqYXW3KwYZ9ICkoLwL93 k2ofLuVh9wosiloUOxP1D6ulfrI3kBAgmK80DpvQksJbxsKzUsRKow8VW24mTEwKj9KM PHiorgfk1QhraGf6zVY5UOpWtueYgSNeFf5GiiRJN9gyeRZoMNL9HwenZgWlcD8JBNVJ 3yAlQGsz0HzY5hdGtp2LgAU2Iuu9siwPRvgwFjxddWHoXV4TUJUCeUAeD3SgRbfZB/4L RSmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=oov1i1Pi; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w12si16460222edd.352.2021.05.25.21.09.59; Tue, 25 May 2021 21:10:22 -0700 (PDT) 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; dkim=pass header.i=@mediatek.com header.s=dk header.b=oov1i1Pi; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232277AbhEZCug (ORCPT + 99 others); Tue, 25 May 2021 22:50:36 -0400 Received: from Mailgw01.mediatek.com ([1.203.163.78]:16370 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S232561AbhEZCuc (ORCPT ); Tue, 25 May 2021 22:50:32 -0400 X-UUID: f5f7f8ec174f483e803cb28fa18a2102-20210526 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=8nbeH06NFP6eUTnDEu6NUPXmY+6twJtP65hfMHmJhSQ=; b=oov1i1PiNE+MsINVbfIPyVyb4oTiynVHamErtYX31giLjoMyncru8+5ClM63Z+UPonKZnuSo2AvaZYKbHqdpllntNRvx+YY30hNlU27RiCWfSA2Wlsx8tZuz8xcs7UyQmwE6wEhzwqtQ5LYPARHLy+bmWieP9udFEwxDesrVlKA=; X-UUID: f5f7f8ec174f483e803cb28fa18a2102-20210526 Received: from mtkcas36.mediatek.inc [(172.27.4.253)] by mailgw01.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1997108282; Wed, 26 May 2021 10:48:59 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS33N2.mediatek.inc (172.27.4.76) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 26 May 2021 10:48:50 +0800 Received: from mszsdclx1018.gcn.mediatek.inc (10.16.6.18) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 26 May 2021 10:48:49 +0800 From: Jitao Shi To: Thierry Reding , Matthias Brugger CC: , , , , , , , , , , , , Jitao Shi Subject: [PATCH v3 2/3] pwm: mtk_disp: implement atomic API .apply() Date: Wed, 26 May 2021 10:48:45 +0800 Message-ID: <20210526024846.120838-3-jitao.shi@mediatek.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210526024846.120838-1-jitao.shi@mediatek.com> References: <20210526024846.120838-1-jitao.shi@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 80BEA21B4CD8C9F0031E778334128608FA1B12B6D78293AE391449E7867A17C42000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Q2hhbmdlLUlkOiBJYzgyZTVhYmU4ZDVmOTIzMDJhNWZlOWU2NzM2Yjg0MjMyYjMyOGI2MQ0KU2ln bmVkLW9mZi1ieTogSml0YW8gU2hpIDxqaXRhby5zaGlAbWVkaWF0ZWsuY29tPg0KLS0tDQogZHJp dmVycy9wd20vcHdtLW10ay1kaXNwLmMgfCAxMTQgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlv bnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHdtL3B3bS1tdGstZGlzcC5jIGIvZHJpdmVy cy9wd20vcHdtLW10ay1kaXNwLmMNCmluZGV4IGJjMmZkYmU4NTNiYS4uOWM5NWI5YWY0MTdmIDEw MDY0NA0KLS0tIGEvZHJpdmVycy9wd20vcHdtLW10ay1kaXNwLmMNCisrKyBiL2RyaXZlcnMvcHdt L3B3bS1tdGstZGlzcC5jDQpAQCAtMjAsNiArMjAsNyBAQA0KICNkZWZpbmUgUFdNX0NMS0RJVl9T SElGVAkxNg0KICNkZWZpbmUgUFdNX0NMS0RJVl9NQVgJCTB4M2ZmDQogI2RlZmluZSBQV01fQ0xL RElWX01BU0sJCShQV01fQ0xLRElWX01BWCA8PCBQV01fQ0xLRElWX1NISUZUKQ0KKyNkZWZpbmUg UFdNX1BPTEFSSVRZCUJJVCgyKQ0KIA0KICNkZWZpbmUgUFdNX1BFUklPRF9CSVRfV0lEVEgJMTIN CiAjZGVmaW5lIFBXTV9QRVJJT0RfTUFTSwkJKCgxIDw8IFBXTV9QRVJJT0RfQklUX1dJRFRIKSAt IDEpDQpAQCAtNDcsNiArNDgsNyBAQCBzdHJ1Y3QgbXRrX2Rpc3BfcHdtIHsNCiAJc3RydWN0IGNs ayAqY2xrX21haW47DQogCXN0cnVjdCBjbGsgKmNsa19tbTsNCiAJdm9pZCBfX2lvbWVtICpiYXNl Ow0KKwlib29sIGVuYWJsZWQ7DQogfTsNCiANCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBtdGtfZGlz cF9wd20gKnRvX210a19kaXNwX3B3bShzdHJ1Y3QgcHdtX2NoaXAgKmNoaXApDQpAQCAtNjYsMTEg KzY4LDExIEBAIHN0YXRpYyB2b2lkIG10a19kaXNwX3B3bV91cGRhdGVfYml0cyhzdHJ1Y3QgbXRr X2Rpc3BfcHdtICptZHAsIHUzMiBvZmZzZXQsDQogCXdyaXRlbCh2YWx1ZSwgYWRkcmVzcyk7DQog fQ0KIA0KLXN0YXRpYyBpbnQgbXRrX2Rpc3BfcHdtX2NvbmZpZyhzdHJ1Y3QgcHdtX2NoaXAgKmNo aXAsIHN0cnVjdCBwd21fZGV2aWNlICpwd20sDQotCQkJICAgICAgIGludCBkdXR5X25zLCBpbnQg cGVyaW9kX25zKQ0KK3N0YXRpYyBpbnQgbXRrX2Rpc3BfcHdtX2VuYWJsZShzdHJ1Y3QgcHdtX2No aXAgKmNoaXAsDQorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQ0KIHsN CiAJc3RydWN0IG10a19kaXNwX3B3bSAqbWRwID0gdG9fbXRrX2Rpc3BfcHdtKGNoaXApOw0KLQl1 MzIgY2xrX2RpdiwgcGVyaW9kLCBoaWdoX3dpZHRoLCB2YWx1ZTsNCisJdTMyIGNsa19kaXYsIHBl cmlvZCwgaGlnaF93aWR0aCwgdmFsdWUsIHBvbGFyaXR5Ow0KIAl1NjQgZGl2LCByYXRlOw0KIAlp bnQgZXJyOw0KIA0KQEAgLTg0LDMzICs4Niw0NyBAQCBzdGF0aWMgaW50IG10a19kaXNwX3B3bV9j b25maWcoc3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLA0KIAkg KiBwZXJpb2QgPSAoUFdNX0NMS19SQVRFICogcGVyaW9kX25zKSAvICgxMF45ICogKGNsa19kaXYg KyAxKSkgLSAxDQogCSAqIGhpZ2hfd2lkdGggPSAoUFdNX0NMS19SQVRFICogZHV0eV9ucykgLyAo MTBeOSAqIChjbGtfZGl2ICsgMSkpDQogCSAqLw0KKwlpZiAoIW1kcC0+ZW5hYmxlZCkgew0KKwkJ ZXJyID0gY2xrX3ByZXBhcmVfZW5hYmxlKG1kcC0+Y2xrX21haW4pOw0KKwkJaWYgKGVyciA8IDAp IHsNCisJCQlkZXZfZXJyKGNoaXAtPmRldiwgIkNhbid0IGVuYWJsZSBtZHAtPmNsa19tYWluOiAl ZFxuIiwNCisJCQkJZXJyKTsNCisJCQlyZXR1cm4gZXJyOw0KKwkJfQ0KKwkJZXJyID0gY2xrX3By ZXBhcmVfZW5hYmxlKG1kcC0+Y2xrX21tKTsNCisJCWlmIChlcnIgPCAwKSB7DQorCQkJZGV2X2Vy cihjaGlwLT5kZXYsICJDYW4ndCBlbmFibGUgbWRwLT5jbGtfbW06ICVkXG4iLA0KKwkJCQllcnIp Ow0KKwkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShtZHAtPmNsa19tYWluKTsNCisJCQlyZXR1cm4g ZXJyOw0KKwkJfQ0KKwl9DQogCXJhdGUgPSBjbGtfZ2V0X3JhdGUobWRwLT5jbGtfbWFpbik7DQot CWNsa19kaXYgPSBkaXZfdTY0KHJhdGUgKiBwZXJpb2RfbnMsIE5TRUNfUEVSX1NFQykgPj4NCisJ Y2xrX2RpdiA9IGRpdl91NjQocmF0ZSAqIHN0YXRlLT5wZXJpb2QsIE5TRUNfUEVSX1NFQykgPj4N CiAJCQkgIFBXTV9QRVJJT0RfQklUX1dJRFRIOw0KLQlpZiAoY2xrX2RpdiA+IFBXTV9DTEtESVZf TUFYKQ0KKwlpZiAoY2xrX2RpdiA+IFBXTV9DTEtESVZfTUFYKSB7DQorCQlkZXZfZXJyKGNoaXAt PmRldiwgImNsb2NrIHJhdGUgaXMgdG9vIGhpZ2g6IHJhdGUgPSAlZCBIelxuIiwNCisJCQlyYXRl KTsNCisJCWNsa19kaXNhYmxlX3VucHJlcGFyZShtZHAtPmNsa19tbSk7DQorCQljbGtfZGlzYWJs ZV91bnByZXBhcmUobWRwLT5jbGtfbWFpbik7DQogCQlyZXR1cm4gLUVJTlZBTDsNCi0NCisJfQ0K IAlkaXYgPSBOU0VDX1BFUl9TRUMgKiAoY2xrX2RpdiArIDEpOw0KLQlwZXJpb2QgPSBkaXY2NF91 NjQocmF0ZSAqIHBlcmlvZF9ucywgZGl2KTsNCisJcGVyaW9kID0gZGl2NjRfdTY0KHJhdGUgKiBz dGF0ZS0+cGVyaW9kLCBkaXYpOw0KIAlpZiAocGVyaW9kID4gMCkNCiAJCXBlcmlvZC0tOw0KIA0K LQloaWdoX3dpZHRoID0gZGl2NjRfdTY0KHJhdGUgKiBkdXR5X25zLCBkaXYpOw0KKwloaWdoX3dp ZHRoID0gZGl2NjRfdTY0KHJhdGUgKiBzdGF0ZS0+ZHV0eV9jeWNsZSwgZGl2KTsNCiAJdmFsdWUg PSBwZXJpb2QgfCAoaGlnaF93aWR0aCA8PCBQV01fSElHSF9XSURUSF9TSElGVCk7DQotDQotCWVy ciA9IGNsa19lbmFibGUobWRwLT5jbGtfbWFpbik7DQotCWlmIChlcnIgPCAwKQ0KLQkJcmV0dXJu IGVycjsNCi0NCi0JZXJyID0gY2xrX2VuYWJsZShtZHAtPmNsa19tbSk7DQotCWlmIChlcnIgPCAw KSB7DQotCQljbGtfZGlzYWJsZShtZHAtPmNsa19tYWluKTsNCi0JCXJldHVybiBlcnI7DQotCX0N CisJcG9sYXJpdHkgPSAwOw0KKwlpZiAoc3RhdGUtPnBvbGFyaXR5ID09IFBXTV9QT0xBUklUWV9J TlZFUlNFRCkNCisJCXBvbGFyaXR5ID0gUFdNX1BPTEFSSVRZOw0KIA0KIAltdGtfZGlzcF9wd21f dXBkYXRlX2JpdHMobWRwLCBtZHAtPmRhdGEtPmNvbjAsDQogCQkJCSBQV01fQ0xLRElWX01BU0ss DQogCQkJCSBjbGtfZGl2IDw8IFBXTV9DTEtESVZfU0hJRlQpOw0KKwltdGtfZGlzcF9wd21fdXBk YXRlX2JpdHMobWRwLCBtZHAtPmRhdGEtPmNvbjAsDQorCQkJCSBQV01fUE9MQVJJVFksIHBvbGFy aXR5KTsNCiAJbXRrX2Rpc3BfcHdtX3VwZGF0ZV9iaXRzKG1kcCwgbWRwLT5kYXRhLT5jb24xLA0K IAkJCQkgUFdNX1BFUklPRF9NQVNLIHwgUFdNX0hJR0hfV0lEVEhfTUFTSywNCiAJCQkJIHZhbHVl KTsNCkBAIC0xMjIsNTAgKzEzOCw0OSBAQCBzdGF0aWMgaW50IG10a19kaXNwX3B3bV9jb25maWco c3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLA0KIAkJbXRrX2Rp c3BfcHdtX3VwZGF0ZV9iaXRzKG1kcCwgbWRwLT5kYXRhLT5jb21taXQsDQogCQkJCQkgbWRwLT5k YXRhLT5jb21taXRfbWFzaywNCiAJCQkJCSAweDApOw0KKwl9IGVsc2Ugew0KKwkJbXRrX2Rpc3Bf cHdtX3VwZGF0ZV9iaXRzKG1kcCwgbWRwLT5kYXRhLT5ibHNfZGVidWcsDQorCQkJCQkgbWRwLT5k YXRhLT5ibHNfZGVidWdfbWFzaywNCisJCQkJCSBtZHAtPmRhdGEtPmJsc19kZWJ1Z19tYXNrKTsN CisJCW10a19kaXNwX3B3bV91cGRhdGVfYml0cyhtZHAsIG1kcC0+ZGF0YS0+Y29uMCwNCisJCQkJ CSBtZHAtPmRhdGEtPmNvbjBfc2VsLA0KKwkJCQkJIG1kcC0+ZGF0YS0+Y29uMF9zZWwpOw0KIAl9 DQogDQotCWNsa19kaXNhYmxlKG1kcC0+Y2xrX21tKTsNCi0JY2xrX2Rpc2FibGUobWRwLT5jbGtf bWFpbik7DQotDQorCW10a19kaXNwX3B3bV91cGRhdGVfYml0cyhtZHAsIERJU1BfUFdNX0VOLCBt ZHAtPmRhdGEtPmVuYWJsZV9tYXNrLA0KKwkJCQkgbWRwLT5kYXRhLT5lbmFibGVfbWFzayk7DQor CW1kcC0+ZW5hYmxlZCA9IHRydWU7DQogCXJldHVybiAwOw0KIH0NCiANCi1zdGF0aWMgaW50IG10 a19kaXNwX3B3bV9lbmFibGUoc3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2Rldmlj ZSAqcHdtKQ0KK3N0YXRpYyBpbnQgbXRrX2Rpc3BfcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9jaGlw ICpjaGlwLA0KKwkJCQljb25zdCBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkNCiB7DQogCXN0cnVj dCBtdGtfZGlzcF9wd20gKm1kcCA9IHRvX210a19kaXNwX3B3bShjaGlwKTsNCi0JaW50IGVycjsN Ci0NCi0JZXJyID0gY2xrX2VuYWJsZShtZHAtPmNsa19tYWluKTsNCi0JaWYgKGVyciA8IDApDQot CQlyZXR1cm4gZXJyOw0KIA0KLQllcnIgPSBjbGtfZW5hYmxlKG1kcC0+Y2xrX21tKTsNCi0JaWYg KGVyciA8IDApIHsNCi0JCWNsa19kaXNhYmxlKG1kcC0+Y2xrX21haW4pOw0KLQkJcmV0dXJuIGVy cjsNCisJbXRrX2Rpc3BfcHdtX3VwZGF0ZV9iaXRzKG1kcCwgRElTUF9QV01fRU4sIG1kcC0+ZGF0 YS0+ZW5hYmxlX21hc2ssDQorCQkJCSAweDApOw0KKwlpZiAobWRwLT5lbmFibGVkKSB7DQorCQlj bGtfZGlzYWJsZV91bnByZXBhcmUobWRwLT5jbGtfbW0pOw0KKwkJY2xrX2Rpc2FibGVfdW5wcmVw YXJlKG1kcC0+Y2xrX21haW4pOw0KIAl9DQogDQotCW10a19kaXNwX3B3bV91cGRhdGVfYml0cyht ZHAsIERJU1BfUFdNX0VOLCBtZHAtPmRhdGEtPmVuYWJsZV9tYXNrLA0KLQkJCQkgbWRwLT5kYXRh LT5lbmFibGVfbWFzayk7DQorCW1kcC0+ZW5hYmxlZCA9IGZhbHNlOw0KIA0KIAlyZXR1cm4gMDsN CiB9DQogDQotc3RhdGljIHZvaWQgbXRrX2Rpc3BfcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9jaGlw ICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQ0KK3N0YXRpYyBpbnQgbXRrX2Rpc3BfcHdt X2FwcGx5KHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwNCisJ CQkgICAgICBjb25zdCBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkNCiB7DQotCXN0cnVjdCBtdGtf ZGlzcF9wd20gKm1kcCA9IHRvX210a19kaXNwX3B3bShjaGlwKTsNCisJaWYgKCFzdGF0ZS0+ZW5h YmxlZCkNCisJCXJldHVybiBtdGtfZGlzcF9wd21fZGlzYWJsZShjaGlwLCBzdGF0ZSk7DQogDQot CW10a19kaXNwX3B3bV91cGRhdGVfYml0cyhtZHAsIERJU1BfUFdNX0VOLCBtZHAtPmRhdGEtPmVu YWJsZV9tYXNrLA0KLQkJCQkgMHgwKTsNCi0NCi0JY2xrX2Rpc2FibGUobWRwLT5jbGtfbW0pOw0K LQljbGtfZGlzYWJsZShtZHAtPmNsa19tYWluKTsNCisJcmV0dXJuIG10a19kaXNwX3B3bV9lbmFi bGUoY2hpcCwgc3RhdGUpOw0KIH0NCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB3bV9vcHMgbXRr X2Rpc3BfcHdtX29wcyA9IHsNCi0JLmNvbmZpZyA9IG10a19kaXNwX3B3bV9jb25maWcsDQotCS5l bmFibGUgPSBtdGtfZGlzcF9wd21fZW5hYmxlLA0KLQkuZGlzYWJsZSA9IG10a19kaXNwX3B3bV9k aXNhYmxlLA0KKwkuYXBwbHkgPSBtdGtfZGlzcF9wd21fYXBwbHksDQogCS5vd25lciA9IFRISVNf TU9EVUxFLA0KIH07DQogDQpAQCAtMjA0LDE5ICsyMTksNiBAQCBzdGF0aWMgaW50IG10a19kaXNw X3B3bV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIA0KIAlwbGF0Zm9ybV9z ZXRfZHJ2ZGF0YShwZGV2LCBtZHApOw0KIA0KLQkvKg0KLQkgKiBGb3IgTVQyNzAxLCBkaXNhYmxl IGRvdWJsZSBidWZmZXIgYmVmb3JlIHdyaXRpbmcgcmVnaXN0ZXINCi0JICogYW5kIHNlbGVjdCBt YW51YWwgbW9kZSBhbmQgdXNlIFBXTV9QRVJJT0QvUFdNX0hJR0hfV0lEVEguDQotCSAqLw0KLQlp ZiAoIW1kcC0+ZGF0YS0+aGFzX2NvbW1pdCkgew0KLQkJbXRrX2Rpc3BfcHdtX3VwZGF0ZV9iaXRz KG1kcCwgbWRwLT5kYXRhLT5ibHNfZGVidWcsDQotCQkJCQkgbWRwLT5kYXRhLT5ibHNfZGVidWdf bWFzaywNCi0JCQkJCSBtZHAtPmRhdGEtPmJsc19kZWJ1Z19tYXNrKTsNCi0JCW10a19kaXNwX3B3 bV91cGRhdGVfYml0cyhtZHAsIG1kcC0+ZGF0YS0+Y29uMCwNCi0JCQkJCSBtZHAtPmRhdGEtPmNv bjBfc2VsLA0KLQkJCQkJIG1kcC0+ZGF0YS0+Y29uMF9zZWwpOw0KLQl9DQotDQogCXJldHVybiAw Ow0KIH0NCiANCi0tIA0KMi4yNS4xDQo=