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=-8.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 305EDC47404 for ; Fri, 4 Oct 2019 06:55:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DC04F20862 for ; Fri, 4 Oct 2019 06:55:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="QN/sAGhR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388362AbfJDGy6 (ORCPT ); Fri, 4 Oct 2019 02:54:58 -0400 Received: from mail-eopbgr770051.outbound.protection.outlook.com ([40.107.77.51]:41542 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388359AbfJDGy6 (ORCPT ); Fri, 4 Oct 2019 02:54:58 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ed6Jk0K/y5Zc/6My7zRGnL36czrvpOXR6cIsBmPfg7Ysx2/gvo8sjE95hjJGauhkJrC5zyNE/ObZuQAFsIx0sIOEX4kW/M9dQ/2Nxw89mKzSU8DRKmmfBAc11ZNS+bah+j/8I7/zzFfB+BPbbyRycXk5R/3ye8jZBD1/edhPDnaRGMECuS5Gpenpt2AM5j0gNKsDIgpH/6+PQxf8s3vlnHLIOgzw9PQ1cNvqY4X1bAlLTyDJCDJevQm+5Xb0OK4+rKybXik2kglwd0aNOCIg5bfzJGQO7DV5aH070f+mbVqCGLDD4vRRB6uLJS8PiIuB4ddEFMXpc8QlJw8soSkkRA== 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-SenderADCheck; bh=Mrh/tl35NKODO0n/SxvLjgnGGzmnaU3NgrFIPqGUMRc=; b=WLcKUbrhYL0B7AeSXU8lBJ4CB23we3k63J4RmzoGEj2WPtxc+iVJ7BEUdI6wLLbiLATFSvKKbwdPIP0biGvEBiFWm2O3bqiB3B0ZaR7tupk4TPWAwpF+VWp6FBdgIqLg3n0MGTCL/3pfYGulYBNziqq1pNk3GCxqVdpsKBYNKOkXN9RoIjybvrUN4//tN0iz0K7aTKFRgmn5tr9pbHZe6whaIlvdapxVIdVkHp9JE0TkGLmwdsPRAtREBBJ3eh0gv4uPR+NAYck1x3rhqYwNXNYOveSXITPAxT32o87s+BCrv4vlh/qlbDxu5EvorMhMEXh9jBrCg0clyGJujo3xKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Mrh/tl35NKODO0n/SxvLjgnGGzmnaU3NgrFIPqGUMRc=; b=QN/sAGhRZD5BvKjJRZynGalLqjDbPIkw55XB0EdmYv+XNL7UsXD4GsMyEYWK+KME36yec40C7EOJeohUM4KIFQVIV4n1TVP8s9WiRsI+T7ogCJ5ARNpTjWggr/NettY99qKnbxd89lkTQMrez8YwYGqxr0y9k7rtIf/6RBwEnYQ= Received: from BN6PR12MB1699.namprd12.prod.outlook.com (10.175.97.148) by BN6PR12MB1507.namprd12.prod.outlook.com (10.172.24.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Fri, 4 Oct 2019 06:54:54 +0000 Received: from BN6PR12MB1699.namprd12.prod.outlook.com ([fe80::7d62:3e74:d0f0:be92]) by BN6PR12MB1699.namprd12.prod.outlook.com ([fe80::7d62:3e74:d0f0:be92%3]) with mapi id 15.20.2305.023; Fri, 4 Oct 2019 06:54:54 +0000 From: "Koenig, Christian" To: Davidlohr Bueso , "akpm@linux-foundation.org" CC: "walken@google.com" , "peterz@infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "dri-devel@lists.freedesktop.org" , "linux-rdma@vger.kernel.org" , Jerome Glisse , "Deucher, Alexander" , Daniel Vetter , "amd-gfx@lists.freedesktop.org" , Davidlohr Bueso Subject: Re: [PATCH 03/11] drm/amdgpu: convert amdgpu_vm_it to half closed intervals Thread-Topic: [PATCH 03/11] drm/amdgpu: convert amdgpu_vm_it to half closed intervals Thread-Index: AQHVeif7LLdDvyqEsU6SAN1SafEzpKdKDOiA Date: Fri, 4 Oct 2019 06:54:54 +0000 Message-ID: References: <20191003201858.11666-1-dave@stgolabs.net> <20191003201858.11666-4-dave@stgolabs.net> In-Reply-To: <20191003201858.11666-4-dave@stgolabs.net> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 x-originating-ip: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] x-clientproxiedby: AM3PR05CA0113.eurprd05.prod.outlook.com (2603:10a6:207:2::15) To BN6PR12MB1699.namprd12.prod.outlook.com (2603:10b6:404:ff::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Christian.Koenig@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d37fffb4-b3e8-4f04-bfde-08d74897c2d7 x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: BN6PR12MB1507: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 018093A9B5 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(396003)(376002)(366004)(39860400002)(346002)(136003)(199004)(189003)(2906002)(6436002)(6486002)(31696002)(229853002)(86362001)(486006)(7416002)(478600001)(6512007)(4326008)(66574012)(256004)(71200400001)(71190400001)(476003)(14444005)(11346002)(6246003)(14454004)(46003)(54906003)(2501003)(66946007)(66556008)(66446008)(36756003)(386003)(25786009)(110136005)(316002)(6506007)(64756008)(66476007)(58126008)(6116002)(30864003)(8676002)(305945005)(186003)(81166006)(81156014)(8936002)(7736002)(102836004)(52116002)(99286004)(31686004)(76176011)(65806001)(65956001)(2616005)(5660300002)(446003);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1507;H:BN6PR12MB1699.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Dm5/j9qAHp0U0Ui3YGy4EjgDlRfbFmXwhZzSYXY6AN3qRPmWTWoYWHc4FutiuKciLcpFUxMqqhW7Sz92amMBnTmqOw5rqMnsrsFNcyLBZyab+wEb6U5uTGbQbWuvBmF9a+Mv5w0jjZx9Fk6nxzwOfsprNAajug16Pkj4/RNsCmhfq+Cju3E8yeHDOfx+FPgN0Noyfppsgv1zoPoPqdW4q0ef3t3ggWKMHis17FIfu3Kjn4FPQei18uNn+7CvwaiQFbXptFlNFNuvYLKadoGUOMOHd5l0fpHXVJbqSHbIX3EtDAQ9cNIhdQ8C8EVOBijoGYnRi4wZeo1bJiiVg+UdA8gHF3HsIhH7lxUBn2kzO8AuMvzBxVEeqtHGOexzd4OFsSZeybW+lEQYxTeA5jyUH57SO6sXY3n9bcGH83KhU5U= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: d37fffb4-b3e8-4f04-bfde-08d74897c2d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2019 06:54:54.4584 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UUPxNRubA0cRozapyr4Grm+bkMUQ4Fm2MkYwXBFQwXWtZ+Id6iedKtjPbEUHazeJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1507 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org QW0gMDMuMTAuMTkgdW0gMjI6MTggc2NocmllYiBEYXZpZGxvaHIgQnVlc286DQo+IFRoZSBhbWRn cHVfdm0gaW50ZXJ2YWwgdHJlZSByZWFsbHkgd2FudHMgW2EsIGIpIGludGVydmFscywNCg0KTkFL LCB3ZSBleHBsaWNpdGx5IGRvIG5lZWQgYW4gW2EsIGJbIGludGVydmFsIGhlcmUuDQoNClJlZ2Fy ZHMsDQpDaHJpc3RpYW4uDQoNCj4gbm90IGZ1bGx5IGNsb3NlZCBvbmVzLiBBcyBzdWNoIGNvbnZl cnQgaXQgdG8gdXNlIHRoZSBuZXcNCj4gaW50ZXJ2YWxfdHJlZV9nZW4uaCwgYW5kIGFsc28gcmVu YW1lIHRoZSAnbGFzdCcgZW5kcG9pbnQNCj4gaW4gdGhlIG5vZGUgdG8gJ2VuZCcsIHdoaWNoIGlz IGJvdGggYSBtb3JlIHN1aXRhYmxlIG5hbWUNCj4gZm9yIHRoZSBoYWxmIGNsb3NlZCBpbnRlcnZh bCBhbmQgYWxzbyByZWR1Y2VzIHRoZSBjaGFuY2VzDQo+IG9mIG1pc3NpbmcgYSBjb252ZXJzaW9u IHdoZW4gZG9pbmcgaW5zZXJ0aW9uIG9yIGxvb2t1cC4NCj4NCj4gQ2M6IEplcm9tZSBHbGlzc2Ug PGpnbGlzc2VAcmVkaGF0LmNvbT4NCj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNo ZXJAYW1kLmNvbT4NCj4gQ2M6ICJDaHJpc3RpYW4gS8O2bmlnIiA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPg0KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPg0KPiBDYzogYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gU2lnbmVkLW9mZi1ieTogRGF2aWRsb2hyIEJ1 ZXNvIDxkYnVlc29Ac3VzZS5kZT4NCj4gLS0tDQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2NzLmMgICAgIHwgIDIgKy0NCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmggfCAgMiArLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV90cmFjZS5oICB8IDE4ICsrKysrKy0tLS0tLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV91dmQuYyAgICB8ICAyICstDQo+ICAgZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3ZjZS5jICAgIHwgIDMgKy0NCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uYyAgICAgfCA0NiArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0NCj4gICA2IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygt KQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nz LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYw0KPiBpbmRleCA0OWI3 NjdiNzIzOGYuLjI5MGJmZTgyMDg5MCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2NzLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2NzLmMNCj4gQEAgLTc1Niw3ICs3NTYsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc192 bV9oYW5kbGluZyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkNCj4gICAJCQl9DQo+ICAgDQo+ ICAgCQkJaWYgKCh2YV9zdGFydCArIGNodW5rX2liLT5pYl9ieXRlcykgPg0KPiAtCQkJICAgICht LT5sYXN0ICsgMSkgKiBBTURHUFVfR1BVX1BBR0VfU0laRSkgew0KPiArCQkJICAgIG0tPmVuZCAq IEFNREdQVV9HUFVfUEFHRV9TSVpFKSB7DQo+ICAgCQkJCURSTV9FUlJPUigiSUIgdmFfc3RhcnQr aWJfYnl0ZXMgaXMgaW52YWxpZFxuIik7DQo+ICAgCQkJCXJldHVybiAtRUlOVkFMOw0KPiAgIAkJ CX0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmpl Y3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaA0KPiBpbmRl eCA3ZTk5ZjZjNThjNDguLjYwYjczYmM0ZDExYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaA0KPiBAQCAtNTEsNyArNTEsNyBAQCBzdHJ1Y3QgYW1k Z3B1X2JvX3ZhX21hcHBpbmcgew0KPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkCQlsaXN0Ow0KPiAgIAlz dHJ1Y3QgcmJfbm9kZQkJCXJiOw0KPiAgIAl1aW50NjRfdAkJCXN0YXJ0Ow0KPiAtCXVpbnQ2NF90 CQkJbGFzdDsNCj4gKwl1aW50NjRfdAkJCWVuZDsNCj4gICAJdWludDY0X3QJCQlfX3N1YnRyZWVf bGFzdDsNCj4gICAJdWludDY0X3QJCQlvZmZzZXQ7DQo+ICAgCXVpbnQ2NF90CQkJZmxhZ3M7DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHJhY2UuaCBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90cmFjZS5oDQo+IGluZGV4IDgyMjdl YmQwZjUxMS4uYzViMGU4OGQwMTljIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdHJhY2UuaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdHJhY2UuaA0KPiBAQCAtMjQ3LDcgKzI0Nyw3IEBAIFRSQUNFX0VWRU5UKGFtZGdw dV92bV9ib19tYXAsDQo+ICAgCSAgICBUUF9TVFJVQ1RfX2VudHJ5KA0KPiAgIAkJCSAgICAgX19m aWVsZChzdHJ1Y3QgYW1kZ3B1X2JvICosIGJvKQ0KPiAgIAkJCSAgICAgX19maWVsZChsb25nLCBz dGFydCkNCj4gLQkJCSAgICAgX19maWVsZChsb25nLCBsYXN0KQ0KPiArCQkJICAgICBfX2ZpZWxk KGxvbmcsIGVuZCkNCj4gICAJCQkgICAgIF9fZmllbGQodTY0LCBvZmZzZXQpDQo+ICAgCQkJICAg ICBfX2ZpZWxkKHU2NCwgZmxhZ3MpDQo+ICAgCQkJICAgICApLA0KPiBAQCAtMjU1LDEyICsyNTUs MTIgQEAgVFJBQ0VfRVZFTlQoYW1kZ3B1X3ZtX2JvX21hcCwNCj4gICAJICAgIFRQX2Zhc3RfYXNz aWduKA0KPiAgIAkJCSAgIF9fZW50cnktPmJvID0gYm9fdmEgPyBib192YS0+YmFzZS5ibyA6IE5V TEw7DQo+ICAgCQkJICAgX19lbnRyeS0+c3RhcnQgPSBtYXBwaW5nLT5zdGFydDsNCj4gLQkJCSAg IF9fZW50cnktPmxhc3QgPSBtYXBwaW5nLT5sYXN0Ow0KPiArCQkJICAgX19lbnRyeS0+ZW5kID0g bWFwcGluZy0+ZW5kOw0KPiAgIAkJCSAgIF9fZW50cnktPm9mZnNldCA9IG1hcHBpbmctPm9mZnNl dDsNCj4gICAJCQkgICBfX2VudHJ5LT5mbGFncyA9IG1hcHBpbmctPmZsYWdzOw0KPiAgIAkJCSAg ICksDQo+IC0JICAgIFRQX3ByaW50aygiYm89JXAsIHN0YXJ0PSVseCwgbGFzdD0lbHgsIG9mZnNl dD0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4gLQkJICAgICAgX19lbnRyeS0+Ym8sIF9fZW50cnkt PnN0YXJ0LCBfX2VudHJ5LT5sYXN0LA0KPiArCSAgICBUUF9wcmludGsoImJvPSVwLCBzdGFydD0l bHgsIGVuZD0lbHgsIG9mZnNldD0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4gKwkJICAgICAgX19l bnRyeS0+Ym8sIF9fZW50cnktPnN0YXJ0LCBfX2VudHJ5LT5lbmQsDQo+ICAgCQkgICAgICBfX2Vu dHJ5LT5vZmZzZXQsIF9fZW50cnktPmZsYWdzKQ0KPiAgICk7DQo+ICAgDQo+IEBAIC0yNzEsNyAr MjcxLDcgQEAgVFJBQ0VfRVZFTlQoYW1kZ3B1X3ZtX2JvX3VubWFwLA0KPiAgIAkgICAgVFBfU1RS VUNUX19lbnRyeSgNCj4gICAJCQkgICAgIF9fZmllbGQoc3RydWN0IGFtZGdwdV9ibyAqLCBibykN Cj4gICAJCQkgICAgIF9fZmllbGQobG9uZywgc3RhcnQpDQo+IC0JCQkgICAgIF9fZmllbGQobG9u ZywgbGFzdCkNCj4gKwkJCSAgICAgX19maWVsZChsb25nLCBlbmQpDQo+ICAgCQkJICAgICBfX2Zp ZWxkKHU2NCwgb2Zmc2V0KQ0KPiAgIAkJCSAgICAgX19maWVsZCh1NjQsIGZsYWdzKQ0KPiAgIAkJ CSAgICAgKSwNCj4gQEAgLTI3OSwxMiArMjc5LDEyIEBAIFRSQUNFX0VWRU5UKGFtZGdwdV92bV9i b191bm1hcCwNCj4gICAJICAgIFRQX2Zhc3RfYXNzaWduKA0KPiAgIAkJCSAgIF9fZW50cnktPmJv ID0gYm9fdmEgPyBib192YS0+YmFzZS5ibyA6IE5VTEw7DQo+ICAgCQkJICAgX19lbnRyeS0+c3Rh cnQgPSBtYXBwaW5nLT5zdGFydDsNCj4gLQkJCSAgIF9fZW50cnktPmxhc3QgPSBtYXBwaW5nLT5s YXN0Ow0KPiArCQkJICAgX19lbnRyeS0+ZW5kID0gbWFwcGluZy0+ZW5kOw0KPiAgIAkJCSAgIF9f ZW50cnktPm9mZnNldCA9IG1hcHBpbmctPm9mZnNldDsNCj4gICAJCQkgICBfX2VudHJ5LT5mbGFn cyA9IG1hcHBpbmctPmZsYWdzOw0KPiAgIAkJCSAgICksDQo+IC0JICAgIFRQX3ByaW50aygiYm89 JXAsIHN0YXJ0PSVseCwgbGFzdD0lbHgsIG9mZnNldD0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4g LQkJICAgICAgX19lbnRyeS0+Ym8sIF9fZW50cnktPnN0YXJ0LCBfX2VudHJ5LT5sYXN0LA0KPiAr CSAgICBUUF9wcmludGsoImJvPSVwLCBzdGFydD0lbHgsIGVuZD0lbHgsIG9mZnNldD0lMDEwbGx4 LCBmbGFncz0lbGx4IiwNCj4gKwkJICAgICAgX19lbnRyeS0+Ym8sIF9fZW50cnktPnN0YXJ0LCBf X2VudHJ5LT5lbmQsDQo+ICAgCQkgICAgICBfX2VudHJ5LT5vZmZzZXQsIF9fZW50cnktPmZsYWdz KQ0KPiAgICk7DQo+ICAgDQo+IEBAIC0yOTksNyArMjk5LDcgQEAgREVDTEFSRV9FVkVOVF9DTEFT UyhhbWRncHVfdm1fbWFwcGluZywNCj4gICANCj4gICAJICAgIFRQX2Zhc3RfYXNzaWduKA0KPiAg IAkJCSAgIF9fZW50cnktPnNvZmZzZXQgPSBtYXBwaW5nLT5zdGFydDsNCj4gLQkJCSAgIF9fZW50 cnktPmVvZmZzZXQgPSBtYXBwaW5nLT5sYXN0ICsgMTsNCj4gKwkJCSAgIF9fZW50cnktPmVvZmZz ZXQgPSBtYXBwaW5nLT5lbmQ7DQo+ICAgCQkJICAgX19lbnRyeS0+ZmxhZ3MgPSBtYXBwaW5nLT5m bGFnczsNCj4gICAJCQkgICApLA0KPiAgIAkgICAgVFBfcHJpbnRrKCJzb2Zmcz0lMDEwbGx4LCBl b2Zmcz0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV91dmQuYw0KPiBpbmRleCBiMmMzNjRiODY5NWYuLjgwOTRkZDBiMDMzMiAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jDQo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYw0KPiBAQCAtODE5LDcgKzgxOSw3 IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3V2ZF9jc19wYXNzMihzdHJ1Y3QgYW1kZ3B1X3V2ZF9jc19j dHggKmN0eCkNCj4gICANCj4gICAJc3RhcnQgPSBhbWRncHVfYm9fZ3B1X29mZnNldChibyk7DQo+ ICAgDQo+IC0JZW5kID0gKG1hcHBpbmctPmxhc3QgKyAxIC0gbWFwcGluZy0+c3RhcnQpOw0KPiAr CWVuZCA9IG1hcHBpbmctPmVuZCAtIG1hcHBpbmctPnN0YXJ0Ow0KPiAgIAllbmQgPSBlbmQgKiBB TURHUFVfR1BVX1BBR0VfU0laRSArIHN0YXJ0Ow0KPiAgIA0KPiAgIAlhZGRyIC09IG1hcHBpbmct PnN0YXJ0ICogQU1ER1BVX0dQVV9QQUdFX1NJWkU7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdmNlLmMNCj4gaW5kZXggYjcwYjNjNDViYjI5Li5kNjUxMWJmNDQ2ZGYgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYw0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMNCj4gQEAgLTY0Miw4ICs2 NDIsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92Y2VfY3NfcmVsb2Moc3RydWN0IGFtZGdwdV9jc19w YXJzZXIgKnAsIHVpbnQzMl90IGliX2lkeCwNCj4gICAJCXJldHVybiByOw0KPiAgIAl9DQo+ICAg DQo+IC0JaWYgKChhZGRyICsgKHVpbnQ2NF90KXNpemUpID4NCj4gLQkgICAgKG1hcHBpbmctPmxh c3QgKyAxKSAqIEFNREdQVV9HUFVfUEFHRV9TSVpFKSB7DQo+ICsJaWYgKChhZGRyICsgKHVpbnQ2 NF90KXNpemUpID4gbWFwcGluZy0+ZW5kICogQU1ER1BVX0dQVV9QQUdFX1NJWkUpIHsNCj4gICAJ CURSTV9FUlJPUigiQk8gdG8gc21hbGwgZm9yIGFkZHIgMHglMDEwTHggJWQgJWRcbiIsDQo+ICAg CQkJICBhZGRyLCBsbywgaGkpOw0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jDQo+IGluZGV4IGEyYzc5N2UzNGEyOS4uMmY2MTgwMTc2 MTdlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u Yw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYw0KPiBAQCAt MjYsNyArMjYsNyBAQA0KPiAgICAqICAgICAgICAgIEplcm9tZSBHbGlzc2UNCj4gICAgKi8NCj4g ICAjaW5jbHVkZSA8bGludXgvZG1hLWZlbmNlLWFycmF5Lmg+DQo+IC0jaW5jbHVkZSA8bGludXgv aW50ZXJ2YWxfdHJlZV9nZW5lcmljLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJ2YWxfdHJl ZV9nZW4uaD4NCj4gICAjaW5jbHVkZSA8bGludXgvaWRyLmg+DQo+ICAgDQo+ICAgI2luY2x1ZGUg PGRybS9hbWRncHVfZHJtLmg+DQo+IEBAIC01OCwxMyArNTgsMTMgQEANCj4gICAgKi8NCj4gICAN Cj4gICAjZGVmaW5lIFNUQVJUKG5vZGUpICgobm9kZSktPnN0YXJ0KQ0KPiAtI2RlZmluZSBMQVNU KG5vZGUpICgobm9kZSktPmxhc3QpDQo+ICsjZGVmaW5lIEVORChub2RlKSAoKG5vZGUpLT5lbmQp DQo+ICAgDQo+ICAgSU5URVJWQUxfVFJFRV9ERUZJTkUoc3RydWN0IGFtZGdwdV9ib192YV9tYXBw aW5nLCByYiwgdWludDY0X3QsIF9fc3VidHJlZV9sYXN0LA0KPiAtCQkgICAgIFNUQVJULCBMQVNU LCBzdGF0aWMsIGFtZGdwdV92bV9pdCkNCj4gKwkJICAgICBTVEFSVCwgRU5ELCBzdGF0aWMsIGFt ZGdwdV92bV9pdCkNCj4gICANCj4gICAjdW5kZWYgU1RBUlQNCj4gLSN1bmRlZiBMQVNUDQo+ICsj dW5kZWYgRU5EDQo+ICAgDQo+ICAgLyoqDQo+ICAgICogc3RydWN0IGFtZGdwdV9wcnRfY2IgLSBI ZWxwZXIgdG8gZGlzYWJsZSBwYXJ0aWFsIHJlc2lkZW50IHRleHR1cmUgZmVhdHVyZSBmcm9tIGEg ZmVuY2UgY2FsbGJhY2sNCj4gQEAgLTE2MTYsNyArMTYxNiw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X3ZtX2JvX3NwbGl0X21hcHBpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ICAgCWRv IHsNCj4gICAJCWRtYV9hZGRyX3QgKmRtYV9hZGRyID0gTlVMTDsNCj4gICAJCXVpbnQ2NF90IG1h eF9lbnRyaWVzOw0KPiAtCQl1aW50NjRfdCBhZGRyLCBsYXN0Ow0KPiArCQl1aW50NjRfdCBhZGRy LCBlbmQ7DQo+ICAgDQo+ICAgCQlpZiAobm9kZXMpIHsNCj4gICAJCQlhZGRyID0gbm9kZXMtPnN0 YXJ0IDw8IFBBR0VfU0hJRlQ7DQo+IEBAIC0xNjU0LDIxICsxNjU0LDIxIEBAIHN0YXRpYyBpbnQg YW1kZ3B1X3ZtX2JvX3NwbGl0X21hcHBpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ ICAgCQkJYWRkciArPSBwZm4gPDwgUEFHRV9TSElGVDsNCj4gICAJCX0NCj4gICANCj4gLQkJbGFz dCA9IG1pbigodWludDY0X3QpbWFwcGluZy0+bGFzdCwgc3RhcnQgKyBtYXhfZW50cmllcyAtIDEp Ow0KPiArCQllbmQgPSBtaW4oKHVpbnQ2NF90KW1hcHBpbmctPmVuZCwgc3RhcnQgKyBtYXhfZW50 cmllcyk7DQo+ICAgCQlyID0gYW1kZ3B1X3ZtX2JvX3VwZGF0ZV9tYXBwaW5nKGFkZXYsIHZtLCBm YWxzZSwgZXhjbHVzaXZlLA0KPiAtCQkJCQkJc3RhcnQsIGxhc3QsIGZsYWdzLCBhZGRyLA0KPiAr CQkJCQkJc3RhcnQsIGVuZCwgZmxhZ3MsIGFkZHIsDQo+ICAgCQkJCQkJZG1hX2FkZHIsIGZlbmNl KTsNCj4gICAJCWlmIChyKQ0KPiAgIAkJCXJldHVybiByOw0KPiAgIA0KPiAtCQlwZm4gKz0gKGxh c3QgLSBzdGFydCArIDEpIC8gQU1ER1BVX0dQVV9QQUdFU19JTl9DUFVfUEFHRTsNCj4gKwkJcGZu ICs9IChlbmQgLSBzdGFydCkgLyBBTURHUFVfR1BVX1BBR0VTX0lOX0NQVV9QQUdFOw0KPiAgIAkJ aWYgKG5vZGVzICYmIG5vZGVzLT5zaXplID09IHBmbikgew0KPiAgIAkJCXBmbiA9IDA7DQo+ICAg CQkJKytub2RlczsNCj4gICAJCX0NCj4gLQkJc3RhcnQgPSBsYXN0ICsgMTsNCj4gKwkJc3RhcnQg PSBlbmQ7DQo+ICAgDQo+IC0JfSB3aGlsZSAodW5saWtlbHkoc3RhcnQgIT0gbWFwcGluZy0+bGFz dCArIDEpKTsNCj4gKwl9IHdoaWxlICh1bmxpa2VseShzdGFydCAhPSBtYXBwaW5nLT5lbmQpKTsN Cj4gICANCj4gICAJcmV0dXJuIDA7DQo+ICAgfQ0KPiBAQCAtMTk0Niw3ICsxOTQ2LDcgQEAgaW50 IGFtZGdwdV92bV9jbGVhcl9mcmVlZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4gICAJ CQlpbml0X3B0ZV92YWx1ZSA9IEFNREdQVV9QVEVfREVGQVVMVF9BVEM7DQo+ICAgDQo+ICAgCQly ID0gYW1kZ3B1X3ZtX2JvX3VwZGF0ZV9tYXBwaW5nKGFkZXYsIHZtLCBmYWxzZSwgTlVMTCwNCj4g LQkJCQkJCW1hcHBpbmctPnN0YXJ0LCBtYXBwaW5nLT5sYXN0LA0KPiArCQkJCQkJbWFwcGluZy0+ c3RhcnQsIG1hcHBpbmctPmVuZCwNCj4gICAJCQkJCQlpbml0X3B0ZV92YWx1ZSwgMCwgTlVMTCwg JmYpOw0KPiAgIAkJYW1kZ3B1X3ZtX2ZyZWVfbWFwcGluZyhhZGV2LCB2bSwgbWFwcGluZywgZik7 DQo+ICAgCQlpZiAocikgew0KPiBAQCAtMjEyOSw3ICsyMTI5LDcgQEAgaW50IGFtZGdwdV92bV9i b19tYXAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsN Cj4gICANCj4gICAJLyogbWFrZSBzdXJlIG9iamVjdCBmaXQgYXQgdGhpcyBvZmZzZXQgKi8NCj4g LQllYWRkciA9IHNhZGRyICsgc2l6ZSAtIDE7DQo+ICsJZWFkZHIgPSBzYWRkciArIHNpemU7DQo+ ICAgCWlmIChzYWRkciA+PSBlYWRkciB8fA0KPiAgIAkgICAgKGJvICYmIG9mZnNldCArIHNpemUg PiBhbWRncHVfYm9fc2l6ZShibykpKQ0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+IEBAIC0yMTQy LDcgKzIxNDIsNyBAQCBpbnQgYW1kZ3B1X3ZtX2JvX21hcChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwNCj4gICAJCS8qIGJvIGFuZCB0bXAgb3ZlcmxhcCwgaW52YWxpZCBhZGRyICovDQo+ICAg CQlkZXZfZXJyKGFkZXYtPmRldiwgImJvICVwIHZhIDB4JTAxMEx4LTB4JTAxMEx4IGNvbmZsaWN0 IHdpdGggIg0KPiAgIAkJCSIweCUwMTBMeC0weCUwMTBMeFxuIiwgYm8sIHNhZGRyLCBlYWRkciwN Cj4gLQkJCXRtcC0+c3RhcnQsIHRtcC0+bGFzdCArIDEpOw0KPiArCQkJdG1wLT5zdGFydCwgdG1w LT5lbmQpOw0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICAgCX0NCj4gICANCj4gQEAgLTIxNTEs NyArMjE1MSw3IEBAIGludCBhbWRncHVfdm1fYm9fbWFwKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LA0KPiAgIAkJcmV0dXJuIC1FTk9NRU07DQo+ICAgDQo+ICAgCW1hcHBpbmctPnN0YXJ0ID0g c2FkZHI7DQo+IC0JbWFwcGluZy0+bGFzdCA9IGVhZGRyOw0KPiArCW1hcHBpbmctPmVuZCA9IGVh ZGRyOw0KPiAgIAltYXBwaW5nLT5vZmZzZXQgPSBvZmZzZXQ7DQo+ICAgCW1hcHBpbmctPmZsYWdz ID0gZmxhZ3M7DQo+ICAgDQo+IEBAIC0yMTk0LDcgKzIxOTQsNyBAQCBpbnQgYW1kZ3B1X3ZtX2Jv X3JlcGxhY2VfbWFwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgIAkJcmV0dXJuIC1F SU5WQUw7DQo+ICAgDQo+ICAgCS8qIG1ha2Ugc3VyZSBvYmplY3QgZml0IGF0IHRoaXMgb2Zmc2V0 ICovDQo+IC0JZWFkZHIgPSBzYWRkciArIHNpemUgLSAxOw0KPiArCWVhZGRyID0gc2FkZHIgKyBz aXplOw0KPiAgIAlpZiAoc2FkZHIgPj0gZWFkZHIgfHwNCj4gICAJICAgIChibyAmJiBvZmZzZXQg KyBzaXplID4gYW1kZ3B1X2JvX3NpemUoYm8pKSkNCj4gICAJCXJldHVybiAtRUlOVkFMOw0KPiBA QCAtMjIxNCw3ICsyMjE0LDcgQEAgaW50IGFtZGdwdV92bV9ib19yZXBsYWNlX21hcChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwNCj4gICAJZWFkZHIgLz0gQU1ER1BVX0dQVV9QQUdFX1NJWkU7 DQo+ICAgDQo+ICAgCW1hcHBpbmctPnN0YXJ0ID0gc2FkZHI7DQo+IC0JbWFwcGluZy0+bGFzdCA9 IGVhZGRyOw0KPiArCW1hcHBpbmctPmVuZCA9IGVhZGRyOw0KPiAgIAltYXBwaW5nLT5vZmZzZXQg PSBvZmZzZXQ7DQo+ICAgCW1hcHBpbmctPmZsYWdzID0gZmxhZ3M7DQo+ICAgDQo+IEBAIC0yMjk5 LDcgKzIyOTksNyBAQCBpbnQgYW1kZ3B1X3ZtX2JvX2NsZWFyX21hcHBpbmdzKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LA0KPiAgIAlMSVNUX0hFQUQocmVtb3ZlZCk7DQo+ICAgCXVpbnQ2NF90 IGVhZGRyOw0KPiAgIA0KPiAtCWVhZGRyID0gc2FkZHIgKyBzaXplIC0gMTsNCj4gKwllYWRkciA9 IHNhZGRyICsgc2l6ZTsNCj4gICAJc2FkZHIgLz0gQU1ER1BVX0dQVV9QQUdFX1NJWkU7DQo+ICAg CWVhZGRyIC89IEFNREdQVV9HUFVfUEFHRV9TSVpFOw0KPiAgIA0KPiBAQCAtMjMyMiw3ICsyMzIy LDcgQEAgaW50IGFtZGdwdV92bV9ib19jbGVhcl9tYXBwaW5ncyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwNCj4gICAJCS8qIFJlbWVtYmVyIG1hcHBpbmcgc3BsaXQgYXQgdGhlIHN0YXJ0ICov DQo+ICAgCQlpZiAodG1wLT5zdGFydCA8IHNhZGRyKSB7DQo+ICAgCQkJYmVmb3JlLT5zdGFydCA9 IHRtcC0+c3RhcnQ7DQo+IC0JCQliZWZvcmUtPmxhc3QgPSBzYWRkciAtIDE7DQo+ICsJCQliZWZv cmUtPmVuZCA9IHNhZGRyOw0KPiAgIAkJCWJlZm9yZS0+b2Zmc2V0ID0gdG1wLT5vZmZzZXQ7DQo+ ICAgCQkJYmVmb3JlLT5mbGFncyA9IHRtcC0+ZmxhZ3M7DQo+ICAgCQkJYmVmb3JlLT5ib192YSA9 IHRtcC0+Ym9fdmE7DQo+IEBAIC0yMzMwLDkgKzIzMzAsOSBAQCBpbnQgYW1kZ3B1X3ZtX2JvX2Ns ZWFyX21hcHBpbmdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgIAkJfQ0KPiAgIA0K PiAgIAkJLyogUmVtZW1iZXIgbWFwcGluZyBzcGxpdCBhdCB0aGUgZW5kICovDQo+IC0JCWlmICh0 bXAtPmxhc3QgPiBlYWRkcikgew0KPiAtCQkJYWZ0ZXItPnN0YXJ0ID0gZWFkZHIgKyAxOw0KPiAt CQkJYWZ0ZXItPmxhc3QgPSB0bXAtPmxhc3Q7DQo+ICsJCWlmICh0bXAtPmVuZCA+IGVhZGRyKSB7 DQo+ICsJCQlhZnRlci0+c3RhcnQgPSBlYWRkcjsNCj4gKwkJCWFmdGVyLT5lbmQgPSB0bXAtPmVu ZDsNCj4gICAJCQlhZnRlci0+b2Zmc2V0ID0gdG1wLT5vZmZzZXQ7DQo+ICAgCQkJYWZ0ZXItPm9m ZnNldCArPSBhZnRlci0+c3RhcnQgLSB0bXAtPnN0YXJ0Ow0KPiAgIAkJCWFmdGVyLT5mbGFncyA9 IHRtcC0+ZmxhZ3M7DQo+IEBAIC0yMzUzLDggKzIzNTMsOCBAQCBpbnQgYW1kZ3B1X3ZtX2JvX2Ns ZWFyX21hcHBpbmdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgIA0KPiAgIAkJaWYg KHRtcC0+c3RhcnQgPCBzYWRkcikNCj4gICAJCSAgICB0bXAtPnN0YXJ0ID0gc2FkZHI7DQo+IC0J CWlmICh0bXAtPmxhc3QgPiBlYWRkcikNCj4gLQkJICAgIHRtcC0+bGFzdCA9IGVhZGRyOw0KPiAr CQlpZiAodG1wLT5lbmQgPiBlYWRkcikNCj4gKwkJICAgIHRtcC0+ZW5kID0gZWFkZHI7DQo+ICAg DQo+ICAgCQl0bXAtPmJvX3ZhID0gTlVMTDsNCj4gICAJCWxpc3RfYWRkKCZ0bXAtPmxpc3QsICZ2 bS0+ZnJlZWQpOw0KDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Koenig, Christian" Subject: Re: [PATCH 03/11] drm/amdgpu: convert amdgpu_vm_it to half closed intervals Date: Fri, 4 Oct 2019 06:54:54 +0000 Message-ID: References: <20191003201858.11666-1-dave@stgolabs.net> <20191003201858.11666-4-dave@stgolabs.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191003201858.11666-4-dave-h16yJtLeMjHk1uMJSBkQmQ@public.gmane.org> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Davidlohr Bueso , "akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org" Cc: Davidlohr Bueso , "peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org" , Jerome Glisse , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , Daniel Vetter , "Deucher, Alexander" , "walken-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org" , "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: dri-devel@lists.freedesktop.org QW0gMDMuMTAuMTkgdW0gMjI6MTggc2NocmllYiBEYXZpZGxvaHIgQnVlc286DQo+IFRoZSBhbWRn cHVfdm0gaW50ZXJ2YWwgdHJlZSByZWFsbHkgd2FudHMgW2EsIGIpIGludGVydmFscywNCg0KTkFL LCB3ZSBleHBsaWNpdGx5IGRvIG5lZWQgYW4gW2EsIGJbIGludGVydmFsIGhlcmUuDQoNClJlZ2Fy ZHMsDQpDaHJpc3RpYW4uDQoNCj4gbm90IGZ1bGx5IGNsb3NlZCBvbmVzLiBBcyBzdWNoIGNvbnZl cnQgaXQgdG8gdXNlIHRoZSBuZXcNCj4gaW50ZXJ2YWxfdHJlZV9nZW4uaCwgYW5kIGFsc28gcmVu YW1lIHRoZSAnbGFzdCcgZW5kcG9pbnQNCj4gaW4gdGhlIG5vZGUgdG8gJ2VuZCcsIHdoaWNoIGlz IGJvdGggYSBtb3JlIHN1aXRhYmxlIG5hbWUNCj4gZm9yIHRoZSBoYWxmIGNsb3NlZCBpbnRlcnZh bCBhbmQgYWxzbyByZWR1Y2VzIHRoZSBjaGFuY2VzDQo+IG9mIG1pc3NpbmcgYSBjb252ZXJzaW9u IHdoZW4gZG9pbmcgaW5zZXJ0aW9uIG9yIGxvb2t1cC4NCj4NCj4gQ2M6IEplcm9tZSBHbGlzc2Ug PGpnbGlzc2VAcmVkaGF0LmNvbT4NCj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNo ZXJAYW1kLmNvbT4NCj4gQ2M6ICJDaHJpc3RpYW4gS8O2bmlnIiA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPg0KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPg0KPiBDYzogYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gU2lnbmVkLW9mZi1ieTogRGF2aWRsb2hyIEJ1 ZXNvIDxkYnVlc29Ac3VzZS5kZT4NCj4gLS0tDQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2NzLmMgICAgIHwgIDIgKy0NCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmggfCAgMiArLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV90cmFjZS5oICB8IDE4ICsrKysrKy0tLS0tLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV91dmQuYyAgICB8ICAyICstDQo+ICAgZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3ZjZS5jICAgIHwgIDMgKy0NCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uYyAgICAgfCA0NiArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0NCj4gICA2IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygt KQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nz LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYw0KPiBpbmRleCA0OWI3 NjdiNzIzOGYuLjI5MGJmZTgyMDg5MCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2NzLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2NzLmMNCj4gQEAgLTc1Niw3ICs3NTYsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc192 bV9oYW5kbGluZyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkNCj4gICAJCQl9DQo+ICAgDQo+ ICAgCQkJaWYgKCh2YV9zdGFydCArIGNodW5rX2liLT5pYl9ieXRlcykgPg0KPiAtCQkJICAgICht LT5sYXN0ICsgMSkgKiBBTURHUFVfR1BVX1BBR0VfU0laRSkgew0KPiArCQkJICAgIG0tPmVuZCAq IEFNREdQVV9HUFVfUEFHRV9TSVpFKSB7DQo+ICAgCQkJCURSTV9FUlJPUigiSUIgdmFfc3RhcnQr aWJfYnl0ZXMgaXMgaW52YWxpZFxuIik7DQo+ICAgCQkJCXJldHVybiAtRUlOVkFMOw0KPiAgIAkJ CX0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmpl Y3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaA0KPiBpbmRl eCA3ZTk5ZjZjNThjNDguLjYwYjczYmM0ZDExYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaA0KPiBAQCAtNTEsNyArNTEsNyBAQCBzdHJ1Y3QgYW1k Z3B1X2JvX3ZhX21hcHBpbmcgew0KPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkCQlsaXN0Ow0KPiAgIAlz dHJ1Y3QgcmJfbm9kZQkJCXJiOw0KPiAgIAl1aW50NjRfdAkJCXN0YXJ0Ow0KPiAtCXVpbnQ2NF90 CQkJbGFzdDsNCj4gKwl1aW50NjRfdAkJCWVuZDsNCj4gICAJdWludDY0X3QJCQlfX3N1YnRyZWVf bGFzdDsNCj4gICAJdWludDY0X3QJCQlvZmZzZXQ7DQo+ICAgCXVpbnQ2NF90CQkJZmxhZ3M7DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHJhY2UuaCBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90cmFjZS5oDQo+IGluZGV4IDgyMjdl YmQwZjUxMS4uYzViMGU4OGQwMTljIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdHJhY2UuaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdHJhY2UuaA0KPiBAQCAtMjQ3LDcgKzI0Nyw3IEBAIFRSQUNFX0VWRU5UKGFtZGdw dV92bV9ib19tYXAsDQo+ICAgCSAgICBUUF9TVFJVQ1RfX2VudHJ5KA0KPiAgIAkJCSAgICAgX19m aWVsZChzdHJ1Y3QgYW1kZ3B1X2JvICosIGJvKQ0KPiAgIAkJCSAgICAgX19maWVsZChsb25nLCBz dGFydCkNCj4gLQkJCSAgICAgX19maWVsZChsb25nLCBsYXN0KQ0KPiArCQkJICAgICBfX2ZpZWxk KGxvbmcsIGVuZCkNCj4gICAJCQkgICAgIF9fZmllbGQodTY0LCBvZmZzZXQpDQo+ICAgCQkJICAg ICBfX2ZpZWxkKHU2NCwgZmxhZ3MpDQo+ICAgCQkJICAgICApLA0KPiBAQCAtMjU1LDEyICsyNTUs MTIgQEAgVFJBQ0VfRVZFTlQoYW1kZ3B1X3ZtX2JvX21hcCwNCj4gICAJICAgIFRQX2Zhc3RfYXNz aWduKA0KPiAgIAkJCSAgIF9fZW50cnktPmJvID0gYm9fdmEgPyBib192YS0+YmFzZS5ibyA6IE5V TEw7DQo+ICAgCQkJICAgX19lbnRyeS0+c3RhcnQgPSBtYXBwaW5nLT5zdGFydDsNCj4gLQkJCSAg IF9fZW50cnktPmxhc3QgPSBtYXBwaW5nLT5sYXN0Ow0KPiArCQkJICAgX19lbnRyeS0+ZW5kID0g bWFwcGluZy0+ZW5kOw0KPiAgIAkJCSAgIF9fZW50cnktPm9mZnNldCA9IG1hcHBpbmctPm9mZnNl dDsNCj4gICAJCQkgICBfX2VudHJ5LT5mbGFncyA9IG1hcHBpbmctPmZsYWdzOw0KPiAgIAkJCSAg ICksDQo+IC0JICAgIFRQX3ByaW50aygiYm89JXAsIHN0YXJ0PSVseCwgbGFzdD0lbHgsIG9mZnNl dD0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4gLQkJICAgICAgX19lbnRyeS0+Ym8sIF9fZW50cnkt PnN0YXJ0LCBfX2VudHJ5LT5sYXN0LA0KPiArCSAgICBUUF9wcmludGsoImJvPSVwLCBzdGFydD0l bHgsIGVuZD0lbHgsIG9mZnNldD0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4gKwkJICAgICAgX19l bnRyeS0+Ym8sIF9fZW50cnktPnN0YXJ0LCBfX2VudHJ5LT5lbmQsDQo+ICAgCQkgICAgICBfX2Vu dHJ5LT5vZmZzZXQsIF9fZW50cnktPmZsYWdzKQ0KPiAgICk7DQo+ICAgDQo+IEBAIC0yNzEsNyAr MjcxLDcgQEAgVFJBQ0VfRVZFTlQoYW1kZ3B1X3ZtX2JvX3VubWFwLA0KPiAgIAkgICAgVFBfU1RS VUNUX19lbnRyeSgNCj4gICAJCQkgICAgIF9fZmllbGQoc3RydWN0IGFtZGdwdV9ibyAqLCBibykN Cj4gICAJCQkgICAgIF9fZmllbGQobG9uZywgc3RhcnQpDQo+IC0JCQkgICAgIF9fZmllbGQobG9u ZywgbGFzdCkNCj4gKwkJCSAgICAgX19maWVsZChsb25nLCBlbmQpDQo+ICAgCQkJICAgICBfX2Zp ZWxkKHU2NCwgb2Zmc2V0KQ0KPiAgIAkJCSAgICAgX19maWVsZCh1NjQsIGZsYWdzKQ0KPiAgIAkJ CSAgICAgKSwNCj4gQEAgLTI3OSwxMiArMjc5LDEyIEBAIFRSQUNFX0VWRU5UKGFtZGdwdV92bV9i b191bm1hcCwNCj4gICAJICAgIFRQX2Zhc3RfYXNzaWduKA0KPiAgIAkJCSAgIF9fZW50cnktPmJv ID0gYm9fdmEgPyBib192YS0+YmFzZS5ibyA6IE5VTEw7DQo+ICAgCQkJICAgX19lbnRyeS0+c3Rh cnQgPSBtYXBwaW5nLT5zdGFydDsNCj4gLQkJCSAgIF9fZW50cnktPmxhc3QgPSBtYXBwaW5nLT5s YXN0Ow0KPiArCQkJICAgX19lbnRyeS0+ZW5kID0gbWFwcGluZy0+ZW5kOw0KPiAgIAkJCSAgIF9f ZW50cnktPm9mZnNldCA9IG1hcHBpbmctPm9mZnNldDsNCj4gICAJCQkgICBfX2VudHJ5LT5mbGFn cyA9IG1hcHBpbmctPmZsYWdzOw0KPiAgIAkJCSAgICksDQo+IC0JICAgIFRQX3ByaW50aygiYm89 JXAsIHN0YXJ0PSVseCwgbGFzdD0lbHgsIG9mZnNldD0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4g LQkJICAgICAgX19lbnRyeS0+Ym8sIF9fZW50cnktPnN0YXJ0LCBfX2VudHJ5LT5sYXN0LA0KPiAr CSAgICBUUF9wcmludGsoImJvPSVwLCBzdGFydD0lbHgsIGVuZD0lbHgsIG9mZnNldD0lMDEwbGx4 LCBmbGFncz0lbGx4IiwNCj4gKwkJICAgICAgX19lbnRyeS0+Ym8sIF9fZW50cnktPnN0YXJ0LCBf X2VudHJ5LT5lbmQsDQo+ICAgCQkgICAgICBfX2VudHJ5LT5vZmZzZXQsIF9fZW50cnktPmZsYWdz KQ0KPiAgICk7DQo+ICAgDQo+IEBAIC0yOTksNyArMjk5LDcgQEAgREVDTEFSRV9FVkVOVF9DTEFT UyhhbWRncHVfdm1fbWFwcGluZywNCj4gICANCj4gICAJICAgIFRQX2Zhc3RfYXNzaWduKA0KPiAg IAkJCSAgIF9fZW50cnktPnNvZmZzZXQgPSBtYXBwaW5nLT5zdGFydDsNCj4gLQkJCSAgIF9fZW50 cnktPmVvZmZzZXQgPSBtYXBwaW5nLT5sYXN0ICsgMTsNCj4gKwkJCSAgIF9fZW50cnktPmVvZmZz ZXQgPSBtYXBwaW5nLT5lbmQ7DQo+ICAgCQkJICAgX19lbnRyeS0+ZmxhZ3MgPSBtYXBwaW5nLT5m bGFnczsNCj4gICAJCQkgICApLA0KPiAgIAkgICAgVFBfcHJpbnRrKCJzb2Zmcz0lMDEwbGx4LCBl b2Zmcz0lMDEwbGx4LCBmbGFncz0lbGx4IiwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV91dmQuYw0KPiBpbmRleCBiMmMzNjRiODY5NWYuLjgwOTRkZDBiMDMzMiAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jDQo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYw0KPiBAQCAtODE5LDcgKzgxOSw3 IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3V2ZF9jc19wYXNzMihzdHJ1Y3QgYW1kZ3B1X3V2ZF9jc19j dHggKmN0eCkNCj4gICANCj4gICAJc3RhcnQgPSBhbWRncHVfYm9fZ3B1X29mZnNldChibyk7DQo+ ICAgDQo+IC0JZW5kID0gKG1hcHBpbmctPmxhc3QgKyAxIC0gbWFwcGluZy0+c3RhcnQpOw0KPiAr CWVuZCA9IG1hcHBpbmctPmVuZCAtIG1hcHBpbmctPnN0YXJ0Ow0KPiAgIAllbmQgPSBlbmQgKiBB TURHUFVfR1BVX1BBR0VfU0laRSArIHN0YXJ0Ow0KPiAgIA0KPiAgIAlhZGRyIC09IG1hcHBpbmct PnN0YXJ0ICogQU1ER1BVX0dQVV9QQUdFX1NJWkU7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdmNlLmMNCj4gaW5kZXggYjcwYjNjNDViYjI5Li5kNjUxMWJmNDQ2ZGYgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYw0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMNCj4gQEAgLTY0Miw4ICs2 NDIsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92Y2VfY3NfcmVsb2Moc3RydWN0IGFtZGdwdV9jc19w YXJzZXIgKnAsIHVpbnQzMl90IGliX2lkeCwNCj4gICAJCXJldHVybiByOw0KPiAgIAl9DQo+ICAg DQo+IC0JaWYgKChhZGRyICsgKHVpbnQ2NF90KXNpemUpID4NCj4gLQkgICAgKG1hcHBpbmctPmxh c3QgKyAxKSAqIEFNREdQVV9HUFVfUEFHRV9TSVpFKSB7DQo+ICsJaWYgKChhZGRyICsgKHVpbnQ2 NF90KXNpemUpID4gbWFwcGluZy0+ZW5kICogQU1ER1BVX0dQVV9QQUdFX1NJWkUpIHsNCj4gICAJ CURSTV9FUlJPUigiQk8gdG8gc21hbGwgZm9yIGFkZHIgMHglMDEwTHggJWQgJWRcbiIsDQo+ICAg CQkJICBhZGRyLCBsbywgaGkpOw0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jDQo+IGluZGV4IGEyYzc5N2UzNGEyOS4uMmY2MTgwMTc2 MTdlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u Yw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYw0KPiBAQCAt MjYsNyArMjYsNyBAQA0KPiAgICAqICAgICAgICAgIEplcm9tZSBHbGlzc2UNCj4gICAgKi8NCj4g ICAjaW5jbHVkZSA8bGludXgvZG1hLWZlbmNlLWFycmF5Lmg+DQo+IC0jaW5jbHVkZSA8bGludXgv aW50ZXJ2YWxfdHJlZV9nZW5lcmljLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJ2YWxfdHJl ZV9nZW4uaD4NCj4gICAjaW5jbHVkZSA8bGludXgvaWRyLmg+DQo+ICAgDQo+ICAgI2luY2x1ZGUg PGRybS9hbWRncHVfZHJtLmg+DQo+IEBAIC01OCwxMyArNTgsMTMgQEANCj4gICAgKi8NCj4gICAN Cj4gICAjZGVmaW5lIFNUQVJUKG5vZGUpICgobm9kZSktPnN0YXJ0KQ0KPiAtI2RlZmluZSBMQVNU KG5vZGUpICgobm9kZSktPmxhc3QpDQo+ICsjZGVmaW5lIEVORChub2RlKSAoKG5vZGUpLT5lbmQp DQo+ICAgDQo+ICAgSU5URVJWQUxfVFJFRV9ERUZJTkUoc3RydWN0IGFtZGdwdV9ib192YV9tYXBw aW5nLCByYiwgdWludDY0X3QsIF9fc3VidHJlZV9sYXN0LA0KPiAtCQkgICAgIFNUQVJULCBMQVNU LCBzdGF0aWMsIGFtZGdwdV92bV9pdCkNCj4gKwkJICAgICBTVEFSVCwgRU5ELCBzdGF0aWMsIGFt ZGdwdV92bV9pdCkNCj4gICANCj4gICAjdW5kZWYgU1RBUlQNCj4gLSN1bmRlZiBMQVNUDQo+ICsj dW5kZWYgRU5EDQo+ICAgDQo+ICAgLyoqDQo+ICAgICogc3RydWN0IGFtZGdwdV9wcnRfY2IgLSBI ZWxwZXIgdG8gZGlzYWJsZSBwYXJ0aWFsIHJlc2lkZW50IHRleHR1cmUgZmVhdHVyZSBmcm9tIGEg ZmVuY2UgY2FsbGJhY2sNCj4gQEAgLTE2MTYsNyArMTYxNiw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X3ZtX2JvX3NwbGl0X21hcHBpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ICAgCWRv IHsNCj4gICAJCWRtYV9hZGRyX3QgKmRtYV9hZGRyID0gTlVMTDsNCj4gICAJCXVpbnQ2NF90IG1h eF9lbnRyaWVzOw0KPiAtCQl1aW50NjRfdCBhZGRyLCBsYXN0Ow0KPiArCQl1aW50NjRfdCBhZGRy LCBlbmQ7DQo+ICAgDQo+ICAgCQlpZiAobm9kZXMpIHsNCj4gICAJCQlhZGRyID0gbm9kZXMtPnN0 YXJ0IDw8IFBBR0VfU0hJRlQ7DQo+IEBAIC0xNjU0LDIxICsxNjU0LDIxIEBAIHN0YXRpYyBpbnQg YW1kZ3B1X3ZtX2JvX3NwbGl0X21hcHBpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ ICAgCQkJYWRkciArPSBwZm4gPDwgUEFHRV9TSElGVDsNCj4gICAJCX0NCj4gICANCj4gLQkJbGFz dCA9IG1pbigodWludDY0X3QpbWFwcGluZy0+bGFzdCwgc3RhcnQgKyBtYXhfZW50cmllcyAtIDEp Ow0KPiArCQllbmQgPSBtaW4oKHVpbnQ2NF90KW1hcHBpbmctPmVuZCwgc3RhcnQgKyBtYXhfZW50 cmllcyk7DQo+ICAgCQlyID0gYW1kZ3B1X3ZtX2JvX3VwZGF0ZV9tYXBwaW5nKGFkZXYsIHZtLCBm YWxzZSwgZXhjbHVzaXZlLA0KPiAtCQkJCQkJc3RhcnQsIGxhc3QsIGZsYWdzLCBhZGRyLA0KPiAr CQkJCQkJc3RhcnQsIGVuZCwgZmxhZ3MsIGFkZHIsDQo+ICAgCQkJCQkJZG1hX2FkZHIsIGZlbmNl KTsNCj4gICAJCWlmIChyKQ0KPiAgIAkJCXJldHVybiByOw0KPiAgIA0KPiAtCQlwZm4gKz0gKGxh c3QgLSBzdGFydCArIDEpIC8gQU1ER1BVX0dQVV9QQUdFU19JTl9DUFVfUEFHRTsNCj4gKwkJcGZu ICs9IChlbmQgLSBzdGFydCkgLyBBTURHUFVfR1BVX1BBR0VTX0lOX0NQVV9QQUdFOw0KPiAgIAkJ aWYgKG5vZGVzICYmIG5vZGVzLT5zaXplID09IHBmbikgew0KPiAgIAkJCXBmbiA9IDA7DQo+ICAg CQkJKytub2RlczsNCj4gICAJCX0NCj4gLQkJc3RhcnQgPSBsYXN0ICsgMTsNCj4gKwkJc3RhcnQg PSBlbmQ7DQo+ICAgDQo+IC0JfSB3aGlsZSAodW5saWtlbHkoc3RhcnQgIT0gbWFwcGluZy0+bGFz dCArIDEpKTsNCj4gKwl9IHdoaWxlICh1bmxpa2VseShzdGFydCAhPSBtYXBwaW5nLT5lbmQpKTsN Cj4gICANCj4gICAJcmV0dXJuIDA7DQo+ICAgfQ0KPiBAQCAtMTk0Niw3ICsxOTQ2LDcgQEAgaW50 IGFtZGdwdV92bV9jbGVhcl9mcmVlZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4gICAJ CQlpbml0X3B0ZV92YWx1ZSA9IEFNREdQVV9QVEVfREVGQVVMVF9BVEM7DQo+ICAgDQo+ICAgCQly ID0gYW1kZ3B1X3ZtX2JvX3VwZGF0ZV9tYXBwaW5nKGFkZXYsIHZtLCBmYWxzZSwgTlVMTCwNCj4g LQkJCQkJCW1hcHBpbmctPnN0YXJ0LCBtYXBwaW5nLT5sYXN0LA0KPiArCQkJCQkJbWFwcGluZy0+ c3RhcnQsIG1hcHBpbmctPmVuZCwNCj4gICAJCQkJCQlpbml0X3B0ZV92YWx1ZSwgMCwgTlVMTCwg JmYpOw0KPiAgIAkJYW1kZ3B1X3ZtX2ZyZWVfbWFwcGluZyhhZGV2LCB2bSwgbWFwcGluZywgZik7 DQo+ICAgCQlpZiAocikgew0KPiBAQCAtMjEyOSw3ICsyMTI5LDcgQEAgaW50IGFtZGdwdV92bV9i b19tYXAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsN Cj4gICANCj4gICAJLyogbWFrZSBzdXJlIG9iamVjdCBmaXQgYXQgdGhpcyBvZmZzZXQgKi8NCj4g LQllYWRkciA9IHNhZGRyICsgc2l6ZSAtIDE7DQo+ICsJZWFkZHIgPSBzYWRkciArIHNpemU7DQo+ ICAgCWlmIChzYWRkciA+PSBlYWRkciB8fA0KPiAgIAkgICAgKGJvICYmIG9mZnNldCArIHNpemUg PiBhbWRncHVfYm9fc2l6ZShibykpKQ0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+IEBAIC0yMTQy LDcgKzIxNDIsNyBAQCBpbnQgYW1kZ3B1X3ZtX2JvX21hcChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwNCj4gICAJCS8qIGJvIGFuZCB0bXAgb3ZlcmxhcCwgaW52YWxpZCBhZGRyICovDQo+ICAg CQlkZXZfZXJyKGFkZXYtPmRldiwgImJvICVwIHZhIDB4JTAxMEx4LTB4JTAxMEx4IGNvbmZsaWN0 IHdpdGggIg0KPiAgIAkJCSIweCUwMTBMeC0weCUwMTBMeFxuIiwgYm8sIHNhZGRyLCBlYWRkciwN Cj4gLQkJCXRtcC0+c3RhcnQsIHRtcC0+bGFzdCArIDEpOw0KPiArCQkJdG1wLT5zdGFydCwgdG1w LT5lbmQpOw0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICAgCX0NCj4gICANCj4gQEAgLTIxNTEs NyArMjE1MSw3IEBAIGludCBhbWRncHVfdm1fYm9fbWFwKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LA0KPiAgIAkJcmV0dXJuIC1FTk9NRU07DQo+ICAgDQo+ICAgCW1hcHBpbmctPnN0YXJ0ID0g c2FkZHI7DQo+IC0JbWFwcGluZy0+bGFzdCA9IGVhZGRyOw0KPiArCW1hcHBpbmctPmVuZCA9IGVh ZGRyOw0KPiAgIAltYXBwaW5nLT5vZmZzZXQgPSBvZmZzZXQ7DQo+ICAgCW1hcHBpbmctPmZsYWdz ID0gZmxhZ3M7DQo+ICAgDQo+IEBAIC0yMTk0LDcgKzIxOTQsNyBAQCBpbnQgYW1kZ3B1X3ZtX2Jv X3JlcGxhY2VfbWFwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgIAkJcmV0dXJuIC1F SU5WQUw7DQo+ICAgDQo+ICAgCS8qIG1ha2Ugc3VyZSBvYmplY3QgZml0IGF0IHRoaXMgb2Zmc2V0 ICovDQo+IC0JZWFkZHIgPSBzYWRkciArIHNpemUgLSAxOw0KPiArCWVhZGRyID0gc2FkZHIgKyBz aXplOw0KPiAgIAlpZiAoc2FkZHIgPj0gZWFkZHIgfHwNCj4gICAJICAgIChibyAmJiBvZmZzZXQg KyBzaXplID4gYW1kZ3B1X2JvX3NpemUoYm8pKSkNCj4gICAJCXJldHVybiAtRUlOVkFMOw0KPiBA QCAtMjIxNCw3ICsyMjE0LDcgQEAgaW50IGFtZGdwdV92bV9ib19yZXBsYWNlX21hcChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwNCj4gICAJZWFkZHIgLz0gQU1ER1BVX0dQVV9QQUdFX1NJWkU7 DQo+ICAgDQo+ICAgCW1hcHBpbmctPnN0YXJ0ID0gc2FkZHI7DQo+IC0JbWFwcGluZy0+bGFzdCA9 IGVhZGRyOw0KPiArCW1hcHBpbmctPmVuZCA9IGVhZGRyOw0KPiAgIAltYXBwaW5nLT5vZmZzZXQg PSBvZmZzZXQ7DQo+ICAgCW1hcHBpbmctPmZsYWdzID0gZmxhZ3M7DQo+ICAgDQo+IEBAIC0yMjk5 LDcgKzIyOTksNyBAQCBpbnQgYW1kZ3B1X3ZtX2JvX2NsZWFyX21hcHBpbmdzKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LA0KPiAgIAlMSVNUX0hFQUQocmVtb3ZlZCk7DQo+ICAgCXVpbnQ2NF90 IGVhZGRyOw0KPiAgIA0KPiAtCWVhZGRyID0gc2FkZHIgKyBzaXplIC0gMTsNCj4gKwllYWRkciA9 IHNhZGRyICsgc2l6ZTsNCj4gICAJc2FkZHIgLz0gQU1ER1BVX0dQVV9QQUdFX1NJWkU7DQo+ICAg CWVhZGRyIC89IEFNREdQVV9HUFVfUEFHRV9TSVpFOw0KPiAgIA0KPiBAQCAtMjMyMiw3ICsyMzIy LDcgQEAgaW50IGFtZGdwdV92bV9ib19jbGVhcl9tYXBwaW5ncyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwNCj4gICAJCS8qIFJlbWVtYmVyIG1hcHBpbmcgc3BsaXQgYXQgdGhlIHN0YXJ0ICov DQo+ICAgCQlpZiAodG1wLT5zdGFydCA8IHNhZGRyKSB7DQo+ICAgCQkJYmVmb3JlLT5zdGFydCA9 IHRtcC0+c3RhcnQ7DQo+IC0JCQliZWZvcmUtPmxhc3QgPSBzYWRkciAtIDE7DQo+ICsJCQliZWZv cmUtPmVuZCA9IHNhZGRyOw0KPiAgIAkJCWJlZm9yZS0+b2Zmc2V0ID0gdG1wLT5vZmZzZXQ7DQo+ ICAgCQkJYmVmb3JlLT5mbGFncyA9IHRtcC0+ZmxhZ3M7DQo+ICAgCQkJYmVmb3JlLT5ib192YSA9 IHRtcC0+Ym9fdmE7DQo+IEBAIC0yMzMwLDkgKzIzMzAsOSBAQCBpbnQgYW1kZ3B1X3ZtX2JvX2Ns ZWFyX21hcHBpbmdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgIAkJfQ0KPiAgIA0K PiAgIAkJLyogUmVtZW1iZXIgbWFwcGluZyBzcGxpdCBhdCB0aGUgZW5kICovDQo+IC0JCWlmICh0 bXAtPmxhc3QgPiBlYWRkcikgew0KPiAtCQkJYWZ0ZXItPnN0YXJ0ID0gZWFkZHIgKyAxOw0KPiAt CQkJYWZ0ZXItPmxhc3QgPSB0bXAtPmxhc3Q7DQo+ICsJCWlmICh0bXAtPmVuZCA+IGVhZGRyKSB7 DQo+ICsJCQlhZnRlci0+c3RhcnQgPSBlYWRkcjsNCj4gKwkJCWFmdGVyLT5lbmQgPSB0bXAtPmVu ZDsNCj4gICAJCQlhZnRlci0+b2Zmc2V0ID0gdG1wLT5vZmZzZXQ7DQo+ICAgCQkJYWZ0ZXItPm9m ZnNldCArPSBhZnRlci0+c3RhcnQgLSB0bXAtPnN0YXJ0Ow0KPiAgIAkJCWFmdGVyLT5mbGFncyA9 IHRtcC0+ZmxhZ3M7DQo+IEBAIC0yMzUzLDggKzIzNTMsOCBAQCBpbnQgYW1kZ3B1X3ZtX2JvX2Ns ZWFyX21hcHBpbmdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgIA0KPiAgIAkJaWYg KHRtcC0+c3RhcnQgPCBzYWRkcikNCj4gICAJCSAgICB0bXAtPnN0YXJ0ID0gc2FkZHI7DQo+IC0J CWlmICh0bXAtPmxhc3QgPiBlYWRkcikNCj4gLQkJICAgIHRtcC0+bGFzdCA9IGVhZGRyOw0KPiAr CQlpZiAodG1wLT5lbmQgPiBlYWRkcikNCj4gKwkJICAgIHRtcC0+ZW5kID0gZWFkZHI7DQo+ICAg DQo+ICAgCQl0bXAtPmJvX3ZhID0gTlVMTDsNCj4gICAJCWxpc3RfYWRkKCZ0bXAtPmxpc3QsICZ2 bS0+ZnJlZWQpOw0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=