From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kishon Vijay Abraham I Subject: [PATCH v2 25/26] misc: pci_endpoint_test: Add support to test PCI EP in AM654x Date: Mon, 25 Mar 2019 14:05:00 +0530 Message-ID: <20190325083501.8088-26-kishon@ti.com> References: <20190325083501.8088-1-kishon@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20190325083501.8088-1-kishon@ti.com> Sender: linux-kernel-owner@vger.kernel.org To: Gustavo Pimentel , Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Arnd Bergmann , Murali Karicheri Cc: Kishon Vijay Abraham I , Jingoo Han , Greg Kroah-Hartman , linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-kernel@axis.com List-Id: linux-omap@vger.kernel.org TI's AM654x PCIe EP has a restriction that BAR_0 is mapped to application registers. "PCIe Inbound Address Translation" section in AM65x Sitara Processors TRM (SPRUID7 – April 2018) describes BAR0 is reserved. Configure pci_endpoint_test to use BAR_2 instead. Also set alignment to 64K since "PCIe Subsystem Address Translation" section in TRM indicates minimum ATU window size is 64K. Signed-off-by: Kishon Vijay Abraham I --- drivers/misc/pci_endpoint_test.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c index 29582fe57151..e015e8fa9bd3 100644 --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -75,6 +75,11 @@ #define PCI_ENDPOINT_TEST_IRQ_TYPE 0x24 #define PCI_ENDPOINT_TEST_IRQ_NUMBER 0x28 +#define PCI_DEVICE_ID_TI_AM654 0xb00c + +#define is_am654_pci_dev(pdev) \ + ((pdev)->device == PCI_DEVICE_ID_TI_AM654) + static DEFINE_IDA(pci_endpoint_test_ida); #define to_endpoint_test(priv) container_of((priv), struct pci_endpoint_test, \ @@ -588,6 +593,7 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, int ret = -EINVAL; enum pci_barno bar; struct pci_endpoint_test *test = to_endpoint_test(file->private_data); + struct pci_dev *pdev = test->pdev; mutex_lock(&test->mutex); switch (cmd) { @@ -595,6 +601,8 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, bar = arg; if (bar < 0 || bar > 5) goto ret; + if (is_am654_pci_dev(pdev) && bar == BAR_0) + goto ret; ret = pci_endpoint_test_bar(test, bar); break; case PCITEST_LEGACY_IRQ: @@ -785,11 +793,20 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev) pci_disable_device(pdev); } +static const struct pci_endpoint_test_data am654_data = { + .test_reg_bar = BAR_2, + .alignment = SZ_64K, + .irq_type = IRQ_TYPE_MSI, +}; + static const struct pci_device_id pci_endpoint_test_tbl[] = { { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x) }, { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA72x) }, { PCI_DEVICE(PCI_VENDOR_ID_FREESCALE, 0x81c0) }, { PCI_DEVICE(PCI_VENDOR_ID_SYNOPSYS, 0xedda) }, + { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_AM654), + .driver_data = (kernel_ulong_t)&am654_data + }, { } }; MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl); -- 2.17.1 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.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 13C7EC43381 for ; Mon, 25 Mar 2019 08:38:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D8A4120880 for ; Mon, 25 Mar 2019 08:38:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="nABhlNPl" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730218AbfCYIif (ORCPT ); Mon, 25 Mar 2019 04:38:35 -0400 Received: from fllv0016.ext.ti.com ([198.47.19.142]:52578 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730482AbfCYIie (ORCPT ); Mon, 25 Mar 2019 04:38:34 -0400 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id x2P8bjR9106850; Mon, 25 Mar 2019 03:37:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1553503065; bh=ecY/+Ui4SK2VPooZ8MRoP5X7hto+xBrP5+SVRZo/EkI=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=nABhlNPlJTLJIek0kqbIX0W+S3oBUO3cAcPsNZUZVPfQ57qIktE++39teT61zXVN8 KWKNtK5DZDVCtwasK5BGkDJpRttCU96MFyTKnlO1upOzTrkVNV3n2gw9hx5Kzw47XY hiLzDsLZvuKif3++DBuVYdGbXRmxA0DqQ3qL9zb0= Received: from DFLE113.ent.ti.com (dfle113.ent.ti.com [10.64.6.34]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x2P8bjsM018060 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 25 Mar 2019 03:37:45 -0500 Received: from DFLE107.ent.ti.com (10.64.6.28) by DFLE113.ent.ti.com (10.64.6.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Mon, 25 Mar 2019 03:37:45 -0500 Received: from dlep33.itg.ti.com (157.170.170.75) by DFLE107.ent.ti.com (10.64.6.28) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Mon, 25 Mar 2019 03:37:45 -0500 Received: from a0393678ub.india.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by dlep33.itg.ti.com (8.14.3/8.13.8) with ESMTP id x2P8ZsG7006534; Mon, 25 Mar 2019 03:37:41 -0500 From: Kishon Vijay Abraham I To: Gustavo Pimentel , Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Arnd Bergmann , Murali Karicheri CC: Kishon Vijay Abraham I , Jingoo Han , Greg Kroah-Hartman , , , , , , Subject: [PATCH v2 25/26] misc: pci_endpoint_test: Add support to test PCI EP in AM654x Date: Mon, 25 Mar 2019 14:05:00 +0530 Message-ID: <20190325083501.8088-26-kishon@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190325083501.8088-1-kishon@ti.com> References: <20190325083501.8088-1-kishon@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org TI's AM654x PCIe EP has a restriction that BAR_0 is mapped to application registers. "PCIe Inbound Address Translation" section in AM65x Sitara Processors TRM (SPRUID7 – April 2018) describes BAR0 is reserved. Configure pci_endpoint_test to use BAR_2 instead. Also set alignment to 64K since "PCIe Subsystem Address Translation" section in TRM indicates minimum ATU window size is 64K. Signed-off-by: Kishon Vijay Abraham I --- drivers/misc/pci_endpoint_test.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c index 29582fe57151..e015e8fa9bd3 100644 --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -75,6 +75,11 @@ #define PCI_ENDPOINT_TEST_IRQ_TYPE 0x24 #define PCI_ENDPOINT_TEST_IRQ_NUMBER 0x28 +#define PCI_DEVICE_ID_TI_AM654 0xb00c + +#define is_am654_pci_dev(pdev) \ + ((pdev)->device == PCI_DEVICE_ID_TI_AM654) + static DEFINE_IDA(pci_endpoint_test_ida); #define to_endpoint_test(priv) container_of((priv), struct pci_endpoint_test, \ @@ -588,6 +593,7 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, int ret = -EINVAL; enum pci_barno bar; struct pci_endpoint_test *test = to_endpoint_test(file->private_data); + struct pci_dev *pdev = test->pdev; mutex_lock(&test->mutex); switch (cmd) { @@ -595,6 +601,8 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, bar = arg; if (bar < 0 || bar > 5) goto ret; + if (is_am654_pci_dev(pdev) && bar == BAR_0) + goto ret; ret = pci_endpoint_test_bar(test, bar); break; case PCITEST_LEGACY_IRQ: @@ -785,11 +793,20 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev) pci_disable_device(pdev); } +static const struct pci_endpoint_test_data am654_data = { + .test_reg_bar = BAR_2, + .alignment = SZ_64K, + .irq_type = IRQ_TYPE_MSI, +}; + static const struct pci_device_id pci_endpoint_test_tbl[] = { { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x) }, { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA72x) }, { PCI_DEVICE(PCI_VENDOR_ID_FREESCALE, 0x81c0) }, { PCI_DEVICE(PCI_VENDOR_ID_SYNOPSYS, 0xedda) }, + { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_AM654), + .driver_data = (kernel_ulong_t)&am654_data + }, { } }; MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl); -- 2.17.1 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.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 E98EBC43381 for ; Mon, 25 Mar 2019 08:40:48 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id B4A332085A for ; Mon, 25 Mar 2019 08:40:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="fINahvnX"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ti.com header.i=@ti.com header.b="nABhlNPl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B4A332085A Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=ti.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3YVGQ+jOfZlVRIFfnQT9Pso5LTu6R+NXsYRp5BlRPQI=; b=fINahvnXAIcYWW Ib6g3a8iuM5HDNLX9ifjgWbiin7yRtwQ/NYbijLuHVbqAx8TrZWzXrhEQ3YTOzOlqjPdB/k7AE0t1 dph9f65Daaja/8q5tBkhYdBl1Po+F5FZtCIhydpGsM78H0TaFomcd4DlHOv5kY6w1g5XfZv7qlqht chBiHfhNfjPeZ7GMzFsfNOQU7sFBg3wgQYfMFnnpYxz3xDjemqCpk/jlvF+f9ju9xIy3JY+06REsf t4GXvPIPMGTGytIlRzuDdCYeYdg2fHX7Dx9clfr5bYX3CHsa/UM2RbAX7hBujQZmzhxVTTJT8zdhN tmpAgnAEGYTZUf9eJhQw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h8L9q-0008ER-N8; Mon, 25 Mar 2019 08:40:38 +0000 Received: from fllv0016.ext.ti.com ([198.47.19.142]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h8L7C-0004EB-AX for linux-arm-kernel@lists.infradead.org; Mon, 25 Mar 2019 08:38:32 +0000 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id x2P8bjR9106850; Mon, 25 Mar 2019 03:37:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1553503065; bh=ecY/+Ui4SK2VPooZ8MRoP5X7hto+xBrP5+SVRZo/EkI=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=nABhlNPlJTLJIek0kqbIX0W+S3oBUO3cAcPsNZUZVPfQ57qIktE++39teT61zXVN8 KWKNtK5DZDVCtwasK5BGkDJpRttCU96MFyTKnlO1upOzTrkVNV3n2gw9hx5Kzw47XY hiLzDsLZvuKif3++DBuVYdGbXRmxA0DqQ3qL9zb0= Received: from DFLE113.ent.ti.com (dfle113.ent.ti.com [10.64.6.34]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x2P8bjsM018060 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 25 Mar 2019 03:37:45 -0500 Received: from DFLE107.ent.ti.com (10.64.6.28) by DFLE113.ent.ti.com (10.64.6.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Mon, 25 Mar 2019 03:37:45 -0500 Received: from dlep33.itg.ti.com (157.170.170.75) by DFLE107.ent.ti.com (10.64.6.28) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Mon, 25 Mar 2019 03:37:45 -0500 Received: from a0393678ub.india.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by dlep33.itg.ti.com (8.14.3/8.13.8) with ESMTP id x2P8ZsG7006534; Mon, 25 Mar 2019 03:37:41 -0500 From: Kishon Vijay Abraham I To: Gustavo Pimentel , Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Arnd Bergmann , Murali Karicheri Subject: [PATCH v2 25/26] misc: pci_endpoint_test: Add support to test PCI EP in AM654x Date: Mon, 25 Mar 2019 14:05:00 +0530 Message-ID: <20190325083501.8088-26-kishon@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190325083501.8088-1-kishon@ti.com> References: <20190325083501.8088-1-kishon@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190325_013754_836752_3202EF8D X-CRM114-Status: GOOD ( 16.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Greg Kroah-Hartman , Jingoo Han , linux-kernel@vger.kernel.org, linux-arm-kernel@axis.com, Kishon Vijay Abraham I , linux-pci@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org VEkncyBBTTY1NHggUENJZSBFUCBoYXMgYSByZXN0cmljdGlvbiB0aGF0IEJBUl8wIGlzIG1hcHBl ZCB0bwphcHBsaWNhdGlvbiByZWdpc3RlcnMuICJQQ0llIEluYm91bmQgQWRkcmVzcyBUcmFuc2xh dGlvbiIgc2VjdGlvbiBpbgpBTTY1eCBTaXRhcmEgUHJvY2Vzc29ycyBUUk0gKFNQUlVJRDcg4oCT IEFwcmlsIDIwMTgpIGRlc2NyaWJlcyBCQVIwIGlzCnJlc2VydmVkLiBDb25maWd1cmUgcGNpX2Vu ZHBvaW50X3Rlc3QgdG8gdXNlIEJBUl8yIGluc3RlYWQuCkFsc28gc2V0IGFsaWdubWVudCB0byA2 NEsgc2luY2UgIlBDSWUgU3Vic3lzdGVtIEFkZHJlc3MgVHJhbnNsYXRpb24iCnNlY3Rpb24gaW4g VFJNIGluZGljYXRlcyBtaW5pbXVtIEFUVSB3aW5kb3cgc2l6ZSBpcyA2NEsuCgpTaWduZWQtb2Zm LWJ5OiBLaXNob24gVmlqYXkgQWJyYWhhbSBJIDxraXNob25AdGkuY29tPgotLS0KIGRyaXZlcnMv bWlzYy9wY2lfZW5kcG9pbnRfdGVzdC5jIHwgMTcgKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL3BjaV9l bmRwb2ludF90ZXN0LmMgYi9kcml2ZXJzL21pc2MvcGNpX2VuZHBvaW50X3Rlc3QuYwppbmRleCAy OTU4MmZlNTcxNTEuLmUwMTVlOGZhOWJkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3BjaV9l bmRwb2ludF90ZXN0LmMKKysrIGIvZHJpdmVycy9taXNjL3BjaV9lbmRwb2ludF90ZXN0LmMKQEAg LTc1LDYgKzc1LDExIEBACiAjZGVmaW5lIFBDSV9FTkRQT0lOVF9URVNUX0lSUV9UWVBFCQkweDI0 CiAjZGVmaW5lIFBDSV9FTkRQT0lOVF9URVNUX0lSUV9OVU1CRVIJCTB4MjgKIAorI2RlZmluZSBQ Q0lfREVWSUNFX0lEX1RJX0FNNjU0CQkJMHhiMDBjCisKKyNkZWZpbmUgaXNfYW02NTRfcGNpX2Rl dihwZGV2KQkJXAorCQkoKHBkZXYpLT5kZXZpY2UgPT0gUENJX0RFVklDRV9JRF9USV9BTTY1NCkK Kwogc3RhdGljIERFRklORV9JREEocGNpX2VuZHBvaW50X3Rlc3RfaWRhKTsKIAogI2RlZmluZSB0 b19lbmRwb2ludF90ZXN0KHByaXYpIGNvbnRhaW5lcl9vZigocHJpdiksIHN0cnVjdCBwY2lfZW5k cG9pbnRfdGVzdCwgXApAQCAtNTg4LDYgKzU5Myw3IEBAIHN0YXRpYyBsb25nIHBjaV9lbmRwb2lu dF90ZXN0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAogCWludCBy ZXQgPSAtRUlOVkFMOwogCWVudW0gcGNpX2Jhcm5vIGJhcjsKIAlzdHJ1Y3QgcGNpX2VuZHBvaW50 X3Rlc3QgKnRlc3QgPSB0b19lbmRwb2ludF90ZXN0KGZpbGUtPnByaXZhdGVfZGF0YSk7CisJc3Ry dWN0IHBjaV9kZXYgKnBkZXYgPSB0ZXN0LT5wZGV2OwogCiAJbXV0ZXhfbG9jaygmdGVzdC0+bXV0 ZXgpOwogCXN3aXRjaCAoY21kKSB7CkBAIC01OTUsNiArNjAxLDggQEAgc3RhdGljIGxvbmcgcGNp X2VuZHBvaW50X3Rlc3RfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQs CiAJCWJhciA9IGFyZzsKIAkJaWYgKGJhciA8IDAgfHwgYmFyID4gNSkKIAkJCWdvdG8gcmV0Owor CQlpZiAoaXNfYW02NTRfcGNpX2RldihwZGV2KSAmJiBiYXIgPT0gQkFSXzApCisJCQlnb3RvIHJl dDsKIAkJcmV0ID0gcGNpX2VuZHBvaW50X3Rlc3RfYmFyKHRlc3QsIGJhcik7CiAJCWJyZWFrOwog CWNhc2UgUENJVEVTVF9MRUdBQ1lfSVJROgpAQCAtNzg1LDExICs3OTMsMjAgQEAgc3RhdGljIHZv aWQgcGNpX2VuZHBvaW50X3Rlc3RfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogCXBjaV9k aXNhYmxlX2RldmljZShwZGV2KTsKIH0KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZW5kcG9p bnRfdGVzdF9kYXRhIGFtNjU0X2RhdGEgPSB7CisJLnRlc3RfcmVnX2JhciA9IEJBUl8yLAorCS5h bGlnbm1lbnQgPSBTWl82NEssCisJLmlycV90eXBlID0gSVJRX1RZUEVfTVNJLAorfTsKKwogc3Rh dGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHBjaV9lbmRwb2ludF90ZXN0X3RibFtdID0g ewogCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1RJLCBQQ0lfREVWSUNFX0lEX1RJX0RSQTc0 eCkgfSwKIAl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9USSwgUENJX0RFVklDRV9JRF9USV9E UkE3MngpIH0sCiAJeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfRlJFRVNDQUxFLCAweDgxYzAp IH0sCiAJeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfU1lOT1BTWVMsIDB4ZWRkYSkgfSwKKwl7 IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9USSwgUENJX0RFVklDRV9JRF9USV9BTTY1NCksCisJ ICAuZHJpdmVyX2RhdGEgPSAoa2VybmVsX3Vsb25nX3QpJmFtNjU0X2RhdGEKKwl9LAogCXsgfQog fTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBwY2lfZW5kcG9pbnRfdGVzdF90YmwpOwotLSAK Mi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=