From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4ACD0C433B4 for ; Thu, 6 May 2021 15:46:49 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D4765610A1 for ; Thu, 6 May 2021 15:46:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4765610A1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AwNqxR0XVGQKOMGeAndpaKM6EEMccyjbALti7o0+tAY=; b=Ysa9DTgDt6qgY2iB5mM1je2Oo 4I7j5UTnw4rJ7820/cuhEbwh/T1VK9PToNW2H2r79VUus9MXrlXOIL4bmwXv8OZ7sepGlKz/idS8t tHyV1e+F5h2ld0roB4HCyxeLtTeNQ49YeGoqUFt2y/w/cb97b1MDOf6s28AH2Zhg02FnzXy/Z0C4S w6yeCoRAy070njbmM2KcaF6sbXLxaMw2xxGiR27gM3YIp9kO3RZ2lD9wJTBFd2DlW8dSwSOVXskXA rgaDMpvjrZsA/5YNws4nasyh4RVNVmZhrYR1SPJevnU2rln/YZ4Wht4pGngf6Hsp7UCsqV8JS+E2m 6534qHR5w==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1legAm-004dyn-IC; Thu, 06 May 2021 15:44:21 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzp-004a7F-0r for linux-arm-kernel@desiato.infradead.org; Thu, 06 May 2021 15:33:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=UDcVYQTqbz9OseTq0S0QydX4WFu/9YqW2MhPwXkVW/I=; b=VO3z1+vNWoxQ7OUL4AwXcd/ihp jroZ/QJzvaXlTOFLj3MCnbwQsL5L7w0cizJ3tWWwXtDFz/CFAuPNeQ0Mrw0msgxnWj6m9jbqFmsyo t6+527QZ2OaUVMWAmSs5eYUUWQkOX8uf/evEJ4D22ou9uUA3uyf8e+2+CAnkQHKAlENRP4F5tApp7 DKooVYaC32v9M3AQQ2dhF1x1iHdg5NxM51SP7U9pbFDXaqVf+pRKZQkS0XwPmx7C8fXlOC2yPLrKM sO6SIA+oJOQAEIF27oNhvwetvGoxp4k5t/0RJ8VMm0pZgYPa5ft74PFHZzuQK1Urum37tGi0fa/XM QHMIxqIQ==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzi-0069lK-8A for linux-arm-kernel@lists.infradead.org; Thu, 06 May 2021 15:32:59 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4E8C461434; Thu, 6 May 2021 15:32:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620315170; bh=1sKdRSDWZQDgd5KUeWJnyAld8807tC29lRbcEtY4HEA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UtD+5ok6KQaP3oZRK5I7CcxMyHMmBrBNWE1KRjfI+AKAaCu6riOACR2lQSooforV2 gU9Y7z2NUCjHFzIFvO2Xg+y697IoSWcxnLQZmSxeL1G5JBIG5W1FsH+afh4EzZc35x cJfVjZfzhbCL/VEvws1f9eG/vI6wycpWFbogUWxE+ErHS5BP7mqYy1WbeWppOlrrU2 cHDXRZpllZUTLswV6VuPVLeXQe3qBvEMdKpExhmZwrG2y7Lp7xJ05zGvsHkvrrZzzY SIrSLnqlsiSSHfd/VQTv79uYzRfEWLxpjbzpxC8+nmufhEE5AQIKTWnCnZVbzmS39o QseH1/RE0B01A== Received: by pali.im (Postfix) id 083448A1; Thu, 6 May 2021 17:32:50 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas Cc: Russell King , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , Marc Zyngier , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 20/42] PCI: aardvark: Add support for more than 32 MSI interrupts Date: Thu, 6 May 2021 17:31:31 +0200 Message-Id: <20210506153153.30454-21-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506153153.30454-1-pali@kernel.org> References: <20210506153153.30454-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210506_083254_409640_86A55C66 X-CRM114-Status: GOOD ( 18.81 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWFyZHZhcmsgSFcgY2FuIGhhbmRsZSBNU0kgaW50ZXJydXB0IHdpdGggYW55IDE2LWJpdCBudW1i ZXIuIFJlY2VpdmVkIE1TSQppbnRlcnJ1cHQgbnVtYmVyIGlzIHZpc2libGUgaW4gUENJRV9NU0lf UEFZTE9BRF9SRUcgcmVnaXN0ZXIgYWZ0ZXIgY2xlYXJpbmcKY29ycmVzcG9uZGluZyBiaXQgaW4g UENJRV9NU0lfU1RBVFVTX1JFRyByZWdpc3Rlci4KClRoZSBmaXJzdCAzMiBpbnRlcnJ1cHQgbnVt YmVycyBhcmUgY3VycmVudGx5IHN0b3JlZCBpbiBsaW5lYXIgbWFwIGluIE1TSQppbm5lciBkb21h aW4uIFN0b3JlIHRoZSByZXN0IGluIGR5bmFtaWMgcmFkaXggdHJlZSBmb3Igc3BhY2UgZWZmaWNp ZW5jeS4KCkZyZWUgaW50ZXJydXB0IG51bWJlcnMgKGF2YWlsYWJsZSBmb3IgTVNJIGlubmVyIGRv bWFpbiBhbGxvY2F0aW9uKSBmb3IgdGhlCmZpcnN0IDMyIGludGVycnVwdHMgYXJlIGN1cnJlbnRs eSBzdG9yZWQgaW4gYSBiaXRtYXAuIEZvciB0aGUgcmVzdCwKaW50cm9kdWNlIGEgbGlua2VkIGxp c3Qgb2YgYWxsb2NhdGVkIHJlZ2lvbnMuCgpJbiB0aGUgbW9zdCBjb21tb24gc2NlbmFyaW8gdGhl cmUgaXMgb25seSBvbmUgUENJZSBjYXJkIGNvbm5lY3RlZCBvbiBib2FyZHMKd2l0aCBBcm1hZGEg MzcyMCBTb0MuIFNpbmNlIGluIE11bHRpLU1TSSBtb2RlIHRoZSBQQ0llIGRldmljZSBjYW4gdXNl IGF0Cm1vc3QgMzIgaW50ZXJydXB0cywgYWxsIHRoZXNlIGludGVycnVwdHMgYXJlIGFsbG9jYXRl ZCBpbiB0aGUgbGluZWFyIG1hcCBvZgpNU0kgaW5uZXIgZG9tYWluIGFuZCBtYXJrZWQgYXMgdXNl ZCBpbiB0aGUgYml0bWFwLgoKRm9yIGxlc3MgY29tbW9uIHNjZW5hcmlvcyB3aXRoIFBDSWUgZGV2 aWNlcyB3aXRoIG11bHRpcGxlIGZ1bmN0aW9ucyBvciB3aXRoCmEgUENJZSBCcmlkZ2Ugd2l0aCBw YWNrZXQgc3dpdGNoZXMgd2l0aCBtb3JlIGNvbm5lY3RlZCBQQ0llIGRldmljZXMgbW9yZQp0aGFu IDMyIGludGVycnVwdHMgYXJlIHJlcXVlc3RlZC4gSW4gdGhpcyBjYXNlLCBzdG9yZSBlYWNoIGlu dGVycnVwdCByYW5nZQpmcm9tIGVhY2ggaW50ZXJydXB0IHJlcXVlc3QgaW50byB0aGUgbGlua2Vk IGxpc3QgYXMgb25lIG5vZGUuIEluIHRoZSB3b3JzdApjYXNlIGV2ZXJ5IFBDSWUgZnVuY3Rpb24g d2lsbCBvY2N1cHkgb25lIG5vZGUgaW4gdGhpcyBsaW5rZWQgbGlzdC4KClRoaXMgY2hhbmdlIGFs bG93cyB0byB1c2UgYWxsIDMyIE11bHRpLU1TSSBpbnRlcnJ1cHRzIG9uIGV2ZXJ5IGNvbm5lY3Rl ZApQQ0llIGNhcmQgb24gdGhlIFR1cnJpcyBNb3ggcm91dGVyIHdpdGggTW94IEcgbW9kdWxlLgoK U2lnbmVkLW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KUmV2aWV3ZWQtYnk6 IE1hcmVrIEJlaMO6biA8a2FiZWxAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL3BjaS9jb250cm9s bGVyL3BjaS1hYXJkdmFyay5jIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZp bGUgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIGIvZHJpdmVycy9wY2kvY29u dHJvbGxlci9wY2ktYWFyZHZhcmsuYwppbmRleCAxOTkwMTUyMTU3NzkuLmQ3NGU4NGIwZTY4OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYworKysgYi9k cml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jCkBAIC0xNzgsMTEgKzE3OCwxOCBA QAogI2RlZmluZSBSRVRSQUlOX1dBSVRfTUFYX1JFVFJJRVMJMTAKICNkZWZpbmUgUkVUUkFJTl9X QUlUX1VTTEVFUF9VUwkJMjAwMAogCi0jZGVmaW5lIE1TSV9JUlFfTlVNCQkJMzIKKyNkZWZpbmUg TVNJX0lSUV9MSU5FQVJfQ09VTlQJCTMyCisjZGVmaW5lIE1TSV9JUlFfVE9UQUxfQ09VTlQJCTY1 NTM2CiAKICNkZWZpbmUgQ0ZHX1JEX1VSX1ZBTAkJCTB4ZmZmZmZmZmYKICNkZWZpbmUgQ0ZHX1JE X0NSU19WQUwJCQkweGZmZmYwMDAxCiAKK3N0cnVjdCBhZHZrX21zaV9yYW5nZSB7CisJc3RydWN0 IGxpc3RfaGVhZCBsaXN0OworCXUxNiBmaXJzdDsKKwl1MTYgY291bnQ7Cit9OworCiBzdHJ1Y3Qg YWR2a19wY2llIHsKIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OwogCXZvaWQgX19pb21l bSAqYmFzZTsKQEAgLTE5Myw3ICsyMDAsOCBAQCBzdHJ1Y3QgYWR2a19wY2llIHsKIAlzdHJ1Y3Qg aXJxX2NoaXAgbXNpX2JvdHRvbV9pcnFfY2hpcDsKIAlzdHJ1Y3QgaXJxX2NoaXAgbXNpX2lycV9j aGlwOwogCXN0cnVjdCBtc2lfZG9tYWluX2luZm8gbXNpX2RvbWFpbl9pbmZvOwotCURFQ0xBUkVf QklUTUFQKG1zaV91c2VkLCBNU0lfSVJRX05VTSk7CisJREVDTEFSRV9CSVRNQVAobXNpX3VzZWRf bGluZWFyLCBNU0lfSVJRX0xJTkVBUl9DT1VOVCk7CisJc3RydWN0IGxpc3RfaGVhZCBtc2lfdXNl ZF9yYWRpeDsKIAlzdHJ1Y3QgbXV0ZXggbXNpX3VzZWRfbG9jazsKIAlpbnQgbGlua19nZW47CiAJ c3RydWN0IHBjaV9icmlkZ2VfZW11bCBicmlkZ2U7CkBAIC04ODUsMTIgKzg5Myw0NCBAQCBzdGF0 aWMgaW50IGFkdmtfbXNpX2lycV9kb21haW5fYWxsb2Moc3RydWN0IGlycV9kb21haW4gKmRvbWFp biwKIAkJCQkgICAgIHVuc2lnbmVkIGludCBucl9pcnFzLCB2b2lkICphcmdzKQogewogCXN0cnVj dCBhZHZrX3BjaWUgKnBjaWUgPSBkb21haW4tPmhvc3RfZGF0YTsKKwlzdHJ1Y3QgYWR2a19tc2lf cmFuZ2UgKm1zaV9yYW5nZSwgKm1zaV9yYW5nZV9wcmV2LCAqbXNpX3JhbmdlX25leHQ7CisJdW5z aWduZWQgaW50IGZpcnN0LCBjb3VudCwgbGFzdDsKIAlpbnQgaHdpcnEsIGk7CiAKIAltdXRleF9s b2NrKCZwY2llLT5tc2lfdXNlZF9sb2NrKTsKLQlod2lycSA9IGJpdG1hcF9maW5kX2ZyZWVfcmVn aW9uKHBjaWUtPm1zaV91c2VkLCBNU0lfSVJRX05VTSwKKworCS8qIEZpcnN0IGZldyB1c2VkIGlu dGVycnVwdCBudW1iZXJzIGFyZSBtYXJrZWQgaW4gYml0bWFwICh0aGUgbW9zdCBjb21tb24pICov CisJaHdpcnEgPSBiaXRtYXBfZmluZF9mcmVlX3JlZ2lvbihwY2llLT5tc2lfdXNlZF9saW5lYXIs IE1TSV9JUlFfTElORUFSX0NPVU5ULAogCQkJCQlvcmRlcl9iYXNlXzIobnJfaXJxcykpOworCisJ LyogQW5kIHJlc3QgdXNlZCBpbnRlcnJ1cHQgbnVtYmVycyBhcmUgc3RvcmVkIGluIGxpbmtlZCBs aXN0IGFzIHJhbmdlcyAqLworCWlmIChod2lycSA8IDApIHsKKwkJY291bnQgPSAxIDw8IG9yZGVy X2Jhc2VfMihucl9pcnFzKTsKKwkJbXNpX3JhbmdlX3ByZXYgPSBsaXN0X2VudHJ5KCZwY2llLT5t c2lfdXNlZF9yYWRpeCwgdHlwZW9mKCptc2lfcmFuZ2UpLCBsaXN0KTsKKwkJZG8geworCQkJbXNp X3JhbmdlX25leHQgPSBsaXN0X25leHRfZW50cnkobXNpX3JhbmdlX3ByZXYsIGxpc3QpOworCQkJ bGFzdCA9IGxpc3RfZW50cnlfaXNfaGVhZChtc2lfcmFuZ2VfbmV4dCwgJnBjaWUtPm1zaV91c2Vk X3JhZGl4LCBsaXN0KQorCQkJCT8gTVNJX0lSUV9UT1RBTF9DT1VOVCA6IG1zaV9yYW5nZV9uZXh0 LT5maXJzdDsKKwkJCWZpcnN0ID0gbGlzdF9lbnRyeV9pc19oZWFkKG1zaV9yYW5nZV9wcmV2LCAm cGNpZS0+bXNpX3VzZWRfcmFkaXgsIGxpc3QpCisJCQkJPyBNU0lfSVJRX0xJTkVBUl9DT1VOVCA6 IHJvdW5kX3VwKG1zaV9yYW5nZV9wcmV2LT5maXJzdCArCisJCQkJCQkJCSAgbXNpX3JhbmdlX3By ZXYtPmNvdW50LCBjb3VudCk7CisJCQlpZiAoZmlyc3QgKyBjb3VudCA+IGxhc3QpIHsKKwkJCQlt c2lfcmFuZ2VfcHJldiA9IG1zaV9yYW5nZV9uZXh0OworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJ bXNpX3JhbmdlID0ga3phbGxvYyhzaXplb2YoKm1zaV9yYW5nZSksIEdGUF9LRVJORUwpOworCQkJ aWYgKG1zaV9yYW5nZSkgeworCQkJCWh3aXJxID0gZmlyc3Q7CisJCQkJbXNpX3JhbmdlLT5maXJz dCA9IGZpcnN0OworCQkJCW1zaV9yYW5nZS0+Y291bnQgPSBjb3VudDsKKwkJCQlsaXN0X2FkZCgm bXNpX3JhbmdlLT5saXN0LCAmbXNpX3JhbmdlX3ByZXYtPmxpc3QpOworCQkJfQorCQkJYnJlYWs7 CisJCX0gd2hpbGUgKCFsaXN0X2VudHJ5X2lzX2hlYWQobXNpX3JhbmdlX25leHQsICZwY2llLT5t c2lfdXNlZF9yYWRpeCwgbGlzdCkpOworCX0KKwogCW11dGV4X3VubG9jaygmcGNpZS0+bXNpX3Vz ZWRfbG9jayk7CisKIAlpZiAoaHdpcnEgPCAwKQogCQlyZXR1cm4gLUVOT1NQQzsKIApAQCAtOTA4 LDkgKzk0OCwyMCBAQCBzdGF0aWMgdm9pZCBhZHZrX21zaV9pcnFfZG9tYWluX2ZyZWUoc3RydWN0 IGlycV9kb21haW4gKmRvbWFpbiwKIHsKIAlzdHJ1Y3QgaXJxX2RhdGEgKmQgPSBpcnFfZG9tYWlu X2dldF9pcnFfZGF0YShkb21haW4sIHZpcnEpOwogCXN0cnVjdCBhZHZrX3BjaWUgKnBjaWUgPSBk b21haW4tPmhvc3RfZGF0YTsKKwlzdHJ1Y3QgYWR2a19tc2lfcmFuZ2UgKm1zaV9yYW5nZTsKIAog CW11dGV4X2xvY2soJnBjaWUtPm1zaV91c2VkX2xvY2spOwotCWJpdG1hcF9yZWxlYXNlX3JlZ2lv bihwY2llLT5tc2lfdXNlZCwgZC0+aHdpcnEsIG9yZGVyX2Jhc2VfMihucl9pcnFzKSk7CisJaWYg KGQtPmh3aXJxIDwgTVNJX0lSUV9MSU5FQVJfQ09VTlQpIHsKKwkJYml0bWFwX3JlbGVhc2VfcmVn aW9uKHBjaWUtPm1zaV91c2VkX2xpbmVhciwgZC0+aHdpcnEsIG9yZGVyX2Jhc2VfMihucl9pcnFz KSk7CisJfSBlbHNlIHsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShtc2lfcmFuZ2UsICZwY2llLT5t c2lfdXNlZF9yYWRpeCwgbGlzdCkgeworCQkJaWYgKG1zaV9yYW5nZS0+Zmlyc3QgIT0gZC0+aHdp cnEpCisJCQkJY29udGludWU7CisJCQlsaXN0X2RlbCgmbXNpX3JhbmdlLT5saXN0KTsKKwkJCWtm cmVlKG1zaV9yYW5nZSk7CisJCQlicmVhazsKKwkJfQorCX0KIAltdXRleF91bmxvY2soJnBjaWUt Pm1zaV91c2VkX2xvY2spOwogfQogCkBAIC05NjcsNiArMTAxOCw3IEBAIHN0YXRpYyBpbnQgYWR2 a19wY2llX2luaXRfbXNpX2lycV9kb21haW4oc3RydWN0IGFkdmtfcGNpZSAqcGNpZSkKIAlzdHJ1 Y3QgbXNpX2RvbWFpbl9pbmZvICptc2lfZGk7CiAKIAltdXRleF9pbml0KCZwY2llLT5tc2lfdXNl ZF9sb2NrKTsKKwlJTklUX0xJU1RfSEVBRCgmcGNpZS0+bXNpX3VzZWRfcmFkaXgpOwogCiAJYm90 dG9tX2ljID0gJnBjaWUtPm1zaV9ib3R0b21faXJxX2NoaXA7CiAKQEAgLTk4Miw5ICsxMDM0LDE0 IEBAIHN0YXRpYyBpbnQgYWR2a19wY2llX2luaXRfbXNpX2lycV9kb21haW4oc3RydWN0IGFkdmtf cGNpZSAqcGNpZSkKIAkJTVNJX0ZMQUdfTVVMVElfUENJX01TSTsKIAltc2lfZGktPmNoaXAgPSBt c2lfaWM7CiAKKwkvKgorCSAqIEFhcmR2YXJrIEhXIGNhbiBoYW5kbGUgTVNJIGludGVycnVwdCB3 aXRoIGFueSAxNmJpdCBudW1iZXIuCisJICogRm9yIG9wdGltaXphdGlvbiBmaXJzdCBmZXcgaW50 ZXJydXB0cyBhcmUgYWxsb2NhdGVkIGluIGxpbmVhciBtYXAKKwkgKiAod2hpY2ggaXMgY29tbW9u IHNjZW5hcmlvKSBhbmQgcmVzdCBhcmUgYWxsb2NhdGVkIGluIHJhZGl4IHRyZWUuCisJICovCiAJ cGNpZS0+bXNpX2lubmVyX2RvbWFpbiA9Ci0JCWlycV9kb21haW5fYWRkX2xpbmVhcihOVUxMLCBN U0lfSVJRX05VTSwKLQkJCQkgICAgICAmYWR2a19tc2lfZG9tYWluX29wcywgcGNpZSk7CisJCV9f aXJxX2RvbWFpbl9hZGQoTlVMTCwgTVNJX0lSUV9MSU5FQVJfQ09VTlQsIE1TSV9JUlFfVE9UQUxf Q09VTlQsIDAsCisJCQkJICZhZHZrX21zaV9kb21haW5fb3BzLCBwY2llKTsKIAlpZiAoIXBjaWUt Pm1zaV9pbm5lcl9kb21haW4pCiAJCXJldHVybiAtRU5PTUVNOwogCkBAIC0xMDUyLDcgKzExMDks NyBAQCBzdGF0aWMgdm9pZCBhZHZrX3BjaWVfaGFuZGxlX21zaShzdHJ1Y3QgYWR2a19wY2llICpw Y2llKQogCW1zaV92YWwgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfTVNJX1NUQVRVU19SRUcpOwog CW1zaV9zdGF0dXMgPSBtc2lfdmFsICYgKCh+bXNpX21hc2spICYgUENJRV9NU0lfQUxMX01BU0sp OwogCi0JZm9yIChtc2lfaWR4ID0gMDsgbXNpX2lkeCA8IE1TSV9JUlFfTlVNOyBtc2lfaWR4Kysp IHsKKwlmb3IgKG1zaV9pZHggPSAwOyBtc2lfaWR4IDwgQklUU19QRVJfVFlQRShtc2lfc3RhdHVz KTsgbXNpX2lkeCsrKSB7CiAJCWlmICghKEJJVChtc2lfaWR4KSAmIG1zaV9zdGF0dXMpKQogCQkJ Y29udGludWU7CiAKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK