From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Subject: [PATCH 1/2] drm: replace Compliance/Margin magic numbers with PCI_EXP_LNKCTL2 definitions Date: Thu, 7 Nov 2019 16:20:46 -0600 Message-ID: <20191107222047.125496-2-helgaas@kernel.org> References: <20191107222047.125496-1-helgaas@kernel.org> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20191107222047.125496-1-helgaas@kernel.org> Sender: linux-kernel-owner@vger.kernel.org To: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Zhou , David Airlie , Daniel Vetter Cc: Frederick Lawler , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bjorn Helgaas List-Id: amd-gfx.lists.freedesktop.org From: Bjorn Helgaas Add definitions for these PCIe Link Control 2 register fields: Enter Compliance Transmit Margin and use them in amdgpu and radeon. NOTE: This is a functional change because "7 << 9" looks like it might be a typo. That mask includes the high order bit of Transmit Margin, the Enter Modified Compliance bit, and the Compliance SOS bit. I'm just guessing that what was intended was the 3-bit Transmit Margit field at bits 9:7. Please check to see whether this is correct. --- drivers/gpu/drm/amd/amdgpu/cik.c | 14 ++++++++++---- drivers/gpu/drm/amd/amdgpu/si.c | 10 +++++++--- drivers/gpu/drm/radeon/cik.c | 14 ++++++++++---- drivers/gpu/drm/radeon/si.c | 14 ++++++++++---- include/uapi/linux/pci_regs.h | 2 ++ 5 files changed, 39 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/cik.c b/drivers/gpu/drm/amd/amdgpu/cik.c index b81bb414fcb3..e4a595cdd4c1 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik.c +++ b/drivers/gpu/drm/amd/amdgpu/cik.c @@ -1498,13 +1498,19 @@ static void cik_pcie_gen3_enable(struct amdgpu_device *adev) /* linkctl2 */ pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (bridge_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (bridge_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, tmp16); pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (gpu_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (gpu_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, tmp16); tmp = RREG32_PCIE(ixPCIE_LC_CNTL4); diff --git a/drivers/gpu/drm/amd/amdgpu/si.c b/drivers/gpu/drm/amd/amdgpu/si.c index 493af42152f2..cf543410a424 100644 --- a/drivers/gpu/drm/amd/amdgpu/si.c +++ b/drivers/gpu/drm/amd/amdgpu/si.c @@ -1737,12 +1737,16 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev) pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL, tmp16); pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (bridge_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (bridge_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, tmp16); pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); tmp16 |= (gpu_cfg2 & ((1 << 4) | (7 << 9))); pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, tmp16); diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index 62eab82a64f9..95ffa0bff2d8 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c @@ -9619,13 +9619,19 @@ static void cik_pcie_gen3_enable(struct radeon_device *rdev) /* linkctl2 */ pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (bridge_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (bridge_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, tmp16); pci_read_config_word(rdev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (gpu_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (gpu_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(rdev->pdev, gpu_pos + PCI_EXP_LNKCTL2, tmp16); tmp = RREG32_PCIE_PORT(PCIE_LC_CNTL4); diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 05894d198a79..69993d34d1e9 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c @@ -7202,13 +7202,19 @@ static void si_pcie_gen3_enable(struct radeon_device *rdev) /* linkctl2 */ pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (bridge_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (bridge_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, tmp16); pci_read_config_word(rdev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &tmp16); - tmp16 &= ~((1 << 4) | (7 << 9)); - tmp16 |= (gpu_cfg2 & ((1 << 4) | (7 << 9))); + tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN); + tmp16 |= (gpu_cfg2 & + (PCI_EXP_LNKCTL2_ENTER_COMP | + PCI_EXP_LNKCTL2_TX_MARGIN)); pci_write_config_word(rdev->pdev, gpu_pos + PCI_EXP_LNKCTL2, tmp16); tmp = RREG32_PCIE_PORT(PCIE_LC_CNTL4); diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 29d6e93fd15e..03446be8a7be 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h @@ -673,6 +673,8 @@ #define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 /* Supported Speed 8GT/s */ #define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 /* Supported Speed 16GT/s */ #define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 /* Supported Speed 32GT/s */ +#define PCI_EXP_LNKCTL2_ENTER_COMP 0x0010 /* Enter Compliance */ +#define PCI_EXP_LNKCTL2_TX_MARGIN 0x0380 /* Enter Compliance */ #define PCI_EXP_LNKSTA2 50 /* Link Status 2 */ #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 52 /* v2 endpoints with link end here */ #define PCI_EXP_SLTCAP2 52 /* Slot Capabilities 2 */ -- 2.24.0.rc1.363.gb1bccd3e3d-goog 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=-7.0 required=3.0 tests=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 6E4B1C43331 for ; Thu, 7 Nov 2019 22:21:41 +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 465CC2166E for ; Thu, 7 Nov 2019 22:21:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 465CC2166E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0D9306F7E5; Thu, 7 Nov 2019 22:21:41 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F9B26F7E5; Thu, 7 Nov 2019 22:21:40 +0000 (UTC) Received: from localhost (unknown [69.71.4.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 387CE206C3; Thu, 7 Nov 2019 22:21:39 +0000 (UTC) From: Bjorn Helgaas To: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Zhou , David Airlie , Daniel Vetter Subject: [PATCH 1/2] drm: replace Compliance/Margin magic numbers with PCI_EXP_LNKCTL2 definitions Date: Thu, 7 Nov 2019 16:20:46 -0600 Message-Id: <20191107222047.125496-2-helgaas@kernel.org> X-Mailer: git-send-email 2.24.0.rc1.363.gb1bccd3e3d-goog In-Reply-To: <20191107222047.125496-1-helgaas@kernel.org> References: <20191107222047.125496-1-helgaas@kernel.org> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573165299; bh=3MJyFtxXI1+jRNSb0Zl0vnk1Cpacp1MdenMuOmIWWLQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dvzb1dmHHqc9o63wD5l8AYR+5jQYafUKz1t0p+mDr9yfv86JzIbnxk7e2YO02FP/m hH1Yz4TfYjlc4SzC7u/ZciAmvp/xyuCQgc5+5S6Pk4kK/LDs7CM0NTr6daxtHuu62L ol0Md7m2NLjow+oVaKZ3WP2aaUTupJRlKGCyV8zA= X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bjorn Helgaas , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, Frederick Lawler , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" Message-ID: <20191107222046.RzP2EYmcLYESoZekiF0RxyvvRV38PYUAE6sYxr7LkuE@z> RnJvbTogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4KCkFkZCBkZWZpbml0aW9u cyBmb3IgdGhlc2UgUENJZSBMaW5rIENvbnRyb2wgMiByZWdpc3RlciBmaWVsZHM6CgogIEVudGVy IENvbXBsaWFuY2UKICBUcmFuc21pdCBNYXJnaW4KCmFuZCB1c2UgdGhlbSBpbiBhbWRncHUgYW5k IHJhZGVvbi4KCk5PVEU6IFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBiZWNhdXNlICI3IDw8 IDkiIGxvb2tzIGxpa2UgaXQgbWlnaHQgYmUgYQp0eXBvLiAgVGhhdCBtYXNrIGluY2x1ZGVzIHRo ZSBoaWdoIG9yZGVyIGJpdCBvZiBUcmFuc21pdCBNYXJnaW4sIHRoZSBFbnRlcgpNb2RpZmllZCBD b21wbGlhbmNlIGJpdCwgYW5kIHRoZSBDb21wbGlhbmNlIFNPUyBiaXQuICBJJ20ganVzdCBndWVz c2luZwp0aGF0IHdoYXQgd2FzIGludGVuZGVkIHdhcyB0aGUgMy1iaXQgVHJhbnNtaXQgTWFyZ2l0 IGZpZWxkIGF0IGJpdHMgOTo3LgpQbGVhc2UgY2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhpcyBpcyBj b3JyZWN0LgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jIHwgMTQgKysrKysr KysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMgIHwgMTAgKysrKysrKy0t LQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyAgICAgfCAxNCArKysrKysrKysrLS0tLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jICAgICAgfCAxNCArKysrKysrKysrLS0tLQogaW5j bHVkZS91YXBpL2xpbnV4L3BjaV9yZWdzLmggICAgfCAgMiArKwogNSBmaWxlcyBjaGFuZ2VkLCAz OSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5j CmluZGV4IGI4MWJiNDE0ZmNiMy4uZTRhNTk1Y2RkNGMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j aWsuYwpAQCAtMTQ5OCwxMyArMTQ5OCwxOSBAQCBzdGF0aWMgdm9pZCBjaWtfcGNpZV9nZW4zX2Vu YWJsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAogCQkJCS8qIGxpbmtjdGwyICovCiAJ CQkJcGNpX3JlYWRfY29uZmlnX3dvcmQocm9vdCwgYnJpZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RM MiwgJnRtcDE2KTsKLQkJCQl0bXAxNiAmPSB+KCgxIDw8IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRt cDE2IHw9IChicmlkZ2VfY2ZnMiAmICgoMSA8PCA0KSB8ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYg Jj0gfihQQ0lfRVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RM Ml9UWF9NQVJHSU4pOworCQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9F WFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJ TikpOwogCQkJCXBjaV93cml0ZV9jb25maWdfd29yZChyb290LCBicmlkZ2VfcG9zICsgUENJX0VY UF9MTktDVEwyLCB0bXAxNik7CiAKIAkJCQlwY2lfcmVhZF9jb25maWdfd29yZChhZGV2LT5wZGV2 LCBncHVfcG9zICsgUENJX0VYUF9MTktDVEwyLCAmdG1wMTYpOwotCQkJCXRtcDE2ICY9IH4oKDEg PDwgNCkgfCAoNyA8PCA5KSk7Ci0JCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYgKCgxIDw8IDQpIHwg KDcgPDwgOSkpKTsKKwkJCQl0bXAxNiAmPSB+KFBDSV9FWFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwK KwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJTik7CisJCQkJdG1wMTYgfD0gKGdwdV9j ZmcyICYKKwkJCQkJICAoUENJX0VYUF9MTktDVEwyX0VOVEVSX0NPTVAgfAorCQkJCQkgICBQQ0lf RVhQX0xOS0NUTDJfVFhfTUFSR0lOKSk7CiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGFkZXYt PnBkZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIsIHRtcDE2KTsKIAogCQkJCXRtcCA9IFJS RUczMl9QQ0lFKGl4UENJRV9MQ19DTlRMNCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9zaS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYwppbmRleCA0 OTNhZjQyMTUyZjIuLmNmNTQzNDEwYTQyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaS5jCkBAIC0x NzM3LDEyICsxNzM3LDE2IEBAIHN0YXRpYyB2b2lkIHNpX3BjaWVfZ2VuM19lbmFibGUoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGFkZXYtPnBk ZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTCwgdG1wMTYpOwogCiAJCQkJcGNpX3JlYWRfY29u ZmlnX3dvcmQocm9vdCwgYnJpZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RMMiwgJnRtcDE2KTsKLQkJ CQl0bXAxNiAmPSB+KCgxIDw8IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRtcDE2IHw9IChicmlkZ2Vf Y2ZnMiAmICgoMSA8PCA0KSB8ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYgJj0gfihQQ0lfRVhQX0xO S0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJHSU4pOwor CQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9FWFBfTE5LQ1RMMl9FTlRF Ul9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJTikpOwogCQkJCXBjaV93 cml0ZV9jb25maWdfd29yZChyb290LCBicmlkZ2VfcG9zICsgUENJX0VYUF9MTktDVEwyLCB0bXAx Nik7CiAKIAkJCQlwY2lfcmVhZF9jb25maWdfd29yZChhZGV2LT5wZGV2LCBncHVfcG9zICsgUENJ X0VYUF9MTktDVEwyLCAmdG1wMTYpOwotCQkJCXRtcDE2ICY9IH4oKDEgPDwgNCkgfCAoNyA8PCA5 KSk7CisJCQkJdG1wMTYgJj0gfihQQ0lfRVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAg IFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJHSU4pOwogCQkJCXRtcDE2IHw9IChncHVfY2ZnMiAmICgo MSA8PCA0KSB8ICg3IDw8IDkpKSk7CiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGFkZXYtPnBk ZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIsIHRtcDE2KTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMK aW5kZXggNjJlYWI4MmE2NGY5Li45NWZmYTBiZmYyZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vY2lrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYwpAQCAt OTYxOSwxMyArOTYxOSwxOSBAQCBzdGF0aWMgdm9pZCBjaWtfcGNpZV9nZW4zX2VuYWJsZShzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAogCQkJCS8qIGxpbmtjdGwyICovCiAJCQkJcGNpX3Jl YWRfY29uZmlnX3dvcmQocm9vdCwgYnJpZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RMMiwgJnRtcDE2 KTsKLQkJCQl0bXAxNiAmPSB+KCgxIDw8IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRtcDE2IHw9IChi cmlkZ2VfY2ZnMiAmICgoMSA8PCA0KSB8ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYgJj0gfihQQ0lf RVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJH SU4pOworCQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9FWFBfTE5LQ1RM Ml9FTlRFUl9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJTikpOwogCQkJ CXBjaV93cml0ZV9jb25maWdfd29yZChyb290LCBicmlkZ2VfcG9zICsgUENJX0VYUF9MTktDVEwy LCB0bXAxNik7CiAKIAkJCQlwY2lfcmVhZF9jb25maWdfd29yZChyZGV2LT5wZGV2LCBncHVfcG9z ICsgUENJX0VYUF9MTktDVEwyLCAmdG1wMTYpOwotCQkJCXRtcDE2ICY9IH4oKDEgPDwgNCkgfCAo NyA8PCA5KSk7Ci0JCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYgKCgxIDw8IDQpIHwgKDcgPDwgOSkp KTsKKwkJCQl0bXAxNiAmPSB+KFBDSV9FWFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAg UENJX0VYUF9MTktDVEwyX1RYX01BUkdJTik7CisJCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYKKwkJ CQkJICAoUENJX0VYUF9MTktDVEwyX0VOVEVSX0NPTVAgfAorCQkJCQkgICBQQ0lfRVhQX0xOS0NU TDJfVFhfTUFSR0lOKSk7CiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKHJkZXYtPnBkZXYsIGdw dV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIsIHRtcDE2KTsKIAogCQkJCXRtcCA9IFJSRUczMl9QQ0lF X1BPUlQoUENJRV9MQ19DTlRMNCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3NpLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKaW5kZXggMDU4OTRkMTk4YTc5Li42 OTk5M2QzNGQxZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKQEAgLTcyMDIsMTMgKzcyMDIsMTkgQEAgc3Rh dGljIHZvaWQgc2lfcGNpZV9nZW4zX2VuYWJsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikK IAogCQkJCS8qIGxpbmtjdGwyICovCiAJCQkJcGNpX3JlYWRfY29uZmlnX3dvcmQocm9vdCwgYnJp ZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RMMiwgJnRtcDE2KTsKLQkJCQl0bXAxNiAmPSB+KCgxIDw8 IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmICgoMSA8PCA0KSB8 ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYgJj0gfihQQ0lfRVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8 CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJHSU4pOworCQkJCXRtcDE2IHw9IChicmlk Z2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9FWFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAg UENJX0VYUF9MTktDVEwyX1RYX01BUkdJTikpOwogCQkJCXBjaV93cml0ZV9jb25maWdfd29yZChy b290LCBicmlkZ2VfcG9zICsgUENJX0VYUF9MTktDVEwyLCB0bXAxNik7CiAKIAkJCQlwY2lfcmVh ZF9jb25maWdfd29yZChyZGV2LT5wZGV2LCBncHVfcG9zICsgUENJX0VYUF9MTktDVEwyLCAmdG1w MTYpOwotCQkJCXRtcDE2ICY9IH4oKDEgPDwgNCkgfCAoNyA8PCA5KSk7Ci0JCQkJdG1wMTYgfD0g KGdwdV9jZmcyICYgKCgxIDw8IDQpIHwgKDcgPDwgOSkpKTsKKwkJCQl0bXAxNiAmPSB+KFBDSV9F WFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJ Tik7CisJCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYKKwkJCQkJICAoUENJX0VYUF9MTktDVEwyX0VO VEVSX0NPTVAgfAorCQkJCQkgICBQQ0lfRVhQX0xOS0NUTDJfVFhfTUFSR0lOKSk7CiAJCQkJcGNp X3dyaXRlX2NvbmZpZ193b3JkKHJkZXYtPnBkZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIs IHRtcDE2KTsKIAogCQkJCXRtcCA9IFJSRUczMl9QQ0lFX1BPUlQoUENJRV9MQ19DTlRMNCk7CmRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvcGNpX3JlZ3MuaCBiL2luY2x1ZGUvdWFwaS9s aW51eC9wY2lfcmVncy5oCmluZGV4IDI5ZDZlOTNmZDE1ZS4uMDM0NDZiZThhN2JlIDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvbGludXgvcGNpX3JlZ3MuaAorKysgYi9pbmNsdWRlL3VhcGkvbGlu dXgvcGNpX3JlZ3MuaApAQCAtNjczLDYgKzY3Myw4IEBACiAjZGVmaW5lICBQQ0lfRVhQX0xOS0NU TDJfVExTXzhfMEdUCTB4MDAwMyAvKiBTdXBwb3J0ZWQgU3BlZWQgOEdUL3MgKi8KICNkZWZpbmUg IFBDSV9FWFBfTE5LQ1RMMl9UTFNfMTZfMEdUCTB4MDAwNCAvKiBTdXBwb3J0ZWQgU3BlZWQgMTZH VC9zICovCiAjZGVmaW5lICBQQ0lfRVhQX0xOS0NUTDJfVExTXzMyXzBHVAkweDAwMDUgLyogU3Vw cG9ydGVkIFNwZWVkIDMyR1QvcyAqLworI2RlZmluZSAgUENJX0VYUF9MTktDVEwyX0VOVEVSX0NP TVAJMHgwMDEwIC8qIEVudGVyIENvbXBsaWFuY2UgKi8KKyNkZWZpbmUgIFBDSV9FWFBfTE5LQ1RM Ml9UWF9NQVJHSU4JMHgwMzgwIC8qIEVudGVyIENvbXBsaWFuY2UgKi8KICNkZWZpbmUgUENJX0VY UF9MTktTVEEyCQk1MAkvKiBMaW5rIFN0YXR1cyAyICovCiAjZGVmaW5lIFBDSV9DQVBfRVhQX0VO RFBPSU5UX1NJWkVPRl9WMgk1MgkvKiB2MiBlbmRwb2ludHMgd2l0aCBsaW5rIGVuZCBoZXJlICov CiAjZGVmaW5lIFBDSV9FWFBfU0xUQ0FQMgkJNTIJLyogU2xvdCBDYXBhYmlsaXRpZXMgMiAqLwot LSAKMi4yNC4wLnJjMS4zNjMuZ2IxYmNjZDNlM2QtZ29vZwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbWQtZ2Z4 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=-7.0 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable 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 F38D5C43331 for ; Thu, 7 Nov 2019 22:21:41 +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 CE3732166E for ; Thu, 7 Nov 2019 22:21:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CE3732166E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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 1C2DB6F7E6; Thu, 7 Nov 2019 22:21:41 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F9B26F7E5; Thu, 7 Nov 2019 22:21:40 +0000 (UTC) Received: from localhost (unknown [69.71.4.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 387CE206C3; Thu, 7 Nov 2019 22:21:39 +0000 (UTC) From: Bjorn Helgaas To: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Zhou , David Airlie , Daniel Vetter Subject: [PATCH 1/2] drm: replace Compliance/Margin magic numbers with PCI_EXP_LNKCTL2 definitions Date: Thu, 7 Nov 2019 16:20:46 -0600 Message-Id: <20191107222047.125496-2-helgaas@kernel.org> X-Mailer: git-send-email 2.24.0.rc1.363.gb1bccd3e3d-goog In-Reply-To: <20191107222047.125496-1-helgaas@kernel.org> References: <20191107222047.125496-1-helgaas@kernel.org> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573165299; bh=3MJyFtxXI1+jRNSb0Zl0vnk1Cpacp1MdenMuOmIWWLQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dvzb1dmHHqc9o63wD5l8AYR+5jQYafUKz1t0p+mDr9yfv86JzIbnxk7e2YO02FP/m hH1Yz4TfYjlc4SzC7u/ZciAmvp/xyuCQgc5+5S6Pk4kK/LDs7CM0NTr6daxtHuu62L ol0Md7m2NLjow+oVaKZ3WP2aaUTupJRlKGCyV8zA= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bjorn Helgaas , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, Frederick Lawler , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191107222046.H6NAuOQN_FK9_HgdceSwnMSPEg2E08DYM_SFqzszdNs@z> RnJvbTogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4KCkFkZCBkZWZpbml0aW9u cyBmb3IgdGhlc2UgUENJZSBMaW5rIENvbnRyb2wgMiByZWdpc3RlciBmaWVsZHM6CgogIEVudGVy IENvbXBsaWFuY2UKICBUcmFuc21pdCBNYXJnaW4KCmFuZCB1c2UgdGhlbSBpbiBhbWRncHUgYW5k IHJhZGVvbi4KCk5PVEU6IFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBiZWNhdXNlICI3IDw8 IDkiIGxvb2tzIGxpa2UgaXQgbWlnaHQgYmUgYQp0eXBvLiAgVGhhdCBtYXNrIGluY2x1ZGVzIHRo ZSBoaWdoIG9yZGVyIGJpdCBvZiBUcmFuc21pdCBNYXJnaW4sIHRoZSBFbnRlcgpNb2RpZmllZCBD b21wbGlhbmNlIGJpdCwgYW5kIHRoZSBDb21wbGlhbmNlIFNPUyBiaXQuICBJJ20ganVzdCBndWVz c2luZwp0aGF0IHdoYXQgd2FzIGludGVuZGVkIHdhcyB0aGUgMy1iaXQgVHJhbnNtaXQgTWFyZ2l0 IGZpZWxkIGF0IGJpdHMgOTo3LgpQbGVhc2UgY2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhpcyBpcyBj b3JyZWN0LgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jIHwgMTQgKysrKysr KysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMgIHwgMTAgKysrKysrKy0t LQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyAgICAgfCAxNCArKysrKysrKysrLS0tLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jICAgICAgfCAxNCArKysrKysrKysrLS0tLQogaW5j bHVkZS91YXBpL2xpbnV4L3BjaV9yZWdzLmggICAgfCAgMiArKwogNSBmaWxlcyBjaGFuZ2VkLCAz OSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5j CmluZGV4IGI4MWJiNDE0ZmNiMy4uZTRhNTk1Y2RkNGMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j aWsuYwpAQCAtMTQ5OCwxMyArMTQ5OCwxOSBAQCBzdGF0aWMgdm9pZCBjaWtfcGNpZV9nZW4zX2Vu YWJsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAogCQkJCS8qIGxpbmtjdGwyICovCiAJ CQkJcGNpX3JlYWRfY29uZmlnX3dvcmQocm9vdCwgYnJpZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RM MiwgJnRtcDE2KTsKLQkJCQl0bXAxNiAmPSB+KCgxIDw8IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRt cDE2IHw9IChicmlkZ2VfY2ZnMiAmICgoMSA8PCA0KSB8ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYg Jj0gfihQQ0lfRVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RM Ml9UWF9NQVJHSU4pOworCQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9F WFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJ TikpOwogCQkJCXBjaV93cml0ZV9jb25maWdfd29yZChyb290LCBicmlkZ2VfcG9zICsgUENJX0VY UF9MTktDVEwyLCB0bXAxNik7CiAKIAkJCQlwY2lfcmVhZF9jb25maWdfd29yZChhZGV2LT5wZGV2 LCBncHVfcG9zICsgUENJX0VYUF9MTktDVEwyLCAmdG1wMTYpOwotCQkJCXRtcDE2ICY9IH4oKDEg PDwgNCkgfCAoNyA8PCA5KSk7Ci0JCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYgKCgxIDw8IDQpIHwg KDcgPDwgOSkpKTsKKwkJCQl0bXAxNiAmPSB+KFBDSV9FWFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwK KwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJTik7CisJCQkJdG1wMTYgfD0gKGdwdV9j ZmcyICYKKwkJCQkJICAoUENJX0VYUF9MTktDVEwyX0VOVEVSX0NPTVAgfAorCQkJCQkgICBQQ0lf RVhQX0xOS0NUTDJfVFhfTUFSR0lOKSk7CiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGFkZXYt PnBkZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIsIHRtcDE2KTsKIAogCQkJCXRtcCA9IFJS RUczMl9QQ0lFKGl4UENJRV9MQ19DTlRMNCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9zaS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYwppbmRleCA0 OTNhZjQyMTUyZjIuLmNmNTQzNDEwYTQyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaS5jCkBAIC0x NzM3LDEyICsxNzM3LDE2IEBAIHN0YXRpYyB2b2lkIHNpX3BjaWVfZ2VuM19lbmFibGUoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGFkZXYtPnBk ZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTCwgdG1wMTYpOwogCiAJCQkJcGNpX3JlYWRfY29u ZmlnX3dvcmQocm9vdCwgYnJpZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RMMiwgJnRtcDE2KTsKLQkJ CQl0bXAxNiAmPSB+KCgxIDw8IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRtcDE2IHw9IChicmlkZ2Vf Y2ZnMiAmICgoMSA8PCA0KSB8ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYgJj0gfihQQ0lfRVhQX0xO S0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJHSU4pOwor CQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9FWFBfTE5LQ1RMMl9FTlRF Ul9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJTikpOwogCQkJCXBjaV93 cml0ZV9jb25maWdfd29yZChyb290LCBicmlkZ2VfcG9zICsgUENJX0VYUF9MTktDVEwyLCB0bXAx Nik7CiAKIAkJCQlwY2lfcmVhZF9jb25maWdfd29yZChhZGV2LT5wZGV2LCBncHVfcG9zICsgUENJ X0VYUF9MTktDVEwyLCAmdG1wMTYpOwotCQkJCXRtcDE2ICY9IH4oKDEgPDwgNCkgfCAoNyA8PCA5 KSk7CisJCQkJdG1wMTYgJj0gfihQQ0lfRVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAg IFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJHSU4pOwogCQkJCXRtcDE2IHw9IChncHVfY2ZnMiAmICgo MSA8PCA0KSB8ICg3IDw8IDkpKSk7CiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGFkZXYtPnBk ZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIsIHRtcDE2KTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMK aW5kZXggNjJlYWI4MmE2NGY5Li45NWZmYTBiZmYyZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vY2lrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYwpAQCAt OTYxOSwxMyArOTYxOSwxOSBAQCBzdGF0aWMgdm9pZCBjaWtfcGNpZV9nZW4zX2VuYWJsZShzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAogCQkJCS8qIGxpbmtjdGwyICovCiAJCQkJcGNpX3Jl YWRfY29uZmlnX3dvcmQocm9vdCwgYnJpZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RMMiwgJnRtcDE2 KTsKLQkJCQl0bXAxNiAmPSB+KCgxIDw8IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRtcDE2IHw9IChi cmlkZ2VfY2ZnMiAmICgoMSA8PCA0KSB8ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYgJj0gfihQQ0lf RVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJH SU4pOworCQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9FWFBfTE5LQ1RM Ml9FTlRFUl9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJTikpOwogCQkJ CXBjaV93cml0ZV9jb25maWdfd29yZChyb290LCBicmlkZ2VfcG9zICsgUENJX0VYUF9MTktDVEwy LCB0bXAxNik7CiAKIAkJCQlwY2lfcmVhZF9jb25maWdfd29yZChyZGV2LT5wZGV2LCBncHVfcG9z ICsgUENJX0VYUF9MTktDVEwyLCAmdG1wMTYpOwotCQkJCXRtcDE2ICY9IH4oKDEgPDwgNCkgfCAo NyA8PCA5KSk7Ci0JCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYgKCgxIDw8IDQpIHwgKDcgPDwgOSkp KTsKKwkJCQl0bXAxNiAmPSB+KFBDSV9FWFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAg UENJX0VYUF9MTktDVEwyX1RYX01BUkdJTik7CisJCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYKKwkJ CQkJICAoUENJX0VYUF9MTktDVEwyX0VOVEVSX0NPTVAgfAorCQkJCQkgICBQQ0lfRVhQX0xOS0NU TDJfVFhfTUFSR0lOKSk7CiAJCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKHJkZXYtPnBkZXYsIGdw dV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIsIHRtcDE2KTsKIAogCQkJCXRtcCA9IFJSRUczMl9QQ0lF X1BPUlQoUENJRV9MQ19DTlRMNCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3NpLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKaW5kZXggMDU4OTRkMTk4YTc5Li42 OTk5M2QzNGQxZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKQEAgLTcyMDIsMTMgKzcyMDIsMTkgQEAgc3Rh dGljIHZvaWQgc2lfcGNpZV9nZW4zX2VuYWJsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikK IAogCQkJCS8qIGxpbmtjdGwyICovCiAJCQkJcGNpX3JlYWRfY29uZmlnX3dvcmQocm9vdCwgYnJp ZGdlX3BvcyArIFBDSV9FWFBfTE5LQ1RMMiwgJnRtcDE2KTsKLQkJCQl0bXAxNiAmPSB+KCgxIDw8 IDQpIHwgKDcgPDwgOSkpOwotCQkJCXRtcDE2IHw9IChicmlkZ2VfY2ZnMiAmICgoMSA8PCA0KSB8 ICg3IDw8IDkpKSk7CisJCQkJdG1wMTYgJj0gfihQQ0lfRVhQX0xOS0NUTDJfRU5URVJfQ09NUCB8 CisJCQkJCSAgIFBDSV9FWFBfTE5LQ1RMMl9UWF9NQVJHSU4pOworCQkJCXRtcDE2IHw9IChicmlk Z2VfY2ZnMiAmCisJCQkJCSAgKFBDSV9FWFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAg UENJX0VYUF9MTktDVEwyX1RYX01BUkdJTikpOwogCQkJCXBjaV93cml0ZV9jb25maWdfd29yZChy b290LCBicmlkZ2VfcG9zICsgUENJX0VYUF9MTktDVEwyLCB0bXAxNik7CiAKIAkJCQlwY2lfcmVh ZF9jb25maWdfd29yZChyZGV2LT5wZGV2LCBncHVfcG9zICsgUENJX0VYUF9MTktDVEwyLCAmdG1w MTYpOwotCQkJCXRtcDE2ICY9IH4oKDEgPDwgNCkgfCAoNyA8PCA5KSk7Ci0JCQkJdG1wMTYgfD0g KGdwdV9jZmcyICYgKCgxIDw8IDQpIHwgKDcgPDwgOSkpKTsKKwkJCQl0bXAxNiAmPSB+KFBDSV9F WFBfTE5LQ1RMMl9FTlRFUl9DT01QIHwKKwkJCQkJICAgUENJX0VYUF9MTktDVEwyX1RYX01BUkdJ Tik7CisJCQkJdG1wMTYgfD0gKGdwdV9jZmcyICYKKwkJCQkJICAoUENJX0VYUF9MTktDVEwyX0VO VEVSX0NPTVAgfAorCQkJCQkgICBQQ0lfRVhQX0xOS0NUTDJfVFhfTUFSR0lOKSk7CiAJCQkJcGNp X3dyaXRlX2NvbmZpZ193b3JkKHJkZXYtPnBkZXYsIGdwdV9wb3MgKyBQQ0lfRVhQX0xOS0NUTDIs IHRtcDE2KTsKIAogCQkJCXRtcCA9IFJSRUczMl9QQ0lFX1BPUlQoUENJRV9MQ19DTlRMNCk7CmRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvcGNpX3JlZ3MuaCBiL2luY2x1ZGUvdWFwaS9s aW51eC9wY2lfcmVncy5oCmluZGV4IDI5ZDZlOTNmZDE1ZS4uMDM0NDZiZThhN2JlIDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvbGludXgvcGNpX3JlZ3MuaAorKysgYi9pbmNsdWRlL3VhcGkvbGlu dXgvcGNpX3JlZ3MuaApAQCAtNjczLDYgKzY3Myw4IEBACiAjZGVmaW5lICBQQ0lfRVhQX0xOS0NU TDJfVExTXzhfMEdUCTB4MDAwMyAvKiBTdXBwb3J0ZWQgU3BlZWQgOEdUL3MgKi8KICNkZWZpbmUg IFBDSV9FWFBfTE5LQ1RMMl9UTFNfMTZfMEdUCTB4MDAwNCAvKiBTdXBwb3J0ZWQgU3BlZWQgMTZH VC9zICovCiAjZGVmaW5lICBQQ0lfRVhQX0xOS0NUTDJfVExTXzMyXzBHVAkweDAwMDUgLyogU3Vw cG9ydGVkIFNwZWVkIDMyR1QvcyAqLworI2RlZmluZSAgUENJX0VYUF9MTktDVEwyX0VOVEVSX0NP TVAJMHgwMDEwIC8qIEVudGVyIENvbXBsaWFuY2UgKi8KKyNkZWZpbmUgIFBDSV9FWFBfTE5LQ1RM Ml9UWF9NQVJHSU4JMHgwMzgwIC8qIEVudGVyIENvbXBsaWFuY2UgKi8KICNkZWZpbmUgUENJX0VY UF9MTktTVEEyCQk1MAkvKiBMaW5rIFN0YXR1cyAyICovCiAjZGVmaW5lIFBDSV9DQVBfRVhQX0VO RFBPSU5UX1NJWkVPRl9WMgk1MgkvKiB2MiBlbmRwb2ludHMgd2l0aCBsaW5rIGVuZCBoZXJlICov CiAjZGVmaW5lIFBDSV9FWFBfU0xUQ0FQMgkJNTIJLyogU2xvdCBDYXBhYmlsaXRpZXMgMiAqLwot LSAKMi4yNC4wLnJjMS4zNjMuZ2IxYmNjZDNlM2QtZ29vZwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVs