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=-12.3 required=3.0 tests=BAYES_00, 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 327E6C43465 for ; Mon, 21 Sep 2020 14:49:06 +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 E43A3221EC for ; Mon, 21 Sep 2020 14:49:05 +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="O9UphqQN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E43A3221EC 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 F13436E3BC; Mon, 21 Sep 2020 14:49:03 +0000 (UTC) Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id 184BB6E393 for ; Mon, 21 Sep 2020 14:49:02 +0000 (UTC) Received: by mail-wr1-x441.google.com with SMTP id z4so13083385wrr.4 for ; Mon, 21 Sep 2020 07:49:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=9bYRpCzqqCQQoOZencIvtNYBAbvzEyvUGj4RptnZTPk=; b=O9UphqQN4vc7sAZXRbCu876EajKInVPLxB01BBT0mFaB0Qp3EuPEDMJ3D2XgcTY1i4 qZWDM0UlgiRRxxsmpNc/QRRUR6N/cBJ9GIG/3+Gln8gEml/3wd2dHlDqNR/VwfswBwji h1cfSWzyTepfVH4925dZKxYfE9D27Q7F1MrQX5/Jk42F/zAVjSlETjRS0RT4d4g4ow62 qvUYSEUbHJ4YaFyt7xtN9+dO51Wfu4lIYOVcoAgpwlZNK4x12+XbX+e0XgL0j0LVCyQk TCbqHf7Hg4vMlEWAN8D0vLWn0hilnbHUdmTFeRWXByQFUut42Yq6X0fvn9iVjKmTUaRX zVHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9bYRpCzqqCQQoOZencIvtNYBAbvzEyvUGj4RptnZTPk=; b=h2y1qqHObpSHe2NzOV81fcpL03LznKVwd6bCdZ8S6IKosX/bpvvBUo1NaE6VPiZDJV SChr/M1NSoyDoO0tc8vqslrArRs+QIkXjifw2OQw9nKXouBcjAoFM4L/ixXIubxOuGeD jvh41RWaiXqSE89Ueul011BZ+FQpg7DLJIXpdEx9rO1quOwoFpb3Y+sP7wDkkNVfuFEf q1a8ucc8ybq0+FUT3hAOSVlbZ+TetGWKnuYIoHZLK6n1LSvunWy+OpGgtE3wLQBUFxwA bx3RzVtLQmdpTE0aTkpf7eaZmlOEVapuiBtz/1oSel1BIdP8YPzp5PpI9ops3qlpj9vu iRmg== X-Gm-Message-State: AOAM533iKPNV/9t2c4JVxby6ZIlnLv9TO1HV85MX4Gs7DG6ItEFlxzW7 p0z5ggVpDn/O2OtLqMlCoWeHjslSQrU= X-Google-Smtp-Source: ABdhPJy/0e7BZZn3bREycdCegHNv0eHvjlTAtipZxoStxsWO5tLVo1p1McvcNz6Izo8agUrEEC4NbQ== X-Received: by 2002:adf:9b8b:: with SMTP id d11mr131557wrc.71.1600699740374; Mon, 21 Sep 2020 07:49:00 -0700 (PDT) Received: from abel.fritz.box ([2a02:908:1252:fb60:3482:3104:ab8c:3ac2]) by smtp.gmail.com with ESMTPSA id i6sm23480992wra.1.2020.09.21.07.48.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Sep 2020 07:48:59 -0700 (PDT) From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" X-Google-Original-From: =?UTF-8?q?Christian=20K=C3=B6nig?= To: dri-devel@lists.freedesktop.org, airlied@gmail.com, tzimmermann@suse.de, bskeggs@redhat.com, kraxel@redhat.com, airlied@redhat.com, sroland@vmware.com Subject: [PATCH 02/11] drm/radeon: switch over to the new pin interface Date: Mon, 21 Sep 2020 16:48:47 +0200 Message-Id: <20200921144856.2797-3-christian.koenig@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200921144856.2797-1-christian.koenig@amd.com> References: <20200921144856.2797-1-christian.koenig@amd.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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" U3RvcCB1c2luZyBUVE1fUExfRkxBR19OT19FVklDVC4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlh biBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbi5oICAgICAgICAgfCAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9kaXNwbGF5LmMgfCAgOSArKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X29iamVjdC5jICB8IDM3ICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX29iamVjdC5oICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl90dG0uYyAgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25z KCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCBhNmQ4ZGUw MTE5NGEuLjVkNTRiY2NlYmQ0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb24uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCkBAIC00OTcsNyAr NDk3LDYgQEAgc3RydWN0IHJhZGVvbl9ibyB7CiAJc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0CXRi bzsKIAlzdHJ1Y3QgdHRtX2JvX2ttYXBfb2JqCQlrbWFwOwogCXUzMgkJCQlmbGFnczsKLQl1bnNp Z25lZAkJCXBpbl9jb3VudDsKIAl2b2lkCQkJCSprcHRyOwogCXUzMgkJCQl0aWxpbmdfZmxhZ3M7 CiAJdTMyCQkJCXBpdGNoOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCmlu ZGV4IDdiNjlkNmRmZTQ0YS4uM2VhY2YzM2JiZTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fZGlzcGxheS5jCkBAIC0yNzMsMTAgKzI3Myw3IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl91 bnBpbl93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCiAJLyogdW5waW4gb2Yg dGhlIG9sZCBidWZmZXIgKi8KIAlyID0gcmFkZW9uX2JvX3Jlc2VydmUod29yay0+b2xkX3Jibywg ZmFsc2UpOwogCWlmIChsaWtlbHkociA9PSAwKSkgewotCQlyID0gcmFkZW9uX2JvX3VucGluKHdv cmstPm9sZF9yYm8pOwotCQlpZiAodW5saWtlbHkociAhPSAwKSkgewotCQkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gdW5waW4gYnVmZmVyIGFmdGVyIGZsaXBcbiIpOwotCQl9CisJCXJhZGVvbl9ib191 bnBpbih3b3JrLT5vbGRfcmJvKTsKIAkJcmFkZW9uX2JvX3VucmVzZXJ2ZSh3b3JrLT5vbGRfcmJv KTsKIAl9IGVsc2UKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBidWZmZXIgYWZ0ZXIg ZmxpcFxuIik7CkBAIC02MDcsOSArNjA0LDcgQEAgc3RhdGljIGludCByYWRlb25fY3J0Y19wYWdl X2ZsaXBfdGFyZ2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJRFJNX0VSUk9SKCJmYWlsZWQg dG8gcmVzZXJ2ZSBuZXcgcmJvIGluIGVycm9yIHBhdGhcbiIpOwogCQlnb3RvIGNsZWFudXA7CiAJ fQotCWlmICh1bmxpa2VseShyYWRlb25fYm9fdW5waW4obmV3X3JibykgIT0gMCkpIHsKLQkJRFJN X0VSUk9SKCJmYWlsZWQgdG8gdW5waW4gbmV3IHJibyBpbiBlcnJvciBwYXRoXG4iKTsKLQl9CisJ cmFkZW9uX2JvX3VucGluKG5ld19yYm8pOwogCXJhZGVvbl9ib191bnJlc2VydmUobmV3X3Jibyk7 CiAKIGNsZWFudXA6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9v YmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jCmluZGV4IDMx NmUzNWQzZjhhOS4uMGRlMjY3YWIzOTEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9v YmplY3QuYwpAQCAtMzM0LDggKzMzNCw4IEBAIGludCByYWRlb25fYm9fcGluX3Jlc3RyaWN0ZWQo c3RydWN0IHJhZGVvbl9ibyAqYm8sIHUzMiBkb21haW4sIHU2NCBtYXhfb2Zmc2V0LAogCWlmIChy YWRlb25fdHRtX3R0X2hhc191c2VycHRyKGJvLT5yZGV2LCBiby0+dGJvLnR0bSkpCiAJCXJldHVy biAtRVBFUk07CiAKLQlpZiAoYm8tPnBpbl9jb3VudCkgewotCQliby0+cGluX2NvdW50Kys7CisJ aWYgKGJvLT50Ym8ucGluX2NvdW50KSB7CisJCXR0bV9ib19waW4oJmJvLT50Ym8pOwogCQlpZiAo Z3B1X2FkZHIpCiAJCQkqZ3B1X2FkZHIgPSByYWRlb25fYm9fZ3B1X29mZnNldChibyk7CiAKQEAg LTM2NywxMyArMzY3LDExIEBAIGludCByYWRlb25fYm9fcGluX3Jlc3RyaWN0ZWQoc3RydWN0IHJh ZGVvbl9ibyAqYm8sIHUzMiBkb21haW4sIHU2NCBtYXhfb2Zmc2V0LAogCQkJCWJvLT5yZGV2LT5t Yy52aXNpYmxlX3ZyYW1fc2l6ZSA+PiBQQUdFX1NISUZUOwogCQllbHNlCiAJCQliby0+cGxhY2Vt ZW50c1tpXS5scGZuID0gbWF4X29mZnNldCA+PiBQQUdFX1NISUZUOwotCi0JCWJvLT5wbGFjZW1l bnRzW2ldLmZsYWdzIHw9IFRUTV9QTF9GTEFHX05PX0VWSUNUOwogCX0KIAogCXIgPSB0dG1fYm9f dmFsaWRhdGUoJmJvLT50Ym8sICZiby0+cGxhY2VtZW50LCAmY3R4KTsKIAlpZiAobGlrZWx5KHIg PT0gMCkpIHsKLQkJYm8tPnBpbl9jb3VudCA9IDE7CisJCXR0bV9ib19waW4oJmJvLT50Ym8pOwog CQlpZiAoZ3B1X2FkZHIgIT0gTlVMTCkKIAkJCSpncHVfYWRkciA9IHJhZGVvbl9ib19ncHVfb2Zm c2V0KGJvKTsKIAkJaWYgKGRvbWFpbiA9PSBSQURFT05fR0VNX0RPTUFJTl9WUkFNKQpAQCAtMzkx LDMyICszODksMTUgQEAgaW50IHJhZGVvbl9ib19waW4oc3RydWN0IHJhZGVvbl9ibyAqYm8sIHUz MiBkb21haW4sIHU2NCAqZ3B1X2FkZHIpCiAJcmV0dXJuIHJhZGVvbl9ib19waW5fcmVzdHJpY3Rl ZChibywgZG9tYWluLCAwLCBncHVfYWRkcik7CiB9CiAKLWludCByYWRlb25fYm9fdW5waW4oc3Ry dWN0IHJhZGVvbl9ibyAqYm8pCit2b2lkIHJhZGVvbl9ib191bnBpbihzdHJ1Y3QgcmFkZW9uX2Jv ICpibykKIHsKLQlzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggY3R4ID0geyBmYWxzZSwgZmFsc2Ug fTsKLQlpbnQgciwgaTsKLQotCWlmICghYm8tPnBpbl9jb3VudCkgewotCQlkZXZfd2Fybihiby0+ cmRldi0+ZGV2LCAiJXAgdW5waW4gbm90IG5lY2Vzc2FyeVxuIiwgYm8pOwotCQlyZXR1cm4gMDsK LQl9Ci0JYm8tPnBpbl9jb3VudC0tOwotCWlmIChiby0+cGluX2NvdW50KQotCQlyZXR1cm4gMDsK LQlmb3IgKGkgPSAwOyBpIDwgYm8tPnBsYWNlbWVudC5udW1fcGxhY2VtZW50OyBpKyspIHsKLQkJ Ym8tPnBsYWNlbWVudHNbaV0ubHBmbiA9IDA7Ci0JCWJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICY9 IH5UVE1fUExfRkxBR19OT19FVklDVDsKLQl9Ci0JciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRi bywgJmJvLT5wbGFjZW1lbnQsICZjdHgpOwotCWlmIChsaWtlbHkociA9PSAwKSkgeworCXR0bV9i b191bnBpbigmYm8tPnRibyk7CisJaWYgKCFiby0+dGJvLnBpbl9jb3VudCkgewogCQlpZiAoYm8t PnRiby5tZW0ubWVtX3R5cGUgPT0gVFRNX1BMX1ZSQU0pCiAJCQliby0+cmRldi0+dnJhbV9waW5f c2l6ZSAtPSByYWRlb25fYm9fc2l6ZShibyk7CiAJCWVsc2UKIAkJCWJvLT5yZGV2LT5nYXJ0X3Bp bl9zaXplIC09IHJhZGVvbl9ib19zaXplKGJvKTsKLQl9IGVsc2UgewotCQlkZXZfZXJyKGJvLT5y ZGV2LT5kZXYsICIlcCB2YWxpZGF0ZSBmYWlsZWQgZm9yIHVucGluXG4iLCBibyk7CiAJfQotCXJl dHVybiByOwogfQogCiBpbnQgcmFkZW9uX2JvX2V2aWN0X3ZyYW0oc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpCkBAIC01NDksNyArNTMwLDcgQEAgaW50IHJhZGVvbl9ib19saXN0X3ZhbGlkYXRl KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShsb2Jq LCBoZWFkLCB0di5oZWFkKSB7CiAJCXN0cnVjdCByYWRlb25fYm8gKmJvID0gbG9iai0+cm9iajsK LQkJaWYgKCFiby0+cGluX2NvdW50KSB7CisJCWlmICghYm8tPnRiby5waW5fY291bnQpIHsKIAkJ CXUzMiBkb21haW4gPSBsb2JqLT5wcmVmZXJyZWRfZG9tYWluczsKIAkJCXUzMiBhbGxvd2VkID0g bG9iai0+YWxsb3dlZF9kb21haW5zOwogCQkJdTMyIGN1cnJlbnRfZG9tYWluID0KQEAgLTYyOSw3 ICs2MTAsNyBAQCBpbnQgcmFkZW9uX2JvX2dldF9zdXJmYWNlX3JlZyhzdHJ1Y3QgcmFkZW9uX2Jv ICpibykKIAkJCWJyZWFrOwogCiAJCW9sZF9vYmplY3QgPSByZWctPmJvOwotCQlpZiAob2xkX29i amVjdC0+cGluX2NvdW50ID09IDApCisJCWlmIChvbGRfb2JqZWN0LT50Ym8ucGluX2NvdW50ID09 IDApCiAJCQlzdGVhbCA9IGk7CiAJfQogCkBAIC04MTYsNyArNzk3LDcgQEAgaW50IHJhZGVvbl9i b19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQogCQly ZXR1cm4gMDsKIAogCS8qIENhbid0IG1vdmUgYSBwaW5uZWQgQk8gdG8gdmlzaWJsZSBWUkFNICov Ci0JaWYgKHJiby0+cGluX2NvdW50ID4gMCkKKwlpZiAocmJvLT50Ym8ucGluX2NvdW50ID4gMCkK IAkJcmV0dXJuIC1FSU5WQUw7CiAKIAkvKiBodXJyYWggdGhlIG1lbW9yeSBpcyBub3QgdmlzaWJs ZSAhICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3Qu aCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5oCmluZGV4IDQ0YjQ3MjQx ZWU0Mi4uZTA5N2E5MTUyNzdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3Qu aApAQCAtMTQ5LDcgKzE0OSw3IEBAIGV4dGVybiB2b2lkIHJhZGVvbl9ib191bnJlZihzdHJ1Y3Qg cmFkZW9uX2JvICoqYm8pOwogZXh0ZXJuIGludCByYWRlb25fYm9fcGluKHN0cnVjdCByYWRlb25f Ym8gKmJvLCB1MzIgZG9tYWluLCB1NjQgKmdwdV9hZGRyKTsKIGV4dGVybiBpbnQgcmFkZW9uX2Jv X3Bpbl9yZXN0cmljdGVkKHN0cnVjdCByYWRlb25fYm8gKmJvLCB1MzIgZG9tYWluLAogCQkJCSAg ICB1NjQgbWF4X29mZnNldCwgdTY0ICpncHVfYWRkcik7Ci1leHRlcm4gaW50IHJhZGVvbl9ib191 bnBpbihzdHJ1Y3QgcmFkZW9uX2JvICpibyk7CitleHRlcm4gdm9pZCByYWRlb25fYm9fdW5waW4o c3RydWN0IHJhZGVvbl9ibyAqYm8pOwogZXh0ZXJuIGludCByYWRlb25fYm9fZXZpY3RfdnJhbShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiBleHRlcm4gdm9pZCByYWRlb25fYm9fZm9yY2Vf ZGVsZXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIGV4dGVybiBpbnQgcmFkZW9uX2Jv X2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl90dG0uYwppbmRleCAzNjE1MGI3ZjMxYTkuLjA4NWY1OGU4MzNkOCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fdHRtLmMKQEAgLTMxMCw3ICszMTAsNyBAQCBzdGF0aWMgaW50IHJhZGVvbl9i b19tb3ZlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sIGJvb2wgZXZpY3QsCiAKIAkvKiBD YW4ndCBtb3ZlIGEgcGlubmVkIEJPICovCiAJcmJvID0gY29udGFpbmVyX29mKGJvLCBzdHJ1Y3Qg cmFkZW9uX2JvLCB0Ym8pOwotCWlmIChXQVJOX09OX09OQ0UocmJvLT5waW5fY291bnQgPiAwKSkK KwlpZiAoV0FSTl9PTl9PTkNFKHJiby0+dGJvLnBpbl9jb3VudCA+IDApKQogCQlyZXR1cm4gLUVJ TlZBTDsKIAogCXJkZXYgPSByYWRlb25fZ2V0X3JkZXYoYm8tPmJkZXYpOwotLSAKMi4xNy4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK