From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: [RFC PATCH v1] drm/tegra: vic: Defer firmware loading until it is really needed Date: Mon, 10 Dec 2018 15:03:38 +0300 Message-ID: <20181210120338.29288-1-digetx@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id 802E86E3FD for ; Mon, 10 Dec 2018 12:05:37 +0000 (UTC) Received: by mail-pg1-x541.google.com with SMTP id z11so4889144pgu.0 for ; Mon, 10 Dec 2018 04:05:37 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Marcel Ziswiler , Mikko Perttunen , Thierry Reding Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RFJNIGRyaXZlciBmYWlscyB0byBsb2FkIGlmIFZJQyBmaXJtd2FyZSBpcyBtaXNzaW5nLCBsZXQn cyBkZWZlciB0aGUKZmlybXdhcmUgbG9hZGluZyB1bnRpbCBpdCBpcyByZWFsbHkgbmVlZGVkLiBU aGlzIGVsaW1pbmF0ZXMgdGhlIG5lZWQKdG8gaGF2ZSBpbml0cmQgd2l0aCB0aGUgZmlybXdhcmUg aWYgRFJNIGRyaXZlciBpcyBjb21waWxlZCBhcyBidWlsdC1pbi4KClNpZ25lZC1vZmYtYnk6IERt aXRyeSBPc2lwZW5rbyA8ZGlnZXR4QGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdGVn cmEvdmljLmMgfCA0MyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3ZpYy5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Zp Yy5jCmluZGV4IGQ0Nzk4M2RlYjFjZi4uZWZiNzVmMjkwZmYwIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vdGVncmEvdmljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3ZpYy5jCkBA IC05Niw2ICs5NiwzNCBAQCBzdGF0aWMgaW50IHZpY19ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRl dmljZSAqZGV2KQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHZpY19sb2FkX2Zpcm13YXJl KHN0cnVjdCB2aWMgKnZpYykKK3sKKwlzdHJ1Y3QgaG9zdDF4X2NsaWVudCAqY2xpZW50ID0gJnZp Yy0+Y2xpZW50LmJhc2U7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0 YShjbGllbnQtPnBhcmVudCk7CisJc3RydWN0IHRlZ3JhX2RybSAqdGVncmEgPSBkZXYtPmRldl9w cml2YXRlOworCWludCBlcnI7CisKKwlpZiAodmljLT5mYWxjb24uZGF0YSkKKwkJcmV0dXJuIDA7 CisKKwl2aWMtPmZhbGNvbi5kYXRhID0gdGVncmE7CisKKwllcnIgPSBmYWxjb25fcmVhZF9maXJt d2FyZSgmdmljLT5mYWxjb24sIHZpYy0+Y29uZmlnLT5maXJtd2FyZSk7CisJaWYgKGVyciA8IDAp CisJCWdvdG8gZXJyX2NsZWFudXA7CisKKwllcnIgPSBmYWxjb25fbG9hZF9maXJtd2FyZSgmdmlj LT5mYWxjb24pOworCWlmIChlcnIgPCAwKQorCQlnb3RvIGVycl9jbGVhbnVwOworCisJcmV0dXJu IDA7CisKK2Vycl9jbGVhbnVwOgorCXZpYy0+ZmFsY29uLmRhdGEgPSBOVUxMOworCisJcmV0dXJu IGVycjsKK30KKwogc3RhdGljIGludCB2aWNfYm9vdChzdHJ1Y3QgdmljICp2aWMpCiB7CiAJdTMy IGZjZV91Y29kZV9zaXplLCBmY2VfYmluX2RhdGFfb2Zmc2V0OwpAQCAtMTA1LDYgKzEzMywxMCBA QCBzdGF0aWMgaW50IHZpY19ib290KHN0cnVjdCB2aWMgKnZpYykKIAlpZiAodmljLT5ib290ZWQp CiAJCXJldHVybiAwOwogCisJZXJyID0gdmljX2xvYWRfZmlybXdhcmUodmljKTsKKwlpZiAoZXJy IDwgMCkKKwkJcmV0dXJuIGVycjsKKwogCS8qIHNldHVwIGNsb2NrZ2F0aW5nIHJlZ2lzdGVycyAq LwogCXZpY193cml0ZWwodmljLCBDR19JRExFX0NHX0RMWV9DTlQoNCkgfAogCQkJQ0dfSURMRV9D R19FTiB8CkBAIC0xODEsMTMgKzIxMyw2IEBAIHN0YXRpYyBpbnQgdmljX2luaXQoc3RydWN0IGhv c3QxeF9jbGllbnQgKmNsaWVudCkKIAkJdmljLT5kb21haW4gPSB0ZWdyYS0+ZG9tYWluOwogCX0K IAotCWlmICghdmljLT5mYWxjb24uZGF0YSkgewotCQl2aWMtPmZhbGNvbi5kYXRhID0gdGVncmE7 Ci0JCWVyciA9IGZhbGNvbl9sb2FkX2Zpcm13YXJlKCZ2aWMtPmZhbGNvbik7Ci0JCWlmIChlcnIg PCAwKQotCQkJZ290byBkZXRhY2g7Ci0JfQotCiAJdmljLT5jaGFubmVsID0gaG9zdDF4X2NoYW5u ZWxfcmVxdWVzdChjbGllbnQtPmRldik7CiAJaWYgKCF2aWMtPmNoYW5uZWwpIHsKIAkJZXJyID0g LUVOT01FTTsKQEAgLTM3MiwxMCArMzk3LDYgQEAgc3RhdGljIGludCB2aWNfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlpZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAot CWVyciA9IGZhbGNvbl9yZWFkX2Zpcm13YXJlKCZ2aWMtPmZhbGNvbiwgdmljLT5jb25maWctPmZp cm13YXJlKTsKLQlpZiAoZXJyIDwgMCkKLQkJZ290byBleGl0X2ZhbGNvbjsKLQogCXBsYXRmb3Jt X3NldF9kcnZkYXRhKHBkZXYsIHZpYyk7CiAKIAlJTklUX0xJU1RfSEVBRCgmdmljLT5jbGllbnQu YmFzZS5saXN0KTsKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==