From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jolly Shah Subject: RE: [PATCH v3 2/4] drivers: firmware: xilinx: Add ZynqMP firmware driver Date: Wed, 31 Jan 2018 19:46:20 +0000 Message-ID: References: <1516836074-4149-1-git-send-email-jollys@xilinx.com> <1516836074-4149-3-git-send-email-jollys@xilinx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Shubhrajyoti Datta Cc: "ard.biesheuvel@linaro.org" , "mingo@kernel.org" , Greg Kroah-Hartman , "matt@codeblueprint.co.uk" , "sudeep.holla@arm.com" , "hkallweit1@gmail.com" , "keescook@chromium.org" , "dmitry.torokhov@gmail.com" , Michal Simek , Rob Herring , Mark Rutland , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , Rajan Vaja List-Id: devicetree@vger.kernel.org SGkgU2h1YmhyYWp5b3RpLA0KVGhhbmtzIGZvciB0aGUgcmV2aWV3LA0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFNodWJocmFqeW90aSBEYXR0YSBbbWFpbHRvOnNodWJo cmFqeW90aS5kYXR0YUBnbWFpbC5jb21dDQo+IFNlbnQ6IE1vbmRheSwgSmFudWFyeSAyOSwgMjAx OCA5OjA2IFBNDQo+IFRvOiBKb2xseSBTaGFoIDxKT0xMWVNAeGlsaW54LmNvbT4NCj4gQ2M6IGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc7IG1pbmdvQGtlcm5lbC5vcmc7IEdyZWcgS3JvYWgtSGFy dG1hbg0KPiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+OyBtYXR0QGNvZGVibHVlcHJpbnQu Y28udWs7DQo+IHN1ZGVlcC5ob2xsYUBhcm0uY29tOyBoa2FsbHdlaXQxQGdtYWlsLmNvbTsga2Vl c2Nvb2tAY2hyb21pdW0ub3JnOw0KPiBkbWl0cnkudG9yb2tob3ZAZ21haWwuY29tOyBNaWNoYWwg U2ltZWsgPG1pY2hhbC5zaW1la0B4aWxpbnguY29tPjsgUm9iDQo+IEhlcnJpbmcgPHJvYmgrZHRA a2VybmVsLm9yZz47IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+OyBsaW51eC0N Cj4gYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnOw0KPiBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZzsgSm9sbHkgU2hhaCA8Sk9MTFlT QHhpbGlueC5jb20+OyBSYWphbiBWYWphDQo+IDxSQUpBTlZAeGlsaW54LmNvbT4NCj4gU3ViamVj dDogUmU6IFtQQVRDSCB2MyAyLzRdIGRyaXZlcnM6IGZpcm13YXJlOiB4aWxpbng6IEFkZCBaeW5x TVAgZmlybXdhcmUNCj4gZHJpdmVyDQo+IA0KPiBIaSwNCj4gDQo+IFRoYW5rcyBmb3IgdGhlIHBh dGNoLg0KPiBBIGZldyBxdWVzdGlvbnMgYmVsb3cuDQo+IA0KPiANCj4gT24gVGh1LCBKYW4gMjUs IDIwMTggYXQgNDo1MSBBTSwgSm9sbHkgU2hhaCA8am9sbHkuc2hhaEB4aWxpbnguY29tPiB3cm90 ZToNCj4gPiBUaGlzIHBhdGNoIGlzIGFkZGluZyBjb21tdW5pY2F0aW9uIGxheWVyIHdpdGggZmly bXdhcmUuDQo+ID4gRmlybXdhcmUgZHJpdmVyIHByb3ZpZGVzIGFuIGludGVyZmFjZSB0byBmaXJt d2FyZSBBUElzLg0KPiA+IEludGVyZmFjZSBBUElzIGNhbiBiZSB1c2VkIGJ5IGFueSBkcml2ZXIg dG8gY29tbXVuaWNhdGUgdG8NCj4gPiBQTVVGVyhQbGF0Zm9ybSBNYW5hZ2VtZW50IFVuaXQpLiBB bGwgcmVxdWVzdHMgZ28gdGhyb3VnaCBBVEYuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKb2xs eSBTaGFoIDxqb2xseXNAeGlsaW54LmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBSYWphbiBWYWph IDxyYWphbnZAeGlsaW54LmNvbT4NCj4gPiAtLS0NCj4gPHNuaXA+DQo+ID4NCj4gDQo+ID4gKy8q Kg0KPiA+ICsgKiB6eW5xbXBfcG1fY2xvY2tfZW5hYmxlIC0gRW5hYmxlIHRoZSBjbG9jayBmb3Ig Z2l2ZW4gaWQNCj4gPiArICogQGNsb2NrX2lkOiAgSUQgb2YgdGhlIGNsb2NrIHRvIGJlIGVuYWJs ZWQNCj4gDQo+IERvZXMgaXQgZW5hYmxlIGFsbCB0aGUgcGFyZW50cyBhbHNvIGlmIHRoZXkgYXJl IGRpc2FibGVkPw0KQ3VycmVudCBzb2x1dGlvbiBlbmFibGVzIHNwZWNpZmllZCBjbG9jayBvbmx5 LiBXZSBhcmUgd29ya2luZyBvbiBlbmhhbmNpbmcgdGhlIHNvbHV0aW9uIHRvIHRha2UgY2FyZSBv ZiBvdGhlciBkZXBlbmRlbnQgY2xvY2tzLg0KDQo+IA0KPiA+ICsgKg0KPiA+ICsgKiBUaGlzIGZ1 bmN0aW9uIGlzIHVzZWQgYnkgbWFzdGVyIHRvIGVuYWJsZSB0aGUgY2xvY2sNCj4gPiArICogaW5j bHVkaW5nIHBlcmlwaGVyYWxzIGFuZCBQTEwgY2xvY2tzLg0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1 cm46ICAgICBSZXR1cm5zIHN0YXR1cywgZWl0aGVyIHN1Y2Nlc3Mgb3IgZXJyb3IrcmVhc29uLg0K PiA+ICsgKi8NCj4gPiArc3RhdGljIGludCB6eW5xbXBfcG1fY2xvY2tfZW5hYmxlKHUzMiBjbG9j a19pZCkgew0KPiA+ICsgICAgICAgcmV0dXJuIGludm9rZV9wbV9mbihQTV9DTE9DS19FTkFCTEUs IGNsb2NrX2lkLCAwLCAwLCAwLCBOVUxMKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4g KyAqIHp5bnFtcF9wbV9jbG9ja19kaXNhYmxlIC0gRGlzYWJsZSB0aGUgY2xvY2sgZm9yIGdpdmVu IGlkDQo+ID4gKyAqIEBjbG9ja19pZDogIElEIG9mIHRoZSBjbG9jayB0byBiZSBkaXNhYmxlDQo+ ID4gKyAqDQo+ID4gKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSBtYXN0ZXIgdG8gZGlzYWJs ZSB0aGUgY2xvY2sNCj4gPiArICogaW5jbHVkaW5nIHBlcmlwaGVyYWxzIGFuZCBQTEwgY2xvY2tz Lg0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1cm46ICAgICBSZXR1cm5zIHN0YXR1cywgZWl0aGVyIHN1 Y2Nlc3Mgb3IgZXJyb3IrcmVhc29uLg0KPiA+ICsgKi8NCj4gPiArc3RhdGljIGludCB6eW5xbXBf cG1fY2xvY2tfZGlzYWJsZSh1MzIgY2xvY2tfaWQpIHsNCj4gPiArICAgICAgIHJldHVybiBpbnZv a2VfcG1fZm4oUE1fQ0xPQ0tfRElTQUJMRSwgY2xvY2tfaWQsIDAsIDAsIDAsDQo+ID4gK05VTEwp OyB9DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogenlucW1wX3BtX2Nsb2NrX2dldHN0YXRlIC0g R2V0IHRoZSBjbG9jayBzdGF0ZSBmb3IgZ2l2ZW4gaWQNCj4gPiArICogQGNsb2NrX2lkOiAgSUQg b2YgdGhlIGNsb2NrIHRvIGJlIHF1ZXJpZWQNCj4gPiArICogQHN0YXRlOiAgICAgMS8wIChFbmFi bGVkL0Rpc2FibGVkKQ0KPiA+ICsgKg0KPiA+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYnkg bWFzdGVyIHRvIGdldCB0aGUgc3RhdGUgb2YgY2xvY2sNCj4gPiArICogaW5jbHVkaW5nIHBlcmlw aGVyYWxzIGFuZCBQTEwgY2xvY2tzLg0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1cm46ICAgICBSZXR1 cm5zIHN0YXR1cywgZWl0aGVyIHN1Y2Nlc3Mgb3IgZXJyb3IrcmVhc29uLg0KPiA+ICsgKi8NCj4g PiArc3RhdGljIGludCB6eW5xbXBfcG1fY2xvY2tfZ2V0c3RhdGUodTMyIGNsb2NrX2lkLCB1MzIg KnN0YXRlKSB7DQo+ID4gKyAgICAgICB1MzIgcmV0X3BheWxvYWRbUEFZTE9BRF9BUkdfQ05UXTsN Cj4gPiArICAgICAgIGludCByZXQ7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0ID0gaW52b2tlX3Bt X2ZuKFBNX0NMT0NLX0dFVFNUQVRFLCBjbG9ja19pZCwgMCwgMCwgMCwNCj4gcmV0X3BheWxvYWQp Ow0KPiA+ICsgICAgICAgKnN0YXRlID0gcmV0X3BheWxvYWRbMV07DQo+ID4gKw0KPiA+ICsgICAg ICAgcmV0dXJuIHJldDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIHp5bnFtcF9w bV9jbG9ja19zZXRkaXZpZGVyIC0gU2V0IHRoZSBjbG9jayBkaXZpZGVyIGZvciBnaXZlbiBpZA0K PiA+ICsgKiBAY2xvY2tfaWQ6ICBJRCBvZiB0aGUgY2xvY2sNCj4gPiArICogQGRpdl90eXBlOiAg VFlQRV9ESVYxOiBkaXYxDQo+ID4gKyAqICAgICAgICAgICAgIFRZUEVfRElWMjogZGl2Mg0KPiBk aXYgdHlwZSBkaWRudCBzZWUgaW4gdGhlIHNpZ25hdHVyZS4NCg0KDQpXaWxsIGJlIGZpeGVkIGlu IG5leHQgdmVyc2lvbi4NCg0KPiANCj4gDQo+IA0KPiA+ICsgKiBAZGl2aWRlcjogICBkaXZpZGVy IHZhbHVlLg0KPiA+ICsgKg0KPiA+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYnkgbWFzdGVy IHRvIHNldCBkaXZpZGVyIGZvciBhbnkgY2xvY2sNCj4gPiArICogdG8gYWNoaWV2ZSBkZXNpcmVk IHJhdGUuDQo+ID4gKyAqDQo+ID4gKyAqIFJldHVybjogICAgIFJldHVybnMgc3RhdHVzLCBlaXRo ZXIgc3VjY2VzcyBvciBlcnJvcityZWFzb24uDQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgaW50IHp5 bnFtcF9wbV9jbG9ja19zZXRkaXZpZGVyKHUzMiBjbG9ja19pZCwgdTMyIGRpdmlkZXIpIHsNCj4g PiArICAgICAgIHJldHVybiBpbnZva2VfcG1fZm4oUE1fQ0xPQ0tfU0VURElWSURFUiwgY2xvY2tf aWQsIGRpdmlkZXIsIDAsDQo+ID4gKzAsIE5VTEwpOyB9DQo+ID4gKw0KPiA+ICsvKioNCj4gPiAr ICogenlucW1wX3BtX2Nsb2NrX2dldGRpdmlkZXIgLSBHZXQgdGhlIGNsb2NrIGRpdmlkZXIgZm9y IGdpdmVuIGlkDQo+ID4gKyAqIEBjbG9ja19pZDogIElEIG9mIHRoZSBjbG9jaw0KPiA+ICsgKiBA ZGl2X3R5cGU6ICBUWVBFX0RJVjE6IGRpdjENCj4gPiArICogICAgICAgICAgICAgVFlQRV9ESVYy OiBkaXYyDQo+IGRpZG50IHNlZSB0aGlzICBiZWxvdy4NCldpbGwgYmUgZml4ZWQgaW4gbmV4dCB2 ZXJzaW9uLg0KDQoNCj4gDQo+ID4gKyAqIEBkaXZpZGVyOiAgIGRpdmlkZXIgdmFsdWUuDQo+ID4g KyAqDQo+ID4gKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSBtYXN0ZXIgdG8gZ2V0IGRpdmlk ZXIgdmFsdWVzDQo+ID4gKyAqIGZvciBhbnkgY2xvY2suDQo+ID4gKyAqDQo+ID4gKyAqIFJldHVy bjogICAgIFJldHVybnMgc3RhdHVzLCBlaXRoZXIgc3VjY2VzcyBvciBlcnJvcityZWFzb24uDQo+ ID4gKyAqLw0KPiA+ICtzdGF0aWMgaW50IHp5bnFtcF9wbV9jbG9ja19nZXRkaXZpZGVyKHUzMiBj bG9ja19pZCwgdTMyICpkaXZpZGVyKSB7DQo+ID4gKyAgICAgICB1MzIgcmV0X3BheWxvYWRbUEFZ TE9BRF9BUkdfQ05UXTsNCj4gPiArICAgICAgIGludCByZXQ7DQo+ID4gKw0KPiA+ICsgICAgICAg cmV0ID0gaW52b2tlX3BtX2ZuKFBNX0NMT0NLX0dFVERJVklERVIsIGNsb2NrX2lkLCAwLCAwLCAw LA0KPiByZXRfcGF5bG9hZCk7DQo+ID4gKyAgICAgICAqZGl2aWRlciA9IHJldF9wYXlsb2FkWzFd Ow0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiByZXQ7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8q Kg0KPiA+ICsgKiB6eW5xbXBfcG1fY2xvY2tfc2V0cmF0ZSAtIFNldCB0aGUgY2xvY2sgcmF0ZSBm b3IgZ2l2ZW4gaWQNCj4gPiArICogQGNsb2NrX2lkOiAgSUQgb2YgdGhlIGNsb2NrDQo+ID4gKyAq IEByYXRlOiAgICAgIHJhdGUgdmFsdWUgaW4gaHoNCj4gPiArICoNCj4gPiArICogVGhpcyBmdW5j dGlvbiBpcyB1c2VkIGJ5IG1hc3RlciB0byBzZXQgcmF0ZSBmb3IgYW55IGNsb2NrLg0KPiA+ICsg Kg0KPiA+ICsgKiBSZXR1cm46ICAgICBSZXR1cm5zIHN0YXR1cywgZWl0aGVyIHN1Y2Nlc3Mgb3Ig ZXJyb3IrcmVhc29uLg0KPiA+ICsgKi8NCj4gU28gdGhpcyBjYW4gc2V0IHJhdGUgb25seSA0RyBt YXggPw0KTmVlZCB0byBmaXggdGhpcyB0byBoYXZlIHU2NCByYXRlLg0KDQo+IA0KPiA+ICtzdGF0 aWMgaW50IHp5bnFtcF9wbV9jbG9ja19zZXRyYXRlKHUzMiBjbG9ja19pZCwgdTMyIHJhdGUpIHsN Cj4gPiArICAgICAgIHJldHVybiBpbnZva2VfcG1fZm4oUE1fQ0xPQ0tfU0VUUkFURSwgY2xvY2tf aWQsIHJhdGUsIDAsIDAsDQo+ID4gK05VTEwpOyB9DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICog enlucW1wX3BtX2Nsb2NrX2dldHJhdGUgLSBHZXQgdGhlIGNsb2NrIHJhdGUgZm9yIGdpdmVuIGlk DQo+ID4gKyAqIEBjbG9ja19pZDogIElEIG9mIHRoZSBjbG9jaw0KPiA+ICsgKiBAcmF0ZTogICAg ICByYXRlIHZhbHVlIGluIGh6DQo+ID4gKyAqDQo+ID4gKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNl ZCBieSBtYXN0ZXIgdG8gZ2V0IHJhdGUNCj4gPiArICogZm9yIGFueSBjbG9jay4NCj4gPiArICoN Cj4gPiArICogUmV0dXJuOiAgICAgUmV0dXJucyBzdGF0dXMsIGVpdGhlciBzdWNjZXNzIG9yIGVy cm9yK3JlYXNvbi4NCj4gPiArICovDQo+IFNhbWUgcXVlc3Rpb24gaGVyZT8NCk5lZWQgdG8gZml4 IHRoaXMgdG8gaGF2ZSB1NjQgcmF0ZS4NCg0KPiANCj4gPiArc3RhdGljIGludCB6eW5xbXBfcG1f Y2xvY2tfZ2V0cmF0ZSh1MzIgY2xvY2tfaWQsIHUzMiAqcmF0ZSkgew0KPiA+ICsgICAgICAgdTMy IHJldF9wYXlsb2FkW1BBWUxPQURfQVJHX0NOVF07DQo+ID4gKyAgICAgICBpbnQgcmV0Ow0KPiA+ ICsNCj4gPiArICAgICAgIHJldCA9IGludm9rZV9wbV9mbihQTV9DTE9DS19HRVRSQVRFLCBjbG9j a19pZCwgMCwgMCwgMCwgcmV0X3BheWxvYWQpOw0KPiA+ICsgICAgICAgKnJhdGUgPSByZXRfcGF5 bG9hZFsxXTsNCj4gPiArDQo+ID4gKyAgICAgICByZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0K PiBBbHNvICB3aGF0IGlzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gc2V0IHJhdGUgYW5kIHNldCBk aXZpZGVyPw0KU2V0IHJhdGUgdGFrZXMgcmF0ZSBhcyBpbnB1dCBhbmQgZGl2aWRlcnMgYXJlIGNh bGN1bGF0ZWQgYnkgRlcuIA0KU2V0IGRpdmlkZXIgdGFrZXMgZGl2aWRlcnMgYXMgaW5wdXQgYW5k IHNldHMgdGhlbSBkaXJlY3RseS4NCldpdGggbGludXgsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVz ZSBzZXQgZGl2aWRlciBvbmx5LiBTZXQgcmF0ZSBBUEkgaXMgbWFpbmx5IGZvciBiYXJlbWV0YWwg Y2FzZS4NCg0KDQpUaGFua3MsDQpKb2xseSBTaGFoDQo=