From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: Re: [PATCH v2 08/13] drm/tegra: vic: Load firmware on demand Date: Mon, 28 Jan 2019 17:12:03 +0300 Message-ID: <63a869f8-4d44-e329-4134-e8f91b85ee3c@gmail.com> References: <20190124180254.20080-1-thierry.reding@gmail.com> <20190124180254.20080-9-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg1-x543.google.com (mail-pg1-x543.google.com [IPv6:2607:f8b0:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 855366E0DB for ; Mon, 28 Jan 2019 14:12:11 +0000 (UTC) Received: by mail-pg1-x543.google.com with SMTP id n2so7271538pgm.3 for ; Mon, 28 Jan 2019 06:12:11 -0800 (PST) In-Reply-To: <20190124180254.20080-9-thierry.reding@gmail.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: dri-devel@lists.freedesktop.org MjQuMDEuMjAxOSAyMTowMiwgVGhpZXJyeSBSZWRpbmcg0L/QuNGI0LXRgjoKPiBGcm9tOiBUaGll cnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+IAo+IExvYWRpbmcgdGhlIGZpcm13YXJl IHJlcXVpcmVzIGFuIGFsbG9jYXRpb24gb2YgSU9WQSBzcGFjZSB0byBtYWtlIHN1cmUKPiB0aGF0 IHRoZSBWSUMncyBGYWxjb24gbWljcm9jb250cm9sbGVyIGNhbiByZWFkIHRoZSBmaXJtd2FyZSBp ZiBhZGRyZXNzCj4gdHJhbnNsYXRpb24gdmlhIHRoZSBTTU1VIGlzIGVuYWJsZWQuCj4gCj4gSG93 ZXZlciwgdGhlIGFsbG9jYXRpb24gY3VycmVudGx5IGhhcHBlbnMgYXQgYSB0aW1lIHdoZXJlIHRo ZSBnZW9tZXRyeQo+IG9mIGFuIElPTU1VIGRvbWFpbiBtYXkgbm90IGhhdmUgYmVlbiBpbml0aWFs aXplZCB5ZXQuIFRoaXMgaGFwcGVucyBmb3IKPiBleGFtcGxlIG9uIFRlZ3JhMTg2IGFuZCBsYXRl ciB3aGVyZSBhbiBBUk0gU01NVSBpcyB1c2VkLiBEb21haW5zIHdoaWNoCj4gYXJlIGNyZWF0ZWQg YnkgdGhlIEFSTSBTTU1VIGRyaXZlciBwb3N0cG9uZSB0aGUgZ2VvbWV0cnkgc2V0dXAgdW50aWwg YQo+IGRldmljZSBpcyBhdHRhY2hlZCB0byB0aGUgZG9tYWluLiBUaGlzIGlzIGJlY2F1c2UgSU9N TVUgZG9tYWlucyBhcmVuJ3QKPiBhdHRhY2hlZCB0byBhIHNwZWNpZmljIElPTU1VIGluc3RhbmNl IGF0IGFsbG9jYXRpb24gdGltZSBhbmQgaGVuY2UgdGhlCj4gaW5wdXQgYWRkcmVzcyBzcGFjZSwg d2hpY2ggZGVmaW5lcyB0aGUgZ2VvbWV0cnksIGlzIG5vdCBrbm93biB5ZXQuCj4gCj4gV29yayBh cm91bmQgdGhpcyBieSBwb3N0cG9uaW5nIHRoZSBmaXJtd2FyZSBsb2FkIHVudGlsIGl0IGlzIG5l ZWRlZCBhdAo+IHRoZSB0aW1lIHdoZXJlIGEgY2hhbm5lbCBpcyBvcGVuZWQgdG8gdGhlIFZJQy4g QXQgdGhpcyB0aW1lIHRoZSBzaGFyZWQKPiBJT01NVSBkb21haW4ncyBnZW9tZXRyeSBoYXMgYmVl biBwcm9wZXJseSBpbml0aWFsaXplZC4KPiAKPiBBcyBhIGJ5cHJvZHVjdCB0aGlzIGFsbG93cyB0 aGUgVGVncmEgRFJNIHRvIGJlIGNyZWF0ZWQgaW4gdGhlIGFic2VuY2UKPiBvZiBWSUMgZmlybXdh cmUsIHNpbmNlIHRoZSBWSUMgaW5pdGlhbGl6YXRpb24gbm8gbG9uZ2VyIGZhaWxzIGlmIHRoZQo+ IGZpcm13YXJlIGNhbid0IGJlIGZvdW5kLgo+IAo+IEJhc2VkIG9uIGFuIGVhcmxpZXIgcGF0Y2gg YnkgRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29tPi4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+IC0tLQo+IENoYW5nZXMgaW4g djI6Cj4gLSBhY3R1YWxseSByZXF1ZXN0IGZpcm13YXJlIG9uIGRlbWFuZAo+IAo+ICBkcml2ZXJz L2dwdS9kcm0vdGVncmEvdmljLmMgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3ZpYy5jIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL3ZpYy5jCj4gaW5kZXggZDQ3OTgzZGViMWNmLi45Y2IxMGQxZTkyM2Eg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3ZpYy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL3ZpYy5jCj4gQEAgLTE4MSwxMyArMTgxLDYgQEAgc3RhdGljIGludCB2 aWNfaW5pdChzdHJ1Y3QgaG9zdDF4X2NsaWVudCAqY2xpZW50KQo+ICAJCXZpYy0+ZG9tYWluID0g dGVncmEtPmRvbWFpbjsKPiAgCX0KPiAgCj4gLQlpZiAoIXZpYy0+ZmFsY29uLmRhdGEpIHsKPiAt CQl2aWMtPmZhbGNvbi5kYXRhID0gdGVncmE7Cj4gLQkJZXJyID0gZmFsY29uX2xvYWRfZmlybXdh cmUoJnZpYy0+ZmFsY29uKTsKPiAtCQlpZiAoZXJyIDwgMCkKPiAtCQkJZ290byBkZXRhY2g7Cj4g LQl9Cj4gLQo+ICAJdmljLT5jaGFubmVsID0gaG9zdDF4X2NoYW5uZWxfcmVxdWVzdChjbGllbnQt PmRldik7Cj4gIAlpZiAoIXZpYy0+Y2hhbm5lbCkgewo+ICAJCWVyciA9IC1FTk9NRU07Cj4gQEAg LTI0Niw2ICsyMzksMzAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBob3N0MXhfY2xpZW50X29wcyB2 aWNfY2xpZW50X29wcyA9IHsKPiAgCS5leGl0ID0gdmljX2V4aXQsCj4gIH07Cj4gIAo+ICtzdGF0 aWMgaW50IHZpY19sb2FkX2Zpcm13YXJlKHN0cnVjdCB2aWMgKnZpYykKPiArewo+ICsJaW50IGVy cjsKPiArCj4gKwlpZiAodmljLT5mYWxjb24uZGF0YSkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwl2 aWMtPmZhbGNvbi5kYXRhID0gdmljLT5jbGllbnQtPmRybTsKPiArCj4gKwllcnIgPSBmYWxjb25f cmVhZF9maXJtd2FyZSgmdmljLT5mYWxjb24sIHZpYy0+Y29uZmlnLT5maXJtd2FyZSk7Cj4gKwlp ZiAoZXJyIDwgMCkKPiArCQlnb3RvIGNsZWFudXA7Cj4gKwo+ICsJZXJyID0gZmFsY29uX2xvYWRf ZmlybXdhcmUoJnZpYy0+ZmFsY29uKTsKPiArCWlmIChlcnIgPCAwKQo+ICsJCWdvdG8gY2xlYW51 cDsKPiArCj4gKwlyZXR1cm4gMDsKPiArCj4gK2NsZWFudXA6Cj4gKwl2aWMtPmZhbGNvbi5kYXRh ID0gTlVMTDsKPiArCXJldHVybiBlcnI7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgdmljX29wZW5f Y2hhbm5lbChzdHJ1Y3QgdGVncmFfZHJtX2NsaWVudCAqY2xpZW50LAo+ICAJCQkgICAgc3RydWN0 IHRlZ3JhX2RybV9jb250ZXh0ICpjb250ZXh0KQo+ICB7Cj4gQEAgLTI1NiwxOSArMjczLDI1IEBA IHN0YXRpYyBpbnQgdmljX29wZW5fY2hhbm5lbChzdHJ1Y3QgdGVncmFfZHJtX2NsaWVudCAqY2xp ZW50LAo+ICAJaWYgKGVyciA8IDApCj4gIAkJcmV0dXJuIGVycjsKPiAgCj4gKwllcnIgPSB2aWNf bG9hZF9maXJtd2FyZSh2aWMpOwo+ICsJaWYgKGVyciA8IDApCj4gKwkJZ290byBycG1fcHV0Owo+ ICsKPiAgCWVyciA9IHZpY19ib290KHZpYyk7Cj4gLQlpZiAoZXJyIDwgMCkgewo+IC0JCXBtX3J1 bnRpbWVfcHV0KHZpYy0+ZGV2KTsKPiAtCQlyZXR1cm4gZXJyOwo+IC0JfQo+ICsJaWYgKGVyciA8 IDApCj4gKwkJZ290byBycG1fcHV0Owo+ICAKPiAgCWNvbnRleHQtPmNoYW5uZWwgPSBob3N0MXhf Y2hhbm5lbF9nZXQodmljLT5jaGFubmVsKTsKPiAgCWlmICghY29udGV4dC0+Y2hhbm5lbCkgewo+ IC0JCXBtX3J1bnRpbWVfcHV0KHZpYy0+ZGV2KTsKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiArCQll cnIgPSAtRU5PTUVNOwo+ICsJCWdvdG8gcnBtX3B1dDsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gMDsK PiArCj4gK3JwbV9wdXQ6Cj4gKwlwbV9ydW50aW1lX3B1dCh2aWMtPmRldik7Cj4gKwlyZXR1cm4g ZXJyOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCB2aWNfY2xvc2VfY2hhbm5lbChzdHJ1Y3QgdGVn cmFfZHJtX2NvbnRleHQgKmNvbnRleHQpCj4gQEAgLTM3MiwxMCArMzk1LDYgQEAgc3RhdGljIGlu dCB2aWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCWlmIChlcnIgPCAw KQo+ICAJCXJldHVybiBlcnI7Cj4gIAo+IC0JZXJyID0gZmFsY29uX3JlYWRfZmlybXdhcmUoJnZp Yy0+ZmFsY29uLCB2aWMtPmNvbmZpZy0+ZmlybXdhcmUpOwo+IC0JaWYgKGVyciA8IDApCj4gLQkJ Z290byBleGl0X2ZhbGNvbjsKPiAtCj4gIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCB2aWMp Owo+ICAKPiAgCUlOSVRfTElTVF9IRUFEKCZ2aWMtPmNsaWVudC5iYXNlLmxpc3QpOwo+IAoKTG9v a3MgZ29vZCB0aGlzIHRpbWUhCgpSZXZpZXdlZC1ieTogRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhA Z21haWwuY29tPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK