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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E460FC77B60 for ; Wed, 29 Mar 2023 13:21:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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:In-Reply-To:References: List-Owner; bh=TkXHeOPYr+meM3WOUKlZ34IBL/BzRbwhKPNPB70OsDo=; b=OXIJp6XhyEFcNI jmMswnGBPUs0+k79PNR06XrcxpMePMHgTHpWXpUdkBjdbWg518iKh+Ld+2U4kmNO0jfvmSIsuhJ8R v6M+qDNtR2/6+KnkBi5/sj474OpBxM3nzIDkWaKfGBPxWQvx2Z7PZH9l4r5DPGyevd9HpYIrOJsYf vl9O4pB+NspUoZXgzTf/gSHJyNQwt9ycRav7zv5RNMdNOPWk2GMthwulfhnXOg+cubsrW5xOl3fjI 5/edf4m1jxNwbfIBsNzjwiGF0OoS8lVfxoLmHJtxYJ4drLji8s4ZpsFu5d6I5Sd01eein7ItQ13xp NR+Qbxa2UwJzP05YcDmA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1phVix-000LBi-1o; Wed, 29 Mar 2023 13:20:23 +0000 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1phViI-000Kli-27 for linux-arm-kernel@lists.infradead.org; Wed, 29 Mar 2023 13:19:44 +0000 Received: by mail-pj1-x1034.google.com with SMTP id mp3-20020a17090b190300b0023fcc8ce113so18515166pjb.4 for ; Wed, 29 Mar 2023 06:19:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1680095980; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=/v0aeTjxkLPm8Geh7qWRGFN17I5ZClwfGotSGAvvgRo=; b=Yk1ZX+WLEPPdWL2SD3QOvrYJbjyVLaxAmc1SRNI16HvFnnip4H+fNCct1NxOY03yp7 q7v+fC3LCpqmBx+mZBhks3zK5jwjN0fyuv+W14RENLl4Q8PzI3cPphDKYB+9taccSGvd uOz0RemLx7vwkMenM1ACiUddbuNGOvikDWXBE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680095980; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/v0aeTjxkLPm8Geh7qWRGFN17I5ZClwfGotSGAvvgRo=; b=KDZAYvVr5SpfPUS6AyW79E5kWtJtt+wI4yrfw+QgIyIZr9a7TCty2/nJGC2zHOHnJg Pwj/l4E2DftVhTSctF/IBjIEZ56d90pcz7EaozCjwEgzGlTI7d6tbO4p9YtWlcgaGx0S iFY9fDtwCal8xfCGIx66YnZg12wBWJFu5VTiBcAsbhGHqDUtWuwrfOP5Iz+VgIK0yi2q A17bXuHrzKGz++NNuOCYhwcGcl43FB89TBXjZ8IrVpmQKMhX1s7cmNDzv38wbsd15kHz Mt8J4qjpqoC7B1xmEV0UxjpNNMPptlpN35qNWaFaBAlV3wGA+KhsWyVHTYu9NfN/QCKn ManQ== X-Gm-Message-State: AAQBX9eFXtK5y5Vfweb0c6M0jJuYQHIkYye/yIGFLJK7SDlHi2woVN0b sL7DD7jz6WcAa/BIMiYKC/i5Rg== X-Google-Smtp-Source: AKy350a30gmaeoHI3gtRW94k9vTAreUbchLxDVDQ49J4FoNt8UN/7ACF8JX/3OzUkhDlIZRne6BRAw== X-Received: by 2002:a17:903:22cb:b0:1a1:b174:8363 with SMTP id y11-20020a17090322cb00b001a1b1748363mr23482597plg.59.1680095980475; Wed, 29 Mar 2023 06:19:40 -0700 (PDT) Received: from localhost.localdomain ([2405:201:c00a:a047:206d:4722:c4fa:e845]) by smtp.gmail.com with ESMTPSA id d9-20020a170902854900b0019c90f8c831sm22949389plo.242.2023.03.29.06.19.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Mar 2023 06:19:39 -0700 (PDT) From: Jagan Teki To: Dave Stevenson , Maxime Ripard , Maarten Lankhorst , Thomas Zimmermann , David Airlie , Daniel Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Sam Ravnborg , Rob Herring , Krzysztof Kozlowski Cc: linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, Marek Vasut , linux-amarula , Jagan Teki Subject: [PATCH v7 10/12] drm/bridge: Implement enable_next_first to alter bridge init order Date: Wed, 29 Mar 2023 18:49:27 +0530 Message-Id: <20230329131929.1328612-1-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230329_061942_700483_4BB0854D X-CRM114-Status: GOOD ( 27.46 ) 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 RFNJIHNpbmsgZGV2aWNlcyB0eXBpY2FsbHkgc2VuZCB0aGUgTUlQSS1EQ1MgY29tbWFuZHMgdG8g dGhlIERTSSBob3N0CnZpYSBnZW5lcmFsIE1JUElfRFNJX0RDUyByZWFkIGFuZCB3cml0ZSBBUEku CgpUaGUgY2xhc3NpY2FsIERTSSBzZXF1ZW5jZSBtZW50aW9uZWQgdGhhdCB0aGXCoERTSSBob3N0 IHJlY2VpdmVzIE1JUEktRENTCmNvbW1hbmRzIGZyb20gdGhlIERTSSBzaW5rIGZpcnN0IGluIG9y ZGVyIHRvIHN3aXRjaCBIUyBtb2RlIHByb3Blcmx5LgpPbmNlIHRoZSBEU0kgaG9zdCBzd2l0Y2hl cyB0byBIUyBtb2RlIGFueSBNSVBJLURDUyBjb21tYW5kcyBmcm9tIHRoZQpEU0kgc2luayBhcmUg dW5mdW5jdGlvbmFsLgoKRFNJIHNpbmsgdXNlcyB0aGUgQGVuYWJsZSBmdW5jdGlvbiB0byBzZW5k IHRoZSBNSVBJLURDUyBjb21tYW5kcy4gSW4gYQp0eXBpY2FsIERTSSBob3N0LCBzaW5rIHBpcGVs aW5lIHRoZSBAZW5hYmxlIGNhbGwgY2hhaW4gc3RhcnQgd2l0aCB0aGUKRFNJIGhvc3QsIGFuZCB0 aGVuIHRoZSBEU0kgc2luayB3aGljaCBpcyB0aGUgIndyb25nIiBvcmRlciBhcyBEU0kgaG9zdApA ZW5hYmxlIGlzIGNhbGxlZCBhbmQgc3dpdGNoZWQgdG8gSFMgbW9kZSBiZWZvcmUgRFNJIHNpbmsg QGVuYWJsZS4KCklmIHRoZSBEU0kgaG9zdCBlbmFibGVzIHdpdGggdGhlIEBlbmFibGVfbmV4dF9m aXJzdCBmbGFnIHRoZW4gdGhlCkBlbmFibGUgZm9yIHRoZSBEU0kgc2luayB3aWxsIGJlIGNhbGxl ZCBmaXJzdCBiZWZvcmUgdGhlIEBlbmFibGUgb2YKdGhlIERTSSBob3N0LiBUaGlzIGFsdGVyIGJy aWRnZSBpbml0IG9yZGVyIG1ha2VzIHN1cmUgdGhhdCB0aGUgTUlQSS1EQ1MKY29tbWFuZHMgc2Vu ZCBmaXJzdCBhbmQgdGhlbiBzd2l0Y2ggdG8gdGhlIEhTIG1vZGUgcHJvcGVybHkgYnkgRFNJIGhv c3QuCgpUaGlzIG5ldyBmbGFnIEBlbmFibGVfbmV4dF9maXJzdCB0aGF0IGFueSBicmlkZyBjYW4g c2V0IHRvIHN3YXAgdGhlCm9yZGVyIG9mIEBlbmFibGUgKGFuZCAjZGlzYWJsZSkgZm9yIHRoYXQg YW5kIHRoZSBpbW1lZGlhdGVseSBuZXh0IGJyaWRnZS4KCltlbmFibGVdCklmIGEgYnJpZGdlIHNl dHMgQGVuYWJsZV9uZXh0X2ZpcnN0LCB0aGVuIHRoZSBAZW5hYmxlIGZvciB0aGUgbmV4dCBicmlk Z2UKd2lsbCBiZSBjYWxsZWQgZmlyc3QgYmVmb3JlIGVuYWJsZSBvZiB0aGlzIGJyaWRnZS4KCltk aXNhYmxlXQpJZiBhIGJyaWRnZSBzZXRzIEBlbmFibGVfbmV4dF9maXJzdCwgdGhlbiB0aGUgQGRp c2FibGUgZm9yIHRoZSBuZXh0IGJyaWRnZQp3aWxsIGJlIGNhbGxlZCBmaXJzdCBiZWZvcmUgQGRp c2FibGUgb2YgdGhpcyBicmlkZ2UgdG8gcmV2ZXJzZSB0aGUgQGVuYWJsZQpjYWxsaW5nIGRpcmVj dGlvbi4KCmVnOgotIFBhbmVsCi0gQnJpZGdlIDEKLSBCcmlkZ2UgMiBlbmFibGVfbmV4dF9maXJz dAotIEJyaWRnZSAzCi0gQnJpZGdlIDQgZW5hYmxlX25leHRfZmlyc3QKLSBCcmlkZ2UgNSBlbmFi bGVfbmV4dF9maXJzdAotIEJyaWRnZSA2Ci0gRW5jb2RlcgoKV291bGQgcmVzdWx0IGluIGVuYWJs ZSdzIGJlaW5nIGNhbGxlZCBhcyBFbmNvZGVyLCBCcmlkZ2UgNiwgQnJpZGdlIDMsCkJyaWRnZSA0 LCBCcmlkZ2UgNSwgQnJpZGdlIDEsIEJyaWRnZSAyLCBQYW5lbC4KCmFuZCB0aGUgcmVzdWx0IGlu IGRpc2FibGUncyBiZWluZyBjYWxsZWQgYXMgUGFuZWwsIEJyaWRnZSAyLCBCcmlkZ2UgMSwKQnJp ZGdlIDUsIEJyaWRnZSA0LCBCcmlkZ2UgMywgQnJpZGdlIDYsIEVuY29kZXIuCgpTaWduZWQtb2Zm LWJ5OiBKYWdhbiBUZWtpIDxqYWdhbkBhbWFydWxhc29sdXRpb25zLmNvbT4KLS0tCkNoYW5nZXMg Zm9yIHY3OgotIG5ldyBwYXRjaAoKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMgfCAxNzEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGluY2x1ZGUvZHJtL2RybV9icmlk Z2UuaCAgICAgfCAgIDggKysKIDIgZmlsZXMgY2hhbmdlZCwgMTU0IGluc2VydGlvbnMoKyksIDI1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCmluZGV4IGNhZjBmMzQxZTUyNC4uY2RjMjY2 OWIzNTEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKQEAgLTU3Nyw2ICs1NzcsMjQgQEAgdm9pZCBkcm1f YnJpZGdlX2NoYWluX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiB9CiBFWFBP UlRfU1lNQk9MKGRybV9icmlkZ2VfY2hhaW5fbW9kZV9zZXQpOwogCitzdGF0aWMgdm9pZCBkcm1f YXRvbWljX2JyaWRnZV9jYWxsX2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJ CQkJICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKK3sKKwlpZiAob2xkX3N0 YXRlICYmIGJyaWRnZS0+ZnVuY3MtPmF0b21pY19kaXNhYmxlKSB7CisJCXN0cnVjdCBkcm1fYnJp ZGdlX3N0YXRlICpvbGRfYnJpZGdlX3N0YXRlOworCisJCW9sZF9icmlkZ2Vfc3RhdGUgPQorCQkJ ZHJtX2F0b21pY19nZXRfb2xkX2JyaWRnZV9zdGF0ZShvbGRfc3RhdGUsCisJCQkJCQkJYnJpZGdl KTsKKwkJaWYgKFdBUk5fT04oIW9sZF9icmlkZ2Vfc3RhdGUpKQorCQkJcmV0dXJuOworCisJCWJy aWRnZS0+ZnVuY3MtPmF0b21pY19kaXNhYmxlKGJyaWRnZSwgb2xkX2JyaWRnZV9zdGF0ZSk7CisJ fSBlbHNlIGlmIChicmlkZ2UtPmZ1bmNzLT5kaXNhYmxlKSB7CisJCWJyaWRnZS0+ZnVuY3MtPmRp c2FibGUoYnJpZGdlKTsKKwl9Cit9CisKIC8qKgogICogZHJtX2F0b21pY19icmlkZ2VfY2hhaW5f ZGlzYWJsZSAtIGRpc2FibGVzIGFsbCBicmlkZ2VzIGluIHRoZSBlbmNvZGVyIGNoYWluCiAgKiBA YnJpZGdlOiBicmlkZ2UgY29udHJvbCBzdHJ1Y3R1cmUKQEAgLTU4NywzMyArNjA1LDczIEBAIEVY UE9SVF9TWU1CT0woZHJtX2JyaWRnZV9jaGFpbl9tb2RlX3NldCk7CiAgKiBzdGFydGluZyBmcm9t IHRoZSBsYXN0IGJyaWRnZSB0byB0aGUgZmlyc3QuIFRoZXNlIGFyZSBjYWxsZWQgYmVmb3JlIGNh bGxpbmcKICAqICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuYXRvbWljX2Rpc2FibGUKICAqCisg KiBJZiBhIGJyaWRnZSBzZXRzIEBlbmFibGVfbmV4dF9maXJzdCwgdGhlbiB0aGUgQGRpc2FibGUg Zm9yIHRoZSBuZXh0IGJyaWRnZQorICogd2lsbCBiZSBjYWxsZWQgZmlyc3QgYmVmb3JlIEBkaXNh YmxlIG9mIHRoaXMgYnJpZGdlIHRvIHJldmVyc2UgdGhlIEBlbmFibGUKKyAqIGNhbGxpbmcgZGly ZWN0aW9uLgorICoKKyAqIEV4YW1wbGU6CisgKiBCcmlkZ2UgQSAtLS0+IEJyaWRnZSBCIC0tLT4g QnJpZGdlIEMgLS0tPiBCcmlkZ2UgRCAtLS0+IEJyaWRnZSBFCisgKgorICogV2l0aCBlbmFibGVf bmV4dF9maXJzdCBmbGFnIGVuYWJsZSBpbiBCcmlkZ2UgQSwgQywgRCB0aGVuIHRoZSByZXN1bHRp bmcKKyAqIEBkaXNhYmxlIG9yZGVyIHdvdWxkIGJlLAorICogQnJpZGdlIEMsIEJyaWRnZSBELCBC cmlkZ2UgRSwgQnJpZGdlIEEsIEJyaWRnZSBCLgorICoKICAqIE5vdGU6IHRoZSBicmlkZ2UgcGFz c2VkIHNob3VsZCBiZSB0aGUgb25lIGNsb3Nlc3QgdG8gdGhlIGVuY29kZXIKICAqLwogdm9pZCBk cm1fYXRvbWljX2JyaWRnZV9jaGFpbl9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Us CiAJCQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQogewogCXN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKLQlzdHJ1Y3QgZHJtX2JyaWRnZSAqaXRlcjsKKwlzdHJ1 Y3QgZHJtX2JyaWRnZSAqaXRlciwgKm5leHQsICpsaW1pdDsKIAogCWlmICghYnJpZGdlKQogCQly ZXR1cm47CiAKIAllbmNvZGVyID0gYnJpZGdlLT5lbmNvZGVyOworCiAJbGlzdF9mb3JfZWFjaF9l bnRyeV9yZXZlcnNlKGl0ZXIsICZlbmNvZGVyLT5icmlkZ2VfY2hhaW4sIGNoYWluX25vZGUpIHsK LQkJaWYgKGl0ZXItPmZ1bmNzLT5hdG9taWNfZGlzYWJsZSkgewotCQkJc3RydWN0IGRybV9icmlk Z2Vfc3RhdGUgKm9sZF9icmlkZ2Vfc3RhdGU7Ci0KLQkJCW9sZF9icmlkZ2Vfc3RhdGUgPQotCQkJ CWRybV9hdG9taWNfZ2V0X29sZF9icmlkZ2Vfc3RhdGUob2xkX3N0YXRlLAotCQkJCQkJCQlpdGVy KTsKLQkJCWlmIChXQVJOX09OKCFvbGRfYnJpZGdlX3N0YXRlKSkKLQkJCQlyZXR1cm47Ci0KLQkJ CWl0ZXItPmZ1bmNzLT5hdG9taWNfZGlzYWJsZShpdGVyLCBvbGRfYnJpZGdlX3N0YXRlKTsKLQkJ fSBlbHNlIGlmIChpdGVyLT5mdW5jcy0+ZGlzYWJsZSkgewotCQkJaXRlci0+ZnVuY3MtPmRpc2Fi bGUoaXRlcik7CisJCWxpbWl0ID0gTlVMTDsKKworCQlpZiAoIWxpc3RfaXNfZmlyc3QoJml0ZXIt PmNoYWluX25vZGUsICZlbmNvZGVyLT5icmlkZ2VfY2hhaW4pKSB7CisJCQluZXh0ID0gbGlzdF9w cmV2X2VudHJ5KGl0ZXIsIGNoYWluX25vZGUpOworCisJCQlpZiAobmV4dC0+ZW5hYmxlX25leHRf Zmlyc3QpIHsKKwkJCQlsaW1pdCA9IGJyaWRnZTsKKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zy b21fcmV2ZXJzZShuZXh0LAorCQkJCQkJCSAmZW5jb2Rlci0+YnJpZGdlX2NoYWluLAorCQkJCQkJ CSBjaGFpbl9ub2RlKSB7CisJCQkJCWlmIChuZXh0ID09IGJyaWRnZSkKKwkJCQkJCWJyZWFrOwor CisJCQkJCWlmICghbmV4dC0+ZW5hYmxlX25leHRfZmlyc3QpIHsKKwkJCQkJCS8qIEZvdW5kIGZp cnN0IGJyaWRnZSB0aGF0IGRvZXMgTk9UCisJCQkJCQkgKiByZXF1ZXN0IG5leHQgdG8gYmUgZW5h YmxlZCBmaXJzdAorCQkJCQkJICovCisJCQkJCQluZXh0ID0gbGlzdF9uZXh0X2VudHJ5KG5leHQs IGNoYWluX25vZGUpOworCQkJCQkJbGltaXQgPSBuZXh0OworCQkJCQkJYnJlYWs7CisJCQkJCX0K KwkJCQl9CisKKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20obmV4dCwgJmVuY29kZXItPmJy aWRnZV9jaGFpbiwgY2hhaW5fbm9kZSkgeworCQkJCQkvKiBDYWxsIHJlcXVlc3RlZCBuZXh0IGJy aWRnZSBlbmFibGUgaW4gb3JkZXIgKi8KKwkJCQkJaWYgKG5leHQgPT0gaXRlcikKKwkJCQkJCS8q IEF0IHRoZSBmaXJzdCBicmlkZ2UgdG8gcmVxdWVzdCBuZXh0CisJCQkJCQkgKiBicmlkZ2VzIGNh bGxlZCBmaXJzdC4KKwkJCQkJCSAqLworCQkJCQkJYnJlYWs7CisKKwkJCQkJZHJtX2F0b21pY19i cmlkZ2VfY2FsbF9kaXNhYmxlKG5leHQsIG9sZF9zdGF0ZSk7CisJCQkJfQorCQkJfQogCQl9CiAK KwkJZHJtX2F0b21pY19icmlkZ2VfY2FsbF9kaXNhYmxlKGl0ZXIsIG9sZF9zdGF0ZSk7CisKKwkJ aWYgKGxpbWl0KQorCQkJLyogSnVtcCBhbGwgYnJpZGdlcyB0aGF0IHdlIGhhdmUgYWxyZWFkeSBk aXNhYmxlZCAqLworCQkJaXRlciA9IGxpbWl0OworCiAJCWlmIChpdGVyID09IGJyaWRnZSkKIAkJ CWJyZWFrOwogCX0KQEAgLTgyMiw2ICs4ODAsMjQgQEAgdm9pZCBkcm1fYXRvbWljX2JyaWRnZV9j aGFpbl9wcmVfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiB9CiBFWFBPUlRfU1lN Qk9MKGRybV9hdG9taWNfYnJpZGdlX2NoYWluX3ByZV9lbmFibGUpOwogCitzdGF0aWMgdm9pZCBk cm1fYXRvbWljX2JyaWRnZV9jYWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAor CQkJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCit7CisJaWYgKG9sZF9z dGF0ZSAmJiBicmlkZ2UtPmZ1bmNzLT5hdG9taWNfZW5hYmxlKSB7CisJCXN0cnVjdCBkcm1fYnJp ZGdlX3N0YXRlICpvbGRfYnJpZGdlX3N0YXRlOworCisJCW9sZF9icmlkZ2Vfc3RhdGUgPQorCQkJ ZHJtX2F0b21pY19nZXRfb2xkX2JyaWRnZV9zdGF0ZShvbGRfc3RhdGUsCisJCQkJCQkJYnJpZGdl KTsKKwkJaWYgKFdBUk5fT04oIW9sZF9icmlkZ2Vfc3RhdGUpKQorCQkJcmV0dXJuOworCisJCWJy aWRnZS0+ZnVuY3MtPmF0b21pY19lbmFibGUoYnJpZGdlLCBvbGRfYnJpZGdlX3N0YXRlKTsKKwl9 IGVsc2UgaWYgKGJyaWRnZS0+ZnVuY3MtPmVuYWJsZSkgeworCQlicmlkZ2UtPmZ1bmNzLT5lbmFi bGUoYnJpZGdlKTsKKwl9Cit9CisKIC8qKgogICogZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fZW5h YmxlIC0gZW5hYmxlcyBhbGwgYnJpZGdlcyBpbiB0aGUgZW5jb2RlciBjaGFpbgogICogQGJyaWRn ZTogYnJpZGdlIGNvbnRyb2wgc3RydWN0dXJlCkBAIC04MzIsMzEgKzkwOCw3NiBAQCBFWFBPUlRf U1lNQk9MKGRybV9hdG9taWNfYnJpZGdlX2NoYWluX3ByZV9lbmFibGUpOwogICogc3RhcnRpbmcg ZnJvbSB0aGUgZmlyc3QgYnJpZGdlIHRvIHRoZSBsYXN0LiBUaGVzZSBhcmUgY2FsbGVkIGFmdGVy IGNvbXBsZXRpbmcKICAqICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuYXRvbWljX2VuYWJsZQog ICoKKyAqIElmIGEgYnJpZGdlIHNldHMgQGVuYWJsZV9uZXh0X2ZpcnN0LCB0aGVuIHRoZSBAZW5h YmxlIGZvciB0aGUgbmV4dCBicmlkZ2UKKyAqIHdpbGwgYmUgY2FsbGVkIGZpcnN0IGJlZm9yZSBl bmFibGUgb2YgdGhpcyBicmlkZ2UuCisgKgorICogRXhhbXBsZToKKyAqIEJyaWRnZSBBIC0tLT4g QnJpZGdlIEIgLS0tPiBCcmlkZ2UgQyAtLS0+IEJyaWRnZSBEIC0tLT4gQnJpZGdlIEUKKyAqCisg KiBXaXRoIGVuYWJsZV9uZXh0X2ZpcnN0IGZsYWcgZW5hYmxlIGluIEJyaWRnZSBBLCBDLCBEIHRo ZW4gdGhlIHJlc3VsdGluZworICogQGVuYWJsZSBvcmRlciB3b3VsZCBiZSwKKyAqIEJyaWRnZSBC LCBCcmlkZ2UgQSwgQnJpZGdlIEUsIEJyaWRnZSBELCBCcmlkZ2UgQy4KKyAqCiAgKiBOb3RlOiB0 aGUgYnJpZGdlIHBhc3NlZCBzaG91bGQgYmUgdGhlIG9uZSBjbG9zZXN0IHRvIHRoZSBlbmNvZGVy CiAgKi8KIHZvaWQgZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fZW5hYmxlKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UsCiAJCQkJICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUp CiB7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOworCXN0cnVjdCBkcm1fYnJpZGdlICpu ZXh0LCAqbGltaXQ7CiAKIAlpZiAoIWJyaWRnZSkKIAkJcmV0dXJuOwogCiAJZW5jb2RlciA9IGJy aWRnZS0+ZW5jb2RlcjsKKwogCWxpc3RfZm9yX2VhY2hfZW50cnlfZnJvbShicmlkZ2UsICZlbmNv ZGVyLT5icmlkZ2VfY2hhaW4sIGNoYWluX25vZGUpIHsKLQkJaWYgKGJyaWRnZS0+ZnVuY3MtPmF0 b21pY19lbmFibGUpIHsKLQkJCXN0cnVjdCBkcm1fYnJpZGdlX3N0YXRlICpvbGRfYnJpZGdlX3N0 YXRlOwotCi0JCQlvbGRfYnJpZGdlX3N0YXRlID0KLQkJCQlkcm1fYXRvbWljX2dldF9vbGRfYnJp ZGdlX3N0YXRlKG9sZF9zdGF0ZSwKLQkJCQkJCQkJYnJpZGdlKTsKLQkJCWlmIChXQVJOX09OKCFv bGRfYnJpZGdlX3N0YXRlKSkKLQkJCQlyZXR1cm47Ci0KLQkJCWJyaWRnZS0+ZnVuY3MtPmF0b21p Y19lbmFibGUoYnJpZGdlLCBvbGRfYnJpZGdlX3N0YXRlKTsKLQkJfSBlbHNlIGlmIChicmlkZ2Ut PmZ1bmNzLT5lbmFibGUpIHsKLQkJCWJyaWRnZS0+ZnVuY3MtPmVuYWJsZShicmlkZ2UpOworCQls aW1pdCA9IE5VTEw7CisKKwkJaWYgKCFsaXN0X2lzX2xhc3QoJmJyaWRnZS0+Y2hhaW5fbm9kZSwg JmVuY29kZXItPmJyaWRnZV9jaGFpbikpIHsKKwkJCWlmIChicmlkZ2UtPmVuYWJsZV9uZXh0X2Zp cnN0KSB7CisJCQkJLyogbmV4dCBicmlkZ2UgaGFkIHJlcXVlc3RlZCB0aGF0IG5leHQKKwkJCQkg KiB3YXMgZW5hYmxlZCBmaXJzdCwgc28gZGlzYWJsZWQgbGFzdAorCQkJCSAqLworCQkJCW5leHQg PSBsaXN0X25leHRfZW50cnkoYnJpZGdlLCBjaGFpbl9ub2RlKTsKKwkJCQlsaW1pdCA9IG5leHQ7 CisKKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20obmV4dCwgJmVuY29kZXItPmJyaWRnZV9j aGFpbiwKKwkJCQkJCQkgY2hhaW5fbm9kZSkgeworCQkJCQkvKiBGaW5kIHRoZSBuZXh0IGJyaWRn ZSB0aGF0IGhhcyBOT1QgcmVxdWVzdGVkCisJCQkJCSAqIG5leHQgdG8gYmUgZW5hYmxlZCBmaXJz dCAvIGRpc2FibGVkIGxhc3QKKwkJCQkJICovCisJCQkJCWlmICghbmV4dC0+ZW5hYmxlX25leHRf Zmlyc3QpIHsKKwkJCQkJCWxpbWl0ID0gbmV4dDsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisKKwkJ CQkJLyogTGFzdCBicmlkZ2UgaGFzIHJlcXVlc3RlZCBuZXh0IHRvIGJlIGxpbWl0CisJCQkJCSAq IG90aGVyd2lzZSB0aGUgY29udHJvbCBtb3ZlIHRvIGVuZCBvZiBjaGFpbgorCQkJCQkgKi8KKwkJ CQkJaWYgKGxpc3RfaXNfbGFzdCgmbmV4dC0+Y2hhaW5fbm9kZSwKKwkJCQkJCQkgJmVuY29kZXIt PmJyaWRnZV9jaGFpbikpIHsKKwkJCQkJCWxpbWl0ID0gbmV4dDsKKwkJCQkJCWJyZWFrOworCQkJ CQl9CisJCQkJfQorCisJCQkJLyogQ2FsbCB0aGVzZSBicmlkZ2VzIGluIHJldmVyc2Ugb3JkZXIg Ki8KKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb21fcmV2ZXJzZShuZXh0LCAmZW5jb2Rlci0+ YnJpZGdlX2NoYWluLAorCQkJCQkJCQkgY2hhaW5fbm9kZSkgeworCQkJCQlpZiAobmV4dCA9PSBi cmlkZ2UpCisJCQkJCQlicmVhazsKKworCQkJCQlkcm1fYXRvbWljX2JyaWRnZV9jYWxsX2VuYWJs ZShuZXh0LCBvbGRfc3RhdGUpOworCQkJCX0KKwkJCX0KIAkJfQorCisJCWRybV9hdG9taWNfYnJp ZGdlX2NhbGxfZW5hYmxlKGJyaWRnZSwgb2xkX3N0YXRlKTsKKworCQlpZiAobGltaXQpCisJCQkv KiBKdW1wIGFsbCBicmlkZ2VzIHRoYXQgd2UgaGF2ZSBhbHJlYWR5IGVuYWJsZWQgKi8KKwkJCWJy aWRnZSA9IGxpbWl0OwogCX0KIH0KIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19icmlkZ2VfY2hh aW5fZW5hYmxlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCBiL2luY2x1 ZGUvZHJtL2RybV9icmlkZ2UuaAppbmRleCBhMWEzMTcwNGI5MTcuLjk4NzkxMjkwNDdlNCAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9i cmlkZ2UuaApAQCAtNzUyLDYgKzc1MiwxNCBAQCBzdHJ1Y3QgZHJtX2JyaWRnZSB7CiAJICogYmVm b3JlIHRoZSBwZXJpcGhlcmFsLgogCSAqLwogCWJvb2wgcHJlX2VuYWJsZV9wcmV2X2ZpcnN0Owor CS8qKgorCSAqIEBlbmFibGVfbmV4dF9maXJzdDogVGhlIGJyaWRnZSByZXF1aXJlcyB0aGF0IHRo ZSBuZXh0IGJyaWRnZSBAZW5hYmxlCisJICogZnVuY3Rpb24gaXMgY2FsbGVkIGZpcnN0IGJlZm9y ZSBpdHMgQGVuYWJsZSwgYW5kIGNvbnZlcnNlbHkgZm9yCisJICogQGRpc2FibGUuIFRoaXMgaXMg bW9zdCBmcmVxdWVudGx5IGEgcmVxdWlyZW1lbnQgZm9yIGEgRFNJIGhvc3QgdG8KKwkgKiByZWNl aXZlIE1JUEktRENTIGNvbW1hbmRzIGZyb20gRFNJIHNpbmsgZmlyc3QgaW4gb3JkZXIgdG8gc3dp dGNoCisJICogSFMgbW9kZSBwcm9wZXJseS4KKwkgKi8KKwlib29sIGVuYWJsZV9uZXh0X2ZpcnN0 OwogCS8qKgogCSAqIEBkZGM6IEFzc29jaWF0ZWQgSTJDIGFkYXB0ZXIgZm9yIEREQyBhY2Nlc3Ms IGlmIGFueS4KIAkgKi8KLS0gCjIuMjUuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK