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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id DF21CECAAD8 for ; Tue, 13 Sep 2022 21:15:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QeKNLfDMfZah/dipNCg6ZDC9bx6EvDZk7qV8HOxuQbQ=; b=bCmAh8vR7dNcXI /EccMsgesRkd45yeTOZkzJRUc05oBsq7bF/EIwqs6cP+3n1qA7K39vvUyHddPCXh5Tn+ZXTFTxhVy jiIk9Nf/m14nXB3xz0fOb0OqxYb8nl39FDGNjnkEm7spsaOWga1TfJoe6U4+pUZCS0LX29YealUKU BaQX75hfi7Zy26qSocCn9rut5KP3V8oUaqSFkUU3ffVSl4J+HXANTRO/Lasu7sN3jS0VpB8WLs0ho K/hE7Yx8gjpEndhtFLud4tkNWLkY0NMCuPzqXagJ3dVmNmZHajQ6TRvt2+TCoILzhwqJl8kipWj/M Sbex5sedVcCpo7EsPc1A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYDDl-00Gw5p-2J; Tue, 13 Sep 2022 21:13:29 +0000 Received: from mail-eopbgr150080.outbound.protection.outlook.com ([40.107.15.80] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYDBE-00Gsok-HK for linux-arm-kernel@lists.infradead.org; Tue, 13 Sep 2022 21:10:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XEmaRp4V+6k0xPtqvcgPh068ClNYlEWBn29I6IXFcG7GVT1xsgDhuCn/gAABaW/s0tAhMizR+VJ3gvztGiHKCG1BsN/ojr3aCWr10dl7tl9qf2VocBZQz0+U6u8NKLLnUagd1ZEI/9gCUmj8+DkZRJw+IUg3ZDV26w0/K3+DRe7CG6/JtfETLpk/jE0hsJHYTJyqk1IlLmi2mX65pWWSG8HqYhJFhIma40yVGRtXcZ4h91EaImD85ihiVIhBQ6IBbj/A0J/FT2qNiZPWEOpnXSKrywtCbFZi98k84CVJF2ifuDm+tKZXa4thfsCT986V8osQ0KmERw63jCSKgQROnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5h9QONj1wM2kOAz9yNa0R0Oclz4E1q1LBoedTWh3DLM=; b=L0QV6dni75VS51/lB/iwUi6U4ppi3ZYz20G8y63TwhFkTp5nMxWKzZZ/eT/ISQdgoBnTU9WLAgl90VQXwJ7XupM7WnvJLZORx0Oz3FsDue9V+U2fBphq56XU0qjuilCmx2xT7NdPngBnnswTK4JDy6vpJt1UgP5LAu7XsBaOXpiSwcvMmBqZG3be9+F0eNg3kcVCN2MHs8qrU9inSLxaccUd4jA3RGUjq+3k5ORpuX8P2YklliOWiqOSDhmS2YATunBSzLCNwsVnHj5o5gKR4HJtbHYa2nB7IVHNLtTbB77C7ZLgD0K9BMy2d+XqwWI0Q0qcaCCOsmKLzgFAW26b1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5h9QONj1wM2kOAz9yNa0R0Oclz4E1q1LBoedTWh3DLM=; b=G2iROw8jhnalwQOIYm869pT/TOc3TdohO6uIQ+SmbyVriXCe1O0PVQrdnujkuw2njZgfs/RVhOP9eZDuNjsXIqopJqepzqB2wGSNBJ+COdQrJh+9mtmBR4IxbDpPmoAABFW1apx/Kc+zZoccO1fsUPX+o+9bahI98iofrARsJ4M= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8793.eurprd04.prod.outlook.com (2603:10a6:20b:408::22) by PAXPR04MB8621.eurprd04.prod.outlook.com (2603:10a6:102:218::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.22; Tue, 13 Sep 2022 21:10:50 +0000 Received: from AM9PR04MB8793.eurprd04.prod.outlook.com ([fe80::e5ca:22d0:52e2:15f5]) by AM9PR04MB8793.eurprd04.prod.outlook.com ([fe80::e5ca:22d0:52e2:15f5%3]) with mapi id 15.20.5612.022; Tue, 13 Sep 2022 21:10:50 +0000 From: Frank Li To: maz@kernel.org, tglx@linutronix.de, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kw@linux.com, bhelgaas@google.com Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, peng.fan@nxp.com, aisheng.dong@nxp.com, jdmason@kudzu.us, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, kishon@ti.com, lorenzo.pieralisi@arm.com, ntb@lists.linux.dev, lznuaa@gmail.com, imx@lists.linux.dev, manivannan.sadhasivam@linaro.org Subject: [PATCH v10 6/6] PCI: endpoint: Add vNTB MSI support Date: Tue, 13 Sep 2022 16:09:57 -0500 Message-Id: <20220913210957.3493826-7-Frank.Li@nxp.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220913210957.3493826-1-Frank.Li@nxp.com> References: <20220913210957.3493826-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR07CA0023.namprd07.prod.outlook.com (2603:10b6:a02:bc::36) To AM9PR04MB8793.eurprd04.prod.outlook.com (2603:10a6:20b:408::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8793:EE_|PAXPR04MB8621:EE_ X-MS-Office365-Filtering-Correlation-Id: 2fec1a48-2d4c-4a28-4a3b-08da95cc6f5a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mKb6VEPLtddZz5RR9Uc5JF6JRjt1qppZ1Bir162WuFrY26vOqI0P4B8jlcMCgGpj4z+5d8UHkUt7IPML0SBGDsgNMmCE6dycL/ZDN1kOBJh4Kv5RA6hhYImMN5HUtS3zIlYz3VGjuhTomvdQ14tDBAIfpwHDPTL7hrvyZGf3QD3mmaB0Qz79vK+oZC+Q0B8cuPBvG5MgUmvMfYD1oY4dnrrGh4EOAby7dNV6IVSWwj0Ixbd3Z4ZbQ46jqIG60QlH9CeS+xOSBJVUZhXt5JRxeUJv4+bKp6TnG9tQVqdI5/j0bs+9KZYjiNQEbw5+hJInv9W0QMpj92Qwjx4qIIsqtj4e4CtC0mcCeoXpvj7iPIhy46Q+jbv1iPvxlpSeKpeEMOf1uaFGGn5Gkx2hROcYvtGu+0atRB+hRMIND5XYT8wv3mRAbOtOW/cjCIK2Q0YkFTus2q5gmgBFBP4FP53Do1EFm7D/hEi+3up2TAVmlrpMs0Ipd4Ji1fKszLRCBWzbtoM+V16Aj++kR2Nd8u/+rdA31KVqhKx489ea+ViqDgMLxv4hOLO08fdi80uVK8yPlBHytrwYEOSNDX/4d7pKnbtL4Af+BEOgOMSnxMMxv6gF6kNaUsz4N2TiGT7n/lvx8yiWWFTkpgZVBRc33Kaeppw54cuwNn6CbIo4PHApGHIovAq5WrGp16uVHS/SmksNsweluEWdYlDiDd7S4NXOo8f/EQO+E9J5/KA4geuYuzz1l2Hkp4mMKxRDiB7BzLM8cdsZwjw/uq6lnf23IeRChQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8793.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(136003)(366004)(396003)(346002)(451199015)(38100700002)(478600001)(316002)(83380400001)(36756003)(8676002)(66556008)(2906002)(26005)(52116002)(2616005)(6486002)(66476007)(66946007)(6512007)(86362001)(6506007)(4326008)(41300700001)(7416002)(38350700002)(8936002)(5660300002)(1076003)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MnBHbXUyQzJZUWNzV3JYelFQRGtQWENjWVlYQVVYSUgxUWFVd21vbDFVcmFM?= =?utf-8?B?UHRPTjh5SUNzR293eEZWWVl6OWdxVFgvQXZNZEI5Z1RxSjZkVk5vUTBmeFVL?= =?utf-8?B?bFh5bHpjaU5YOXZKbEk5UFM2NVFsNVJIbzd0RWJuLzJXd21rY2E3Nm1iUGJm?= =?utf-8?B?Y0F0VTg1QlZ0Q0QreGJuYWN4RDhWaStsZDVYOGxSVUJDeUVZL1JMUDFhc1pG?= =?utf-8?B?VjExMHlhdWFzNlc3Q2E1d3N2c2U3NGZzU3JLbkhRK0NHWHJ3WTZGQW9JZTNu?= =?utf-8?B?d3pqSTVZMi9Tcm1DdmFuUWloQ3dGVHBWRGJadkNZdTlRMjR2QTFSMFJ4a2ZI?= =?utf-8?B?N2ptaWRLQ0ExdUF5TkMzamtHNzNRS1lYZS9Tcy9zTDIxc0c0WEFQNkVWZ3A1?= =?utf-8?B?bGdzY1FURExheTZVNDd3NUp5WkdDb2lFUlBmcUY4TjMxSnY1OXhQOFZpSzVV?= =?utf-8?B?S2poKy9NU0x3QjIvb3hKQUJ1VFNTK2IwV0Q1T3Z3dFBvY2JVL0JxTzY4MzV6?= =?utf-8?B?R0srRUMrY3pKbXVQMDQ3Y0M3eExsQ1BudDM2cnJQaG0wRm10eDdra3Bha1Ry?= =?utf-8?B?bEwrc0pWa3NrY2JEbnJJbkY0bEZsVDZNQXc4amN0OUlNKzF0dU5ORGR4NFhK?= =?utf-8?B?N2Q1RzRxN2tXY011K1RITG1lYTk3KzV2Zi9kVUx2UnpTbFVoVHRYL2k5bzJ4?= =?utf-8?B?Wk1aUnlQTUREZDZEWWxwYTFLS3FWRmRBcUE4RFMxNFRsMGoyOERvQlpYUFRU?= =?utf-8?B?YndyaklrcjdxOUtFYWwrb0t3T2w2U0dxMzFVZiswRnNIa3RCYlh0dEltNjd6?= =?utf-8?B?ZlBVblhyNHMxT3luVDZKK09JSmNRQk15a3k1V2ZBc0F6NzZ6cmltdVZDRy9I?= =?utf-8?B?SmVJRmh6K202dFQ1dXczTUtMMFNxdDlBZjgvUW5SQTlnb1MxOFM0TDV6K1RB?= =?utf-8?B?SnhWN2t6Yit5SmE1dmhtblVBS1FzZnFUYzRtZ0tmY29ZOEtRNjA2aFltdkk1?= =?utf-8?B?aXRvRGtWaTJlOUFjQnVJK3VEUkR3L3o0SXo5ZUJTeDhBVk1EY2tlVlNSbFJV?= =?utf-8?B?MGIwSnZtZWF3MFI0SWNqVWxvUFp0UkJ4SWRMRTdXZkZhalcvNSszSXR6bW9n?= =?utf-8?B?eWNaVTN2OS9od2ZTekhYS0J0d0JiTVRZYVFQZGhQRFN4bGN3aVNvN2tZeWNk?= =?utf-8?B?VlJzYkphbmowVHBnVFQ5anVJVDJyNHYxZnZudHc5Z2FvUjlaUTdyZkx1S1N4?= =?utf-8?B?a2Z6akdEbi9WcisrS0VTNUNKSzJoMDZvWWkzZXJqWE1lTm9aZ2w3d1I2TDVH?= =?utf-8?B?NHBETnZiMHNTdW9uVytTejQ2WmF5a01pT1Q0Z2twWmx1ZWxkckZkVGpsdmtU?= =?utf-8?B?NWlEK3gycU45WHVpdGt0RUtYc3l1QSt1L3hSV2Z0VU5Eb0VHdEUzS1VYZkdo?= =?utf-8?B?UGlwbGxsOUdwT1g1RzVtNVo1NitIVXZ3QmtkbXVhcDFNWk5Bc2N4NTRDUUNS?= =?utf-8?B?VEYxbjU1VDhBYllFbXlWYVJqYlpOV3M2OElHU3BHSFZhQ2xwUXpBd1BBOUE4?= =?utf-8?B?N1VuR2NVY0hPU21UMGtjaTI0R0I2VFkzSDAxVFJuSDh3RzFNM0pxcEJHazM4?= =?utf-8?B?S0UxWENKMHo5eHdzODlvdFV0NlhhM1NnMTNDKzFySEdKLzgxNk1zMFRPOTE4?= =?utf-8?B?V1A2djNPUzNnOGtiMXdBcG0vSlRxbFlkWHN4SytaNHFrczBhd3JQZ2I4eUE2?= =?utf-8?B?c0xFSmpWUnppRHJ3eDFuMTdETHpzcEJPZWloMVZuUFlMY2tNdGtRVFpsMEs1?= =?utf-8?B?Z1F2VnBvZ1ZxVEZGeldGSHNkUUxGdWdEMURJdm84RGVBMVpJalpWRTdNNnZQ?= =?utf-8?B?WDFVbVdhaHB5K1h0STJIQkZWK3NVNC9NT3htaUY3ejFxMkdKOEtqWU5LbFha?= =?utf-8?B?T0RGRkZUUTYrTU9hWkdjY2lRSHJldHpRbmQ2a09YNjBzSWxRdnJ4UnZLczdE?= =?utf-8?B?M3U4YmcvOG5Lek53SUpYTTBkajkwbm4vbHBacTBqdGpzMlV2d1pBeHBxYlZQ?= =?utf-8?B?VksySldRYU43d3pCU29rLzNhQUJNUUR6ZHp2WFppVlFJdFdBeVMrc0kyNnlQ?= =?utf-8?Q?bu/4=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2fec1a48-2d4c-4a28-4a3b-08da95cc6f5a X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8793.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2022 21:10:50.3539 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XO0ncBdrMu4U2VRzHXiw3FfQrI7fYeX5B1v5EryMMuQSdKYTPmizKBqSAbGn55nH03LkTMuMY1dtyFpeems8eA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8621 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220913_141052_792643_7DFC1B6D X-CRM114-Status: GOOD ( 21.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org ICAgICAgICAgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICAgICAg ICAgICAgICAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAKICAgICAgICAg ICAgICAgICAgICAgIOKUgiAgICAgICDilIIgICAgICAgICAgICAgICAgICAg4pSCICAgICAgICAg IOKUggogICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAg 4pSCIFBDSSAgIOKUgiAgICAgICAgICAgICAgICAgICDilIIgUENJIEhvc3Qg4pSCCiAgICDilIIg TVNJICAgICAgICAg4pSC4peE4pSQIOKUgiBFUCAgICDilIIgICAgICAgICAgICAgICAgICAg4pSC ICAgICAgICAgIOKUggogICAg4pSCIENvbnRyb2xsZXIgIOKUgiDilIIg4pSCICAgICAgIOKUgiAz Lk1TSSBXcml0ZSAgICAgICDilIIgICAgICAgICAg4pSCCiAgICDilJTilIDilIDilIDilIDilIDi lIDilIDilIDilKzilIDilIDilIDilIDilJgg4pSU4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSkICAgICAgICAgIOKUggogICAgICDilrIgICAgICDilIIgICAgICAgIOKUgiAgICAgICDi lIIgICAgICAgICAgICAgICAgICAg4pSc4pSAQkFSX24gICAg4pSCCiAgICAgIOKUgiAgICAgIOKU lOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKWuuKUgiAg ICAgICAgICDilIIKICAgICAg4pSCICAgICAgICAgICAgICAg4pSCICAgICAgIOKUgiAyLkNhbGwg QmFjayAgICAgICDilIIgICAgICAgICAg4pSCCiAgICAgIOKUgiAgICAgICAgICAgICAgIOKUgiAg ICAgICDilIIgICB3cml0ZV9tc2lfbXNnKCkg4pSCICAgICAgICAgIOKUggogICAgICDilIIgICAg ICAgICAgICAgICDilIIgICAgICAg4pSCICAgICAgICAgICAgICAgICAgIOKUgiAgICAgICAgICDi lIIKICAgICAg4pSCICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSYICAg ICAgICAgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAogICAg ICDilIIgICAgICAgICAgICAgICAgICAg4pSCCiAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAogICAgICAxLnBsYXRmb3Jt X21zaV9kb21haW5fYWxsb2NfaXJxcygpCgpUaGVyZSBpcyBubyBkZWZpbmVkIHdheSBvZiByYWlz aW5nIElSUXMgYnkgUENJIGhvc3QgdG8gdGhlIFBDSSBlbmRwb2ludC4KT25seSBkZWZpbmUgTVNJ L01TSS1YIHRvIGxldCBFUCBub3RpZmllZCBSQyBzdGF0dXMgY2hhbmdlLgoKVGhlIG1lbW9yeSBh c3NpZ25lZCBmb3IgQkFSIHJlZ2lvbiBieSB0aGUgUENJIGhvc3QgaXMgbWFwcGVkIHRvIHRoZQpt ZXNzYWdlIGFkZHJlc3Mgb2YgcGxhdGZvcm0gbXNpIGludGVycnVwdCBjb250cm9sbGVyIGluIFBD SSBFbmRwb2ludC4KU3VjaCB0aGF0LCB3aGVuZXZlciB0aGUgUENJIGhvc3Qgd3JpdGVzIHRvIHRo ZSBCQVIgcmVnaW9uLCBpdCB3aWxsCnRyaWdnZXIgYW4gSVJRIGluIHRoZSBFbmRwb2ludC4KCkJh c2ljIHdvcmtpbmcgZm9sbG93IGFzCjEuIEVQIGZ1bmN0aW9uIGRyaXZlciBjYWxsIHBsYXRmb3Jt X21zaV9kb21haW5fYWxsb2NfaXJxcygpIGFsbG9jIGEKTVNJIGlycSBmcm9tIE1TSSBjb250cm9s bGVyIHdpdGggY2FsbCBiYWNrIGZ1bmN0aW9uIHdyaXRlX21zaV9tc2coKTsKMi4gd3JpdGVfbXNn X21zZyB3aWxsIGNvbmZpZyBCQVIgYW5kIG1hcCB0byBhZGRyZXNzIGRlZmluZWQgaW4gbXNpX21z ZzsKMy4gSG9zdCBzaWRlIHRyaWdnZXIgYW4gSVJRIGluIEVuZHBvaW50IGJ5IHdyaXRlIHRvIEJB UiByZWdpb24uCgpBZGQgTVNJIHN1cHBvcnQgZm9yIHBjaS1lcGYtdm50Yi4gUXVlcnkgaWYgc3lz dGVtIGhhcyBhbiBNU0kgY29udHJvbGxlci4KU2V0IHVwIGRvb3JiZWxsIGFkZHJlc3MgYWNjb3Jk aW5nIHRvIHN0cnVjdCBtc2lfbXNnLgoKU28gUENJIFJDIGNhbiB3cml0ZSB0aGlzIGRvb3JiZWxs IGFkZHJlc3MgdG8gdHJpZ2dlciBFUCBzaWRlJ3MgSVJRLgoKSWYgbm8gTVNJIGNvbnRyb2xsZXIg ZXhpc3RzLCBmYWxsIGJhY2sgdG8gc29mdHdhcmUgcG9sbGluZy4KClNpZ25lZC1vZmYtYnk6IEZy YW5rIExpIDxGcmFuay5MaUBueHAuY29tPgotLS0KIGRyaXZlcnMvcGNpL2VuZHBvaW50L2Z1bmN0 aW9ucy9wY2ktZXBmLXZudGIuYyB8IDE1MSArKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAxMjggaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9wY2kvZW5kcG9pbnQvZnVuY3Rpb25zL3BjaS1lcGYtdm50Yi5jIGIvZHJpdmVycy9wY2kv ZW5kcG9pbnQvZnVuY3Rpb25zL3BjaS1lcGYtdm50Yi5jCmluZGV4IDE3ZjAzMGJlZmRlNTIuLjkw MjcxYzAzOTRlODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2VuZHBvaW50L2Z1bmN0aW9ucy9w Y2ktZXBmLXZudGIuYworKysgYi9kcml2ZXJzL3BjaS9lbmRwb2ludC9mdW5jdGlvbnMvcGNpLWVw Zi12bnRiLmMKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wY2ktZXBjLmg+CiAj aW5jbHVkZSA8bGludXgvcGNpLWVwZi5oPgogI2luY2x1ZGUgPGxpbnV4L250Yi5oPgorI2luY2x1 ZGUgPGxpbnV4L21zaS5oPgogCiBzdGF0aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmtwY2lu dGJfd29ya3F1ZXVlOwogCkBAIC0xMzgsMTIgKzEzOSwxNSBAQCBzdHJ1Y3QgZXBmX250YiB7CiAK IAlzdHJ1Y3QgZXBmX250Yl9jdHJsICpyZWc7CiAKKwlwaHlzX2FkZHJfdCBlcGZfZGJfcGh5czsK IAl2b2lkICplcGZfZGI7CiAKIAlwaHlzX2FkZHJfdCB2cGNpX213X3BoeVtNQVhfTVddOwogCXZv aWQgX19pb21lbSAqdnBjaV9td19hZGRyW01BWF9NV107CiAKIAlzdHJ1Y3QgZGVsYXllZF93b3Jr IGNtZF9oYW5kbGVyOworCisJaW50IG1zaV92aXJxYmFzZTsKIH07CiAKICNkZWZpbmUgdG9fZXBm X250YihlcGZfZ3JvdXApIGNvbnRhaW5lcl9vZigoZXBmX2dyb3VwKSwgc3RydWN0IGVwZl9udGIs IGdyb3VwKQpAQCAtMjU0LDEwICsyNTgsMTMgQEAgc3RhdGljIHZvaWQgZXBmX250Yl9jbWRfaGFu ZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAludGIgPSBjb250YWluZXJfb2Yod29y aywgc3RydWN0IGVwZl9udGIsIGNtZF9oYW5kbGVyLndvcmspOwogCi0JZm9yIChpID0gMTsgaSA8 IG50Yi0+ZGJfY291bnQ7IGkrKykgewotCQlpZiAocmVhZGxfcmVsYXhlZChudGItPmVwZl9kYiAr IGkgKiBFTlRSWV9TSVpFKSkgewotCQkJbnRiX2RiX2V2ZW50KCZudGItPm50YiwgaSk7Ci0JCQl3 cml0ZWwoMCwgbnRiLT5lcGZfZGIgKyBpICogRU5UUllfU0laRSk7CisJaWYgKCFudGItPmVwZl9k Yl9waHlzKSB7CisJCWZvciAoaSA9IDE7IGkgPCBudGItPmRiX2NvdW50OyBpKyspIHsKKwkJCWlm IChyZWFkbF9yZWxheGVkKG50Yi0+ZXBmX2RiICsgaSAqIEVOVFJZX1NJWkUpKSB7CisJCQkJbnRi LT5kYiB8PSAxIDw8IChpIC0gMSk7CisJCQkJbnRiX2RiX2V2ZW50KCZudGItPm50YiwgaSk7CisJ CQkJd3JpdGVsKDAsIG50Yi0+ZXBmX2RiICsgaSAqIEVOVFJZX1NJWkUpOworCQkJfQogCQl9CiAJ fQogCkBAIC00NTYsNyArNDYzLDcgQEAgc3RhdGljIGludCBlcGZfbnRiX2NvbmZpZ19zcGFkX2Jh cl9hbGxvYyhzdHJ1Y3QgZXBmX250YiAqbnRiKQogCiAJZm9yIChpID0gMDsgaSA8IG50Yi0+ZGJf Y291bnQ7IGkrKykgewogCQludGItPnJlZy0+ZGJfZGF0YVtpXSA9IDEgKyBpOwotCQludGItPnJl Zy0+ZGJfb2Zmc2V0W2ldID0gMDsKKwkJbnRiLT5yZWctPmRiX29mZnNldFtpXSA9IEVOVFJZX1NJ WkUgKiBpOwogCX0KIAogCXJldHVybiAwOwpAQCAtNTA3LDYgKzUxNCwyOCBAQCBzdGF0aWMgaW50 IGVwZl9udGJfY29uZmlndXJlX2ludGVycnVwdChzdHJ1Y3QgZXBmX250YiAqbnRiKQogCXJldHVy biAwOwogfQogCitzdGF0aWMgaW50IGVwZl9udGJfZGJfc2l6ZShzdHJ1Y3QgZXBmX250YiAqbnRi KQoreworCWNvbnN0IHN0cnVjdCBwY2lfZXBjX2ZlYXR1cmVzICplcGNfZmVhdHVyZXM7CisJc2l6 ZV90IHNpemUgPSBFTlRSWV9TSVpFICogbnRiLT5kYl9jb3VudDsKKwl1MzIgYWxpZ247CisKKwll cGNfZmVhdHVyZXMgPSBwY2lfZXBjX2dldF9mZWF0dXJlcyhudGItPmVwZi0+ZXBjLAorCQkJCQkg ICAgbnRiLT5lcGYtPmZ1bmNfbm8sCisJCQkJCSAgICBudGItPmVwZi0+dmZ1bmNfbm8pOworCWFs aWduID0gZXBjX2ZlYXR1cmVzLT5hbGlnbjsKKworCWlmIChzaXplIDwgMTI4KQorCQlzaXplID0g MTI4OworCisJaWYgKGFsaWduKQorCQlzaXplID0gQUxJR04oc2l6ZSwgYWxpZ24pOworCWVsc2UK KwkJc2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhzaXplKTsKKworCXJldHVybiBzaXplOworfQor CiAvKioKICAqIGVwZl9udGJfZGJfYmFyX2luaXQoKSAtIENvbmZpZ3VyZSBEb29yYmVsbCB3aW5k b3cgQkFScwogICogQG50YjogTlRCIGRldmljZSB0aGF0IGZhY2lsaXRhdGVzIGNvbW11bmljYXRp b24gYmV0d2VlbiBIT1NUIGFuZCB2SE9TVApAQCAtNTIyLDMzICs1NTEsMzAgQEAgc3RhdGljIGlu dCBlcGZfbnRiX2RiX2Jhcl9pbml0KHN0cnVjdCBlcGZfbnRiICpudGIpCiAJdTMyIGFsaWduOwog CWludCByZXQ7CiAKLQlzaXplID0gRU5UUllfU0laRSAqIG50Yi0+ZGJfY291bnQ7Ci0KIAllcGNf ZmVhdHVyZXMgPSBwY2lfZXBjX2dldF9mZWF0dXJlcyhudGItPmVwZi0+ZXBjLAogCQkJCQkgICAg bnRiLT5lcGYtPmZ1bmNfbm8sCiAJCQkJCSAgICBudGItPmVwZi0+dmZ1bmNfbm8pOwogCWFsaWdu ID0gZXBjX2ZlYXR1cmVzLT5hbGlnbjsKLQotCWlmIChzaXplIDwgMTI4KQotCQlzaXplID0gMTI4 OwotCi0JaWYgKGFsaWduKQotCQlzaXplID0gQUxJR04oc2l6ZSwgYWxpZ24pOwotCWVsc2UKLQkJ c2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhzaXplKTsKKwlzaXplID0gZXBmX250Yl9kYl9zaXpl KG50Yik7CiAKIAliYXJubyA9IG50Yi0+ZXBmX250Yl9iYXJbQkFSX0RCXTsKKwllcGZfYmFyID0g Jm50Yi0+ZXBmLT5iYXJbYmFybm9dOwogCi0JbXdfYWRkciA9IHBjaV9lcGZfYWxsb2Nfc3BhY2Uo bnRiLT5lcGYsIHNpemUsIGJhcm5vLCBhbGlnbiwgMCk7Ci0JaWYgKCFtd19hZGRyKSB7Ci0JCWRl dl9lcnIoZGV2LCAiRmFpbGVkIHRvIGFsbG9jYXRlIE9CIGFkZHJlc3NcbiIpOwotCQlyZXR1cm4g LUVOT01FTTsKKwlpZiAobnRiLT5lcGZfZGJfcGh5cykgeworCQltd19hZGRyID0gTlVMTDsKKwkJ ZXBmX2Jhci0+cGh5c19hZGRyID0gbnRiLT5lcGZfZGJfcGh5czsKKwkJZXBmX2Jhci0+YmFybm8g PSBiYXJubzsKKwkJZXBmX2Jhci0+c2l6ZSA9IHNpemU7CisJfSBlbHNlIHsKKwkJbXdfYWRkciA9 IHBjaV9lcGZfYWxsb2Nfc3BhY2UobnRiLT5lcGYsIHNpemUsIGJhcm5vLCBhbGlnbiwgMCk7CisJ CWlmICghbXdfYWRkcikgeworCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgZG9v cmJlbGwgYWRkcmVzc1xuIik7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQogCX0KIAogCW50Yi0+ ZXBmX2RiID0gbXdfYWRkcjsKIAotCWVwZl9iYXIgPSAmbnRiLT5lcGYtPmJhcltiYXJub107Ci0K IAlyZXQgPSBwY2lfZXBjX3NldF9iYXIobnRiLT5lcGYtPmVwYywgbnRiLT5lcGYtPmZ1bmNfbm8s IG50Yi0+ZXBmLT52ZnVuY19ubywgZXBmX2Jhcik7CiAJaWYgKHJldCkgewogCQlkZXZfZXJyKGRl diwgIkRvb3JiZWxsIEJBUiBzZXQgZmFpbGVkXG4iKTsKQEAgLTcwNCw2ICs3MzAsODQgQEAgc3Rh dGljIGludCBlcGZfbnRiX2luaXRfZXBjX2JhcihzdHJ1Y3QgZXBmX250YiAqbnRiKQogCXJldHVy biAwOwogfQogCisjaWZkZWYgQ09ORklHX0dFTkVSSUNfTVNJX0lSUV9ET01BSU4KK3N0YXRpYyB2 b2lkIGVwZl9udGJfd3JpdGVfbXNpX21zZyhzdHJ1Y3QgbXNpX2Rlc2MgKmRlc2MsIHN0cnVjdCBt c2lfbXNnICptc2cpCit7CisJc3RydWN0IGVwZl9udGIgKm50YiA9IGRldl9nZXRfZHJ2ZGF0YShk ZXNjLT5kZXYpOworCXN0cnVjdCBlcGZfbnRiX2N0cmwgKnJlZyA9IG50Yi0+cmVnOworCWludCBz aXplID0gZXBmX250Yl9kYl9zaXplKG50Yik7CisJdTY0IGFkZHI7CisKKwlhZGRyID0gbXNnLT5h ZGRyZXNzX2hpOworCWFkZHIgPDw9IDMyOworCWFkZHIgfD0gbXNnLT5hZGRyZXNzX2xvOworCisJ cmVnLT5kYl9kYXRhW2Rlc2MtPm1zaV9pbmRleF0gPSBtc2ctPmRhdGE7CisKKwlpZiAoIWRlc2Mt Pm1zaV9pbmRleCkKKwkJbnRiLT5lcGZfZGJfcGh5cyA9IHJvdW5kX2Rvd24oYWRkciwgc2l6ZSk7 CisKKwlyZWctPmRiX29mZnNldFtkZXNjLT5tc2lfaW5kZXhdID0gYWRkciAtIG50Yi0+ZXBmX2Ri X3BoeXM7Cit9CisjZW5kaWYKKworc3RhdGljIGlycXJldHVybl90IGVwZl9udGJfaW50ZXJydXB0 X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZXBmX250YiAqbnRiID0g ZGF0YTsKKwlpbnQgaW5kZXg7CisKKwlpbmRleCA9IGlycSAtIG50Yi0+bXNpX3ZpcnFiYXNlOwor CW50Yi0+ZGIgfD0gMSA8PCAoaW5kZXggLSAxKTsKKwludGJfZGJfZXZlbnQoJm50Yi0+bnRiLCBp bmRleCk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKKyNpZmRlZiBDT05GSUdfR0VORVJJ Q19NU0lfSVJRX0RPTUFJTgorc3RhdGljIHZvaWQgZXBmX250Yl9lcGNfbXNpX2luaXQoc3RydWN0 IGVwZl9udGIgKm50YikKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmbnRiLT5lcGYtPmRldjsK KwlzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9tYWluOworCWludCB2aXJxOworCWludCByZXQ7CisJaW50 IGk7CisKKwlkb21haW4gPSBkZXZfZ2V0X21zaV9kb21haW4obnRiLT5lcGYtPmVwYy0+ZGV2LnBh cmVudCk7CisJaWYgKCFkb21haW4pCisJCXJldHVybjsKKworCWRldl9zZXRfbXNpX2RvbWFpbihk ZXYsIGRvbWFpbik7CisKKwlpZiAocGxhdGZvcm1fbXNpX2RvbWFpbl9hbGxvY19pcnFzKCZudGIt PmVwZi0+ZGV2LAorCQludGItPmRiX2NvdW50LAorCQllcGZfbnRiX3dyaXRlX21zaV9tc2cpKSB7 CisJCWRldl9lcnIoZGV2LCAiQ2FuJ3QgYWxsb2NhdGUgTVNJLCBmYWxsaW5nIGJhY2sgdG8gcG9s bGluZyBtb2RlXG4iKTsKKwkJcmV0dXJuOworCX0KKwlkZXZfaW5mbyhkZXYsICJVc2luZyBNU0kg YXMgZG9vcmJlbGxcbiIpOworCisJZm9yIChpID0gMDsgaSA8IG50Yi0+ZGJfY291bnQ7IGkrKykg eworCQl2aXJxID0gbXNpX2dldF92aXJxKGRldiwgaSk7CisJCXJldCA9IGRldm1fcmVxdWVzdF9p cnEoZGV2LCB2aXJxLAorCQkJICAgICAgIGVwZl9udGJfaW50ZXJydXB0X2hhbmRsZXIsIDAsCisJ CQkgICAgICAgInBjaV9lcGZfdm50YiIsIG50Yik7CisKKwkJaWYgKHJldCkgeworCQkJZGV2X2Vy cihkZXYsICJGYWlsZWQgdG8gcmVxdWVzdCBkb29yYmVsbCBJUlEhIEZhbGxpbmcgYmFjayB0byBw b2xsaW5nIG1vZGUiKTsKKwkJCW50Yi0+ZXBmX2RiX3BoeXMgPSAwOworCQkJYnJlYWs7CisJCX0K KworCQlpZiAoIWkpCisJCQludGItPm1zaV92aXJxYmFzZSA9IHZpcnE7IC8qIG1zaSBzdGFydCB2 aXJxIG51bWJlciAqLworCX0KK30KKyNlbHNlCitzdGF0aWMgdm9pZCBlcGZfbnRiX2VwY19tc2lf aW5pdChzdHJ1Y3QgZXBmX250YiAqbnRiKQoreworCXJldHVybjsKK30KKyNlbmRpZiAvKiBDT05G SUdfR0VORVJJQ19NU0lfSVJRX0RPTUFJTiAqLwogLyoqCiAgKiBlcGZfbnRiX2VwY19pbml0KCkg LSBJbml0aWFsaXplIE5UQiBpbnRlcmZhY2UKICAqIEBudGI6IE5UQiBkZXZpY2UgdGhhdCBmYWNp bGl0YXRlcyBjb21tdW5pY2F0aW9uIGJldHdlZW4gSE9TVCBhbmQgdkhPU1QyCkBAIC0xMjk5LDE0 ICsxNDAzLDE1IEBAIHN0YXRpYyBpbnQgZXBmX250Yl9iaW5kKHN0cnVjdCBwY2lfZXBmICplcGYp CiAJCWdvdG8gZXJyX2Jhcl9hbGxvYzsKIAl9CiAKKwllcGZfc2V0X2RydmRhdGEoZXBmLCBudGIp OworCWVwZl9udGJfZXBjX21zaV9pbml0KG50Yik7CisKIAlyZXQgPSBlcGZfbnRiX2VwY19pbml0 KG50Yik7CiAJaWYgKHJldCkgewogCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0aWFsaXpl IEVQQ1xuIik7CiAJCWdvdG8gZXJyX2Jhcl9hbGxvYzsKIAl9CiAKLQllcGZfc2V0X2RydmRhdGEo ZXBmLCBudGIpOwotCiAJcGNpX3NwYWNlWzBdID0gKG50Yi0+dm50Yl9waWQgPDwgMTYpIHwgbnRi LT52bnRiX3ZpZDsKIAlwY2lfdm50Yl90YWJsZVswXS52ZW5kb3IgPSBudGItPnZudGJfdmlkOwog CXBjaV92bnRiX3RhYmxlWzBdLmRldmljZSA9IG50Yi0+dm50Yl9waWQ7Ci0tIAoyLjM1LjEKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg==