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 09AC6C00140 for ; Thu, 18 Aug 2022 15:20:22 +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=UdvQwyeaeWi92Dea9uIy1cBLbnvjSti9btrp/lpvt8o=; b=Kh0F+i/xIvI8bz HCAD/hD3KYGpX7zpT/zVEWjYGFO8KOK19KWorW39ViH25uQRgAhM1Sn65GKF7DBHGZFieP+KdobM8 +XZAwvoOZT6I1R+np6Ez/h0ap4KBSL0YchzCXwvARe0F9EZtlFfWI0d9NbXdyc1vuR7duEfo7tNHT WWKwq7G3HfsiJyNl3omuLt8cPu6gsNBnkddfFtwrZPrbfRZoPQtP41fFJdpnydUnquyvL7Mrbou0q 0p27BkKxrkJs6oBsjR3tBV6FgEG4KixxN85+oP0efUKYiL0PGZZZRPDNvwr/YVXhFGGOo+U5Hf767 cTLpYjJEJunUkXAY7pZQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oOhII-006XF4-LI; Thu, 18 Aug 2022 15:18:51 +0000 Received: from mail-am6eur05on2048.outbound.protection.outlook.com ([40.107.22.48] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oOhBu-006TnS-W0 for linux-arm-kernel@lists.infradead.org; Thu, 18 Aug 2022 15:12:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k2Wo0/IV+WVfok7DEk20VU8vVibjyKzySi9IHHfBKODLezSTDO5clzW25Nv/ncRwZTRBHh7q6D5MD+m0RJS1oKOEj9H04uhStT0RR0/ykApBrt5IZgz4BI9N7z1NpHUlwYWPfRNwrOFfAJqRVPFcnTEYpwL889/NsKrpoY3SSGms1BuTqCQlkZAmSR/AbVX1wl6V2lf3qgQYmz9a6Wqwry3Uw6sCVfZnnPHNzShxqh4MBdSCsE+oBpEcPsNuORJelbdEl1G1L7D5DwNofnIwVYlsUj0XCsQtB+g3M3HBIMRuRoY6rn2ExceShJgXBAGYRlVGKirAOxHNx0XyUJiEtQ== 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=g1NdUcLeUXF4fzJDgh+3FCiqhJxBXQ8qbrSj5WgwzKo=; b=GpskljL6i91pwjDY1KtPzRBB+VEklgvxglOvwXIsMLYCfaIzi9bb1hWBaDbcB/hEkEpSBd0kPY6jKKTLafZGdfQXhK4Qhd1xG84wKhZrmIxTccJxOjs7m7x2xZkWr8c79MdtJ0FNVI6/vjtrKXfdTewH0REkzbc7cvyv8lsEYFPeFurYTqopBpAhNU98+Pz84ybPSZv+GHqJJHFpNYusZlspL5cAl7cIzK7MTZlMRPqAiSdm/6+PsmVp8vtQpizHSU2C/V5fP2ryneMiv88t9gFhehI93NsHDJWOrff9Tl/g3aUk1y463t7MjZnFmsCLKj0JAG3HbG1NGGXjGH2SVg== 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=g1NdUcLeUXF4fzJDgh+3FCiqhJxBXQ8qbrSj5WgwzKo=; b=jqpMV+abWyWFXop5n1wuqQPMvpg2V9CU8yRiUQTNJrwXVlcKUsBHc9EyqCyKytXZHqMR1WcfTE2zLY6b9Y4B5edbCRPq+ZtcDpLDTFRyahgxcvFp3gdk/294mGBAUBDuc11Zr8KuWrO3Zb0tUCzv5TVFnc5/bmS11E9KZ3eiCe4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18) by AM0PR04MB5713.eurprd04.prod.outlook.com (2603:10a6:208:125::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug 2022 15:12:11 +0000 Received: from PAXPR04MB9186.eurprd04.prod.outlook.com ([fe80::40a9:93e4:75d4:f73c]) by PAXPR04MB9186.eurprd04.prod.outlook.com ([fe80::40a9:93e4:75d4:f73c%3]) with mapi id 15.20.5546.016; Thu, 18 Aug 2022 15:12:10 +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 Subject: [PATCH v6 4/4] pcie: endpoint: pci-epf-vntb: add endpoint MSI support Date: Thu, 18 Aug 2022 10:11:27 -0500 Message-Id: <20220818151127.2449064-5-Frank.Li@nxp.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220818151127.2449064-1-Frank.Li@nxp.com> References: <20220818151127.2449064-1-Frank.Li@nxp.com> X-ClientProxiedBy: SJ0PR13CA0141.namprd13.prod.outlook.com (2603:10b6:a03:2c6::26) To PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2bbd2ff3-ab45-4661-bc50-08da812c0613 X-MS-TrafficTypeDiagnostic: AM0PR04MB5713:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: S8A04qEaiew4yspKLGL9XKD5QKhJCHIpQCS/0KSbT2doQKTySCav6c+KHJiBcDWHNEm3jo1xX5Mu82rdEnab4wlwjQ8uaV7E4nBRHgM7s6+mkNLk4/Fbp1Sb8z1k7C6US4ZJvmUkYPL5ajaCXdhhXpgd8IdMBehHxd0Wu7cnxNfswsj9coeSx0Oa9/5JvP7++dH7R+0hhGgtPdA/5OhmJjfRDiSQznJb+PtKELxMPAkNziW7bqd5LPQVf0nKvrLyUWncpXVWQbE73bttkaDFd3JdNR9mayp6rOVIK+Tw0tbY5WFmiebw1Hia6rwVve5CBLuMF04s2lVhTrh4PZLAQbeHGtyvLjt/hKrfXmmW/tHPBcnMD8va3aagV4I6kIfa+JGlSgaAbwXSMWeRwwR8lhC5RYaHzNiZTrl6fn99s6eZGlaK6xgIBrNcy7KChOrCCOYefvxx1zqlpbLXjRe4mE03ETb5kBOXoNShsEXutCS0ZBZdJ51T+exaw91zFrTkvAMR2iftLIzOmvuhtxjavz5tJuFK5uSMG4LlqL/NtuC80rkisuJC44ckZdqRqutoGb1qxc1m49q47Js8f9ZLQvVUCvXqkXBiochJtcYTS/+EQnzPPG4kMj+ZRd7wdb9s7/3MT44ESsqJmaj97gD1To4uRbQbBmfyrf9trx8IjC1QHI93diD9UZvfeEhcjU5StCABtG44p+oWsY5v46lPQelNX2h5Zlm/hXAkE8zxIpcGNr8oUGUfmJ1+HgJgsO9L2kArhwXwYM91hxE7vowd9w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9186.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(366004)(376002)(39860400002)(396003)(2616005)(316002)(1076003)(186003)(83380400001)(36756003)(38350700002)(38100700002)(6506007)(52116002)(4326008)(66946007)(66476007)(66556008)(2906002)(8676002)(6486002)(86362001)(6512007)(41300700001)(478600001)(26005)(6666004)(8936002)(5660300002)(7416002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TEdwMVA3dk9KWmg4Yzg2Q2lpdkdiTUowSUlxZGRxZFpNU2tvUXZsSVdFWXdF?= =?utf-8?B?YkNJTWVNblRDNjI2SWJhSm5oMWNaamhGWFRuMkpVT2tnNElrU2o3amlMbDVv?= =?utf-8?B?TnIra1Z1NUI3U1E0MWVhZG90dEdSNUFULy9FcVNPWFJ1U2ZkR2R4cGdlZlhl?= =?utf-8?B?d011Qlg2RXFoSmZyM3BkZXZpQjQ3YmRXbHB1MUZtVGFTa3VCRHNFWEJYWlND?= =?utf-8?B?eGtpMFMwSzJOMjljU3ZTdUZ0bmJjYlA1RERmNk1ka0gvWkgxUTJyUmFpTlJT?= =?utf-8?B?bXpsQS9jenZVaklCdWJGbTBlbDFpZ2JNUVkrRkI5aGJpMitNSnQzOGRYaWw4?= =?utf-8?B?QmFlQzBJcmp4MERmOFRiWTFJRzJzY1NvQkZsK0NndTNIeWNpOUVhOGo5YzVW?= =?utf-8?B?aDk4OWxRREpjQ3hXNFlNUDUzNWJmbUNoRDVraUJGc3ZMNmFDYit6UGdMUmJR?= =?utf-8?B?aFJCRnQ1K2IyNERzQ1o1anRlallQU29LdXhhL0t4WTdiNmc3N3lhcGxNc3l6?= =?utf-8?B?U0lwdG5USDRCRW12NHB6RzUzN1pWZ2JQc29lMExxU3I1L3pXL1NjeVZFdmRB?= =?utf-8?B?ZUVpZHF6WXlUSDlMd1g4Yk11Kys2Y1pLaURnTDU1UUZnZ2NXeWFvMTh0MFFF?= =?utf-8?B?SmZPRThtZ2NLYS8wN1dnblVVVi9IU1hsOUhPY0tFWkRLT2FNSVVkMnNKQnNU?= =?utf-8?B?RkJ4N1NHQVpraDFTTGN2Y25mZUorYzFxRnA0eXlISFFnWGdJOXR4Q0VuUEZF?= =?utf-8?B?QlhDWmRwU0FCQzBvWnBYMEpZdmZoeUttTk5ZeTJVZVNvSkJVUTdLKzN0MjJ6?= =?utf-8?B?MkM5emdQU1B0b0R2aVFQWmhKUVYrTDkyVHhXZDVaelRWaTJmQzd6T3dQaEV1?= =?utf-8?B?bXFMZ1UvYUM1VlZpQ1IyWlRyWlg0eGZBWC81bkIzYVhFVmlZSC9pU21sTlVq?= =?utf-8?B?S3pwWlpOU0RKTm9WMnRVL1dOYXp3UmNjMnpBWUh6M24rVERtVGFPU1R0TVhz?= =?utf-8?B?dERxYW1sT2lUOE0zRlMzSGRveklUTlFiQ0l2MTl6dHpiTHk0enhsdkw2czd6?= =?utf-8?B?TzI0YXRSZDczd0hvd0xlTktzNDFLTUlPZGVDMDNyWVNTWEhhNUEzWXhnQmxr?= =?utf-8?B?ZmlnWFJYWmJnaFBqY09RQ1o4SHNwbnJwU24xRHVEK0RMOHh4ZHdJblRNbTlE?= =?utf-8?B?R1FpL2psSHlDbXhRKzZYdXF4VC9Uc3ZZUzcycjcwMlRsNHY0NE5YTnJIL3R5?= =?utf-8?B?NzJJQ2FITW9ySzZwN3hLNS9QK04xK3l6ak02MkhlODRyclpvRmpCS041bmtt?= =?utf-8?B?cGdIY3MzbnNyZTVaWVpPa0F6RGhuMUZVWmplQkYxNkJiRDJNWXVRaTNTamF6?= =?utf-8?B?R01DT253WFQxQ1FrSFI4a2VuQVdTbnlYSUxxbGF2cWhoemRKVjMzTUw3ek1O?= =?utf-8?B?aitndTZ1dXc1WG5CZm1QcXVXV2Q0TUNYOUUxaDZRaHU0M04yS2JtcXlhYTJz?= =?utf-8?B?QkpDZWRnUmlsNEhzaERVR2o4S3dsV1k3bFlVdVd2YXpQNjZrRms2c0d5RCtS?= =?utf-8?B?QlM0cFBKM1hXUTdJdS92dmhadHg3Rk5xNGg5L1l6Lzl5NHlOdXF5WjlXN0k2?= =?utf-8?B?aWRBMkhGQlYzcXoreDcybDNSOVlsSkZmandQcW1ZTlNycE9xRDJvQkdvZzVT?= =?utf-8?B?MWxuUUtVNysybW94Z3pyQnFPdFpvMW9MaW9aZHk4L04rMFVMVnlkNWI3V0Zt?= =?utf-8?B?OW5DMkQ3Zld1NHYrZEM1dVRNOGMzczhBbkxmekUreE1DUkVXL0xLREZnN1o2?= =?utf-8?B?SUE5MUVBbkhNdktVUE4xb1FNY21mNWoxaXBGM3dTY0dYRjFjbHA0Q1dLSTFl?= =?utf-8?B?VSsrbHhTNTdacjE2dlVCYjNOK3NEUHdsZ2dNWXVGd1RsbjU2WHA0NnB2cGFt?= =?utf-8?B?djIxWjZYZnRWNS9ndWx3SElyNnFQdXBLQVk0eXkrSGZBOVVYdURYYURYbTNO?= =?utf-8?B?bjQxYUNPSWc1amhWOTZucFl3RU1RaGNyK1c5c0dLSlY4Z0t2VElFZmI0Nzdr?= =?utf-8?B?cDZwdmJZamlzM1poVFFsZm9DSUlzRnFIVUFYdFExSTU5UEhYWFlrWGpVYXdh?= =?utf-8?Q?+SvQ=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2bbd2ff3-ab45-4661-bc50-08da812c0613 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9186.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 15:12:10.8878 (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: zDE5gIA9p6DHAuzYbEkVdgz4Jd9ssdkKzSIc2T/zDw5PFnNpX0aHZ7H4r1mj9wjtwzeMb8bKdaWow8pBKYTi8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5713 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220818_081215_242324_F249EDB8 X-CRM114-Status: GOOD ( 21.92 ) 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 ICAgICAgICAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgICAg ICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkAogICAgICAgICAgICAgICAg ICAgICAgICDilIIgICAgICAg4pSCICAgICAgICAgIOKUgiAgICAgICAgICDilIIKICAgICAg4pSM 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAg4pSCICAgICAgIOKU giAgICAgICAgICDilIIgUENJIEhvc3Qg4pSCCiAgICAgIOKUgiBNU0kgICAgICAgICDilILil4Ti lJAg4pSCICAgICAgIOKUgiAgICAgICAgICDilIIgICAgICAgICAg4pSCCiAgICAgIOKUgiBDb250 cm9sbGVyICDilIIg4pSCIOKUgiAgICAgICDilIIgICAgICAgICAg4pSCICAgICAgICAgIOKUggog ICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJgg4pSU4pSA 4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pS84pSAQkFSMCAgICAg4pSCCiAgICAgICAgICAgICAgICAgICAgICAgIOKUgiBQQ0kgICDilIIg ICAgICAgICAg4pSCIEJBUjEgICAgIOKUggogICAgICAgICAgICAgICAgICAgICAgICDilIIgRnVu YyAg4pSCICAgICAgICAgIOKUgiBCQVIyICAgICDilIIKICAgICAgICAgICAgICAgICAgICAgICAg 4pSCICAgICAgIOKUgiAgICAgICAgICDilIIgQkFSMyAgICAg4pSCCiAgICAgICAgICAgICAgICAg ICAgICAgIOKUgiAgICAgICDilIIgICAgICAgICAg4pSCIEJBUjQgICAgIOKUggogICAgICAgICAg ICAgICAgICAgICAgICDilIIgICAgICAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pa6 4pSCICAgICAgICAgIOKUggogICAgICAgICAgICAgICAgICAgICAgICDilJTilIDilIDilIDilIDi lIDilIDilIDilJggICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSY CgpMaW51eCBzdXBwb3J0cyBlbmRwb2ludCBmdW5jdGlvbnMuIFBDSSBIb3N0IHdyaXRlIEJBUjxu PiBzcGFjZSBsaWtlIHdyaXRlCnRvIG1lbW9yeS4gVGhlIEVQIHNpZGUgY2FuJ3Qga25vdyBtZW1v cnkgY2hhbmdlZCBieSB0aGUgaG9zdCBkcml2ZXIuCgpQQ0kgU3BlYyBoYXMgbm90IGRlZmluZWQg YSBzdGFuZGFyZCBtZXRob2QgdG8gZG8gdGhhdC4gT25seSBkZWZpbmUgTVNJKHgpCnRvIGxldCBF UCBub3RpZmllZCBSQyBzdGF0dXMgY2hhbmdlLgoKVGhlIGJhc2ljIGlkZWEgaXMgdG8gdHJpZ2dl ciBhbiBJUlEgd2hlbiBQQ0kgUkMgd3JpdGVzIHRvIGEgbWVtb3J5CmFkZHJlc3MuIFRoYXQncyB3 aGF0IE1TSSBjb250cm9sbGVyIHByb3ZpZGVkLiBFUCBkcml2ZXJzIGp1c3QgbmVlZCB0bwpyZXF1 ZXN0IGEgcGxhdGZvcm0gTVNJIGludGVycnVwdCwgc3RydWN0IG1zaV9tc2cgKm1zZyB3aWxsIHBh c3MgZG93biBhCm1lbW9yeSBhZGRyZXNzIGFuZCBkYXRhLiBFUCBkcml2ZXIgd2lsbCBtYXAgc3Vj aCBtZW1vcnkgYWRkcmVzcyB0byBvbmUgb2YKUENJIEJBUjxuPi4gIEhvc3QganVzdCB3cml0ZXMg c3VjaCBhbiBhZGRyZXNzIHRvIHRyaWdnZXIgRVAgc2lkZSBpcnEuCgpBZGQgTVNJIHN1cHBvcnQg Zm9yIHBjaS1lcGYtdm50Yi4gcGNpLWVwZi12bnRiIGRyaXZlciBxdWVyeSBpZiBzeXN0ZW0KaGF2 ZSBNU0kgY29udHJvbGxlci4gU2V0dXAgZG9vcmJlbGwgYWRkcmVzcyBhY2NvcmRpbmcgdG8gc3Ry dWN0IG1zaV9tc2cuCgpTbyBQQ0llIGhvc3QgY2FuIHdyaXRlIHRoaXMgZG9vcmJlbGwgYWRkcmVz cyB0byB0cmlnZXIgRVAgc2lkZSdzIGlycS4KCklmIG5vIE1TSSBjb250cm9sbGVyIGV4aXN0LCBm YWxsIGJhY2sgdG8gc29mdHdhcmUgcG9sbGluZy4KClNpZ25lZC1vZmYtYnk6IEZyYW5rIExpIDxG cmFuay5MaUBueHAuY29tPgotLS0KIGRyaXZlcnMvcGNpL2VuZHBvaW50L2Z1bmN0aW9ucy9wY2kt ZXBmLXZudGIuYyB8IDEzNCArKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMTIg aW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kv ZW5kcG9pbnQvZnVuY3Rpb25zL3BjaS1lcGYtdm50Yi5jIGIvZHJpdmVycy9wY2kvZW5kcG9pbnQv ZnVuY3Rpb25zL3BjaS1lcGYtdm50Yi5jCmluZGV4IDE0NjZkZDE5MDQxNzUuLmFkNGY3ZWM4YTM5 ZmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2VuZHBvaW50L2Z1bmN0aW9ucy9wY2ktZXBmLXZu dGIuYworKysgYi9kcml2ZXJzL3BjaS9lbmRwb2ludC9mdW5jdGlvbnMvcGNpLWVwZi12bnRiLmMK QEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wY2ktZXBjLmg+CiAjaW5jbHVkZSA8 bGludXgvcGNpLWVwZi5oPgogI2luY2x1ZGUgPGxpbnV4L250Yi5oPgorI2luY2x1ZGUgPGxpbnV4 L21zaS5oPgogCiBzdGF0aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmtwY2ludGJfd29ya3F1 ZXVlOwogCkBAIC0xNDMsNiArMTQ0LDggQEAgc3RydWN0IGVwZl9udGIgewogCXZvaWQgX19pb21l bSAqdnBjaV9td19hZGRyW01BWF9NV107CiAKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGNtZF9oYW5k bGVyOworCisJaW50IG1zaV92aXJxYmFzZTsKIH07CiAKICNkZWZpbmUgdG9fZXBmX250YihlcGZf Z3JvdXApIGNvbnRhaW5lcl9vZigoZXBmX2dyb3VwKSwgc3RydWN0IGVwZl9udGIsIGdyb3VwKQpA QCAtMjUzLDcgKzI1Niw3IEBAIHN0YXRpYyB2b2lkIGVwZl9udGJfY21kX2hhbmRsZXIoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJbnRiID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBl cGZfbnRiLCBjbWRfaGFuZGxlci53b3JrKTsKIAotCWZvciAoaSA9IDE7IGkgPCBudGItPmRiX2Nv dW50OyBpKyspIHsKKwlmb3IgKGkgPSAxOyBpIDwgbnRiLT5kYl9jb3VudCAmJiAhbnRiLT5lcGZf ZGJfcGh5OyBpKyspIHsKIAkJaWYgKHJlYWRsKG50Yi0+ZXBmX2RiICsgaSAqIDQpKSB7CiAJCQlp ZiAocmVhZGwobnRiLT5lcGZfZGIgKyBpICogNCkpCiAJCQkJbnRiLT5kYiB8PSAxIDw8IChpIC0g MSk7CkBAIC00NTQsMTEgKzQ1Nyw5IEBAIHN0YXRpYyBpbnQgZXBmX250Yl9jb25maWdfc3BhZF9i YXJfYWxsb2Moc3RydWN0IGVwZl9udGIgKm50YikKIAljdHJsLT5udW1fbXdzID0gbnRiLT5udW1f bXdzOwogCW50Yi0+c3BhZF9zaXplID0gc3BhZF9zaXplOwogCi0JY3RybC0+ZGJfZW50cnlfc2l6 ZSA9IDQ7Ci0KIAlmb3IgKGkgPSAwOyBpIDwgbnRiLT5kYl9jb3VudDsgaSsrKSB7CiAJCW50Yi0+ cmVnLT5kYl9kYXRhW2ldID0gMSArIGk7Ci0JCW50Yi0+cmVnLT5kYl9vZmZzZXRbaV0gPSAwOwor CQludGItPnJlZy0+ZGJfb2Zmc2V0W2ldID0gNCAqIGk7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC01 MDksNiArNTEwLDI4IEBAIHN0YXRpYyBpbnQgZXBmX250Yl9jb25maWd1cmVfaW50ZXJydXB0KHN0 cnVjdCBlcGZfbnRiICpudGIpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgZXBmX250Yl9k Yl9zaXplKHN0cnVjdCBlcGZfbnRiICpudGIpCit7CisJY29uc3Qgc3RydWN0IHBjaV9lcGNfZmVh dHVyZXMgKmVwY19mZWF0dXJlczsKKwlzaXplX3Qgc2l6ZSA9IDQgKiBudGItPmRiX2NvdW50Owor CXUzMiBhbGlnbjsKKworCWVwY19mZWF0dXJlcyA9IHBjaV9lcGNfZ2V0X2ZlYXR1cmVzKG50Yi0+ ZXBmLT5lcGMsCisJCQkJCSAgICBudGItPmVwZi0+ZnVuY19ubywKKwkJCQkJICAgIG50Yi0+ZXBm LT52ZnVuY19ubyk7CisJYWxpZ24gPSBlcGNfZmVhdHVyZXMtPmFsaWduOworCisJaWYgKHNpemUg PCAxMjgpCisJCXNpemUgPSAxMjg7CisKKwlpZiAoYWxpZ24pCisJCXNpemUgPSBBTElHTihzaXpl LCBhbGlnbik7CisJZWxzZQorCQlzaXplID0gcm91bmR1cF9wb3dfb2ZfdHdvKHNpemUpOworCisJ cmV0dXJuIHNpemU7Cit9CisKIC8qKgogICogZXBmX250Yl9kYl9iYXJfaW5pdCgpIC0gQ29uZmln dXJlIERvb3JiZWxsIHdpbmRvdyBCQVJzCiAgKiBAbnRiOiBOVEIgZGV2aWNlIHRoYXQgZmFjaWxp dGF0ZXMgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIEhPU1QgYW5kIHZIT1NUCkBAIC01MjAsMzUgKzU0 MywzMyBAQCBzdGF0aWMgaW50IGVwZl9udGJfZGJfYmFyX2luaXQoc3RydWN0IGVwZl9udGIgKm50 YikKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmbnRiLT5lcGYtPmRldjsKIAlpbnQgcmV0OwogCXN0 cnVjdCBwY2lfZXBmX2JhciAqZXBmX2JhcjsKLQl2b2lkIF9faW9tZW0gKm13X2FkZHI7CisJdm9p ZCBfX2lvbWVtICptd19hZGRyID0gTlVMTDsKIAllbnVtIHBjaV9iYXJubyBiYXJubzsKLQlzaXpl X3Qgc2l6ZSA9IDQgKiBudGItPmRiX2NvdW50OworCXNpemVfdCBzaXplOwogCiAJZXBjX2ZlYXR1 cmVzID0gcGNpX2VwY19nZXRfZmVhdHVyZXMobnRiLT5lcGYtPmVwYywKIAkJCQkJICAgIG50Yi0+ ZXBmLT5mdW5jX25vLAogCQkJCQkgICAgbnRiLT5lcGYtPnZmdW5jX25vKTsKIAlhbGlnbiA9IGVw Y19mZWF0dXJlcy0+YWxpZ247Ci0KLQlpZiAoc2l6ZSA8IDEyOCkKLQkJc2l6ZSA9IDEyODsKLQot CWlmIChhbGlnbikKLQkJc2l6ZSA9IEFMSUdOKHNpemUsIGFsaWduKTsKLQllbHNlCi0JCXNpemUg PSByb3VuZHVwX3Bvd19vZl90d28oc2l6ZSk7CisJc2l6ZSA9IGVwZl9udGJfZGJfc2l6ZShudGIp OwogCiAJYmFybm8gPSBudGItPmVwZl9udGJfYmFyW0JBUl9EQl07CisJZXBmX2JhciA9ICZudGIt PmVwZi0+YmFyW2Jhcm5vXTsKIAotCW13X2FkZHIgPSBwY2lfZXBmX2FsbG9jX3NwYWNlKG50Yi0+ ZXBmLCBzaXplLCBiYXJubywgYWxpZ24sIDApOwotCWlmICghbXdfYWRkcikgewotCQlkZXZfZXJy KGRldiwgIkZhaWxlZCB0byBhbGxvY2F0ZSBPQiBhZGRyZXNzXG4iKTsKLQkJcmV0dXJuIC1FTk9N RU07CisJaWYgKCFudGItPmVwZl9kYl9waHkpIHsKKwkJbXdfYWRkciA9IHBjaV9lcGZfYWxsb2Nf c3BhY2UobnRiLT5lcGYsIHNpemUsIGJhcm5vLCBhbGlnbiwgMCk7CisJCWlmICghbXdfYWRkcikg eworCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgT0IgYWRkcmVzc1xuIik7CisJ CQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCX0gZWxzZSB7CisJCWVwZl9iYXItPnBoeXNfYWRkciA9 IG50Yi0+ZXBmX2RiX3BoeTsKKwkJZXBmX2Jhci0+YmFybm8gPSBiYXJubzsKKwkJZXBmX2Jhci0+ c2l6ZSA9IHNpemU7CiAJfQogCiAJbnRiLT5lcGZfZGIgPSBtd19hZGRyOwogCi0JZXBmX2JhciA9 ICZudGItPmVwZi0+YmFyW2Jhcm5vXTsKLQogCXJldCA9IHBjaV9lcGNfc2V0X2JhcihudGItPmVw Zi0+ZXBjLCBudGItPmVwZi0+ZnVuY19ubywgbnRiLT5lcGYtPnZmdW5jX25vLCBlcGZfYmFyKTsK IAlpZiAocmV0KSB7CiAJCWRldl9lcnIoZGV2LCAiRG9vcmJlbGwgQkFSIHNldCBmYWlsZWRcbiIp OwpAQCAtNzA0LDYgKzcyNSw3NCBAQCBzdGF0aWMgaW50IGVwZl9udGJfaW5pdF9lcGNfYmFyKHN0 cnVjdCBlcGZfbnRiICpudGIpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGVwZl9udGJf d3JpdGVfbXNpX21zZyhzdHJ1Y3QgbXNpX2Rlc2MgKmRlc2MsIHN0cnVjdCBtc2lfbXNnICptc2cp Cit7CisJc3RydWN0IGVwZl9udGIgKm50YiA9IGRldl9nZXRfZHJ2ZGF0YShkZXNjLT5kZXYpOwor CXN0cnVjdCBlcGZfbnRiX2N0cmwgKnJlZyA9IG50Yi0+cmVnOworCWludCBzaXplID0gZXBmX250 Yl9kYl9zaXplKG50Yik7CisJdTY0IGFkZHI7CisKKwlhZGRyID0gbXNnLT5hZGRyZXNzX2hpOwor CWFkZHIgPDw9IDMyOworCWFkZHIgfD0gbXNnLT5hZGRyZXNzX2xvOworCisJcmVnLT5kYl9kYXRh W2Rlc2MtPm1zaV9pbmRleF0gPSBtc2ctPmRhdGE7CisKKwlpZiAoZGVzYy0+bXNpX2luZGV4ID09 IDApCisJCW50Yi0+ZXBmX2RiX3BoeSA9IHJvdW5kX2Rvd24oYWRkciwgc2l6ZSk7CisKKwlyZWct PmRiX29mZnNldFtkZXNjLT5tc2lfaW5kZXhdID0gYWRkciAtIG50Yi0+ZXBmX2RiX3BoeTsKK30K Kworc3RhdGljIGlycXJldHVybl90IGVwZl9udGJfaW50ZXJydXB0X2hhbmRsZXIoaW50IGlycSwg dm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZXBmX250YiAqbnRiID0gZGF0YTsKKwlpbnQgaW5kZXg7 CisKKwlpbmRleCA9IGlycSAtIG50Yi0+bXNpX3ZpcnFiYXNlOworCW50Yi0+ZGIgfD0gMSA8PCAo aW5kZXggLSAxKTsKKwludGJfZGJfZXZlbnQoJm50Yi0+bnRiLCBpbmRleCk7CisKKwlyZXR1cm4g SVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyB2b2lkIGVwZl9udGJfZXBjX21zaV9pbml0KHN0cnVj dCBlcGZfbnRiICpudGIpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJm50Yi0+ZXBmLT5kZXY7 CisJc3RydWN0IGlycV9kb21haW4gKmRvbWFpbjsKKwlpbnQgdmlycTsKKwlpbnQgcmV0OworCWlu dCBpOworCisJZG9tYWluID0gZGV2X2dldF9tc2lfZG9tYWluKG50Yi0+ZXBmLT5lcGMtPmRldi5w YXJlbnQpOworCWlmICghZG9tYWluKQorCQlyZXR1cm47CisKKwlkZXZfc2V0X21zaV9kb21haW4o ZGV2LCBkb21haW4pOworCisJaWYgKHBsYXRmb3JtX21zaV9kb21haW5fYWxsb2NfaXJxcygmbnRi LT5lcGYtPmRldiwKKwkJbnRiLT5kYl9jb3VudCwKKwkJZXBmX250Yl93cml0ZV9tc2lfbXNnKSkg eworCQlkZXZfaW5mbyhkZXYsICJDYW4ndCBhbGxvY2F0ZSBNU0ksIGZhbGwgYmFjayB0byBwb2xs IG1vZGVcbiIpOworCQlyZXR1cm47CisJfQorCisJZGV2X2luZm8oZGV2LCAidm50YiB1c2UgTVNJ IGFzIGRvb3JiZWxsXG4iKTsKKworCWZvciAoaSA9IDA7IGkgPCBudGItPmRiX2NvdW50OyBpKysp IHsKKwkJdmlycSA9IG1zaV9nZXRfdmlycShkZXYsIGkpOworCQlyZXQgPSBkZXZtX3JlcXVlc3Rf aXJxKGRldiwgdmlycSwKKwkJCSAgICAgICBlcGZfbnRiX2ludGVycnVwdF9oYW5kbGVyLCAwLAor CQkJICAgICAgICJudGIiLCBudGIpOworCisJCWlmIChyZXQpCisJCQlkZXZfZXJyKGRldiwgImRl dm1fcmVxdWVzdF9pcnEoKSBmYWlsdXJlXG4iKTsKKworCQlpZiAoIWkpCisJCQludGItPm1zaV92 aXJxYmFzZSA9IHZpcnE7CisJfQorfQorCiAvKioKICAqIGVwZl9udGJfZXBjX2luaXQoKSAtIElu aXRpYWxpemUgTlRCIGludGVyZmFjZQogICogQG50YjogTlRCIGRldmljZSB0aGF0IGZhY2lsaXRh dGVzIGNvbW11bmljYXRpb24gYmV0d2VlbiBIT1NUIGFuZCB2SE9TVDIKQEAgLTEyOTksMTQgKzEz ODgsMTUgQEAgc3RhdGljIGludCBlcGZfbnRiX2JpbmQoc3RydWN0IHBjaV9lcGYgKmVwZikKIAkJ Z290byBlcnJfYmFyX2FsbG9jOwogCX0KIAorCWVwZl9zZXRfZHJ2ZGF0YShlcGYsIG50Yik7CisJ ZXBmX250Yl9lcGNfbXNpX2luaXQobnRiKTsKKwogCXJldCA9IGVwZl9udGJfZXBjX2luaXQobnRi KTsKIAlpZiAocmV0KSB7CiAJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGluaXRpYWxpemUgRVBD XG4iKTsKIAkJZ290byBlcnJfYmFyX2FsbG9jOwogCX0KIAotCWVwZl9zZXRfZHJ2ZGF0YShlcGYs IG50Yik7Ci0KIAlwY2lfc3BhY2VbMF0gPSAobnRiLT52bnRiX3BpZCA8PCAxNikgfCBudGItPnZu dGJfdmlkOwogCXBjaV92bnRiX3RhYmxlWzBdLnZlbmRvciA9IG50Yi0+dm50Yl92aWQ7CiAJcGNp X3ZudGJfdGFibGVbMF0uZGV2aWNlID0gbnRiLT52bnRiX3BpZDsKLS0gCjIuMzUuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK