From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 08/13] drm/tegra: vic: Load firmware on demand Date: Thu, 24 Jan 2019 19:02:49 +0100 Message-ID: <20190124180254.20080-9-thierry.reding@gmail.com> References: <20190124180254.20080-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A8986F200 for ; Thu, 24 Jan 2019 18:03:11 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id l9so7454817wrt.13 for ; Thu, 24 Jan 2019 10:03:11 -0800 (PST) In-Reply-To: <20190124180254.20080-1-thierry.reding@gmail.com> 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, Dmitry Osipenko , dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkxvYWRpbmcgdGhlIGZp cm13YXJlIHJlcXVpcmVzIGFuIGFsbG9jYXRpb24gb2YgSU9WQSBzcGFjZSB0byBtYWtlIHN1cmUK dGhhdCB0aGUgVklDJ3MgRmFsY29uIG1pY3JvY29udHJvbGxlciBjYW4gcmVhZCB0aGUgZmlybXdh cmUgaWYgYWRkcmVzcwp0cmFuc2xhdGlvbiB2aWEgdGhlIFNNTVUgaXMgZW5hYmxlZC4KCkhvd2V2 ZXIsIHRoZSBhbGxvY2F0aW9uIGN1cnJlbnRseSBoYXBwZW5zIGF0IGEgdGltZSB3aGVyZSB0aGUg Z2VvbWV0cnkKb2YgYW4gSU9NTVUgZG9tYWluIG1heSBub3QgaGF2ZSBiZWVuIGluaXRpYWxpemVk IHlldC4gVGhpcyBoYXBwZW5zIGZvcgpleGFtcGxlIG9uIFRlZ3JhMTg2IGFuZCBsYXRlciB3aGVy ZSBhbiBBUk0gU01NVSBpcyB1c2VkLiBEb21haW5zIHdoaWNoCmFyZSBjcmVhdGVkIGJ5IHRoZSBB Uk0gU01NVSBkcml2ZXIgcG9zdHBvbmUgdGhlIGdlb21ldHJ5IHNldHVwIHVudGlsIGEKZGV2aWNl IGlzIGF0dGFjaGVkIHRvIHRoZSBkb21haW4uIFRoaXMgaXMgYmVjYXVzZSBJT01NVSBkb21haW5z IGFyZW4ndAphdHRhY2hlZCB0byBhIHNwZWNpZmljIElPTU1VIGluc3RhbmNlIGF0IGFsbG9jYXRp b24gdGltZSBhbmQgaGVuY2UgdGhlCmlucHV0IGFkZHJlc3Mgc3BhY2UsIHdoaWNoIGRlZmluZXMg dGhlIGdlb21ldHJ5LCBpcyBub3Qga25vd24geWV0LgoKV29yayBhcm91bmQgdGhpcyBieSBwb3N0 cG9uaW5nIHRoZSBmaXJtd2FyZSBsb2FkIHVudGlsIGl0IGlzIG5lZWRlZCBhdAp0aGUgdGltZSB3 aGVyZSBhIGNoYW5uZWwgaXMgb3BlbmVkIHRvIHRoZSBWSUMuIEF0IHRoaXMgdGltZSB0aGUgc2hh cmVkCklPTU1VIGRvbWFpbidzIGdlb21ldHJ5IGhhcyBiZWVuIHByb3Blcmx5IGluaXRpYWxpemVk LgoKQXMgYSBieXByb2R1Y3QgdGhpcyBhbGxvd3MgdGhlIFRlZ3JhIERSTSB0byBiZSBjcmVhdGVk IGluIHRoZSBhYnNlbmNlCm9mIFZJQyBmaXJtd2FyZSwgc2luY2UgdGhlIFZJQyBpbml0aWFsaXph dGlvbiBubyBsb25nZXIgZmFpbHMgaWYgdGhlCmZpcm13YXJlIGNhbid0IGJlIGZvdW5kLgoKQmFz ZWQgb24gYW4gZWFybGllciBwYXRjaCBieSBEbWl0cnkgT3NpcGVua28gPGRpZ2V0eEBnbWFpbC5j b20+LgoKU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4K LS0tCkNoYW5nZXMgaW4gdjI6Ci0gYWN0dWFsbHkgcmVxdWVzdCBmaXJtd2FyZSBvbiBkZW1hbmQK CiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvdmljLmMgfCA1MyArKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMTcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3ZpYy5jIGIvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL3ZpYy5jCmluZGV4IGQ0Nzk4M2RlYjFjZi4uOWNiMTBkMWU5MjNh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvdmljLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3RlZ3JhL3ZpYy5jCkBAIC0xODEsMTMgKzE4MSw2IEBAIHN0YXRpYyBpbnQgdmljX2lu aXQoc3RydWN0IGhvc3QxeF9jbGllbnQgKmNsaWVudCkKIAkJdmljLT5kb21haW4gPSB0ZWdyYS0+ ZG9tYWluOwogCX0KIAotCWlmICghdmljLT5mYWxjb24uZGF0YSkgewotCQl2aWMtPmZhbGNvbi5k YXRhID0gdGVncmE7Ci0JCWVyciA9IGZhbGNvbl9sb2FkX2Zpcm13YXJlKCZ2aWMtPmZhbGNvbik7 Ci0JCWlmIChlcnIgPCAwKQotCQkJZ290byBkZXRhY2g7Ci0JfQotCiAJdmljLT5jaGFubmVsID0g aG9zdDF4X2NoYW5uZWxfcmVxdWVzdChjbGllbnQtPmRldik7CiAJaWYgKCF2aWMtPmNoYW5uZWwp IHsKIAkJZXJyID0gLUVOT01FTTsKQEAgLTI0Niw2ICsyMzksMzAgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBob3N0MXhfY2xpZW50X29wcyB2aWNfY2xpZW50X29wcyA9IHsKIAkuZXhpdCA9IHZpY19l eGl0LAogfTsKIAorc3RhdGljIGludCB2aWNfbG9hZF9maXJtd2FyZShzdHJ1Y3QgdmljICp2aWMp Cit7CisJaW50IGVycjsKKworCWlmICh2aWMtPmZhbGNvbi5kYXRhKQorCQlyZXR1cm4gMDsKKwor CXZpYy0+ZmFsY29uLmRhdGEgPSB2aWMtPmNsaWVudC0+ZHJtOworCisJZXJyID0gZmFsY29uX3Jl YWRfZmlybXdhcmUoJnZpYy0+ZmFsY29uLCB2aWMtPmNvbmZpZy0+ZmlybXdhcmUpOworCWlmIChl cnIgPCAwKQorCQlnb3RvIGNsZWFudXA7CisKKwllcnIgPSBmYWxjb25fbG9hZF9maXJtd2FyZSgm dmljLT5mYWxjb24pOworCWlmIChlcnIgPCAwKQorCQlnb3RvIGNsZWFudXA7CisKKwlyZXR1cm4g MDsKKworY2xlYW51cDoKKwl2aWMtPmZhbGNvbi5kYXRhID0gTlVMTDsKKwlyZXR1cm4gZXJyOwor fQorCiBzdGF0aWMgaW50IHZpY19vcGVuX2NoYW5uZWwoc3RydWN0IHRlZ3JhX2RybV9jbGllbnQg KmNsaWVudCwKIAkJCSAgICBzdHJ1Y3QgdGVncmFfZHJtX2NvbnRleHQgKmNvbnRleHQpCiB7CkBA IC0yNTYsMTkgKzI3MywyNSBAQCBzdGF0aWMgaW50IHZpY19vcGVuX2NoYW5uZWwoc3RydWN0IHRl Z3JhX2RybV9jbGllbnQgKmNsaWVudCwKIAlpZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAor CWVyciA9IHZpY19sb2FkX2Zpcm13YXJlKHZpYyk7CisJaWYgKGVyciA8IDApCisJCWdvdG8gcnBt X3B1dDsKKwogCWVyciA9IHZpY19ib290KHZpYyk7Ci0JaWYgKGVyciA8IDApIHsKLQkJcG1fcnVu dGltZV9wdXQodmljLT5kZXYpOwotCQlyZXR1cm4gZXJyOwotCX0KKwlpZiAoZXJyIDwgMCkKKwkJ Z290byBycG1fcHV0OwogCiAJY29udGV4dC0+Y2hhbm5lbCA9IGhvc3QxeF9jaGFubmVsX2dldCh2 aWMtPmNoYW5uZWwpOwogCWlmICghY29udGV4dC0+Y2hhbm5lbCkgewotCQlwbV9ydW50aW1lX3B1 dCh2aWMtPmRldik7Ci0JCXJldHVybiAtRU5PTUVNOworCQllcnIgPSAtRU5PTUVNOworCQlnb3Rv IHJwbV9wdXQ7CiAJfQogCiAJcmV0dXJuIDA7CisKK3JwbV9wdXQ6CisJcG1fcnVudGltZV9wdXQo dmljLT5kZXYpOworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyB2b2lkIHZpY19jbG9zZV9jaGFu bmVsKHN0cnVjdCB0ZWdyYV9kcm1fY29udGV4dCAqY29udGV4dCkKQEAgLTM3MiwxMCArMzk1LDYg QEAgc3RhdGljIGludCB2aWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlp ZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAotCWVyciA9IGZhbGNvbl9yZWFkX2Zpcm13YXJl KCZ2aWMtPmZhbGNvbiwgdmljLT5jb25maWctPmZpcm13YXJlKTsKLQlpZiAoZXJyIDwgMCkKLQkJ Z290byBleGl0X2ZhbGNvbjsKLQogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHZpYyk7CiAK IAlJTklUX0xJU1RfSEVBRCgmdmljLT5jbGllbnQuYmFzZS5saXN0KTsKLS0gCjIuMTkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==