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 5C725C54798 for ; Tue, 27 Feb 2024 18:51:25 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=gshlpAtiHLjIrpfy7XhBs2wMnDxOw2sHBdWB/9CvH6E=; b=mv1M++b5ytlHMh wJ4jfFNVYbLIVJCZFee26BkI6kFU0nPXpyIyBHXWAQVXE+bMwu6k9vgR4eDKi6demDoTlYPYsgfEd 1FVSIiINMLjFC4482nJbFng/JH3Ne+mRL84i5OyN9qFfTRvV+dg/j1yWKZdO3ASLXcIdrqB9Yxh9P 4deIHllmaA56ujPxXEscJGKmx3JXX36Xah10TrMM5eh39sHmzl7I/MU3VJoMb8mDcFeUhCzYIWINp l5zV48wfkBFeEF4p0hKE5QWKwsi1ZxfOoQPHTsGzS0WUNX8oEX9DCu2j6VYlzKVp4nvG/ET1LFR3K sJTYRhocV3Jtl1CL5LDw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rf2Xq-00000006VCx-1IgT; Tue, 27 Feb 2024 18:51:14 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rf2Xm-00000006VBQ-3p0M for linux-arm-kernel@lists.infradead.org; Tue, 27 Feb 2024 18:51:12 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1dc75972f25so39399045ad.1 for ; Tue, 27 Feb 2024 10:51:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709059870; x=1709664670; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=ZzsUzPaeQV0xVaYYOa5fkl+D3bB3KmqWtFdIBMocqZs=; b=THDZsSyIP3LOfglcpO0FRaq7pQ0Fc3Duj7MQ4MBUTEWjk4FOoK2CpiTDMbOPZskmpr layS9mYJTppkJCb9I/y0+kFEoTNkAkeL+V8I6GhieQVZ2A+hlm2hR1tOcnjTck7QoOO8 F+S3dqyPJvFSc3eL5WoiPF8cQpkCKaoGNeglxlAza5VAoWD24dTrHB5XyU23OEvf51BQ Gk2mX354AU7lY1c2nlcGIDVe2jJdsB1vHMUkuv49mc/hmSZd64HlT9YJfldK6aFG65iL dKmd0K0Nu1z3v8ovtguUwTxv29U+R6BrVpfbuanBzbR4JcTrTDjA6dJmxDB+tRSzVyCt Gtuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709059870; x=1709664670; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZzsUzPaeQV0xVaYYOa5fkl+D3bB3KmqWtFdIBMocqZs=; b=OHC0Y69Uu4cEvUzACSP1GJnJZcD9ibwfhBX+JrsI3Xb+CYTyiFD9dH5mO4TeyvhSL+ SnoJG0x1GAaXrGRgYgmwy2Gb94w0An7Cw1V3RmvivjrKXmKWEY4DRDEU7FzDleaQy3nQ LFUGgmCasT+dkDJVHM8LT8Fk1ufShZOdR9QDnApQU2Hg45ak8cXxQIgLZqTY5o4RzBQr UfgxlUqA2qi/p8uD88JG1HsUqcPu5rz9OdsHtIwzgonztHXm3+q7IqUj8TfT6CGCwBla e6veUV8UhWijUi9TSy4uYHUk1X95k1ORUO8tBQnzivTfcMuW4JPPD9eCIvH2WVebTcOl sY8w== X-Forwarded-Encrypted: i=1; AJvYcCW6FHcJf4II/oYRsvGlzWJAhIXztA3aHQ8I+vuwmeKoCgJW3uGNL7fWvI58xoL8tgXddqpXe5zi3bLLJTEhqlT3dkV0qaSJ9X6FxWuYGvIbzpuwGwg= X-Gm-Message-State: AOJu0YwLOhYzBOeUsqZm6MxW4xdT06Ja47yGZXyxw1cVNLxAaYh58bn/ xiYOS7QfKZyW9ohGvHp3QB/jnLS41V4YQRRc4KqL8TEDYphVK0qC6n8owhcR3A== X-Google-Smtp-Source: AGHT+IFMrquxHELSuk64r8EzaLnPYxdhtlQPf9g7u2EtEZHnTxtPf52KDLuAlSX+ap+F1qbMBmUq7w== X-Received: by 2002:a17:903:449:b0:1da:2c01:fef5 with SMTP id iw9-20020a170903044900b001da2c01fef5mr10095757plb.56.1709059869792; Tue, 27 Feb 2024 10:51:09 -0800 (PST) Received: from thinkpad ([117.213.97.177]) by smtp.gmail.com with ESMTPSA id c3-20020a170902d90300b001db93340f9bsm1828147plz.205.2024.02.27.10.50.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Feb 2024 10:51:09 -0800 (PST) Date: Wed, 28 Feb 2024 00:20:50 +0530 From: Manivannan Sadhasivam To: Frank Li Cc: Jingoo Han , Gustavo Pimentel , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Marek Vasut , Yoshihiro Shimoda , Thierry Reding , Jonathan Hunter , Kishon Vijay Abraham I , Vidya Sagar , Vignesh Raghavendra , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Minghuan Lian , Mingkai Hu , Roy Zang , Kunihiko Hayashi , Masami Hiramatsu , Kishon Vijay Abraham I , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, Niklas Cassel Subject: Re: [PATCH v8 08/10] PCI: dwc: ep: Add a generic dw_pcie_ep_linkdown() API to handle LINK_DOWN event Message-ID: <20240227185050.GV2587@thinkpad> References: <20240224-pci-dbi-rework-v8-0-64c7fd0cfe64@linaro.org> <20240224-pci-dbi-rework-v8-8-64c7fd0cfe64@linaro.org> <20240227123024.GO2587@thinkpad> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240227_105110_983507_BB69F620 X-CRM114-Status: GOOD ( 42.14 ) 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 T24gVHVlLCBGZWIgMjcsIDIwMjQgYXQgMTI6MjY6MDVQTSAtMDUwMCwgRnJhbmsgTGkgd3JvdGU6 Cj4gT24gVHVlLCBGZWIgMjcsIDIwMjQgYXQgMDY6MDA6MjRQTSArMDUzMCwgTWFuaXZhbm5hbiBT YWRoYXNpdmFtIHdyb3RlOgo+ID4gT24gTW9uLCBGZWIgMjYsIDIwMjQgYXQgMTI6MTg6MThQTSAt MDUwMCwgRnJhbmsgTGkgd3JvdGU6Cj4gPiA+IE9uIFNhdCwgRmViIDI0LCAyMDI0IGF0IDEyOjI0 OjE0UE0gKzA1MzAsIE1hbml2YW5uYW4gU2FkaGFzaXZhbSB3cm90ZToKPiA+ID4gPiBUaGUgUENJ ZSBsaW5rIGNhbiBnbyB0byBMSU5LX0RPV04gc3RhdGUgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcg c2NlbmFyaW9zOgo+ID4gPiA+IAo+ID4gPiA+IDEuIEZ1bmRhbWVudGFsIChQRVJTVCMpL2hvdC93 YXJtIHJlc2V0Cj4gPiA+ID4gMi4gTGluayB0cmFuc2l0aW9uIGZyb20gTDIvTDMgdG8gTDAKPiA+ ID4gCj4gPiA+IEZyb20gTDAgdG8gTDIvbDMKPiA+ID4gCj4gPiAKPiA+IEkgZG9uJ3QgdW5kZXJz dGFuZCB3aGF0IHlvdSBtZWFuIGhlcmUuIExpbmsgZG93biB3b24ndCBoYXBwZW4gd2hpbGUgbW92 aW5nIGZyb20KPiA+IEwwIHRvIEwyL0wzLCBpdCBpcyB0aGUgb3Bwb3NpdGUuCj4gCj4gU3RyYW5n ZSwgd2h5IHRoZXJlIGFyZSBub3QgbGlua2Rvd24gZnJvbSBMMCB0byBMMi9sMy4gQnV0IGhhdmUg bGlua2Rvd24KPiBmcm9tIEwyL2wzIHRvIEwwPyB3aGVuIGxpbmt1cCBoYXBwZW4/IEFueSBkb2N1 bWVudCBzaG93IHRoZXNlPwo+IAoKUmVmZXIgUENJZSBTcGVjIDUuMCwgRmlndXJlIDUtMSBMaW5r IFBvd2VyIE1hbmFnZW1lbnQgU3RhdGUgRmxvdyBEaWFncmFtLgoKLSBNYW5pCgo+IEZyYW5rCj4g Cj4gPiAKPiA+ID4gPiAKPiA+ID4gPiBJbiB0aG9zZSBjYXNlcywgTElOS19ET1dOIGNhdXNlcyBz b21lIG5vbi1zdGlja3kgRFdDIHJlZ2lzdGVycyB0byBsb29zZSB0aGUKPiA+ID4gPiBzdGF0ZSAo bGlrZSBSRUJBUiwgUFRNX0NBUCBldGMuLi4pLiBTbyB0aGUgZHJpdmVycyBuZWVkIHRvIHJlaW5p dGlhbGl6ZQo+ID4gPiA+IHRoZW0gdG8gZnVuY3Rpb24gcHJvcGVybHkgb25jZSB0aGUgbGluayBj b21lcyBiYWNrIGFnYWluLgo+ID4gPiA+IAo+ID4gPiA+IFRoaXMgaXMgbm90IGEgcHJvYmxlbSBm b3IgZHJpdmVycyBzdXBwb3J0aW5nIFBFUlNUIyBJUlEsIHNpbmNlIHRoZXkgY2FuCj4gPiA+ID4g cmVpbml0aWFsaXplIHRoZSByZWdpc3RlcnMgaW4gdGhlIFBFUlNUIyBJUlEgY2FsbGJhY2suIEJ1 dCBmb3IgdGhlIGRyaXZlcnMKPiA+ID4gPiBub3Qgc3VwcG9ydGluZyBQRVJTVCMsIHRoZXJlIGlz IG5vIHdheSB0aGV5IGNhbiByZWluaXRpYWxpemUgdGhlIHJlZ2lzdGVycwo+ID4gPiA+IG90aGVy IHRoYW4gcmVseWluZyBvbiBMSU5LX0RPV04gSVJRIHJlY2VpdmVkIHdoZW4gdGhlIGxpbmsgZ29l cyBkb3duLiBTbwo+ID4gPiA+IGxldCdzIGFkZCBhIERXQyBnZW5lcmljIEFQSSBkd19wY2llX2Vw X2xpbmtkb3duKCkgdGhhdCByZWluaXRpYWxpemVzIHRoZQo+ID4gPiA+IG5vbi1zdGlja3kgcmVn aXN0ZXJzIGFuZCBhbHNvIG5vdGlmaWVzIHRoZSBFUEYgZHJpdmVycyBhYm91dCBsaW5rIGdvaW5n Cj4gPiA+ID4gZG93bi4KPiA+ID4gPiAKPiA+ID4gPiBUaGlzIEFQSSBjYW4gYWxzbyBiZSB1c2Vk IGJ5IHRoZSBkcml2ZXJzIHN1cHBvcnRpbmcgUEVSU1QjIHRvIGhhbmRsZSB0aGUKPiA+ID4gPiBz Y2VuYXJpbyAoMikgbWVudGlvbmVkIGFib3ZlLgo+ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYt Ynk6IE1hbml2YW5uYW4gU2FkaGFzaXZhbSA8bWFuaXZhbm5hbi5zYWRoYXNpdmFtQGxpbmFyby5v cmc+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUt ZGVzaWdud2FyZS1lcC5jIHwgMTExICsrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ID4gPiA+ICBk cml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWRlc2lnbndhcmUuaCAgICB8ICAgNSArKwo+ ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygt KQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3 Yy9wY2llLWRlc2lnbndhcmUtZXAuYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUt ZGVzaWdud2FyZS1lcC5jCj4gPiA+ID4gaW5kZXggMjc4YmRjOWIyMjY5Li5mZWQ0YzI5MzZjNzgg MTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1kZXNp Z253YXJlLWVwLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ll LWRlc2lnbndhcmUtZXAuYwo+ID4gPiA+IEBAIC0xNCwxNCArMTQsNiBAQAo+ID4gPiA+ICAjaW5j bHVkZSA8bGludXgvcGNpLWVwYy5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvcGNpLWVwZi5o Pgo+ID4gPiA+ICAKPiA+ID4gPiAtdm9pZCBkd19wY2llX2VwX2xpbmt1cChzdHJ1Y3QgZHdfcGNp ZV9lcCAqZXApCj4gPiA+ID4gLXsKPiA+ID4gPiAtCXN0cnVjdCBwY2lfZXBjICplcGMgPSBlcC0+ ZXBjOwo+ID4gPiA+IC0KPiA+ID4gPiAtCXBjaV9lcGNfbGlua3VwKGVwYyk7Cj4gPiA+ID4gLX0K PiA+ID4gPiAtRVhQT1JUX1NZTUJPTF9HUEwoZHdfcGNpZV9lcF9saW5rdXApOwo+ID4gPiA+IC0K PiA+ID4gCj4gPiA+IE5vIHN1cmUgd2h5IGdpdCByZW1vdmUgdGhpcyBibG9jayBhbmQgYWRkIHRo ZXNlIGJhY2suCj4gPiA+IAo+ID4gCj4gPiBCZWNhdXNlLCB3ZSBhcmUgYWRkaW5nIGR3X3BjaWVf ZXBfbGlua2Rvd24oKSBBUEkgd2F5IGJlbG93IGFuZCBpdCBtYWtlcyBzZW5zZSB0bwo+ID4gbW92 ZSB0aGlzIEFQSSBhbHNvIHRvIGtlZXAgaXQgb3JkZXJlZC4gTWF5YmUgSSBzaG91bGQndmUgZGVz Y3JpYmVkIGl0IGluIGNvbW1pdAo+ID4gbWVzc2FnZS4KPiA+IAo+ID4gLSBNYW5pCj4gPiAKPiA+ ID4gCj4gPiA+ID4gIHZvaWQgZHdfcGNpZV9lcF9pbml0X25vdGlmeShzdHJ1Y3QgZHdfcGNpZV9l cCAqZXApCj4gPiA+ID4gIHsKPiA+ID4gPiAgCXN0cnVjdCBwY2lfZXBjICplcGMgPSBlcC0+ZXBj Owo+ID4gPiA+IEBAIC02MDMsMTkgKzU5NSw1NiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGR3X3Bj aWVfZXBfZmluZF9leHRfY2FwYWJpbGl0eShzdHJ1Y3QgZHdfcGNpZSAqcGNpLCBpbnQgY2FwKQo+ ID4gPiA+ICAJcmV0dXJuIDA7Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gK3N0YXRpYyB2 b2lkIGR3X3BjaWVfZXBfaW5pdF9ub25fc3RpY2t5X3JlZ2lzdGVycyhzdHJ1Y3QgZHdfcGNpZSAq cGNpKQo+ID4gPiA+ICt7Cj4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgb2Zmc2V0LCBwdG1fY2FwX2Jh c2U7Cj4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgbmJhcnM7Cj4gPiA+ID4gKwl1MzIgcmVnLCBpOwo+ ID4gPiA+ICsKPiA+ID4gPiArCW9mZnNldCA9IGR3X3BjaWVfZXBfZmluZF9leHRfY2FwYWJpbGl0 eShwY2ksIFBDSV9FWFRfQ0FQX0lEX1JFQkFSKTsKPiA+ID4gPiArCXB0bV9jYXBfYmFzZSA9IGR3 X3BjaWVfZXBfZmluZF9leHRfY2FwYWJpbGl0eShwY2ksIFBDSV9FWFRfQ0FQX0lEX1BUTSk7Cj4g PiA+ID4gKwo+ID4gPiA+ICsJZHdfcGNpZV9kYmlfcm9fd3JfZW4ocGNpKTsKPiA+ID4gPiArCj4g PiA+ID4gKwlpZiAob2Zmc2V0KSB7Cj4gPiA+ID4gKwkJcmVnID0gZHdfcGNpZV9yZWFkbF9kYmko cGNpLCBvZmZzZXQgKyBQQ0lfUkVCQVJfQ1RSTCk7Cj4gPiA+ID4gKwkJbmJhcnMgPSAocmVnICYg UENJX1JFQkFSX0NUUkxfTkJBUl9NQVNLKSA+Pgo+ID4gPiA+ICsJCQlQQ0lfUkVCQVJfQ1RSTF9O QkFSX1NISUZUOwo+ID4gPiA+ICsKPiA+ID4gPiArCQlmb3IgKGkgPSAwOyBpIDwgbmJhcnM7IGkr Kywgb2Zmc2V0ICs9IFBDSV9SRUJBUl9DVFJMKQo+ID4gPiA+ICsJCQlkd19wY2llX3dyaXRlbF9k YmkocGNpLCBvZmZzZXQgKyBQQ0lfUkVCQVJfQ0FQLCAweDApOwo+ID4gPiA+ICsJfQo+ID4gPiA+ ICsKPiA+ID4gPiArCS8qCj4gPiA+ID4gKwkgKiBQVE0gcmVzcG9uZGVyIGNhcGFiaWxpdHkgY2Fu IGJlIGRpc2FibGVkIG9ubHkgYWZ0ZXIgZGlzYWJsaW5nCj4gPiA+ID4gKwkgKiBQVE0gcm9vdCBj YXBhYmlsaXR5Lgo+ID4gPiA+ICsJICovCj4gPiA+ID4gKwlpZiAocHRtX2NhcF9iYXNlKSB7Cj4g PiA+ID4gKwkJZHdfcGNpZV9kYmlfcm9fd3JfZW4ocGNpKTsKPiA+ID4gPiArCQlyZWcgPSBkd19w Y2llX3JlYWRsX2RiaShwY2ksIHB0bV9jYXBfYmFzZSArIFBDSV9QVE1fQ0FQKTsKPiA+ID4gPiAr CQlyZWcgJj0gflBDSV9QVE1fQ0FQX1JPT1Q7Cj4gPiA+ID4gKwkJZHdfcGNpZV93cml0ZWxfZGJp KHBjaSwgcHRtX2NhcF9iYXNlICsgUENJX1BUTV9DQVAsIHJlZyk7Cj4gPiA+ID4gKwo+ID4gPiA+ ICsJCXJlZyA9IGR3X3BjaWVfcmVhZGxfZGJpKHBjaSwgcHRtX2NhcF9iYXNlICsgUENJX1BUTV9D QVApOwo+ID4gPiA+ICsJCXJlZyAmPSB+KFBDSV9QVE1fQ0FQX1JFUyB8IFBDSV9QVE1fR1JBTlVM QVJJVFlfTUFTSyk7Cj4gPiA+ID4gKwkJZHdfcGNpZV93cml0ZWxfZGJpKHBjaSwgcHRtX2NhcF9i YXNlICsgUENJX1BUTV9DQVAsIHJlZyk7Cj4gPiA+ID4gKwkJZHdfcGNpZV9kYmlfcm9fd3JfZGlz KHBjaSk7Cj4gPiA+ID4gKwl9Cj4gPiA+ID4gKwo+ID4gPiA+ICsJZHdfcGNpZV9zZXR1cChwY2kp Owo+ID4gPiA+ICsJZHdfcGNpZV9kYmlfcm9fd3JfZGlzKHBjaSk7Cj4gPiA+ID4gK30KPiA+ID4g PiArCj4gPiA+ID4gIGludCBkd19wY2llX2VwX2luaXRfcmVnaXN0ZXJzKHN0cnVjdCBkd19wY2ll X2VwICplcCkKPiA+ID4gPiAgewo+ID4gPiA+ICAJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3 X3BjaWVfZnJvbV9lcChlcCk7Cj4gPiA+ID4gIAlzdHJ1Y3QgZHdfcGNpZV9lcF9mdW5jICplcF9m dW5jOwo+ID4gPiA+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gcGNpLT5kZXY7Cj4gPiA+ID4gIAlz dHJ1Y3QgcGNpX2VwYyAqZXBjID0gZXAtPmVwYzsKPiA+ID4gPiAtCXVuc2lnbmVkIGludCBvZmZz ZXQsIHB0bV9jYXBfYmFzZTsKPiA+ID4gPiAtCXVuc2lnbmVkIGludCBuYmFyczsKPiA+ID4gPiAg CXU4IGhkcl90eXBlOwo+ID4gPiA+ICAJdTggZnVuY19ubzsKPiA+ID4gPiAtCWludCBpLCByZXQ7 Cj4gPiA+ID4gIAl2b2lkICphZGRyOwo+ID4gPiA+IC0JdTMyIHJlZzsKPiA+ID4gPiArCWludCBy ZXQ7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJaGRyX3R5cGUgPSBkd19wY2llX3JlYWRiX2RiaShwY2ks IFBDSV9IRUFERVJfVFlQRSkgJgo+ID4gPiA+ICAJCSAgIFBDSV9IRUFERVJfVFlQRV9NQVNLOwo+ ID4gPiA+IEBAIC02NzgsMzggKzcwNyw3IEBAIGludCBkd19wY2llX2VwX2luaXRfcmVnaXN0ZXJz KHN0cnVjdCBkd19wY2llX2VwICplcCkKPiA+ID4gPiAgCWlmIChlcC0+b3BzLT5pbml0KQo+ID4g PiA+ICAJCWVwLT5vcHMtPmluaXQoZXApOwo+ID4gPiA+ICAKPiA+ID4gPiAtCW9mZnNldCA9IGR3 X3BjaWVfZXBfZmluZF9leHRfY2FwYWJpbGl0eShwY2ksIFBDSV9FWFRfQ0FQX0lEX1JFQkFSKTsK PiA+ID4gPiAtCXB0bV9jYXBfYmFzZSA9IGR3X3BjaWVfZXBfZmluZF9leHRfY2FwYWJpbGl0eShw Y2ksIFBDSV9FWFRfQ0FQX0lEX1BUTSk7Cj4gPiA+ID4gLQo+ID4gPiA+IC0JZHdfcGNpZV9kYmlf cm9fd3JfZW4ocGNpKTsKPiA+ID4gPiAtCj4gPiA+ID4gLQlpZiAob2Zmc2V0KSB7Cj4gPiA+ID4g LQkJcmVnID0gZHdfcGNpZV9yZWFkbF9kYmkocGNpLCBvZmZzZXQgKyBQQ0lfUkVCQVJfQ1RSTCk7 Cj4gPiA+ID4gLQkJbmJhcnMgPSAocmVnICYgUENJX1JFQkFSX0NUUkxfTkJBUl9NQVNLKSA+Pgo+ ID4gPiA+IC0JCQlQQ0lfUkVCQVJfQ1RSTF9OQkFSX1NISUZUOwo+ID4gPiA+IC0KPiA+ID4gPiAt CQlmb3IgKGkgPSAwOyBpIDwgbmJhcnM7IGkrKywgb2Zmc2V0ICs9IFBDSV9SRUJBUl9DVFJMKQo+ ID4gPiA+IC0JCQlkd19wY2llX3dyaXRlbF9kYmkocGNpLCBvZmZzZXQgKyBQQ0lfUkVCQVJfQ0FQ LCAweDApOwo+ID4gPiA+IC0JfQo+ID4gPiA+IC0KPiA+ID4gPiAtCS8qCj4gPiA+ID4gLQkgKiBQ VE0gcmVzcG9uZGVyIGNhcGFiaWxpdHkgY2FuIGJlIGRpc2FibGVkIG9ubHkgYWZ0ZXIgZGlzYWJs aW5nCj4gPiA+ID4gLQkgKiBQVE0gcm9vdCBjYXBhYmlsaXR5Lgo+ID4gPiA+IC0JICovCj4gPiA+ ID4gLQlpZiAocHRtX2NhcF9iYXNlKSB7Cj4gPiA+ID4gLQkJZHdfcGNpZV9kYmlfcm9fd3JfZW4o cGNpKTsKPiA+ID4gPiAtCQlyZWcgPSBkd19wY2llX3JlYWRsX2RiaShwY2ksIHB0bV9jYXBfYmFz ZSArIFBDSV9QVE1fQ0FQKTsKPiA+ID4gPiAtCQlyZWcgJj0gflBDSV9QVE1fQ0FQX1JPT1Q7Cj4g PiA+ID4gLQkJZHdfcGNpZV93cml0ZWxfZGJpKHBjaSwgcHRtX2NhcF9iYXNlICsgUENJX1BUTV9D QVAsIHJlZyk7Cj4gPiA+ID4gLQo+ID4gPiA+IC0JCXJlZyA9IGR3X3BjaWVfcmVhZGxfZGJpKHBj aSwgcHRtX2NhcF9iYXNlICsgUENJX1BUTV9DQVApOwo+ID4gPiA+IC0JCXJlZyAmPSB+KFBDSV9Q VE1fQ0FQX1JFUyB8IFBDSV9QVE1fR1JBTlVMQVJJVFlfTUFTSyk7Cj4gPiA+ID4gLQkJZHdfcGNp ZV93cml0ZWxfZGJpKHBjaSwgcHRtX2NhcF9iYXNlICsgUENJX1BUTV9DQVAsIHJlZyk7Cj4gPiA+ ID4gLQkJZHdfcGNpZV9kYmlfcm9fd3JfZGlzKHBjaSk7Cj4gPiA+ID4gLQl9Cj4gPiA+ID4gLQo+ ID4gPiA+IC0JZHdfcGNpZV9zZXR1cChwY2kpOwo+ID4gPiA+IC0JZHdfcGNpZV9kYmlfcm9fd3Jf ZGlzKHBjaSk7Cj4gPiA+ID4gKwlkd19wY2llX2VwX2luaXRfbm9uX3N0aWNreV9yZWdpc3RlcnMo cGNpKTsKPiA+ID4gPiAgCj4gPiA+ID4gIAlyZXR1cm4gMDsKPiA+ID4gPiAgCj4gPiA+ID4gQEAg LTcyMCw2ICs3MTgsMzEgQEAgaW50IGR3X3BjaWVfZXBfaW5pdF9yZWdpc3RlcnMoc3RydWN0IGR3 X3BjaWVfZXAgKmVwKQo+ID4gPiA+ICB9Cj4gPiA+ID4gIEVYUE9SVF9TWU1CT0xfR1BMKGR3X3Bj aWVfZXBfaW5pdF9yZWdpc3RlcnMpOwo+ID4gPiA+ICAKPiA+ID4gPiArdm9pZCBkd19wY2llX2Vw X2xpbmt1cChzdHJ1Y3QgZHdfcGNpZV9lcCAqZXApCj4gPiA+ID4gK3sKPiA+ID4gPiArCXN0cnVj dCBwY2lfZXBjICplcGMgPSBlcC0+ZXBjOwo+ID4gPiA+ICsKPiA+ID4gPiArCXBjaV9lcGNfbGlu a3VwKGVwYyk7Cj4gPiA+ID4gK30KPiA+ID4gPiArRVhQT1JUX1NZTUJPTF9HUEwoZHdfcGNpZV9l cF9saW5rdXApOwo+ID4gPiA+ICsKPiA+ID4gPiArdm9pZCBkd19wY2llX2VwX2xpbmtkb3duKHN0 cnVjdCBkd19wY2llX2VwICplcCkKPiA+ID4gPiArewo+ID4gPiA+ICsJc3RydWN0IGR3X3BjaWUg KnBjaSA9IHRvX2R3X3BjaWVfZnJvbV9lcChlcCk7Cj4gPiA+ID4gKwlzdHJ1Y3QgcGNpX2VwYyAq ZXBjID0gZXAtPmVwYzsKPiA+ID4gPiArCj4gPiA+ID4gKwkvKgo+ID4gPiA+ICsJICogSW5pdGlh bGl6ZSB0aGUgbm9uLXN0aWNreSBEV0MgcmVnaXN0ZXJzIGFzIHRoZXkgd291bGQndmUgcmVzZXQg cG9zdAo+ID4gPiA+ICsJICogTElOS19ET1dOLiBUaGlzIGlzIHNwZWNpZmljYWxseSBuZWVkZWQg Zm9yIGRyaXZlcnMgbm90IHN1cHBvcnRpbmcKPiA+ID4gPiArCSAqIFBFUlNUIyBhcyB0aGV5IGhh dmUgbm8gd2F5IHRvIHJlaW5pdGlhbGl6ZSB0aGUgcmVnaXN0ZXJzIGJlZm9yZSB0aGUKPiA+ID4g PiArCSAqIGxpbmsgY29tZXMgYmFjayBhZ2Fpbi4KPiA+ID4gPiArCSAqLwo+ID4gPiA+ICsJZHdf cGNpZV9lcF9pbml0X25vbl9zdGlja3lfcmVnaXN0ZXJzKHBjaSk7Cj4gPiA+ID4gKwo+ID4gPiA+ ICsJcGNpX2VwY19saW5rZG93bihlcGMpOwo+ID4gPiA+ICt9Cj4gPiA+ID4gK0VYUE9SVF9TWU1C T0xfR1BMKGR3X3BjaWVfZXBfbGlua2Rvd24pOwo+ID4gPiA+ICsKPiA+ID4gPiAgaW50IGR3X3Bj aWVfZXBfaW5pdChzdHJ1Y3QgZHdfcGNpZV9lcCAqZXApCj4gPiA+ID4gIHsKPiA+ID4gPiAgCWlu dCByZXQ7Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3Bj aWUtZGVzaWdud2FyZS5oIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1kZXNpZ253 YXJlLmgKPiA+ID4gPiBpbmRleCBmOGU1NDMxYTIwN2IuLjE1Mjk2OTU0NWIwYSAxMDA2NDQKPiA+ ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWRlc2lnbndhcmUuaAo+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5o Cj4gPiA+ID4gQEAgLTY2OCw2ICs2NjgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAq ZHdfcGNpZV9vd25fY29uZl9tYXBfYnVzKHN0cnVjdCBwY2lfYnVzICpidXMsCj4gPiA+ID4gIAo+ ID4gPiA+ICAjaWZkZWYgQ09ORklHX1BDSUVfRFdfRVAKPiA+ID4gPiAgdm9pZCBkd19wY2llX2Vw X2xpbmt1cChzdHJ1Y3QgZHdfcGNpZV9lcCAqZXApOwo+ID4gPiA+ICt2b2lkIGR3X3BjaWVfZXBf bGlua2Rvd24oc3RydWN0IGR3X3BjaWVfZXAgKmVwKTsKPiA+ID4gPiAgaW50IGR3X3BjaWVfZXBf aW5pdChzdHJ1Y3QgZHdfcGNpZV9lcCAqZXApOwo+ID4gPiA+ICBpbnQgZHdfcGNpZV9lcF9pbml0 X3JlZ2lzdGVycyhzdHJ1Y3QgZHdfcGNpZV9lcCAqZXApOwo+ID4gPiA+ICB2b2lkIGR3X3BjaWVf ZXBfaW5pdF9ub3RpZnkoc3RydWN0IGR3X3BjaWVfZXAgKmVwKTsKPiA+ID4gPiBAQCAtNjg4LDYg KzY4OSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZHdfcGNpZV9lcF9saW5rdXAoc3RydWN0IGR3 X3BjaWVfZXAgKmVwKQo+ID4gPiA+ICB7Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gK3N0 YXRpYyBpbmxpbmUgdm9pZCBkd19wY2llX2VwX2xpbmtkb3duKHN0cnVjdCBkd19wY2llX2VwICpl cCkKPiA+ID4gPiArewo+ID4gPiA+ICt9Cj4gPiA+ID4gKwo+ID4gPiA+ICBzdGF0aWMgaW5saW5l IGludCBkd19wY2llX2VwX2luaXQoc3RydWN0IGR3X3BjaWVfZXAgKmVwKQo+ID4gPiA+ICB7Cj4g PiA+ID4gIAlyZXR1cm4gMDsKPiA+ID4gPiAKPiA+ID4gPiAtLSAKPiA+ID4gPiAyLjI1LjEKPiA+ ID4gPiAKPiA+IAo+ID4gLS0gCj4gPiDgrq7grqPgrr/grrXgrqPgr43grqPgrqngr40g4K6a4K6k 4K6+4K6a4K6/4K614K6u4K+NCgotLSAK4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCumuCu pOCuvuCumuCuv+CuteCuruCvjQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=