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=-9.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 8CE15C43331 for ; Mon, 23 Mar 2020 23:12:50 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 5E35F20409 for ; Mon, 23 Mar 2020 23:12:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="M+W6dS1v" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E35F20409 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 704DC6E40C; Mon, 23 Mar 2020 23:12:49 +0000 (UTC) Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id 37CF76E40C for ; Mon, 23 Mar 2020 23:12:48 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id 31so13259392wrs.3 for ; Mon, 23 Mar 2020 16:12:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8zc8LJjl3pE2GFIcQ9zykUvXli+epa6iP9Qc3NU9Ln4=; b=M+W6dS1v5knM6wyT9ABC/TQTtpu2WFL/k1wXUTtbg3pyP8Q3UO3KqXGoPI63jQx5iR Jtl1a5uR6hd7J9+tyQy1HkuuZYpFzNIWh97VSBahmtRhldpRnl+SBeEl++1meNdSSoM8 2KzN4wbWWtnEecifTDrvS7o4cnH6s9xrPcZYIQaXIYaNx6y9FTRtDaRHnTRopY4uOeJ5 xrXuqSZY6TzNOplagbqiN2Qn77JSRqTW5qUD7sXajM8K8jMnb0ozFDtz6CXvmb1ram7O 8Nm6fIm61Gd/P3HCnywhuodlGvJ1/ferVGoY0HPGEks/q4ogV9CY6OZwuJ7IjxRs3NqF oK0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8zc8LJjl3pE2GFIcQ9zykUvXli+epa6iP9Qc3NU9Ln4=; b=kewUYSE2GoAFxZN3zlIrKYfmAVxsC6Q4tMr1h19syExd8vhxL7gDgCXRHn/TwjqFn+ Fsb22l0hf6jtPmGmAwdf4FhlVcCnmGWNv0Z4Y/ylXj3bZjMR9Jib01rrs40mK4RxbOEN NS7fCuzDY8G4Iiy1AA3GQ4LMSWB/5kpZOcki5Q8zhjFqkwjim4zTv3e4F2UjR7WLrMwz EMr8efuiyKXNSE3yRUmNTlMNlIglc2DK/ollFWeiauENnGUHu3RxPph7LsWDGEEAycTF CtRevKmsF8D7/nEazYA3qeaYEYippXwUgh9/Ex56N5PdpmjTKjvbZb19+7Y4qdaKEiue GmKQ== X-Gm-Message-State: ANhLgQ13s39AUPxXMt46twEFF2+sdpn6SPbxOrOSp+va3Vq5aRE6fSgX kjwqzQ13P6VjzkO83K5nWU67C8Vk X-Google-Smtp-Source: ADFU+vv3/zfCv3nUoWV3ACM6wgRtBGDfwtSL5NP8+ThcOPjlYUSVbNU5v8oAikVeHTjdsThngOoroA== X-Received: by 2002:a5d:5451:: with SMTP id w17mr32730608wrv.142.1585005166393; Mon, 23 Mar 2020 16:12:46 -0700 (PDT) Received: from sroland-t5810.vmware.com (46-126-183-173.dynamic.hispeed.ch. [46.126.183.173]) by smtp.gmail.com with ESMTPSA id b82sm1495262wmb.46.2020.03.23.16.12.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2020 16:12:45 -0700 (PDT) From: "Roland Scheidegger (VMware)" To: dri-devel@lists.freedesktop.org, airlied@redhat.com, daniel@ffwll.ch Subject: [PATCH v2 04/17] drm/vmwgfx: Use enum to represent graphics context capabilities Date: Tue, 24 Mar 2020 00:12:25 +0100 Message-Id: <20200323231238.14839-5-rscheidegger.oss@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200323231238.14839-1-rscheidegger.oss@gmail.com> References: <20200323231238.14839-1-rscheidegger.oss@gmail.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-graphics-maintainer@vmware.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogRGVlcGFrIFJhd2F0IDxkcmF3YXQuZmxvc3NAZ21haWwuY29tPgoKSW5zdGVhZCBvZiBo YXZpbmcgZGlmZmVyZW50IGJvb2wgaW4gZGV2aWNlIHByaXZhdGUgdG8gcmVwcmVzZW50CmluY3Jl bWVudGFsIGdyYXBoaWNzIGNvbnRleHQgY2FwYWJpbGl0aWVzLCBhZGQgYSBuZXcgc20gdHlwZSBl bnVtLgoKdjI6IFVzZSBlbnVtIGluc3RlYWQgb2YgYml0IGZsYWcuCgp2MzogSW5jb3Jwb3JhdGVk IHJldmlldyBjb21tZW50cy4KClNpZ25lZC1vZmYtYnk6IERlZXBhayBSYXdhdCA8ZHJhd2F0LmZs b3NzQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIChWTXdhcmUpIDx0 aG9tYXNfb3NAc2hpcG1haWwub3JnPgpSZXZpZXdlZC1ieTogUm9sYW5kIFNjaGVpZGVnZ2VyIDxz cm9sYW5kQHZtd2FyZS5jb20+ClNpZ25lZC1vZmYtYnk6IFJvbGFuZCBTY2hlaWRlZ2dlciA8c3Jv bGFuZEB2bXdhcmUuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2NvbnRl eHQuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYyAgICAgfCAz NCArKysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Ry di5oICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X2V4ZWNidWYuYyB8ICA2ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2lvY3RsLmMgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf a21zLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X21vYi5jICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdXJmYWNlLmMgfCAxMCAr KystLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2NvbnRleHQuYyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2NvbnRleHQuYwppbmRleCBhNTZjOWQ4MDIz ODIuLjA0NzdkOWE3NGZlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn ZnhfY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2NvbnRleHQu YwpAQCAtNzMxLDcgKzczMSw3IEBAIHN0YXRpYyBpbnQgdm13X2NvbnRleHRfZGVmaW5lKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJfTsKIAlpbnQgcmV0OwogCi0JaWYgKCFk ZXZfcHJpdi0+aGFzX2R4ICYmIGR4KSB7CisJaWYgKCFoYXNfc200X2NvbnRleHQoZGV2X3ByaXYp ICYmIGR4KSB7CiAJCVZNV19ERUJVR19VU0VSKCJEWCBjb250ZXh0cyBub3Qgc3VwcG9ydGVkIGJ5 IGRldmljZS5cbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X2Rydi5jCmluZGV4IGY5NzZkYWJlMThkZS4uNTI3N2I5ODMyZDU4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9kcnYuYwpAQCAtNDQ5LDcgKzQ0OSw3IEBAIHN0YXRpYyBpbnQgdm13X3Jl cXVlc3RfZGV2aWNlKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJZGV2X3ByaXYtPmNt YW4gPSB2bXdfY21kYnVmX21hbl9jcmVhdGUoZGV2X3ByaXYpOwogCWlmIChJU19FUlIoZGV2X3By aXYtPmNtYW4pKSB7CiAJCWRldl9wcml2LT5jbWFuID0gTlVMTDsKLQkJZGV2X3ByaXYtPmhhc19k eCA9IGZhbHNlOworCQlkZXZfcHJpdi0+c21fdHlwZSA9IFZNV19TTV9MRUdBQ1k7CiAJfQogCiAJ cmV0ID0gdm13X3JlcXVlc3RfZGV2aWNlX2xhdGUoZGV2X3ByaXYpOwpAQCAtODg2LDExICs4ODYs MjIgQEAgc3RhdGljIGludCB2bXdfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgbG9uZyBjaGlwc2V0KQogCWlmIChkZXZfcHJpdi0+aGFzX21vYiAmJiAoZGV2X3By aXYtPmNhcGFiaWxpdGllcyAmIFNWR0FfQ0FQX0RYKSkgewogCQlzcGluX2xvY2soJmRldl9wcml2 LT5jYXBfbG9jayk7CiAJCXZtd193cml0ZShkZXZfcHJpdiwgU1ZHQV9SRUdfREVWX0NBUCwgU1ZH QTNEX0RFVkNBUF9EWENPTlRFWFQpOwotCQlkZXZfcHJpdi0+aGFzX2R4ID0gISF2bXdfcmVhZChk ZXZfcHJpdiwgU1ZHQV9SRUdfREVWX0NBUCk7CisJCWlmICh2bXdfcmVhZChkZXZfcHJpdiwgU1ZH QV9SRUdfREVWX0NBUCkpCisJCQlkZXZfcHJpdi0+c21fdHlwZSA9IFZNV19TTV80OwogCQlzcGlu X3VubG9jaygmZGV2X3ByaXYtPmNhcF9sb2NrKTsKIAl9CiAKIAl2bXdfdmFsaWRhdGlvbl9tZW1f aW5pdF90dG0oZGV2X3ByaXYsIFZNV0dGWF9WQUxJREFUSU9OX01FTV9HUkFOKTsKKworCS8qIFNW R0FfQ0FQMl9EWDIgKERlZmluZUdCU3VyZmFjZV92MykgaXMgbmVlZGVkIGZvciBTTTRfMSBzdXBw b3J0ICovCisJaWYgKGhhc19zbTRfY29udGV4dChkZXZfcHJpdikgJiYKKwkgICAgKGRldl9wcml2 LT5jYXBhYmlsaXRpZXMyICYgU1ZHQV9DQVAyX0RYMikpIHsKKwkJdm13X3dyaXRlKGRldl9wcml2 LCBTVkdBX1JFR19ERVZfQ0FQLCBTVkdBM0RfREVWQ0FQX1NNNDEpOworCisJCWlmICh2bXdfcmVh ZChkZXZfcHJpdiwgU1ZHQV9SRUdfREVWX0NBUCkpCisJCQlkZXZfcHJpdi0+c21fdHlwZSA9IFZN V19TTV80XzE7CisJfQorCiAJcmV0ID0gdm13X2ttc19pbml0KGRldl9wcml2KTsKIAlpZiAodW5s aWtlbHkocmV0ICE9IDApKQogCQlnb3RvIG91dF9ub19rbXM7CkBAIC05MDAsMjMgKzkxMSwxMiBA QCBzdGF0aWMgaW50IHZtd19kcml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBsb25nIGNoaXBzZXQpCiAJaWYgKHJldCkKIAkJZ290byBvdXRfbm9fZmlmbzsKIAotCWlm IChkZXZfcHJpdi0+aGFzX2R4KSB7Ci0JCS8qCi0JCSAqIFNWR0FfQ0FQMl9EWDIgKERlZmluZUdC U3VyZmFjZV92MykgaXMgbmVlZGVkIGZvciBTTTRfMQotCQkgKiBzdXBwb3J0Ci0JCSAqLwotCQlp ZiAoKGRldl9wcml2LT5jYXBhYmlsaXRpZXMyICYgU1ZHQV9DQVAyX0RYMikgIT0gMCkgewotCQkJ dm13X3dyaXRlKGRldl9wcml2LCBTVkdBX1JFR19ERVZfQ0FQLAotCQkJCQlTVkdBM0RfREVWQ0FQ X1NNNDEpOwotCQkJZGV2X3ByaXYtPmhhc19zbTRfMSA9IHZtd19yZWFkKGRldl9wcml2LAotCQkJ CQkJCVNWR0FfUkVHX0RFVl9DQVApOwotCQl9Ci0JfQotCi0JRFJNX0lORk8oIkRYOiAlc1xuIiwg ZGV2X3ByaXYtPmhhc19keCA/ICJ5ZXMuIiA6ICJuby4iKTsKIAlEUk1fSU5GTygiQXRvbWljOiAl c1xuIiwgKGRldi0+ZHJpdmVyLT5kcml2ZXJfZmVhdHVyZXMgJiBEUklWRVJfQVRPTUlDKQogCQkg PyAieWVzLiIgOiAibm8uIik7Ci0JRFJNX0lORk8oIlNNNF8xOiAlc1xuIiwgZGV2X3ByaXYtPmhh c19zbTRfMSA/ICJ5ZXMuIiA6ICJuby4iKTsKKwlpZiAoZGV2X3ByaXYtPnNtX3R5cGUgPT0gVk1X X1NNXzRfMSkKKwkJRFJNX0lORk8oIlNNNF8xIHN1cHBvcnQgYXZhaWxhYmxlLlxuIik7CisJaWYg KGRldl9wcml2LT5zbV90eXBlID09IFZNV19TTV80KQorCQlEUk1fSU5GTygiU000IHN1cHBvcnQg YXZhaWxhYmxlLlxuIik7CiAKIAlzbnByaW50Zihob3N0X2xvZywgc2l6ZW9mKGhvc3RfbG9nKSwg InZtd2dmeDogJXMtJXMiLAogCQlWTVdHRlhfUkVQTywgVk1XR0ZYX0dJVF9WRVJTSU9OKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmgKaW5kZXggYjcwZDczMjI1NzA3Li4yNDM3MzE4MTM4 ODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5oCkBAIC00NDEsNiArNDQxLDIwIEBA IGVudW0gewogCVZNV19JUlFUSFJFQURfTUFYCiB9OwogCisvKioKKyAqIGVudW0gdm13X3NtX3R5 cGUgLSBHcmFwaGljcyBjb250ZXh0IGNhcGFiaWxpdHkgc3VwcG9ydGVkIGJ5IGRldmljZS4KKyAq IEBWTVdfU01fTEVHQUNZOiBQcmUgRFggY29udGV4dC4KKyAqIEBWTVdfU01fNDogQ29udGV4dCBz dXBwb3J0IHVwdG8gU000LgorICogQFZNV19TTV80XzE6IENvbnRleHQgc3VwcG9ydCB1cHRvIFNN NF8xLgorICogQFZNV19TTV9NQVg6IFNob3VsZCBiZSB0aGUgbGFzdC4KKyAqLworZW51bSB2bXdf c21fdHlwZSB7CisJVk1XX1NNX0xFR0FDWSA9IDAsCisJVk1XX1NNXzQsCisJVk1XX1NNXzRfMSwK KwlWTVdfU01fTUFYCit9OworCiBzdHJ1Y3Qgdm13X3ByaXZhdGUgewogCXN0cnVjdCB0dG1fYm9f ZGV2aWNlIGJkZXY7CiAKQEAgLTQ3NSw5ICs0ODksOSBAQCBzdHJ1Y3Qgdm13X3ByaXZhdGUgewog CWJvb2wgaGFzX21vYjsKIAlzcGlubG9ja190IGh3X2xvY2s7CiAJc3BpbmxvY2tfdCBjYXBfbG9j azsKLQlib29sIGhhc19keDsKIAlib29sIGFzc3VtZV8xNmJwcDsKLQlib29sIGhhc19zbTRfMTsK KworCWVudW0gdm13X3NtX3R5cGUgc21fdHlwZTsKIAogCS8qCiAJICogRnJhbWVidWZmZXIgaW5m by4KQEAgLTY0OCw2ICs2NjIsMjggQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCB2bXdfcmVhZChz dHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAogCXJldHVybiB2YWw7CiB9CiAKKy8qKgorICog aGFzX3NtNF9jb250ZXh0IC0gRG9lcyB0aGUgZGV2aWNlIHN1cHBvcnQgU000IGNvbnRleHQuCisg KiBAZGV2X3ByaXY6IERldmljZSBwcml2YXRlLgorICoKKyAqIFJldHVybjogQm9vbCB2YWx1ZSBp ZiBkZXZpY2Ugc3VwcG9ydCBTTTQgY29udGV4dCBvciBub3QuCisgKi8KK3N0YXRpYyBpbmxpbmUg Ym9vbCBoYXNfc200X2NvbnRleHQoY29uc3Qgc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdikK K3sKKwlyZXR1cm4gKGRldl9wcml2LT5zbV90eXBlID49IFZNV19TTV80KTsKK30KKworLyoqCisg KiBoYXNfc200XzFfY29udGV4dCAtIERvZXMgdGhlIGRldmljZSBzdXBwb3J0IFNNNF8xIGNvbnRl eHQuCisgKiBAZGV2X3ByaXY6IERldmljZSBwcml2YXRlLgorICoKKyAqIFJldHVybjogQm9vbCB2 YWx1ZSBpZiBkZXZpY2Ugc3VwcG9ydCBTTTRfMSBjb250ZXh0IG9yIG5vdC4KKyAqLworc3RhdGlj IGlubGluZSBib29sIGhhc19zbTRfMV9jb250ZXh0KGNvbnN0IHN0cnVjdCB2bXdfcHJpdmF0ZSAq ZGV2X3ByaXYpCit7CisJcmV0dXJuIChkZXZfcHJpdi0+c21fdHlwZSA+PSBWTVdfU01fNF8xKTsK K30KKwogZXh0ZXJuIHZvaWQgdm13X3N2Z2FfZW5hYmxlKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2 X3ByaXYpOwogZXh0ZXJuIHZvaWQgdm13X3N2Z2FfZGlzYWJsZShzdHJ1Y3Qgdm13X3ByaXZhdGUg KmRldl9wcml2KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf ZXhlY2J1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZXhlY2J1Zi5jCmluZGV4 IDc0YTJjN2VjOTE5OC4uNzNmMTlmMGZlYzg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn ZnhfZXhlY2J1Zi5jCkBAIC00NjEsNyArNDYxLDggQEAgc3RhdGljIGludCB2bXdfcmVzb3VyY2Vf Y29udGV4dF9yZXNfYWRkKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJdTMyIGk7CiAK IAkvKiBBZGQgYWxsIGNvdGFibGVzIHRvIHRoZSB2YWxpZGF0aW9uIGxpc3QuICovCi0JaWYgKGRl dl9wcml2LT5oYXNfZHggJiYgdm13X3Jlc190eXBlKGN0eCkgPT0gdm13X3Jlc19keF9jb250ZXh0 KSB7CisJaWYgKGhhc19zbTRfY29udGV4dChkZXZfcHJpdikgJiYKKwkgICAgdm13X3Jlc190eXBl KGN0eCkgPT0gdm13X3Jlc19keF9jb250ZXh0KSB7CiAJCWZvciAoaSA9IDA7IGkgPCBTVkdBX0NP VEFCTEVfRFgxMF9NQVg7ICsraSkgewogCQkJcmVzID0gdm13X2NvbnRleHRfY290YWJsZShjdHgs IGkpOwogCQkJaWYgKElTX0VSUihyZXMpKQpAQCAtNDg5LDcgKzQ5MCw4IEBAIHN0YXRpYyBpbnQg dm13X3Jlc291cmNlX2NvbnRleHRfcmVzX2FkZChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2 LAogCQkJYnJlYWs7CiAJfQogCi0JaWYgKGRldl9wcml2LT5oYXNfZHggJiYgdm13X3Jlc190eXBl KGN0eCkgPT0gdm13X3Jlc19keF9jb250ZXh0KSB7CisJaWYgKGhhc19zbTRfY29udGV4dChkZXZf cHJpdikgJiYKKwkgICAgdm13X3Jlc190eXBlKGN0eCkgPT0gdm13X3Jlc19keF9jb250ZXh0KSB7 CiAJCXN0cnVjdCB2bXdfYnVmZmVyX29iamVjdCAqZHhfcXVlcnlfbW9iOwogCiAJCWR4X3F1ZXJ5 X21vYiA9IHZtd19jb250ZXh0X2dldF9keF9xdWVyeV9tb2IoY3R4KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9pb2N0bC5jCmluZGV4IDA5YjI1NTQ2NWY5OS4uMGFmNDI4NzViYTRlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9pb2N0bC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2lvY3RsLmMKQEAgLTExNCwxMCArMTE0LDEwIEBAIGlu dCB2bXdfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAkJCShkZXZfcHJpdi0+YWN0aXZlX2Rpc3BsYXlfdW5pdCA9PSB2bXdfZHVfc2NyZWVuX3Rhcmdl dCk7CiAJCWJyZWFrOwogCWNhc2UgRFJNX1ZNV19QQVJBTV9EWDoKLQkJcGFyYW0tPnZhbHVlID0g ZGV2X3ByaXYtPmhhc19keDsKKwkJcGFyYW0tPnZhbHVlID0gaGFzX3NtNF9jb250ZXh0KGRldl9w cml2KTsKIAkJYnJlYWs7CiAJY2FzZSBEUk1fVk1XX1BBUkFNX1NNNF8xOgotCQlwYXJhbS0+dmFs dWUgPSBkZXZfcHJpdi0+aGFzX3NtNF8xOworCQlwYXJhbS0+dmFsdWUgPSBoYXNfc200XzFfY29u dGV4dChkZXZfcHJpdik7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRUlOVkFMOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwppbmRleCA1MmUwODZhNTY5MWUuLjA0Yjc5ZTg5 NzVjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKQEAgLTk0MSw3ICs5NDEsNyBA QCBzdGF0aWMgaW50IHZtd19rbXNfbmV3X2ZyYW1lYnVmZmVyX3N1cmZhY2Uoc3RydWN0IHZtd19w cml2YXRlICpkZXZfcHJpdiwKIAkgKiBGb3IgRFgsIHN1cmZhY2UgZm9ybWF0IHZhbGlkYXRpb24g aXMgZG9uZSB3aGVuIHN1cmZhY2UtPnNjYW5vdXQKIAkgKiBpcyBzZXQuCiAJICovCi0JaWYgKCFk ZXZfcHJpdi0+aGFzX2R4ICYmIGZvcm1hdCAhPSBzdXJmYWNlLT5mb3JtYXQpIHsKKwlpZiAoIWhh c19zbTRfY29udGV4dChkZXZfcHJpdikgJiYgZm9ybWF0ICE9IHN1cmZhY2UtPmZvcm1hdCkgewog CQlEUk1fRVJST1IoIkludmFsaWQgc3VyZmFjZSBmb3JtYXQgZm9yIHJlcXVlc3RlZCBtb2RlLlxu Iik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X21vYi5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbW9iLmMK aW5kZXggMGE2YmJhYzAwODk2Li5lOGViNDI5MzNjYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X21vYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X21vYi5jCkBAIC0zMjAsNyArMzIwLDcgQEAgaW50IHZtd19vdGFibGVzX3NldHVwKHN0cnVj dCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3RydWN0IHZtd19vdGFibGUgKipvdGFibGVzID0g JmRldl9wcml2LT5vdGFibGVfYmF0Y2gub3RhYmxlczsKIAlpbnQgcmV0OwogCi0JaWYgKGRldl9w cml2LT5oYXNfZHgpIHsKKwlpZiAoaGFzX3NtNF9jb250ZXh0KGRldl9wcml2KSkgewogCQkqb3Rh YmxlcyA9IGttZW1kdXAoZHhfdGFibGVzLCBzaXplb2YoZHhfdGFibGVzKSwgR0ZQX0tFUk5FTCk7 CiAJCWlmICghKCpvdGFibGVzKSkKIAkJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jIGIvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfc3VyZmFjZS5jCmluZGV4IGVjODkzY2QxN2I1MC4uNGJhZDZlMmE3MDBkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdXJmYWNlLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jCkBAIC0xMDkyLDEyICsxMDky LDEyIEBAIHN0YXRpYyBpbnQgdm13X2diX3N1cmZhY2VfY3JlYXRlKHN0cnVjdCB2bXdfcmVzb3Vy Y2UgKnJlcykKIAkJZ290byBvdXRfbm9fZmlmbzsKIAl9CiAKLQlpZiAoZGV2X3ByaXYtPmhhc19z bTRfMSAmJiBzcmYtPmFycmF5X3NpemUgPiAwKSB7CisJaWYgKGhhc19zbTRfMV9jb250ZXh0KGRl dl9wcml2KSAmJiBzcmYtPmFycmF5X3NpemUgPiAwKSB7CiAJCWNtZF9pZCA9IFNWR0FfM0RfQ01E X0RFRklORV9HQl9TVVJGQUNFX1YzOwogCQljbWRfbGVuID0gc2l6ZW9mKGNtZDMtPmJvZHkpOwog CQlzdWJtaXRfbGVuID0gc2l6ZW9mKCpjbWQzKTsKIAl9IGVsc2UgaWYgKHNyZi0+YXJyYXlfc2l6 ZSA+IDApIHsKLQkJLyogaGFzX2R4IGNoZWNrZWQgb24gY3JlYXRpb24gdGltZS4gKi8KKwkJLyog Vk1XX1NNXzQgc3VwcG9ydCB2ZXJpZmllZCBhdCBjcmVhdGlvbiB0aW1lLiAqLwogCQljbWRfaWQg PSBTVkdBXzNEX0NNRF9ERUZJTkVfR0JfU1VSRkFDRV9WMjsKIAkJY21kX2xlbiA9IHNpemVvZihj bWQyLT5ib2R5KTsKIAkJc3VibWl0X2xlbiA9IHNpemVvZigqY21kMik7CkBAIC0xMTE1LDcgKzEx MTUsNyBAQCBzdGF0aWMgaW50IHZtd19nYl9zdXJmYWNlX2NyZWF0ZShzdHJ1Y3Qgdm13X3Jlc291 cmNlICpyZXMpCiAJCWdvdG8gb3V0X25vX2ZpZm87CiAJfQogCi0JaWYgKGRldl9wcml2LT5oYXNf c200XzEgJiYgc3JmLT5hcnJheV9zaXplID4gMCkgeworCWlmIChoYXNfc200XzFfY29udGV4dChk ZXZfcHJpdikgJiYgc3JmLT5hcnJheV9zaXplID4gMCkgewogCQljbWQzLT5oZWFkZXIuaWQgPSBj bWRfaWQ7CiAJCWNtZDMtPmhlYWRlci5zaXplID0gY21kX2xlbjsKIAkJY21kMy0+Ym9keS5zaWQg PSBzcmYtPnJlcy5pZDsKQEAgLTE0NDMsNyArMTQ0Myw3IEBAIGludCB2bXdfc3VyZmFjZV9nYl9w cml2X2RlZmluZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCS8qIGFycmF5X3NpemUg bXVzdCBiZSBudWxsIGZvciBub24tR0wzIGhvc3QuICovCi0JaWYgKGFycmF5X3NpemUgPiAwICYm ICFkZXZfcHJpdi0+aGFzX2R4KSB7CisJaWYgKGFycmF5X3NpemUgPiAwICYmICFoYXNfc200X2Nv bnRleHQoZGV2X3ByaXYpKSB7CiAJCVZNV19ERUJVR19VU0VSKCJUcmllZCB0byBjcmVhdGUgRFgg c3VyZmFjZSBvbiBub24tRFggaG9zdC5cbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0x NjAxLDcgKzE2MDEsNyBAQCB2bXdfZ2Jfc3VyZmFjZV9kZWZpbmVfaW50ZXJuYWwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJU1ZHQTNEX0ZMQUdTXzY0KHJlcS0+c3ZnYTNkX2ZsYWdzX3VwcGVy XzMyX2JpdHMsCiAJCQkJcmVxLT5iYXNlLnN2Z2EzZF9mbGFncyk7CiAKLQlpZiAoIWRldl9wcml2 LT5oYXNfc200XzEpIHsKKwlpZiAoIWhhc19zbTRfMV9jb250ZXh0KGRldl9wcml2KSkgewogCQkv KgogCQkgKiBJZiBTTTRfMSBpcyBub3Qgc3VwcG9ydCB0aGVuIGNhbm5vdCBzZW5kIDY0LWJpdCBm bGFnIHRvCiAJCSAqIGRldmljZS4KLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==