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.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 217DEC5518A for ; Wed, 22 Apr 2020 10:32:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 02AE520781 for ; Wed, 22 Apr 2020 10:32:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587551535; bh=uzrTWlHs53ZPHHMtK8nctjkf4SsWJpLaX73oQPd1U6o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=aWecJIiZgf11t3VTaAunGXqHuOeOOM3OdBRvu7O3PexfVu9YwYC/h8mP6wtHAobLL Mkq2IV7DeSCmX5y4ueOa/qLOfYMbLAesHVtz+hQGh1YM9J20vH/Q1yxGqFUEp1Fz7d iFkzKv1mdkQf+beY1Y0Dtvc5S6r4NnqVyqX3op2w= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731113AbgDVKcN (ORCPT ); Wed, 22 Apr 2020 06:32:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:33930 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730562AbgDVKZY (ORCPT ); Wed, 22 Apr 2020 06:25:24 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 E97482071E; Wed, 22 Apr 2020 10:25:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587551123; bh=uzrTWlHs53ZPHHMtK8nctjkf4SsWJpLaX73oQPd1U6o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FKO36OlYPqqPun1A4G0pY3KrD9niXvdFtqnoh7OXVD8EGRZdTOLWXUX3oEIpWBt/i aUm9Dq6t/52WkWcNZ6bTtQVJXYgDYCFcdxnSO7nqLnqw7bODGGG8BbfCiyKT7NWE5F DvUwvrDEeeorIdnASWGM/VPqmX5LugdOHssyFPBc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Karol Herbst , Bjorn Helgaas , Lyude Paul , "Rafael J. Wysocki" , Mika Westerberg , linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, Ben Skeggs , Sasha Levin Subject: [PATCH 5.6 108/166] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges Date: Wed, 22 Apr 2020 11:57:15 +0200 Message-Id: <20200422095100.404318585@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095047.669225321@linuxfoundation.org> References: <20200422095047.669225321@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Karol Herbst [ Upstream commit 434fdb51513bf3057ac144d152e6f2f2b509e857 ] Fixes the infamous 'runtime PM' bug many users are facing on Laptops with Nvidia Pascal GPUs by skipping said PCI power state changes on the GPU. Depending on the used kernel there might be messages like those in demsg: "nouveau 0000:01:00.0: Refused to change power state, currently in D3" "nouveau 0000:01:00.0: can't change power state from D3cold to D0 (config space inaccessible)" followed by backtraces of kernel crashes or timeouts within nouveau. It's still unkown why this issue exists, but this is a reliable workaround and solves a very annoying issue for user having to choose between a crashing kernel or higher power consumption of their Laptops. Signed-off-by: Karol Herbst Cc: Bjorn Helgaas Cc: Lyude Paul Cc: Rafael J. Wysocki Cc: Mika Westerberg Cc: linux-pci@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=205623 Signed-off-by: Ben Skeggs Signed-off-by: Sasha Levin --- drivers/gpu/drm/nouveau/nouveau_drm.c | 63 +++++++++++++++++++++++++++ drivers/gpu/drm/nouveau/nouveau_drv.h | 2 + 2 files changed, 65 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index b65ae817eabf5..2d4c899e1f8b9 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -618,6 +618,64 @@ nouveau_drm_device_fini(struct drm_device *dev) kfree(drm); } +/* + * On some Intel PCIe bridge controllers doing a + * D0 -> D3hot -> D3cold -> D0 sequence causes Nvidia GPUs to not reappear. + * Skipping the intermediate D3hot step seems to make it work again. This is + * probably caused by not meeting the expectation the involved AML code has + * when the GPU is put into D3hot state before invoking it. + * + * This leads to various manifestations of this issue: + * - AML code execution to power on the GPU hits an infinite loop (as the + * code waits on device memory to change). + * - kernel crashes, as all PCI reads return -1, which most code isn't able + * to handle well enough. + * + * In all cases dmesg will contain at least one line like this: + * 'nouveau 0000:01:00.0: Refused to change power state, currently in D3' + * followed by a lot of nouveau timeouts. + * + * In the \_SB.PCI0.PEG0.PG00._OFF code deeper down writes bit 0x80 to the not + * documented PCI config space register 0x248 of the Intel PCIe bridge + * controller (0x1901) in order to change the state of the PCIe link between + * the PCIe port and the GPU. There are alternative code paths using other + * registers, which seem to work fine (executed pre Windows 8): + * - 0xbc bit 0x20 (publicly available documentation claims 'reserved') + * - 0xb0 bit 0x10 (link disable) + * Changing the conditions inside the firmware by poking into the relevant + * addresses does resolve the issue, but it seemed to be ACPI private memory + * and not any device accessible memory at all, so there is no portable way of + * changing the conditions. + * On a XPS 9560 that means bits [0,3] on \CPEX need to be cleared. + * + * The only systems where this behavior can be seen are hybrid graphics laptops + * with a secondary Nvidia Maxwell, Pascal or Turing GPU. It's unclear whether + * this issue only occurs in combination with listed Intel PCIe bridge + * controllers and the mentioned GPUs or other devices as well. + * + * documentation on the PCIe bridge controller can be found in the + * "7th Generation IntelĀ® Processor Families for H Platforms Datasheet Volume 2" + * Section "12 PCI Express* Controller (x16) Registers" + */ + +static void quirk_broken_nv_runpm(struct pci_dev *pdev) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + struct nouveau_drm *drm = nouveau_drm(dev); + struct pci_dev *bridge = pci_upstream_bridge(pdev); + + if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) + return; + + switch (bridge->device) { + case 0x1901: + drm->old_pm_cap = pdev->pm_cap; + pdev->pm_cap = 0; + NV_INFO(drm, "Disabling PCI power management to avoid bug\n"); + break; + } +} + static int nouveau_drm_probe(struct pci_dev *pdev, const struct pci_device_id *pent) { @@ -699,6 +757,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (ret) goto fail_drm_dev_init; + quirk_broken_nv_runpm(pdev); return 0; fail_drm_dev_init: @@ -734,7 +793,11 @@ static void nouveau_drm_remove(struct pci_dev *pdev) { struct drm_device *dev = pci_get_drvdata(pdev); + struct nouveau_drm *drm = nouveau_drm(dev); + /* revert our workaround */ + if (drm->old_pm_cap) + pdev->pm_cap = drm->old_pm_cap; nouveau_drm_device_remove(dev); pci_disable_device(pdev); } diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h index c2c332fbde979..2a6519737800c 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -140,6 +140,8 @@ struct nouveau_drm { struct list_head clients; + u8 old_pm_cap; + struct { struct agp_bridge_data *bridge; u32 base; -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 5.6 108/166] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges Date: Wed, 22 Apr 2020 11:57:15 +0200 Message-ID: <20200422095100.404318585@linuxfoundation.org> References: <20200422095047.669225321@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20200422095047.669225321-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Sasha Levin , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Greg Kroah-Hartman , Mika Westerberg , "Rafael J. Wysocki" , stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Bjorn Helgaas , Ben Skeggs List-Id: nouveau.vger.kernel.org RnJvbTogS2Fyb2wgSGVyYnN0IDxraGVyYnN0QHJlZGhhdC5jb20+CgpbIFVwc3RyZWFtIGNvbW1p dCA0MzRmZGI1MTUxM2JmMzA1N2FjMTQ0ZDE1MmU2ZjJmMmI1MDllODU3IF0KCkZpeGVzIHRoZSBp bmZhbW91cyAncnVudGltZSBQTScgYnVnIG1hbnkgdXNlcnMgYXJlIGZhY2luZyBvbiBMYXB0b3Bz IHdpdGgKTnZpZGlhIFBhc2NhbCBHUFVzIGJ5IHNraXBwaW5nIHNhaWQgUENJIHBvd2VyIHN0YXRl IGNoYW5nZXMgb24gdGhlIEdQVS4KCkRlcGVuZGluZyBvbiB0aGUgdXNlZCBrZXJuZWwgdGhlcmUg bWlnaHQgYmUgbWVzc2FnZXMgbGlrZSB0aG9zZSBpbiBkZW1zZzoKCiJub3V2ZWF1IDAwMDA6MDE6 MDAuMDogUmVmdXNlZCB0byBjaGFuZ2UgcG93ZXIgc3RhdGUsIGN1cnJlbnRseSBpbiBEMyIKIm5v dXZlYXUgMDAwMDowMTowMC4wOiBjYW4ndCBjaGFuZ2UgcG93ZXIgc3RhdGUgZnJvbSBEM2NvbGQg dG8gRDAgKGNvbmZpZwpzcGFjZSBpbmFjY2Vzc2libGUpIgpmb2xsb3dlZCBieSBiYWNrdHJhY2Vz IG9mIGtlcm5lbCBjcmFzaGVzIG9yIHRpbWVvdXRzIHdpdGhpbiBub3V2ZWF1LgoKSXQncyBzdGls bCB1bmtvd24gd2h5IHRoaXMgaXNzdWUgZXhpc3RzLCBidXQgdGhpcyBpcyBhIHJlbGlhYmxlIHdv cmthcm91bmQKYW5kIHNvbHZlcyBhIHZlcnkgYW5ub3lpbmcgaXNzdWUgZm9yIHVzZXIgaGF2aW5n IHRvIGNob29zZSBiZXR3ZWVuIGEKY3Jhc2hpbmcga2VybmVsIG9yIGhpZ2hlciBwb3dlciBjb25z dW1wdGlvbiBvZiB0aGVpciBMYXB0b3BzLgoKU2lnbmVkLW9mZi1ieTogS2Fyb2wgSGVyYnN0IDxr aGVyYnN0QHJlZGhhdC5jb20+CkNjOiBCam9ybiBIZWxnYWFzIDxiaGVsZ2Fhc0Bnb29nbGUuY29t PgpDYzogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KQ2M6IFJhZmFlbCBKLiBXeXNvY2tp IDxyandAcmp3eXNvY2tpLm5ldD4KQ2M6IE1pa2EgV2VzdGVyYmVyZyA8bWlrYS53ZXN0ZXJiZXJn QGludGVsLmNvbT4KQ2M6IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXBtQHZn ZXIua2VybmVsLm9yZwpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogbm91 dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQnVnemlsbGE6IGh0dHBzOi8vYnVnemlsbGEua2Vy bmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjIzClNpZ25lZC1vZmYtYnk6IEJlbiBTa2VnZ3Mg PGJza2VnZ3NAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPHNhc2hhbEBr ZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMgfCA2 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfZHJ2LmggfCAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwppbmRleCBiNjVhZTgxN2VhYmY1Li4yZDRj ODk5ZTFmOGI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Ry bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKQEAgLTYxOCw2 ICs2MTgsNjQgQEAgbm91dmVhdV9kcm1fZGV2aWNlX2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAlrZnJlZShkcm0pOwogfQogCisvKgorICogT24gc29tZSBJbnRlbCBQQ0llIGJyaWRnZSBj b250cm9sbGVycyBkb2luZyBhCisgKiBEMCAtPiBEM2hvdCAtPiBEM2NvbGQgLT4gRDAgc2VxdWVu Y2UgY2F1c2VzIE52aWRpYSBHUFVzIHRvIG5vdCByZWFwcGVhci4KKyAqIFNraXBwaW5nIHRoZSBp bnRlcm1lZGlhdGUgRDNob3Qgc3RlcCBzZWVtcyB0byBtYWtlIGl0IHdvcmsgYWdhaW4uIFRoaXMg aXMKKyAqIHByb2JhYmx5IGNhdXNlZCBieSBub3QgbWVldGluZyB0aGUgZXhwZWN0YXRpb24gdGhl IGludm9sdmVkIEFNTCBjb2RlIGhhcworICogd2hlbiB0aGUgR1BVIGlzIHB1dCBpbnRvIEQzaG90 IHN0YXRlIGJlZm9yZSBpbnZva2luZyBpdC4KKyAqCisgKiBUaGlzIGxlYWRzIHRvIHZhcmlvdXMg bWFuaWZlc3RhdGlvbnMgb2YgdGhpcyBpc3N1ZToKKyAqICAtIEFNTCBjb2RlIGV4ZWN1dGlvbiB0 byBwb3dlciBvbiB0aGUgR1BVIGhpdHMgYW4gaW5maW5pdGUgbG9vcCAoYXMgdGhlCisgKiAgICBj b2RlIHdhaXRzIG9uIGRldmljZSBtZW1vcnkgdG8gY2hhbmdlKS4KKyAqICAtIGtlcm5lbCBjcmFz aGVzLCBhcyBhbGwgUENJIHJlYWRzIHJldHVybiAtMSwgd2hpY2ggbW9zdCBjb2RlIGlzbid0IGFi bGUKKyAqICAgIHRvIGhhbmRsZSB3ZWxsIGVub3VnaC4KKyAqCisgKiBJbiBhbGwgY2FzZXMgZG1l c2cgd2lsbCBjb250YWluIGF0IGxlYXN0IG9uZSBsaW5lIGxpa2UgdGhpczoKKyAqICdub3V2ZWF1 IDAwMDA6MDE6MDAuMDogUmVmdXNlZCB0byBjaGFuZ2UgcG93ZXIgc3RhdGUsIGN1cnJlbnRseSBp biBEMycKKyAqIGZvbGxvd2VkIGJ5IGEgbG90IG9mIG5vdXZlYXUgdGltZW91dHMuCisgKgorICog SW4gdGhlIFxfU0IuUENJMC5QRUcwLlBHMDAuX09GRiBjb2RlIGRlZXBlciBkb3duIHdyaXRlcyBi aXQgMHg4MCB0byB0aGUgbm90CisgKiBkb2N1bWVudGVkIFBDSSBjb25maWcgc3BhY2UgcmVnaXN0 ZXIgMHgyNDggb2YgdGhlIEludGVsIFBDSWUgYnJpZGdlCisgKiBjb250cm9sbGVyICgweDE5MDEp IGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIFBDSWUgbGluayBiZXR3ZWVuCisg KiB0aGUgUENJZSBwb3J0IGFuZCB0aGUgR1BVLiBUaGVyZSBhcmUgYWx0ZXJuYXRpdmUgY29kZSBw YXRocyB1c2luZyBvdGhlcgorICogcmVnaXN0ZXJzLCB3aGljaCBzZWVtIHRvIHdvcmsgZmluZSAo ZXhlY3V0ZWQgcHJlIFdpbmRvd3MgOCk6CisgKiAgLSAweGJjIGJpdCAweDIwIChwdWJsaWNseSBh dmFpbGFibGUgZG9jdW1lbnRhdGlvbiBjbGFpbXMgJ3Jlc2VydmVkJykKKyAqICAtIDB4YjAgYml0 IDB4MTAgKGxpbmsgZGlzYWJsZSkKKyAqIENoYW5naW5nIHRoZSBjb25kaXRpb25zIGluc2lkZSB0 aGUgZmlybXdhcmUgYnkgcG9raW5nIGludG8gdGhlIHJlbGV2YW50CisgKiBhZGRyZXNzZXMgZG9l cyByZXNvbHZlIHRoZSBpc3N1ZSwgYnV0IGl0IHNlZW1lZCB0byBiZSBBQ1BJIHByaXZhdGUgbWVt b3J5CisgKiBhbmQgbm90IGFueSBkZXZpY2UgYWNjZXNzaWJsZSBtZW1vcnkgYXQgYWxsLCBzbyB0 aGVyZSBpcyBubyBwb3J0YWJsZSB3YXkgb2YKKyAqIGNoYW5naW5nIHRoZSBjb25kaXRpb25zLgor ICogT24gYSBYUFMgOTU2MCB0aGF0IG1lYW5zIGJpdHMgWzAsM10gb24gXENQRVggbmVlZCB0byBi ZSBjbGVhcmVkLgorICoKKyAqIFRoZSBvbmx5IHN5c3RlbXMgd2hlcmUgdGhpcyBiZWhhdmlvciBj YW4gYmUgc2VlbiBhcmUgaHlicmlkIGdyYXBoaWNzIGxhcHRvcHMKKyAqIHdpdGggYSBzZWNvbmRh cnkgTnZpZGlhIE1heHdlbGwsIFBhc2NhbCBvciBUdXJpbmcgR1BVLiBJdCdzIHVuY2xlYXIgd2hl dGhlcgorICogdGhpcyBpc3N1ZSBvbmx5IG9jY3VycyBpbiBjb21iaW5hdGlvbiB3aXRoIGxpc3Rl ZCBJbnRlbCBQQ0llIGJyaWRnZQorICogY29udHJvbGxlcnMgYW5kIHRoZSBtZW50aW9uZWQgR1BV cyBvciBvdGhlciBkZXZpY2VzIGFzIHdlbGwuCisgKgorICogZG9jdW1lbnRhdGlvbiBvbiB0aGUg UENJZSBicmlkZ2UgY29udHJvbGxlciBjYW4gYmUgZm91bmQgaW4gdGhlCisgKiAiN3RoIEdlbmVy YXRpb24gSW50ZWzCriBQcm9jZXNzb3IgRmFtaWxpZXMgZm9yIEggUGxhdGZvcm1zIERhdGFzaGVl dCBWb2x1bWUgMiIKKyAqIFNlY3Rpb24gIjEyIFBDSSBFeHByZXNzKiBDb250cm9sbGVyICh4MTYp IFJlZ2lzdGVycyIKKyAqLworCitzdGF0aWMgdm9pZCBxdWlya19icm9rZW5fbnZfcnVucG0oc3Ry dWN0IHBjaV9kZXYgKnBkZXYpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBjaV9nZXRf ZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRl dik7CisJc3RydWN0IHBjaV9kZXYgKmJyaWRnZSA9IHBjaV91cHN0cmVhbV9icmlkZ2UocGRldik7 CisKKwlpZiAoIWJyaWRnZSB8fCBicmlkZ2UtPnZlbmRvciAhPSBQQ0lfVkVORE9SX0lEX0lOVEVM KQorCQlyZXR1cm47CisKKwlzd2l0Y2ggKGJyaWRnZS0+ZGV2aWNlKSB7CisJY2FzZSAweDE5MDE6 CisJCWRybS0+b2xkX3BtX2NhcCA9IHBkZXYtPnBtX2NhcDsKKwkJcGRldi0+cG1fY2FwID0gMDsK KwkJTlZfSU5GTyhkcm0sICJEaXNhYmxpbmcgUENJIHBvd2VyIG1hbmFnZW1lbnQgdG8gYXZvaWQg YnVnXG4iKTsKKwkJYnJlYWs7CisJfQorfQorCiBzdGF0aWMgaW50IG5vdXZlYXVfZHJtX3Byb2Jl KHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCQkJICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9p ZCAqcGVudCkKIHsKQEAgLTY5OSw2ICs3NTcsNyBAQCBzdGF0aWMgaW50IG5vdXZlYXVfZHJtX3By b2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCWlmIChyZXQpCiAJCWdvdG8gZmFpbF9kcm1fZGV2 X2luaXQ7CiAKKwlxdWlya19icm9rZW5fbnZfcnVucG0ocGRldik7CiAJcmV0dXJuIDA7CiAKIGZh aWxfZHJtX2Rldl9pbml0OgpAQCAtNzM0LDcgKzc5MywxMSBAQCBzdGF0aWMgdm9pZAogbm91dmVh dV9kcm1fcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IG5vdXZlYXVfZHJtICpkcm0g PSBub3V2ZWF1X2RybShkZXYpOwogCisJLyogcmV2ZXJ0IG91ciB3b3JrYXJvdW5kICovCisJaWYg KGRybS0+b2xkX3BtX2NhcCkKKwkJcGRldi0+cG1fY2FwID0gZHJtLT5vbGRfcG1fY2FwOwogCW5v dXZlYXVfZHJtX2RldmljZV9yZW1vdmUoZGV2KTsKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGRldik7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaAppbmRleCBjMmMzMzJmYmRlOTc5 Li4yYTY1MTk3Mzc4MDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmgKQEAg LTE0MCw2ICsxNDAsOCBAQCBzdHJ1Y3Qgbm91dmVhdV9kcm0gewogCiAJc3RydWN0IGxpc3RfaGVh ZCBjbGllbnRzOwogCisJdTggb2xkX3BtX2NhcDsKKwogCXN0cnVjdCB7CiAJCXN0cnVjdCBhZ3Bf YnJpZGdlX2RhdGEgKmJyaWRnZTsKIAkJdTMyIGJhc2U7Ci0tIAoyLjIwLjEKCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxp c3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg== 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_INVALID,DKIM_SIGNED, 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 EBA9AC55186 for ; Wed, 22 Apr 2020 10:25:27 +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 C35C52071E for ; Wed, 22 Apr 2020 10:25:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="FKO36OlY" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C35C52071E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linuxfoundation.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 6ED6B89F24; Wed, 22 Apr 2020 10:25:24 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9438689F24; Wed, 22 Apr 2020 10:25:23 +0000 (UTC) Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 E97482071E; Wed, 22 Apr 2020 10:25:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587551123; bh=uzrTWlHs53ZPHHMtK8nctjkf4SsWJpLaX73oQPd1U6o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FKO36OlYPqqPun1A4G0pY3KrD9niXvdFtqnoh7OXVD8EGRZdTOLWXUX3oEIpWBt/i aUm9Dq6t/52WkWcNZ6bTtQVJXYgDYCFcdxnSO7nqLnqw7bODGGG8BbfCiyKT7NWE5F DvUwvrDEeeorIdnASWGM/VPqmX5LugdOHssyFPBc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Subject: [PATCH 5.6 108/166] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges Date: Wed, 22 Apr 2020 11:57:15 +0200 Message-Id: <20200422095100.404318585@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095047.669225321@linuxfoundation.org> References: <20200422095047.669225321@linuxfoundation.org> User-Agent: quilt/0.66 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: Sasha Levin , nouveau@lists.freedesktop.org, Karol Herbst , linux-pm@vger.kernel.org, Greg Kroah-Hartman , Mika Westerberg , "Rafael J. Wysocki" , stable@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-pci@vger.kernel.org, Bjorn Helgaas , Ben Skeggs Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogS2Fyb2wgSGVyYnN0IDxraGVyYnN0QHJlZGhhdC5jb20+CgpbIFVwc3RyZWFtIGNvbW1p dCA0MzRmZGI1MTUxM2JmMzA1N2FjMTQ0ZDE1MmU2ZjJmMmI1MDllODU3IF0KCkZpeGVzIHRoZSBp bmZhbW91cyAncnVudGltZSBQTScgYnVnIG1hbnkgdXNlcnMgYXJlIGZhY2luZyBvbiBMYXB0b3Bz IHdpdGgKTnZpZGlhIFBhc2NhbCBHUFVzIGJ5IHNraXBwaW5nIHNhaWQgUENJIHBvd2VyIHN0YXRl IGNoYW5nZXMgb24gdGhlIEdQVS4KCkRlcGVuZGluZyBvbiB0aGUgdXNlZCBrZXJuZWwgdGhlcmUg bWlnaHQgYmUgbWVzc2FnZXMgbGlrZSB0aG9zZSBpbiBkZW1zZzoKCiJub3V2ZWF1IDAwMDA6MDE6 MDAuMDogUmVmdXNlZCB0byBjaGFuZ2UgcG93ZXIgc3RhdGUsIGN1cnJlbnRseSBpbiBEMyIKIm5v dXZlYXUgMDAwMDowMTowMC4wOiBjYW4ndCBjaGFuZ2UgcG93ZXIgc3RhdGUgZnJvbSBEM2NvbGQg dG8gRDAgKGNvbmZpZwpzcGFjZSBpbmFjY2Vzc2libGUpIgpmb2xsb3dlZCBieSBiYWNrdHJhY2Vz IG9mIGtlcm5lbCBjcmFzaGVzIG9yIHRpbWVvdXRzIHdpdGhpbiBub3V2ZWF1LgoKSXQncyBzdGls bCB1bmtvd24gd2h5IHRoaXMgaXNzdWUgZXhpc3RzLCBidXQgdGhpcyBpcyBhIHJlbGlhYmxlIHdv cmthcm91bmQKYW5kIHNvbHZlcyBhIHZlcnkgYW5ub3lpbmcgaXNzdWUgZm9yIHVzZXIgaGF2aW5n IHRvIGNob29zZSBiZXR3ZWVuIGEKY3Jhc2hpbmcga2VybmVsIG9yIGhpZ2hlciBwb3dlciBjb25z dW1wdGlvbiBvZiB0aGVpciBMYXB0b3BzLgoKU2lnbmVkLW9mZi1ieTogS2Fyb2wgSGVyYnN0IDxr aGVyYnN0QHJlZGhhdC5jb20+CkNjOiBCam9ybiBIZWxnYWFzIDxiaGVsZ2Fhc0Bnb29nbGUuY29t PgpDYzogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KQ2M6IFJhZmFlbCBKLiBXeXNvY2tp IDxyandAcmp3eXNvY2tpLm5ldD4KQ2M6IE1pa2EgV2VzdGVyYmVyZyA8bWlrYS53ZXN0ZXJiZXJn QGludGVsLmNvbT4KQ2M6IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXBtQHZn ZXIua2VybmVsLm9yZwpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogbm91 dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQnVnemlsbGE6IGh0dHBzOi8vYnVnemlsbGEua2Vy bmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjIzClNpZ25lZC1vZmYtYnk6IEJlbiBTa2VnZ3Mg PGJza2VnZ3NAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPHNhc2hhbEBr ZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMgfCA2 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfZHJ2LmggfCAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwppbmRleCBiNjVhZTgxN2VhYmY1Li4yZDRj ODk5ZTFmOGI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Ry bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKQEAgLTYxOCw2 ICs2MTgsNjQgQEAgbm91dmVhdV9kcm1fZGV2aWNlX2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAlrZnJlZShkcm0pOwogfQogCisvKgorICogT24gc29tZSBJbnRlbCBQQ0llIGJyaWRnZSBj b250cm9sbGVycyBkb2luZyBhCisgKiBEMCAtPiBEM2hvdCAtPiBEM2NvbGQgLT4gRDAgc2VxdWVu Y2UgY2F1c2VzIE52aWRpYSBHUFVzIHRvIG5vdCByZWFwcGVhci4KKyAqIFNraXBwaW5nIHRoZSBp bnRlcm1lZGlhdGUgRDNob3Qgc3RlcCBzZWVtcyB0byBtYWtlIGl0IHdvcmsgYWdhaW4uIFRoaXMg aXMKKyAqIHByb2JhYmx5IGNhdXNlZCBieSBub3QgbWVldGluZyB0aGUgZXhwZWN0YXRpb24gdGhl IGludm9sdmVkIEFNTCBjb2RlIGhhcworICogd2hlbiB0aGUgR1BVIGlzIHB1dCBpbnRvIEQzaG90 IHN0YXRlIGJlZm9yZSBpbnZva2luZyBpdC4KKyAqCisgKiBUaGlzIGxlYWRzIHRvIHZhcmlvdXMg bWFuaWZlc3RhdGlvbnMgb2YgdGhpcyBpc3N1ZToKKyAqICAtIEFNTCBjb2RlIGV4ZWN1dGlvbiB0 byBwb3dlciBvbiB0aGUgR1BVIGhpdHMgYW4gaW5maW5pdGUgbG9vcCAoYXMgdGhlCisgKiAgICBj b2RlIHdhaXRzIG9uIGRldmljZSBtZW1vcnkgdG8gY2hhbmdlKS4KKyAqICAtIGtlcm5lbCBjcmFz aGVzLCBhcyBhbGwgUENJIHJlYWRzIHJldHVybiAtMSwgd2hpY2ggbW9zdCBjb2RlIGlzbid0IGFi bGUKKyAqICAgIHRvIGhhbmRsZSB3ZWxsIGVub3VnaC4KKyAqCisgKiBJbiBhbGwgY2FzZXMgZG1l c2cgd2lsbCBjb250YWluIGF0IGxlYXN0IG9uZSBsaW5lIGxpa2UgdGhpczoKKyAqICdub3V2ZWF1 IDAwMDA6MDE6MDAuMDogUmVmdXNlZCB0byBjaGFuZ2UgcG93ZXIgc3RhdGUsIGN1cnJlbnRseSBp biBEMycKKyAqIGZvbGxvd2VkIGJ5IGEgbG90IG9mIG5vdXZlYXUgdGltZW91dHMuCisgKgorICog SW4gdGhlIFxfU0IuUENJMC5QRUcwLlBHMDAuX09GRiBjb2RlIGRlZXBlciBkb3duIHdyaXRlcyBi aXQgMHg4MCB0byB0aGUgbm90CisgKiBkb2N1bWVudGVkIFBDSSBjb25maWcgc3BhY2UgcmVnaXN0 ZXIgMHgyNDggb2YgdGhlIEludGVsIFBDSWUgYnJpZGdlCisgKiBjb250cm9sbGVyICgweDE5MDEp IGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIFBDSWUgbGluayBiZXR3ZWVuCisg KiB0aGUgUENJZSBwb3J0IGFuZCB0aGUgR1BVLiBUaGVyZSBhcmUgYWx0ZXJuYXRpdmUgY29kZSBw YXRocyB1c2luZyBvdGhlcgorICogcmVnaXN0ZXJzLCB3aGljaCBzZWVtIHRvIHdvcmsgZmluZSAo ZXhlY3V0ZWQgcHJlIFdpbmRvd3MgOCk6CisgKiAgLSAweGJjIGJpdCAweDIwIChwdWJsaWNseSBh dmFpbGFibGUgZG9jdW1lbnRhdGlvbiBjbGFpbXMgJ3Jlc2VydmVkJykKKyAqICAtIDB4YjAgYml0 IDB4MTAgKGxpbmsgZGlzYWJsZSkKKyAqIENoYW5naW5nIHRoZSBjb25kaXRpb25zIGluc2lkZSB0 aGUgZmlybXdhcmUgYnkgcG9raW5nIGludG8gdGhlIHJlbGV2YW50CisgKiBhZGRyZXNzZXMgZG9l cyByZXNvbHZlIHRoZSBpc3N1ZSwgYnV0IGl0IHNlZW1lZCB0byBiZSBBQ1BJIHByaXZhdGUgbWVt b3J5CisgKiBhbmQgbm90IGFueSBkZXZpY2UgYWNjZXNzaWJsZSBtZW1vcnkgYXQgYWxsLCBzbyB0 aGVyZSBpcyBubyBwb3J0YWJsZSB3YXkgb2YKKyAqIGNoYW5naW5nIHRoZSBjb25kaXRpb25zLgor ICogT24gYSBYUFMgOTU2MCB0aGF0IG1lYW5zIGJpdHMgWzAsM10gb24gXENQRVggbmVlZCB0byBi ZSBjbGVhcmVkLgorICoKKyAqIFRoZSBvbmx5IHN5c3RlbXMgd2hlcmUgdGhpcyBiZWhhdmlvciBj YW4gYmUgc2VlbiBhcmUgaHlicmlkIGdyYXBoaWNzIGxhcHRvcHMKKyAqIHdpdGggYSBzZWNvbmRh cnkgTnZpZGlhIE1heHdlbGwsIFBhc2NhbCBvciBUdXJpbmcgR1BVLiBJdCdzIHVuY2xlYXIgd2hl dGhlcgorICogdGhpcyBpc3N1ZSBvbmx5IG9jY3VycyBpbiBjb21iaW5hdGlvbiB3aXRoIGxpc3Rl ZCBJbnRlbCBQQ0llIGJyaWRnZQorICogY29udHJvbGxlcnMgYW5kIHRoZSBtZW50aW9uZWQgR1BV cyBvciBvdGhlciBkZXZpY2VzIGFzIHdlbGwuCisgKgorICogZG9jdW1lbnRhdGlvbiBvbiB0aGUg UENJZSBicmlkZ2UgY29udHJvbGxlciBjYW4gYmUgZm91bmQgaW4gdGhlCisgKiAiN3RoIEdlbmVy YXRpb24gSW50ZWzCriBQcm9jZXNzb3IgRmFtaWxpZXMgZm9yIEggUGxhdGZvcm1zIERhdGFzaGVl dCBWb2x1bWUgMiIKKyAqIFNlY3Rpb24gIjEyIFBDSSBFeHByZXNzKiBDb250cm9sbGVyICh4MTYp IFJlZ2lzdGVycyIKKyAqLworCitzdGF0aWMgdm9pZCBxdWlya19icm9rZW5fbnZfcnVucG0oc3Ry dWN0IHBjaV9kZXYgKnBkZXYpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBjaV9nZXRf ZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRl dik7CisJc3RydWN0IHBjaV9kZXYgKmJyaWRnZSA9IHBjaV91cHN0cmVhbV9icmlkZ2UocGRldik7 CisKKwlpZiAoIWJyaWRnZSB8fCBicmlkZ2UtPnZlbmRvciAhPSBQQ0lfVkVORE9SX0lEX0lOVEVM KQorCQlyZXR1cm47CisKKwlzd2l0Y2ggKGJyaWRnZS0+ZGV2aWNlKSB7CisJY2FzZSAweDE5MDE6 CisJCWRybS0+b2xkX3BtX2NhcCA9IHBkZXYtPnBtX2NhcDsKKwkJcGRldi0+cG1fY2FwID0gMDsK KwkJTlZfSU5GTyhkcm0sICJEaXNhYmxpbmcgUENJIHBvd2VyIG1hbmFnZW1lbnQgdG8gYXZvaWQg YnVnXG4iKTsKKwkJYnJlYWs7CisJfQorfQorCiBzdGF0aWMgaW50IG5vdXZlYXVfZHJtX3Byb2Jl KHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCQkJICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9p ZCAqcGVudCkKIHsKQEAgLTY5OSw2ICs3NTcsNyBAQCBzdGF0aWMgaW50IG5vdXZlYXVfZHJtX3By b2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCWlmIChyZXQpCiAJCWdvdG8gZmFpbF9kcm1fZGV2 X2luaXQ7CiAKKwlxdWlya19icm9rZW5fbnZfcnVucG0ocGRldik7CiAJcmV0dXJuIDA7CiAKIGZh aWxfZHJtX2Rldl9pbml0OgpAQCAtNzM0LDcgKzc5MywxMSBAQCBzdGF0aWMgdm9pZAogbm91dmVh dV9kcm1fcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IG5vdXZlYXVfZHJtICpkcm0g PSBub3V2ZWF1X2RybShkZXYpOwogCisJLyogcmV2ZXJ0IG91ciB3b3JrYXJvdW5kICovCisJaWYg KGRybS0+b2xkX3BtX2NhcCkKKwkJcGRldi0+cG1fY2FwID0gZHJtLT5vbGRfcG1fY2FwOwogCW5v dXZlYXVfZHJtX2RldmljZV9yZW1vdmUoZGV2KTsKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGRldik7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaAppbmRleCBjMmMzMzJmYmRlOTc5 Li4yYTY1MTk3Mzc4MDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmgKQEAg LTE0MCw2ICsxNDAsOCBAQCBzdHJ1Y3Qgbm91dmVhdV9kcm0gewogCiAJc3RydWN0IGxpc3RfaGVh ZCBjbGllbnRzOwogCisJdTggb2xkX3BtX2NhcDsKKwogCXN0cnVjdCB7CiAJCXN0cnVjdCBhZ3Bf YnJpZGdlX2RhdGEgKmJyaWRnZTsKIAkJdTMyIGJhc2U7Ci0tIAoyLjIwLjEKCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==