From owner-freebsd-drivers@freebsd.org Fri Aug 25 16:11:38 2017 Return-Path: Delivered-To: freebsd-drivers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E3CF0DDBEEB for ; Fri, 25 Aug 2017 16:11:38 +0000 (UTC) (envelope-from Kinjal.Patel@taec.toshiba.com) Received: from mailhost.taec.toshiba.com (mailhost.taec.toshiba.com [209.243.128.33]) by mx1.freebsd.org (Postfix) with ESMTP id CBE5C66229 for ; Fri, 25 Aug 2017 16:11:38 +0000 (UTC) (envelope-from Kinjal.Patel@taec.toshiba.com) Received: from EXMAIL1.taec.toshiba.com (unknown [209.243.133.250]) by mailhost.taec.toshiba.com (Postfix) with ESMTP id 8DE55A08F0; Fri, 25 Aug 2017 09:11:38 -0700 (PDT) Received: from EXMAIL2.taec.toshiba.com (209.243.166.31) by EXMAIL1.taec.toshiba.com (209.243.172.198) with Microsoft SMTP Server (TLS) id 14.3.123.3; Fri, 25 Aug 2017 09:11:38 -0700 Received: from EXMAIL1.taec.toshiba.com ([169.254.1.230]) by EXMAIL2.taec.toshiba.com ([169.254.2.30]) with mapi id 14.02.0347.000; Fri, 25 Aug 2017 09:11:38 -0700 From: Kinjal Patel To: Warner Losh CC: Jim Harris , "freebsd-drivers@freebsd.org" Subject: RE: NVMe driver init sequence Thread-Topic: NVMe driver init sequence Thread-Index: AdMXlSp3BhHvaAmDQQG9NyRAc27kigASxKyAACB3OKAAAM0YcAARBICAATh43QAAC8RSsAAO5eYAAA6FQOA= Date: Fri, 25 Aug 2017 16:11:37 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.93.33.1] MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Aug 2017 16:11:39 -0000 SSBoYXZlIG9ic2VydmVkIHRoaXMgYmVoYXZpb3IgaW4gb3VyIGxhYiBvbiAxMC4zLVNUQUJMRS4g U28gSSBoYXZlIHJlcG9ydGVkIGFnYWluc3QgaXQuDQpJZiB5b3UgY2FuIGJyaW5nIGluIHRoZSBj aGFuZ2UgZm9yIDEwLjRSIHRoYXQgd2lsbCBiZSBncmVhdCAobG90IG9mIHVzZXJzIHN0aWNrIHRv IDEwIGJhc2VkIHJlbGVhc2VzIGZvciB0aGVpciBkZXZlbG9wbWVudCkuIEFuZCBpbiBjYXNlLCBp ZiBjdXN0b21lciBmYWNlcyB0aGlzIGlzc3VlLCBJIGNhbiBwb2ludCB0byB0aGlzIGNvbW1pdCDi mLouDQoNClJlZ2FyZHMsDQpLaW5qYWwgUGF0ZWwNCg0KRnJvbTogd2xvc2hAYnNkaW1wLmNvbSBb bWFpbHRvOndsb3NoQGJzZGltcC5jb21dIE9uIEJlaGFsZiBPZiBXYXJuZXIgTG9zaA0KU2VudDog RnJpZGF5LCBBdWd1c3QgMjUsIDIwMTcgOTowMCBBTQ0KVG86IEtpbmphbCBQYXRlbA0KQ2M6IEpp bSBIYXJyaXM7IGZyZWVic2QtZHJpdmVyc0BmcmVlYnNkLm9yZw0KU3ViamVjdDogUmU6IE5WTWUg ZHJpdmVyIGluaXQgc2VxdWVuY2UNCg0KQlRXLCBJIGp1c3Qgbm90aWNlZCB5b3UgcmVwb3J0ZWQg dGhpcyBhZ2FpbnN0IDEwLjNSLiBJcyB0aGVyZSBzb21lIHJlYXNvbiAocGVyaGFwcyBhIGN1c3Rv bWVyIHdpdGggYW4gaXNzdWUpIHRoYXQgeW91IHJlcG9ydGVkIGl0IHRoZXJlPyBJJ20gdHJ5aW5n IHRvIGRlY2lkZSBpZiBJIG5lZWQgdG8gTUZDIHRoaXMgY2hhbmdlIHRvIDExLnggYW5kIDEwLngg KHRoZSBsYXR0ZXIgaGFzIHNvbWUgdGltZSB1cmdlbmN5IGR1ZSB0byB1cGNvbWluZyAxMC40UiBy ZWxlYXNlKS4NCg0KV2FybmVyDQoNCk9uIEZyaSwgQXVnIDI1LCAyMDE3IGF0IDk6NTQgQU0sIEtp bmphbCBQYXRlbCA8S2luamFsLlBhdGVsQHRhZWMudG9zaGliYS5jb208bWFpbHRvOktpbmphbC5Q YXRlbEB0YWVjLnRvc2hpYmEuY29tPj4gd3JvdGU6DQpHcmVhdCENClRoYW5rcyBXYXJuZXIuDQoN Cg0KUmVnYXJkcywNCktpbmphbCBQYXRlbA0KDQpGcm9tOiB3bG9zaEBic2RpbXAuY29tPG1haWx0 bzp3bG9zaEBic2RpbXAuY29tPiBbbWFpbHRvOndsb3NoQGJzZGltcC5jb208bWFpbHRvOndsb3No QGJzZGltcC5jb20+XSBPbiBCZWhhbGYgT2YgV2FybmVyIExvc2gNClNlbnQ6IFRodXJzZGF5LCBB dWd1c3QgMjQsIDIwMTcgODoxNyBQTQ0KVG86IEppbSBIYXJyaXMNCkNjOiBLaW5qYWwgUGF0ZWw7 IGZyZWVic2QtZHJpdmVyc0BmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1kcml2ZXJzQGZyZWVi c2Qub3JnPg0KDQpTdWJqZWN0OiBSZTogTlZNZSBkcml2ZXIgaW5pdCBzZXF1ZW5jZQ0KDQpHcmVl dGluZ3MsDQoNCkkndmUganVzdCBjb21taXR0ZWQgcjMyMjg3MiB3aGljaCBpbXBsZW1lbnRzIHRo aXMsIHdpdGggYSBzbGlnaHRseSB0d2Vha2VkIGNvbW1lbnQuDQoNCldhcm5lcg0KDQpPbiBGcmks IEF1ZyAxOCwgMjAxNyBhdCA0OjA5IFBNLCBKaW0gSGFycmlzIDxqaW0uaGFycmlzQGdtYWlsLmNv bTxtYWlsdG86amltLmhhcnJpc0BnbWFpbC5jb20+PiB3cm90ZToNCk9uIEZyaSwgQXVnIDE4LCAy MDE3IGF0IDI6MDQgUE0sIEtpbmphbCBQYXRlbA0KPEtpbmphbC5QYXRlbEB0YWVjLnRvc2hpYmEu Y29tPG1haWx0bzpLaW5qYWwuUGF0ZWxAdGFlYy50b3NoaWJhLmNvbT4+IHdyb3RlOg0KPiBDcmVh dGVkIGEgYnVnICMyMjE2NiAoaHR0cHM6Ly9idWdzLmZyZWVic2Qub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0yMjE2MTYpDQo+IFVwZGF0ZWQgdGhlIGRlc2NyaXB0aW9uIGFuZCBwYXRjaCB0 byBpdC4NCj4NCj4gUmVnYXJkcywNCj4gS2luamFsIFBhdGVsDQo+DQo+IEZyb206IEtpbmphbCBQ YXRlbA0KPiBTZW50OiBGcmlkYXksIEF1Z3VzdCAxOCwgMjAxNyAxOjUxIFBNDQo+IFRvOiAnV2Fy bmVyIExvc2gnDQo+IENjOiBmcmVlYnNkLWRyaXZlcnNAZnJlZWJzZC5vcmc8bWFpbHRvOmZyZWVi c2QtZHJpdmVyc0BmcmVlYnNkLm9yZz4NCj4gU3ViamVjdDogUkU6IE5WTWUgZHJpdmVyIGluaXQg c2VxdWVuY2UNCj4NCj4gSGVyZSBpcyBhIHRoZSBjaGFuZ2UgSSBwcm9wb3NlLiBUaGlzIHdpbGwg bWFrZSB0aGUgaW5pdCBzZXF1ZW5jZSByaWdodC4NCg0KTG9va3MgZ29vZCB0byBtZS4NCg0KPg0K PiBJbmRleDogc3lzL2Rldi9udm1lL252bWUuYw0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+IC0tLSBzeXMvZGV2 L252bWUvbnZtZS5jIChyZXZpc2lvbiAzMjI2NzIpDQo+ICsrKyBzeXMvZGV2L252bWUvbnZtZS5j ICh3b3JraW5nIGNvcHkpDQo+IEBAIC0yNTMsNiArMjUzLDkgQEANCj4gICAgICAgICAgICAgICAg IHJldHVybiAoc3RhdHVzKTsNCj4gICAgICAgICB9DQo+DQo+ICsgICAgLyogbWFrZSBkZXZpY2Ug YnVzLW1hc3RlciBiZWZvcmUgYXR0ZW1wdGluZyB0byBlbmFibGUgY29udHJvbGxlciAqLw0KPiAr ICAgIHBjaV9lbmFibGVfYnVzbWFzdGVyKGRldik7DQo+ICsNCj4gICAgICAgICAvKg0KPiAgICAg ICAgICAqIFJlc2V0IGNvbnRyb2xsZXIgdHdpY2UgdG8gZW5zdXJlIHdlIGRvIGEgdHJhbnNpdGlv biBmcm9tIGNjLmVuPT0xDQo+ICAgICAgICAgICogIHRvIGNjLmVuPT0wLiAgVGhpcyBpcyBiZWNh dXNlIHdlIGRvbid0IHJlYWxseSBrbm93IHdoYXQgc3RhdHVzDQo+IEBAIC0yNzAsOCArMjczLDYg QEANCj4gICAgICAgICAgICAgICAgIHJldHVybiAoc3RhdHVzKTsNCj4gICAgICAgICB9DQo+DQo+ IC0gICAgICAgcGNpX2VuYWJsZV9idXNtYXN0ZXIoZGV2KTsNCj4gLQ0KPiAgICAgICAgIGN0cmxy LT5jb25maWdfaG9vay5pY2hfZnVuYyA9IG52bWVfY3RybHJfc3RhcnRfY29uZmlnX2hvb2s7DQo+ ICAgICAgICAgY3RybHItPmNvbmZpZ19ob29rLmljaF9hcmcgPSBjdHJscjsNCj4NCj4NCj4NCj4g cmVnYXJkcywNCj4gS2luamFsIFBhdGVsDQo+DQo+IEZyb206IHdsb3NoQGJzZGltcC5jb208bWFp bHRvOndsb3NoQGJzZGltcC5jb20+PG1haWx0bzp3bG9zaEBic2RpbXAuY29tPG1haWx0bzp3bG9z aEBic2RpbXAuY29tPj4gW21haWx0bzp3bG9zaEBic2RpbXAuY29tPG1haWx0bzp3bG9zaEBic2Rp bXAuY29tPl0gT24gQmVoYWxmIE9mIFdhcm5lciBMb3NoDQo+IFNlbnQ6IFRodXJzZGF5LCBBdWd1 c3QgMTcsIDIwMTcgMzoxMCBQTQ0KPiBUbzogS2luamFsIFBhdGVsDQo+IENjOiBmcmVlYnNkLWRy aXZlcnNAZnJlZWJzZC5vcmc8bWFpbHRvOmZyZWVic2QtZHJpdmVyc0BmcmVlYnNkLm9yZz48bWFp bHRvOmZyZWVic2QtZHJpdmVyc0BmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1kcml2ZXJzQGZy ZWVic2Qub3JnPj4NCj4gU3ViamVjdDogUmU6IE5WTWUgZHJpdmVyIGluaXQgc2VxdWVuY2UNCj4N Cj4gVGhpcyBzb3VuZHMgcmlnaHQgdG8gbWUuLi4uICBNb3N0IEJJT1NlcyBzZWVtIHRvIGVuYWJs ZSBCTUU9MS4NCj4NCj4gV2FybmVyDQo+DQo+IE9uIFRodSwgQXVnIDE3LCAyMDE3IGF0IDI6NDUg UE0sIEtpbmphbCBQYXRlbCA8S2luamFsLlBhdGVsQHRhZWMudG9zaGliYS5jb208bWFpbHRvOktp bmphbC5QYXRlbEB0YWVjLnRvc2hpYmEuY29tPjxtYWlsdG86S2luamFsLlBhdGVsQHRhZWMudG9z aGliYS5jb208bWFpbHRvOktpbmphbC5QYXRlbEB0YWVjLnRvc2hpYmEuY29tPj4+IHdyb3RlOg0K PiBIaSwNCj4NCj4gSSBoYXZlIGEgcXVlcnkgb24gTlZNZSBkcml2ZXIgaW5pdCBzZXF1ZW5jZSBp biBGcmVlQlNEIDEwLjMoc3RhYmxlKS4NCj4NCj4gVGhlIGRyaXZlciBpbml0IHNlcXVlbmNlIGlz LA0KPg0KPiAxKSAgICAgIEVuYWJsZSBjb250cm9sbGVyIChDQy5FTj0xKQ0KPg0KPiAyKSAgICAg IFdhaXQgZm9yIGNvbnRyb2xsZXIgcmVhZHkgKENTVFMuUkRZPTEpDQo+DQo+IDMpICAgICAgU2V0 IFBDSSBidXMgbWFzdGVyIGVuYWJsZSAoQk1FPTEpDQo+DQo+IEFzIHBlciBOVk1lIHNwZWMsIHdo ZW4gTlZNZSBjb250cm9sbGVyIGJlY29tZXMgcmVhZHkgaXQgaGFzIHRvIHByb2Nlc3MgY29tbWFu ZC4NCj4NCj4gIkVuYWJsZSAoRU4pOiBXaGVuIHNldCB0byAnMScsIHRoZW4gdGhlIGNvbnRyb2xs ZXIgc2hhbGwgcHJvY2VzcyBjb21tYW5kcyBiYXNlZCBvbiBTdWJtaXNzaW9uIFF1ZXVlIFRhaWwg ZG9vcmJlbGwgd3JpdGVzIg0KPg0KPiBBbmQgcGVyIFBDSSBFeHByZXNzIHNwZWMgd2hlbiBCTUUg aXMgbm90IHNldCwgdGhlIFBDSSBFeHByZXNzIEZ1bmN0aW9uIGlzIG5vdCBhbGxvd2VkIHRvIGlz c3VlIGFueSBNZW1vcnkgb3IgSS9PIHJlcXVlc3RzLg0KPiAiQnVzIE1hc3RlciBFbmFibGUgLSBD b250cm9scyB0aGUgYWJpbGl0eSBvZiBhIFBDSSBFeHByZXNzIEVuZHBvaW50IHRvIGlzc3VlIE1l bW9yeTk1IGFuZCBJL08gUmVhZC9Xcml0ZSBSZXF1ZXN0cywgYW5kDQo+IHRoZSBhYmlsaXR5IG9m IGEgUm9vdCBvciBTd2l0Y2ggUG9ydCB0byBmb3J3YXJkIE1lbW9yeSBhbmQgSS9PIFJlYWQvV3Jp dGUgUmVxdWVzdHMgaW4gdGhlIFVwc3RyZWFtIGRpcmVjdGlvbiINCj4NCj4gRW5hYmxpbmcgY29u dHJvbGxlciBiZWZvcmUgc2V0dGluZyBCTUU9MSBpcyB2aW9sYXRpb24gb2Ygc3BlYywgYXMgY29u dHJvbGxlciBoYXMgdG8gYWNjZXB0IGNvbW1hbmRzIGJ1dCBCTUUgaXMgcHJlcmVxdWlzaXRlIGZv ciB0aGF0Lg0KPg0KPiBUaGUgTGludXggZGV2aWNlIGRyaXZlciBpbml0IHNlcXVlbmNlIGlzLA0K Pg0KPiAxKSAgICAgU2V0IFBDSSBidXMgbWFzdGVyIGVuYWJsZSAoQk1FPTEpDQo+DQo+IDIpICAg ICBFbmFibGUgQ29udHJvbGxlciAoQ0MuRU49MSkNCj4NCj4gMykgICAgIFdhaXQgZm9yIGNvbnRy b2xsZXIgcmVhZHkgKENTVFMuUkRZPTEpDQo+DQo+IFRoZSBGcmVlQlNEIE5WTWUgZHJpdmVyIHNl cXVlbmNlIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHNldCBCTUU9MSBiZWZvcmUgYXR0ZW1wdGluZyB0 byBlbmFibGUgY29udHJvbGxlci4NCj4NCj4NCj4gUmVnYXJkcywNCj4gS2luamFsIFBhdGVsDQo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IGZyZWVi c2QtZHJpdmVyc0BmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1kcml2ZXJzQGZyZWVic2Qub3Jn PjxtYWlsdG86ZnJlZWJzZC1kcml2ZXJzQGZyZWVic2Qub3JnPG1haWx0bzpmcmVlYnNkLWRyaXZl cnNAZnJlZWJzZC5vcmc+PiBtYWlsaW5nIGxpc3QNCj4gaHR0cHM6Ly9saXN0cy5mcmVlYnNkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVic2QtZHJpdmVycw0KPiBUbyB1bnN1YnNjcmliZSwgc2Vu ZCBhbnkgbWFpbCB0byAiZnJlZWJzZC1kcml2ZXJzLXVuc3Vic2NyaWJlQGZyZWVic2Qub3JnPG1h aWx0bzpmcmVlYnNkLWRyaXZlcnMtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmc+PG1haWx0bzpmcmVl YnNkLWRyaXZlcnMtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmc8bWFpbHRvOmZyZWVic2QtZHJpdmVy cy11bnN1YnNjcmliZUBmcmVlYnNkLm9yZz4+Ig0KPg0KPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBmcmVlYnNkLWRyaXZlcnNAZnJlZWJzZC5vcmc8 bWFpbHRvOmZyZWVic2QtZHJpdmVyc0BmcmVlYnNkLm9yZz4gbWFpbGluZyBsaXN0DQo+IGh0dHBz Oi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlYnNkLWRyaXZlcnMNCj4g VG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8gImZyZWVic2QtZHJpdmVycy11bnN1YnNj cmliZUBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1kcml2ZXJzLXVuc3Vic2NyaWJlQGZyZWVi c2Qub3JnPiINCg0KDQo=