From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sowjanya Komatineni Subject: RE: [PATCH V8 3/5] i2c: tegra: Add DMA Support Date: Fri, 1 Feb 2019 04:19:46 +0000 Message-ID: References: <1548915387-28826-1-git-send-email-skomatineni@nvidia.com> <1548915387-28826-3-git-send-email-skomatineni@nvidia.com> <20190131124423.GG23438@ulmo> <20190201035249.5b1cdfe2@dimatab> <20190201061414.05443ea1@dimatab> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190201061414.05443ea1@dimatab> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Dmitry Osipenko Cc: Thierry Reding , Jonathan Hunter , Mantravadi Karthik , Shardar Mohammed , Timo Alho , "linux-tegra@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-i2c@vger.kernel.org" List-Id: linux-tegra@vger.kernel.org PiA+ID4gPiA+ICsJaWYgKGRtYSkgew0KPiA+ID4gPiA+ICsJCWlmIChpMmNfZGV2LT5tc2dfcmVh ZCkgew0KPiA+ID4gPiA+ICsJCQljaGFuID0gaTJjX2Rldi0+cnhfZG1hX2NoYW47DQo+ID4gPiA+ ID4gKwkJCXRlZ3JhX2kyY19jb25maWdfZmlmb190cmlnKGkyY19kZXYsDQo+ID4gPiA+ID4geGZl cl9zaXplLA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiBEQVRBX0RNQV9ESVJfUlgpOw0KPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiBkbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShpMmNfZGV2LT5kZXYs ICsgaTJjX2Rldi0+ZG1hX3BoeXMsDQo+ID4gPiA+ID4gKwkJCQkJCSAgIHhmZXJfc2l6ZSwNCj4g PiA+ID4gPiArDQo+ID4gPiA+ID4gRE1BX0ZST01fREVWSUNFKTsNCj4gPiA+ID4gDQo+ID4gPiA+ IERvIHdlIHJlYWxseSBuZWVkIHRoaXM/IFdlJ3JlIG5vdCBhY3R1YWxseSBwYXNzaW5nIHRoZSBk ZXZpY2UgYW55IA0KPiA+ID4gPiBkYXRhLCBzbyBubyBjYWNoZXMgdG8gZmx1c2ggaGVyZS4gSSB3 ZSdyZSBjYXV0aW91cyBhYm91dCBmbHVzaGluZyANCj4gPiA+ID4gY2FjaGVzIHdoZW4gd2UgZG8g d3JpdGUgdG8gdGhlIGJ1ZmZlciAoYW5kIEkgdGhpbmsgd2UgZG8gdGhhdCANCj4gPiA+ID4gcHJv cGVybHkgYWxyZWFkeSksIHRoZW4gdGhlcmUgc2hvdWxkIGJlIG5vIG5lZWQgdG8gZG8gaXQgaGVy ZSANCj4gPiA+ID4gYWdhaW4uDQo+ID4gPg0KPiA+ID4gSUlVQywgRE1BIEFQSSBoYXMgYSBjb25j ZXB0IG9mIGJ1ZmZlciBoYW5kaW5nIHdoaWNoIHRlbGxzIHRvIHVzZQ0KPiA+IGRtYV9zeW5jX3Np bmdsZV9mb3JfZGV2aWNlKCkgYmVmb3JlIGlzc3VpbmcgaGFyZHdhcmUgam9iIHRoYXQgdG91Y2hl cyANCj4gPiB0aGUgYnVmZmVyIGFuZCB0byB1c2UgZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoKSBh ZnRlciBoYXJkd2FyZSBkb25lIA0KPiA+IHRoZSBleGVjdXRpb24uIEluIGZhY3QgdGhlIENQVSBj YWNoZXMgYXJlIGdldHRpbmcgZmx1c2hlZCBvciANCj4gPiBpbnZhbGlkYXRlZCBhcyBhcHByb3By aWF0ZSBpbiBhIHJlc3VsdC4NCj4gPiA+DQo+ID4gPiBkbWFfc3luY19zaW5nbGVfZm9yX2Rldmlj ZShETUFfRlJPTV9ERVZJQ0UpIGludmFsaWRhdGVzIGJ1ZmZlciBpbiANCj4gPiA+IHRoZSBDUFUg Y2FjaGUsIHByb2JhYmx5IHRvIGF2b2lkIENQVSBldmljdGluZyBkYXRhIGZyb20gY2FjaGUgdG8g DQo+ID4gPiBEUkFNIHdoaWxlIGhhcmR3YXJlIHdyaXRlcyB0byB0aGUgYnVmZmVyLiBIZW5jZSB0 aGlzIGh1bmsgaXMgDQo+ID4gPiBjb3JyZWN0Lg0KPiA+ID4gPiA+ICsJCQllcnIgPSB0ZWdyYV9p MmNfZG1hX3N1Ym1pdChpMmNfZGV2LA0KPiA+ID4gPiA+IHhmZXJfc2l6ZSk7DQo+ID4gPiA+ID4g KwkJCWlmIChlcnIgPCAwKSB7DQo+ID4gPiA+ID4gKwkJCQlkZXZfZXJyKGkyY19kZXYtPmRldiwN Cj4gPiA+ID4gPiArCQkJCQkic3RhcnRpbmcgUlggRE1BDQo+ID4gPiA+ID4gZmFpbGVkLCBlcnIg JWRcbiIsDQo+ID4gPiA+ID4gKwkJCQkJZXJyKTsNCj4gPiA+ID4gPiArCQkJCWdvdG8gdW5sb2Nr Ow0KPiA+ID4gPiA+ICsJCQl9DQo+ID4gPiA+ID4gKwkJfSBlbHNlIHsNCj4gPiA+ID4gPiArCQkJ Y2hhbiA9IGkyY19kZXYtPnR4X2RtYV9jaGFuOw0KPiA+ID4gPiA+ICsJCQl0ZWdyYV9pMmNfY29u ZmlnX2ZpZm9fdHJpZyhpMmNfZGV2LA0KPiA+ID4gPiA+IHhmZXJfc2l6ZSwNCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gREFUQV9ETUFfRElSX1RYKTsNCj4gPiA+ID4gPiArCQkJZG1hX3N5bmNfc2lu Z2xlX2Zvcl9jcHUoaTJjX2Rldi0+ZGV2LA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiBpMmNfZGV2 LT5kbWFfcGh5cywNCj4gPiA+ID4gPiArCQkJCQkJeGZlcl9zaXplLA0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiBETUFfVE9fREVWSUNFKTsNCj4gPiA+ID4gDQo+ID4gPiA+IFRoaXMsIG9uIHRoZSBv dGhlciBoYW5kIHNlZW1zIGNvcnJlY3QgYmVjYXVzZSB3ZSBuZWVkIHRvIA0KPiA+ID4gPiBpbnZh bGlkYXRlIHRoZSBjYWNoZXMgZm9yIHRoaXMgYnVmZmVyIHRvIG1ha2Ugc3VyZSB0aGUgZGF0YSB0 aGF0IA0KPiA+ID4gPiB3ZSBwdXQgdGhlcmUgZG9lc24ndCBnZXQgb3ZlcndyaXR0ZW4uDQo+ID4g Pg0KPiA+ID4gQXMgSSBzdGF0ZWQgYmVmb3JlIGluIGEgY29tbWVudCB0byB2NiwgdGhpcyBwYXJ0 aWN1bGFyIGNhc2Ugb2YNCj4gPiA+IGRtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KCkgdXNhZ2UgaXMg aW5jb3JyZWN0IGJlY2F1c2UgQ1BVIHNob3VsZCB0YWtlIA0KPiA+ID4gb3duZXJzaGlwIG9mIHRo ZSBidWZmZXIgYWZ0ZXIgY29tcGxldGlvbiBvZiBoYXJkd2F0ZSBqb2IuIEJ1dCBpbiANCj4gPiA+ IGZhY3QgZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoRE1BX1RPX0RFVklDRSkgaXMgYSBOTy1PUCBi ZWNhdXNlIENQVSANCj4gPiA+IGRvZXNuJ3QgbmVlZCB0byBmbHVzaCBvciBpbnZhbGlkYXRlIGFu eXRoaW5nIHRvIHRha2Ugb3duZXJzaGlwIG9mIA0KPiA+ID4gdGhlIGJ1ZmZlciBpZiBoYXJkd2Fy ZSBkaWQgYSByZWFkLW9ubHkgYWNjZXNzLg0KPiA+ID4gPiAgIA0KPiA+ID4gPiA+ICsJaWYgKCFp MmNfZGV2LT5tc2dfcmVhZCkgew0KPiA+ID4gPiA+ICsJCWlmIChkbWEpIHsNCj4gPiA+ID4gPiAr CQkJbWVtY3B5KGJ1ZmZlciwgbXNnLT5idWYsIG1zZy0+bGVuKTsNCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4gZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoaTJjX2Rldi0+ZGV2LCArIGkyY19kZXYt PmRtYV9waHlzLA0KPiA+ID4gPiA+ICsJCQkJCQkgICB4ZmVyX3NpemUsDQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+IERNQV9UT19ERVZJQ0UpOw0KPiA+ID4gPiANCj4gPiA+ID4gQWdhaW4sIGhlcmUg d2UgcHJvcGVybHkgZmx1c2ggdGhlIGNhY2hlcyB0byBtYWtlIHN1cmUgdGhlIGRhdGEgDQo+ID4g PiA+IHRoYXQgd2UndmUgd3JpdHRlbiB0byB0aGUgRE1BIGJ1ZmZlciBpcyB2aXNpYmxlIHRvIHRo ZSBETUEgZW5naW5lLg0KPiA+ID4gPiAgIA0KPiA+ID4NCj4gPiA+ICsxIHRoaXMgaXMgY29ycmVj dA0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJCWlmIChp MmNfZGV2LT5tc2dfcmVhZCkgew0KPiA+ID4gPiA+ICsJCQlpZiAobGlrZWx5KGkyY19kZXYtPm1z Z19lcnIgPT0NCj4gPiA+ID4gPiBJMkNfRVJSX05PTkUpKSB7DQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+IGRtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KGkyY19kZXYtPmRldiwNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gaTJjX2Rldi0+ZG1hX3BoeXMsDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+IHhmZXJf c2l6ZSwgKw0KPiA+ID4gPiA+IERNQV9GUk9NX0RFVklDRSk7DQo+ID4gPiA+IA0KPiA+ID4gPiBI ZXJlIHdlIGludmFsaWRhdGUgdGhlIGNhY2hlcyB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgZ2V0IHN0 YWxlIGRhdGEgDQo+ID4gPiA+IHRoYXQgbWF5IGJlIGluIHRoZSBjYWNoZXMgZm9yIGRhdGEgdGhh dCB3ZSdyZSBjb3B5aW5nIG91dCBvZiB0aGUgDQo+ID4gPiA+IERNQSBidWZmZXIuIEkgdGhpbmsg dGhhdCdzIGFib3V0IGFsbCB0aGUgY2FjaGUgbWFpbnRlbmFuY2UgdGhhdCB3ZSANCj4gPiA+ID4g cmVhbCBuZWVkLg0KPiA+ID4NCj4gPiA+IENvcnJlY3QuDQo+ID4gPg0KPiA+ID4gQW5kIHRlY2hu aWNhbGx5IGhlcmUgc2hvdWxkIGJlDQo+ID4gPiBkbWFfc3luY19zaW5nbGVfZm9yX2NwdShETUFf VE9fREVWSUNFKSBmb3IgdGhlIFRYLiBCdXQgYWdhaW4sIGl0J3MgYSANCj4gPiA+IE5PLU9QLg0K PiA+IA0KPiA+IElzIG15IGJlbG93IHVuZGVyc3RhbmRpbmcgY29ycmVjdD8gQ2FuIHlvdSBwbGVh c2UgY29uZmlybT8NCj4gPiANCj4gPiBEdXJpbmcgVHJhbnNtaXQgdG8gZGV2aWNlOg0KPiA+IC0g QmVmb3JlIHdyaXRpbmcgbXNnIGRhdGEgaW50byBkbWEgYnVmIGJ5IENQVSwgZ2l2aW5nIERNQSBv d25lcnNoaXAgdG8gDQo+ID4gQ1BVIGRtYV9zeW5jX3NpbmdsZV9mb3JfY3B1IHdpdGggZGlyIERN QV9UT19ERVZJQ0UNCj4gPiANCj4NCj4gSSB0cmllZCB0byB0YWtlIGEgbG9vayBhdCBpdCBhZ2Fp biBhbmQgbm93IHRoaW5raW5nIHRoYXQgeW91ciB2YXJpYW50IGlzIG1vcmUgY29ycmVjdC4gU3Rp bGwgaXQncyBhIGJpdCBkaWZmaWN1bHQgdG8ganVkZ2UgYmVjYXVzZSB0aGlzIGNhc2UgaXMgbm8t b3AuDQo+DQo+ID4gLSBBZnRlciB3cml0aW5nIHRvIGRtYSBidWYgYnkgQ1BVLCBnaXZpbmcgYmFj ayB0aGUgb3duZXJzaGlwIHRvIGRldmljZSANCj4gPiB0byBhY2Nlc3MgYnVmZmVyIHRvIHNlbmQg ZHVyaW5nIERNQSB0cmFuc21pdCANCj4gPiBkbWFfc3luY19zaW5nbGVfZm9yX2RldmljZSB3aXRo IGRpciBETUFfVE9fREVWSUNFDQo+DQo+IENvcnJlY3QuDQo+DQo+ID4gRHVyaW5nIFJlY2Vpdmlu ZyBmcm9tIERldmljZToNCj4gPiAtIGJlZm9yZSBzdWJtaXR0aW5nIFJYIERNQSB0byBnaXZlIGJ1 ZmZlciBhY2Nlc3MgdG8gRE1BZW5naW5lDQo+ID4gCWRtYV9zeW5jX3NpbmdsZV9mb3JfRGV2aWNl KERNQV9GUk9NX0RFVklDRSkNCj4NCj4gQ29ycmVjdC4NCj4NCj4gPiAtIGFmdGVyIERNQSBSWCBj b21wbGV0aW9uLCBnaXZpbmcgZG1hIG93bmVyc2hpcCB0byBDUFUgZm9yIHJlYWRpbmcgDQo+ID4g ZG1hYnVmIGRhdGEgd3JpdHRlbiBieSBETUEgZnJvbSBkZXZpY2UgZG1hX3N5bmNfc2luZ2xlX2Zv cl9jcHUgd2l0aCANCj4gPiBkaXIgRE1BX0ZST01fREVWSUNFDQo+ID4gDQo+DQo+IENvcnJlY3Qu DQoNClRoZW4gd2hhdCBJIGhhdmUgaXMgZXhhY3QgYXMgbWVudGlvbmVkIGFib3ZlLiBTbyBubyBj aGFuZ2VzIG5lZWRlZCByZWxhdGVkIHRvIGRtYV9zeW5jDQpQYXN0aW5nIGFnYWluIGhlcmUgd2l0 aCBjbGVhciBjb21tZW50IHRvIGV4cGxhaW4gb24gd2h5IEkgaGF2ZSB0aG9zZSBjb3JyZXNwb25k aW5nIGRtYV9zeW5jDQoNCiAgICAgICAgaWYgKGkyY19kZXYtPm1zZ19yZWFkKSB7DQogICAgICAg ICAgICB0ZWdyYV9pMmNfY29uZmlnX2ZpZm9fdHJpZyhpMmNfZGV2LCB4ZmVyX3NpemUsDQogICAg ICAgICAgICAgICAgICAgICAgICAgICBEQVRBX0RNQV9ESVJfUlgpOw0KICAgICAgICAgICAgLyog Rm9yIFJlYWRzOiBnaXZpbmcgZG1hIGJ1ZiBvd25lcnNoaXAgdG8gZGV2aWNlIGJlZm9yZSBzdWJt aXR0aW5nIFJYIERNQSAqLw0KICAgICAgICAgICAgZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2Uo aTJjX2Rldi0+ZGV2LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaTJjX2Rldi0+ZG1hX3Bo eXMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICB4ZmVyX3NpemUsDQogICAgICAgICAgICAg ICAgICAgICAgICAgICBETUFfRlJPTV9ERVZJQ0UpOw0KICAgICAgICAgICAgZXJyID0gdGVncmFf aTJjX2RtYV9zdWJtaXQoaTJjX2RldiwgeGZlcl9zaXplKTsNCiAgICAgICAgICAgIGlmIChlcnIg PCAwKSB7DQogICAgICAgICAgICAgICAgZGV2X2VycihpMmNfZGV2LT5kZXYsDQogICAgICAgICAg ICAgICAgICAgICJzdGFydGluZyBSWCBETUEgZmFpbGVkLCBlcnIgJWRcbiIsDQogICAgICAgICAg ICAgICAgICAgIGVycik7DQogICAgICAgICAgICAgICAgZ290byB1bmxvY2s7DQogICAgICAgICAg ICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0ZWdyYV9pMmNfY29uZmlnX2ZpZm9f dHJpZyhpMmNfZGV2LCB4ZmVyX3NpemUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBEQVRB X0RNQV9ESVJfVFgpOw0KICAgICAgICAgICAgLyogRm9yIHdyaXRlczogZ2l2aW5nIGRtYSBidWYg b3duZXJzaGlwIHRvIENQVSB0byBjb3B5IHRyYW5zbWl0IGRhdGEgdG8gRE1BIEJ1ZiAqLw0KICAg ICAgICAgICAgZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoaTJjX2Rldi0+ZGV2LA0KICAgICAgICAg ICAgICAgICAgICAgICAgaTJjX2Rldi0+ZG1hX3BoeXMsDQogICAgICAgICAgICAgICAgICAgICAg ICB4ZmVyX3NpemUsDQogICAgICAgICAgICAgICAgICAgICAgICBETUFfVE9fREVWSUNFKTsNCiAg ICAgICAgICAgIGJ1ZmZlciA9IGkyY19kZXYtPmRtYV9idWY7DQogICAgICAgIH0NCg0KDQoNCiAg ICBpZiAoIW1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkgew0KICAgICAgICBpZiAoZG1hKSB7DQogICAg ICAgICAgICBtZW1jcHkoYnVmZmVyLCBtc2ctPmJ1ZiwgbXNnLT5sZW4pOw0KICAgICAgICAgICAg LyogRm9yIHdyaXRlczogZ2l2aW5nIG93bmVyc2hpcCB0byBkZXZpY2UgYWZ0ZXIgZG9uZSB3aXRo IGNvcHlpbmcgZGF0YSB0byBETUEgQnVmICovDQogICAgICAgICAgICBkbWFfc3luY19zaW5nbGVf Zm9yX2RldmljZShpMmNfZGV2LT5kZXYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpMmNf ZGV2LT5kbWFfcGh5cywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhmZXJfc2l6ZSwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9UT19ERVZJQ0UpOw0KICAgICAgICAgICAgZXJy ID0gdGVncmFfaTJjX2RtYV9zdWJtaXQoaTJjX2RldiwgeGZlcl9zaXplKTsNCiAgICAgICAgICAg IGlmIChlcnIgPCAwKSB7DQogICAgICAgICAgICAgICAgZGV2X2VycihpMmNfZGV2LT5kZXYsDQog ICAgICAgICAgICAgICAgICAgICJzdGFydGluZyBUWCBETUEgZmFpbGVkLCBlcnIgJWRcbiIsDQog ICAgICAgICAgICAgICAgICAgIGVycik7DQogICAgICAgICAgICAgICAgZ290byB1bmxvY2s7DQog ICAgICAgICAgICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0ZWdyYV9pMmNfZmls bF90eF9maWZvKGkyY19kZXYpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGkyY19kZXYtPm1z Z19yZWFkKSB7DQogICAgICAgICAgICBpZiAobGlrZWx5KGkyY19kZXYtPm1zZ19lcnIgPT0gSTJD X0VSUl9OT05FKSkgew0KICAgICAgICAgICAgLyogRm9yIFJlYWRzOiBnaXZpbmcgb3duZXJzaGlw IHRvIENQVSBhZnRlciBSWCBETUEgY29tcGxldGlvbiB0byBhY2Nlc3MgcmVhZCBkYXRhICovDQog ICAgICAgICAgICAgICAgZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoaTJjX2Rldi0+ZGV2LA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGkyY19kZXYtPmRtYV9waHlzLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHhmZXJfc2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBE TUFfRlJPTV9ERVZJQ0UpOw0KDQogICAgICAgICAgICAgICAgbWVtY3B5KGkyY19kZXYtPm1zZ19i dWYsIGkyY19kZXYtPmRtYV9idWYsDQogICAgICAgICAgICAgICAgICAgIG1zZy0+bGVuKTsNCiAg ICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQoNCg0K