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,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 ED36EC433B4 for ; Thu, 6 May 2021 16:03:50 +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 5E39B610E7 for ; Thu, 6 May 2021 16:03:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E39B610E7 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=K321nz/Z5Ei5ZKYAUFnqlnC5ylBViURN+vJUQtwxEJ4=; b=VdGRVMKbEM1rPj5GjJMODQA+/ t32cOI5HzXH3Gw4OPWLwRDAnOCpIXoGG2wQGgWkIhZDinJuzIMdifJrSWW+lNhaXBVvNdWQazbSjz 6fpe9knNq5DQqmzu9Qy8P1L3T6nzgeKdzVDlNyGKMZv0H2AoR1Ijm1L7VDKSWZTer7uSMG0NATmgy Z9N1CVgSCFDdPakM01d3j+xPrAuvvisC5KCPs29455GOZQNUtP36nB+0LVWGq70z9ONuL80aX/o5G 1odJ2vhDGh1kM45rN6qzfAex+mZLr+xwmQXdQp4e6KuBCieCx8UX3uanv1XkgoBHEaUxWw0hXLCLh /QF8y+RKw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1legCO-004eRW-Dy; Thu, 06 May 2021 15:46:00 +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-004a7P-8N 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=MAfiwxPXiTcVReKuiDU0ylh4F8AkeEl+yJDvpG7eQrI=; b=1w0ziChgfxQhGH20axEWgwceLt Vs+7VYFhkeB1zR5fRef1VDgM7ZLy62Sk71+BVT7qRuM58q0K+uWYAAnUAzWifI6gKeNcFcKVV2Iit vGZLe407v0qLK0einhuURzHIeXVYJWKMqnhMwduwFWXm95W6zMeZdrxj75mMQR6ztseMFPjvtFCiX PNEG9ti2A27dDWNutRqWi0QgwetY43LTVdFzUbrjuP83kCyISKZZHhRQh307hMtqh6/imR8eyL2Rk VBN3oBYSfy1VVZK6dQyIiRts1lu00KhM9BEi1pyrCJwXjJor85SwL7gcAC2n9BursuvWx1yUITuYg cBlyrG1A==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzj-0069iB-Mm for linux-arm-kernel@lists.infradead.org; Thu, 06 May 2021 15:33:00 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id D4DD86147E; Thu, 6 May 2021 15:32:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620315172; bh=XSMv0I/QDrKbiP+dMRWG7vUJ6CvFhsuNwavmAeULpqY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W0WyADJSXGoh3a/vZpkVZmGTpx4WLbcZqMo/v639+04vX8rWMvDQXbYkg0TXzAUBn B15MK53F7ZuNJCOEI5a081bbpsPLqGA4Oq6uM3RjF+2ONctil1h8eQJINed8lIdr5F xDhbeV7ccDSas1j5+F5Wn6RA4B8VLo+q8SjQuP0xzzuWIS927jct2O6HGjfkrk39SR PPgUh1GbhdCDHLGrCXaRzBt+YM/eRBGskj9068CfMqDxCQYWDhB5Gt6sMttrz2Uf5U eNXArkP/BtiIab3AHvXOcUCLNpianEY3PmEZePpNH+fQtuJPtPee8cQqE8L+iN1hCz bop5pwirNZi9Q== Received: by pali.im (Postfix) id 8A6CA732; Thu, 6 May 2021 17:32:51 +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 25/42] PCI: aardvark: Fix support for PME requester on emulated bridge Date: Thu, 6 May 2021 17:31:36 +0200 Message-Id: <20210506153153.30454-26-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_083255_841563_9CFDB691 X-CRM114-Status: GOOD ( 20.05 ) 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 UE1FIHJlcXVlc3RlciBpZCBpcyBzdG9yZWQgaW4gdGhlIFBDSUVfTVNHX0xPR19SRUcgcmVnaXN0 ZXIsIHdoaWNoIGNvbnRhaW5zCnRoZSBsYXN0IGluYm91bmQgbWVzc2FnZS4gU28gd2hlbiBuZXcg aW5ib3VuZCBtZXNzYWdlIGlzIHJlY2VpdmVkIGJ5IEhXCihpbmNsdWRpbmcgbm9uLVBNKSwgdGhl IGNvbnRlbnQgaW4gUENJRV9NU0dfTE9HX1JFRyByZWdpc3RlciBpcyByZXBsYWNlZCBieQphIG5l dyB2YWx1ZS4KClBDSWUgc3BlY2lmaWNhdGlvbiBtYW5kYXRlcyB0aGF0IHN1YnNlcXVlbnQgUE1F cyBhcmUga2VwdCBwZW5kaW5nIHVudGlsIHRoZQpQTUUgU3RhdHVzIFJlZ2lzdGVyIGJpdCBpcyBj bGVhcmVkIGJ5IHNvZnR3YXJlIGJ5IHdyaXRpbmcgYSAxYi4KCkVuYWJsZSBhYXJkdmFyayBQTUUg aW50ZXJydXB0IHVuY29uZGl0aW9uYWxseSBieSB1bm1hc2tpbmcgaXQgYW5kIHJlYWQgUE1FCnJl cXVlc3RlciBpZCBmcm9tIFBDSUVfTVNHX0xPR19SRUcgcmVnaXN0ZXIgdG8gZW11bGF0ZWQgYnJp ZGdlIGNvbmZpZyBzcGFjZQppbW1lZGlhdGVseSBhZnRlciByZWNlaXZpbmcgaW50ZXJydXB0LgoK U3VwcG9ydCBmb3IgbWFza2luZy91bm1hc2tpbmcgUE1FIGludGVycnVwdCBvbiBlbXVsYXRlZCBi cmlkZ2UgdmlhClBDSV9FWFBfUlRDVExfUE1FSUUgYml0IGlzIG5vdyBpbXBsZW1lbnRlZCBvbmx5 IGluIGVtdWxhdGVkIGJyaWRnZSBjb25maWcKc3BhY2UsIHRvIGVuc3VyZSB0aGF0IHdlIGRvIG5v dCBtaXNzIGFueSBhYXJkdmFyayBQTUUgaW50ZXJydXB0LgoKUmVhZGluZyBvZiBQQ0lfRVhQX1JU Q0FQIGFuZCBQQ0lfRVhQX1JUU1RBIHJlZ2lzdGVycyBpcyBzaW1wbGlmaWVkIGFzIGZpbmFsCnZh bHVlIGlzIG5vdyBhbHdheXMgc3RvcmVkIGludG8gZW11bGF0ZWQgYnJpZGdlIGNvbmZpZyBzcGFj ZSBieSB0aGUKaW50ZXJydXB0IGhhbmRsZXIsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gaW1wbGVt ZW50IHN1cHBvcnQgZm9yIHRoZXNlCnJlZ2lzdGVycyBpbiByZWFkX3BjaWUgY2FsbGJhY2suCgpD bGVhcmluZyBvZiBXMUMgYml0IFBDSV9FWFBfUlRTVEFfUE1FIGlzIG5vdyBhbHNvIHNpbXBsaWZp ZWQgYXMgaXQgaXMgZG9uZQpieSBwY2ktYnJpZGdlLWVtdWwuYyBjb2RlIGZvciBlbXVsYXRlZCBi cmlkZ2UgY29uZmlnIHNwYWNlLiBTbyB0aGVyZSBpcyBubwpuZWVkIHRvIGltcGxlbWVudCBzdXBw b3J0IGZvciBjbGVhcmluZyB0aGlzIGJpdCBpbiB3cml0ZV9wY2llIGNhbGxiYWNrLgoKU2lnbmVk LW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KUmV2aWV3ZWQtYnk6IE1hcmVr IEJlaMO6biA8a2FiZWxAa2VybmVsLm9yZz4KRml4ZXM6IDhhM2ViZDhkZTMyOCAoIlBDSTogYWFy ZHZhcms6IEltcGxlbWVudCBlbXVsYXRlZCByb290IFBDSSBicmlkZ2UgY29uZmlnIHNwYWNlIikK Q2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcgIyBjMGYwNWE2YWI1MjUgKCJQQ0k6IGFhcmR2YXJr OiBGaXggUENJX0VYUF9SVENUTCByZWdpc3RlciBjb25maWd1cmF0aW9uIikKLS0tCiBkcml2ZXJz L3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgODEgKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYyBiL2Ry aXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKaW5kZXggZmFjNDg3OTdkOTIyLi42 Yzg2MGU2N2U1YTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2 YXJrLmMKKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwpAQCAtNDI0 LDYgKzQyNCwxMSBAQCBzdGF0aWMgdm9pZCBhZHZrX3BjaWVfc2V0dXBfaHcoc3RydWN0IGFkdmtf cGNpZSAqcGNpZSkKIAlyZWcgJj0gfihQQ0lFX0lTUjBfRkFUX0VSUiB8IFBDSUVfSVNSMF9ORkFU X0VSUiB8IFBDSUVfSVNSMF9DT1JSX0VSUik7CiAJYWR2a193cml0ZWwocGNpZSwgcmVnLCBQQ0lF X0lTUjBfTUFTS19SRUcpOwogCisJLyogVW5tYXNrIFBNRSBpbnRlcnJ1cHQgZm9yIHByb2Nlc3Np bmcgb2YgUE1FIHJlcXVlc3RlciAqLworCXJlZyA9IGFkdmtfcmVhZGwocGNpZSwgUENJRV9JU1Iw X01BU0tfUkVHKTsKKwlyZWcgJj0gflBDSUVfTVNHX1BNX1BNRV9NQVNLOworCWFkdmtfd3JpdGVs KHBjaWUsIHJlZywgUENJRV9JU1IwX01BU0tfUkVHKTsKKwogCS8qIEVuYWJsZSBzdW1tYXJ5IGlu dGVycnVwdCBmb3IgR0lDIFNQSSBzb3VyY2UgKi8KIAlyZWcgPSBQQ0lFX0lSUV9BTExfTUFTSyAm ICh+UENJRV9JUlFfRU5BQkxFX0lOVFNfTUFTSyk7CiAJYWR2a193cml0ZWwocGNpZSwgcmVnLCBI T1NUX0NUUkxfSU5UX01BU0tfUkVHKTsKQEAgLTU1NywzMCArNTYyLDE3IEBAIGFkdmtfcGNpX2Jy aWRnZV9lbXVsX3BjaWVfY29uZl9yZWFkKHN0cnVjdCBwY2lfYnJpZGdlX2VtdWwgKmJyaWRnZSwK IHsKIAlzdHJ1Y3QgYWR2a19wY2llICpwY2llID0gYnJpZGdlLT5kYXRhOwogCisJLyoKKwkgKiBQ Q0lfRVhQX1JUQ1RMIGFuZCBQQ0lfRVhQX1JUU1RBIHJlZ2lzdGVycyBhcmUgZnVsbHkgc3VwcG9y dGVkCisJICogYnV0IHRoZWlyIHZhbHVlcyBhcmUgc3RvcmVkIG9ubHkgaW4gZW11bGF0ZWQgY29u ZmlnIHNwYWNlIGJ1ZmZlci4KKwkgKiBTbyB0aGVyZSBpcyBubyBuZWVkIHRvIGhhbmRsZSB0aGVt IGluIHJlYWRfcGNpZSBjYWxsYmFjay4KKwkgKi8KIAogCXN3aXRjaCAocmVnKSB7CiAJY2FzZSBQ Q0lfRVhQX1NMVENUTDoKIAkJKnZhbHVlID0gUENJX0VYUF9TTFRTVEFfUERTIDw8IDE2OwogCQly ZXR1cm4gUENJX0JSSURHRV9FTVVMX0hBTkRMRUQ7CiAKLQljYXNlIFBDSV9FWFBfUlRDVEw6IHsK LQkJdTMyIHZhbCA9IGFkdmtfcmVhZGwocGNpZSwgUENJRV9JU1IwX01BU0tfUkVHKTsKLQkJKnZh bHVlID0gKHZhbCAmIFBDSUVfTVNHX1BNX1BNRV9NQVNLKSA/IDAgOiBQQ0lfRVhQX1JUQ1RMX1BN RUlFOwotCQkqdmFsdWUgfD0gUENJX0VYUF9SVENUTF9DUlNTVkU7Ci0JCSp2YWx1ZSB8PSBQQ0lf RVhQX1JUQ0FQX0NSU1ZJUyA8PCAxNjsKLQkJcmV0dXJuIFBDSV9CUklER0VfRU1VTF9IQU5ETEVE OwotCX0KLQotCWNhc2UgUENJX0VYUF9SVFNUQTogewotCQl1MzIgaXNyMCA9IGFkdmtfcmVhZGwo cGNpZSwgUENJRV9JU1IwX1JFRyk7Ci0JCXUzMiBtc2dsb2cgPSBhZHZrX3JlYWRsKHBjaWUsIFBD SUVfTVNHX0xPR19SRUcpOwotCQl1MzIgdmFsID0gbXNnbG9nID4+IDE2OwotCQlpZiAoaXNyMCAm IFBDSUVfTVNHX1BNX1BNRV9NQVNLKQotCQkJdmFsIHw9IFBDSV9FWFBfUlRTVEFfUE1FOwotCQkq dmFsdWUgPSB2YWw7Ci0JCXJldHVybiBQQ0lfQlJJREdFX0VNVUxfSEFORExFRDsKLQl9Ci0KIAlj YXNlIFBDSV9FWFBfTE5LQ1RMOiB7CiAJCS8qIHUzMiBjb250YWlucyBib3RoIFBDSV9FWFBfTE5L Q1RMIGFuZCBQQ0lfRVhQX0xOS1NUQSAqLwogCQl1MzIgdmFsID0gYWR2a19yZWFkbChwY2llLCBQ Q0lFX0NPUkVfUENJRVhQX0NBUCArIHJlZykgJgpAQCAtNjA5LDYgKzYwMSwxMiBAQCBhZHZrX3Bj aV9icmlkZ2VfZW11bF9wY2llX2NvbmZfd3JpdGUoc3RydWN0IHBjaV9icmlkZ2VfZW11bCAqYnJp ZGdlLAogewogCXN0cnVjdCBhZHZrX3BjaWUgKnBjaWUgPSBicmlkZ2UtPmRhdGE7CiAKKwkvKgor CSAqIFBDSV9FWFBfUlRDVEwgYW5kIFBDSV9FWFBfUlRTVEEgcmVnaXN0ZXJzIGFyZSBmdWxseSBz dXBwb3J0ZWQKKwkgKiBidXQgdGhlaXIgdmFsdWVzIGFyZSBzdG9yZWQgb25seSBpbiBlbXVsYXRl ZCBjb25maWcgc3BhY2UgYnVmZmVyLgorCSAqIFNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gaGFuZGxl IHRoZW0gaW4gd3JpdGVfcGNpZSBjYWxsYmFjay4KKwkgKi8KKwogCXN3aXRjaCAocmVnKSB7CiAJ Y2FzZSBQQ0lfRVhQX0RFVkNUTDoKIAkJYWR2a193cml0ZWwocGNpZSwgbmV3LCBQQ0lFX0NPUkVf UENJRVhQX0NBUCArIHJlZyk7CkBAIC02MjAsMjMgKzYxOCw2IEBAIGFkdmtfcGNpX2JyaWRnZV9l bXVsX3BjaWVfY29uZl93cml0ZShzdHJ1Y3QgcGNpX2JyaWRnZV9lbXVsICpicmlkZ2UsCiAJCQlh ZHZrX3BjaWVfd2FpdF9mb3JfcmV0cmFpbihwY2llKTsKIAkJYnJlYWs7CiAKLQljYXNlIFBDSV9F WFBfUlRDVEw6Ci0JCS8qIE9ubHkgbWFzay91bm1hc2sgUE1FIGludGVycnVwdCAqLwotCQlpZiAo bWFzayAmIFBDSV9FWFBfUlRDVExfUE1FSUUpIHsKLQkJCXUzMiB2YWwgPSBhZHZrX3JlYWRsKHBj aWUsIFBDSUVfSVNSMF9NQVNLX1JFRyk7Ci0JCQlpZiAoKG5ldyAmIFBDSV9FWFBfUlRDVExfUE1F SUUpID09IDApCi0JCQkJdmFsIHw9IFBDSUVfTVNHX1BNX1BNRV9NQVNLOwotCQkJZWxzZQotCQkJ CXZhbCAmPSB+UENJRV9NU0dfUE1fUE1FX01BU0s7Ci0JCQlhZHZrX3dyaXRlbChwY2llLCB2YWws IFBDSUVfSVNSMF9NQVNLX1JFRyk7Ci0JCX0KLQkJYnJlYWs7Ci0KLQljYXNlIFBDSV9FWFBfUlRT VEE6Ci0JCWlmIChuZXcgJiBQQ0lfRVhQX1JUU1RBX1BNRSkKLQkJCWFkdmtfd3JpdGVsKHBjaWUs IFBDSUVfTVNHX1BNX1BNRV9NQVNLLCBQQ0lFX0lTUjBfUkVHKTsKLQkJYnJlYWs7Ci0KIAlkZWZh dWx0OgogCQlicmVhazsKIAl9CkBAIC0xMjI0LDE5ICsxMjA1LDI5IEBAIHN0YXRpYyB2b2lkIGFk dmtfcGNpZV9oYW5kbGVfaW50KHN0cnVjdCBhZHZrX3BjaWUgKnBjaWUpCiAJaWYgKCFpc3IwX3N0 YXR1cyAmJiAhaXNyMV9zdGF0dXMpCiAJCXJldHVybjsKIAotCS8qIFByb2Nlc3MgUE1FIGludGVy cnVwdCAqLworCS8qIFByb2Nlc3MgUE1FIGludGVycnVwdCBhcyB0aGUgZmlyc3Qgb25lIHRvIGRv IG5vdCBtaXNzIFBNRSByZXF1ZXN0ZXIgaWQgKi8KIAlpZiAoaXNyMF9zdGF0dXMgJiBQQ0lFX01T R19QTV9QTUVfTUFTSykgeworCQlhZHZrX3dyaXRlbChwY2llLCBQQ0lFX01TR19QTV9QTUVfTUFT SywgUENJRV9JU1IwX1JFRyk7CiAJCS8qCi0JCSAqIERvIG5vdCBjbGVhciBQTUUgaW50ZXJydXB0 IGJpdCBpbiBJU1IwLCBpdCBpcyBjbGVhcmVkIGJ5IElSUQotCQkgKiByZWNlaXZlciBieSB3cml0 aW5nIHRvIHRoZSBQQ0lfRVhQX1JUU1RBIHJlZ2lzdGVyIG9mIGVtdWxhdGVkCi0JCSAqIHJvb3Qg YnJpZGdlLiBBYXJkdmFyayBIVyByZXR1cm5zIHplcm8gZm9yIFBDSV9FWFBfRkxBR1NfSVJRLAot CQkgKiBzbyB1c2UgUENJZSBpbnRlcnJ1cHQgMC4KKwkJICogUENJRV9NU0dfTE9HX1JFRyBjb250 YWlucyB0aGUgbGFzdCBpbmJvdW5kIG1lc3NhZ2UsCisJCSAqIHNvIHN0b3JlIHJlcXVlc3RlciBp ZCBvbmx5IHdoZW4gUE1FIHdhcyBub3QgYXNzZXJ0ZWQgeWV0LgorCQkgKiBBbHNvIGRvIG5vdCB0 cmlnZ2VyIFBNRSBpbnRlcnJ1cHQgd2hlbiBQTUUgaXMgc3RpbGwgYXNzZXJ0ZWQuCiAJCSAqLwot CQl2aXJxID0gaXJxX2ZpbmRfbWFwcGluZyhwY2llLT5pcnFfZG9tYWluLCAwKTsKLQkJaWYgKHZp cnEpCi0JCQlnZW5lcmljX2hhbmRsZV9pcnEodmlycSk7Ci0JCWVsc2UKLQkJCWRldl9lcnIoJnBj aWUtPnBkZXYtPmRldiwgInVuZXhwZWN0ZWQgUE1FIElSUVxuIik7CisJCWlmICghKGxlMzJfdG9f Y3B1KHBjaWUtPmJyaWRnZS5wY2llX2NvbmYucm9vdHN0YSkgJiBQQ0lfRVhQX1JUU1RBX1BNRSkp IHsKKwkJCXUzMiByZXF1ZXN0ZXIgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfTVNHX0xPR19SRUcp ID4+IDE2OworCQkJcGNpZS0+YnJpZGdlLnBjaWVfY29uZi5yb290c3RhID0gY3B1X3RvX2xlMzIo cmVxdWVzdGVyIHwgUENJX0VYUF9SVFNUQV9QTUUpOworCQkJLyoKKwkJCSAqIFRyaWdnZXIgUE1F IGludGVycnVwdCBvbmx5IGluIGNhc2Ugd2hlbiBQTUVJRSBiaXQgaW4gUm9vdCBDb250cm9sIGlz IHNldC4KKwkJCSAqIEFhcmR2YXJrIEhXIHJldHVybnMgemVybyBmb3IgUENJX0VYUF9GTEFHU19J UlEsIHNvIHVzZSBQQ0llIGludGVycnVwdCAwLgorCQkJICovCisJCQlpZiAobGUxNl90b19jcHUo cGNpZS0+YnJpZGdlLnBjaWVfY29uZi5yb290Y3RsKSAmIFBDSV9FWFBfUlRDVExfUE1FSUUpIHsK KwkJCQl2aXJxID0gaXJxX2ZpbmRfbWFwcGluZyhwY2llLT5pcnFfZG9tYWluLCAwKTsKKwkJCQlp ZiAodmlycSkKKwkJCQkJZ2VuZXJpY19oYW5kbGVfaXJxKHZpcnEpOworCQkJCWVsc2UKKwkJCQkJ ZGV2X2VycigmcGNpZS0+cGRldi0+ZGV2LCAidW5leHBlY3RlZCBQTUUgSVJRXG4iKTsKKwkJCX0K KwkJfQogCX0KIAogCS8qIFByb2Nlc3MgRVJSIGludGVycnVwdCAqLwotLSAKMi4yMC4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=