From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 6/9] drm/fb-helper: Support deferred setup Date: Tue, 7 Jun 2016 17:26:22 +0200 Message-ID: <20160607152625.9511-7-thierry.reding@gmail.com> References: <20160607152625.9511-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160607152625.9511-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: Daniel Vetter Cc: Xinliang Liu , Chen Feng , intel-gfx@lists.freedesktop.org, Seung-Woo Kim , dri-devel@lists.freedesktop.org, Kyungmin Park , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkZCIGhlbHBlciBjb2Rl IGZhbGxzIGJhY2sgdG8gYSAxMDI0eDc2OCBtb2RlIGlmIG5vIG91dHB1dHMgYXJlIGNvbm5lY3Rl ZApvciBkb24ndCByZXBvcnQgYmFjayBhbnkgbW9kZXMgdXBvbiBpbml0aWFsaXphdGlvbi4gVGhp cyBjYW4gYmUgYW5ub3lpbmcKYmVjYXVzZSBvdXRwdXRzIHRoYXQgYXJlIGFkZGVkIHRvIEZCIGhl bHBlciBsYXRlciBvbiBjYW4ndCBiZSB1c2VkIHdpdGgKRkIgaGVscGVyIGlmIHRoZXkgZG9uJ3Qg c3VwcG9ydCBhIG1hdGNoaW5nIG1vZGUuCgpUaGUgZmFsbGJhY2sgaXMgaW4gcGxhY2UgYmVjYXVz ZSBWR0EgY29ubmVjdG9ycyBjYW4gaGFwcGVuIHRvIHJlcG9ydCBhbgp1bmtub3duIGNvbm5lY3Rp b24gc3RhdHVzIGV2ZW4gd2hlbiB0aGV5IGFyZSBpbiBmYWN0IGNvbm5lY3RlZC4KClNvbWUgZHJp dmVycyBoYXZlIGN1c3RvbSBzb2x1dGlvbnMgaW4gcGxhY2UgdG8gZGVmZXIgRkIgaGVscGVyIHNl dHVwCnVudGlsIGF0IGxlYXN0IG9uZSBvdXRwdXQgaXMgY29ubmVjdGVkLiBCdXQgdGhlIGxvZ2lj IGJlaGluZCB0aGVzZQpzb2x1dGlvbnMgaXMgYWx3YXlzIHRoZSBzYW1lIGFuZCB0aGVyZSBpcyBu b3RoaW5nIGRyaXZlci1zcGVjaWZpYyBhYm91dAppdCwgc28gYSBiZXR0ZXIgYWx0ZXJhdGl2ZSBp cyB0byBmaXggdGhlIEZCIGhlbHBlciBjb3JlIGFuZCBhZGQgc3VwcG9ydApmb3IgYWxsIGRyaXZl cnMgYXV0b21hdGljYWxseS4KClRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBkZWZlcnJlZCBG QiBoZWxwZXIgc2V0dXAuIEl0IGNoZWNrcyBhbGwgdGhlCmNvbm5lY3RvcnMgZm9yIHRoZWlyIGNv bm5lY3Rpb24gc3RhdHVzLCBhbmQgaWYgYWxsIG9mIHRoZW0gcmVwb3J0IHRvIGJlCmRpc2Nvbm5l Y3RlZCBtYXJrcyB0aGUgRkIgaGVscGVyIGFzIG5lZWRpbmcgZGVmZXJyZWQgc2V0dXAuIFdoZXQg c2V0dXAKaXMgZGVmZXJyZWQsIHRoZSBGQiBoZWxwZXIgY29yZSB3aWxsIGF1dG9tYXRpY2FsbHkg cmV0cnkgc2V0dXAgYWZ0ZXIgYQpob3RwbHVnIGV2ZW50LCBhbmQgaXQgd2lsbCBrZWVwIHRyeWlu ZyB1bnRpbCBpdCBzdWNjZWVkcy4KClNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVk aW5nQG52aWRpYS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyB8IDM2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2Zi X2hlbHBlci5oICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk LCA1NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKaW5kZXggZjc3MjJiY2Iw MDY0Li4wOTExYjEwYzcxMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVs cGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwpAQCAtNDg3LDYgKzQ4 Nyw5IEBAIGludCBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZChzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogCWlmICghZHJtX2ZiZGV2X2VtdWxhdGlvbikK IAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlpZiAoZmJfaGVscGVyLT5kZWZlcnJlZF9zZXR1cCkKKwkJ cmV0dXJuIDA7CisKIAltdXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCWRybV9tb2Rlc2V0 X2xvY2tfYWxsKGRldik7CiAKQEAgLTE0NTIsNiArMTQ1NSwyMyBAQCB1bmxvY2s6CiB9CiBFWFBP UlRfU1lNQk9MKGRybV9mYl9oZWxwZXJfcGFuX2Rpc3BsYXkpOwogCitzdGF0aWMgYm9vbCBkcm1f ZmJfaGVscGVyX21heWJlX2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyKQor eworCWJvb2wgY29ubmVjdGVkID0gZmFsc2U7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkg PSAwOyBpIDwgaGVscGVyLT5jb25uZWN0b3JfY291bnQ7IGkrKykgeworCQlzdHJ1Y3QgZHJtX2Zi X2hlbHBlcl9jb25uZWN0b3IgKmZiID0gaGVscGVyLT5jb25uZWN0b3JfaW5mb1tpXTsKKworCQlp ZiAoZmItPmNvbm5lY3Rvci0+c3RhdHVzICE9IGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVk KSB7CisJCQljb25uZWN0ZWQgPSB0cnVlOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4g Y29ubmVjdGVkOworfQorCiAvKgogICogQWxsb2NhdGVzIHRoZSBiYWNraW5nIHN0b3JhZ2UgYW5k IHNldHMgdXAgdGhlIGZiZGV2IGluZm8gc3RydWN0dXJlIHRocm91Z2gKICAqIHRoZSAtPmZiX3By b2JlIGNhbGxiYWNrIGFuZCB0aGVuIHJlZ2lzdGVycyB0aGUgZmJkZXYgYW5kIHNldHMgdXAgdGhl IHBhbmljCkBAIC0xNTU0LDYgKzE1NzQsMTcgQEAgc3RhdGljIGludCBkcm1fZmJfaGVscGVyX3Np bmdsZV9mYl9wcm9iZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAogCQkJc2l6ZXMu ZmJfaGVpZ2h0ID0gbWluX3QodTMyLCBkZXNpcmVkX21vZGUtPnZkaXNwbGF5ICsgeSwgc2l6ZXMu ZmJfaGVpZ2h0KTsKIAl9CiAKKwkvKgorCSAqIElmIGV2ZXJ5dGhpbmcncyBkaXNjb25uZWN0ZWQs IHRoZXJlJ3Mgbm8gdXNlIGluIGF0dGVtcHRpbmcgdG8gc2V0CisJICogdXAgZmJkZXYuCisJICov CisJaWYgKCFkcm1fZmJfaGVscGVyX21heWJlX2Nvbm5lY3RlZChmYl9oZWxwZXIpKSB7CisJCURS TV9JTkZPKCJObyBvdXRwdXRzIGNvbm5lY3RlZCwgZGVmZXJyaW5nIHNldHVwXG4iKTsKKwkJZmJf aGVscGVyLT5wcmVmZXJyZWRfYnBwID0gcHJlZmVycmVkX2JwcDsKKwkJZmJfaGVscGVyLT5kZWZl cnJlZF9zZXR1cCA9IHRydWU7CisJCXJldHVybiAwOworCX0KKwogCWlmIChjcnRjX2NvdW50ID09 IDAgfHwgc2l6ZXMuZmJfd2lkdGggPT0gLTEgfHwgc2l6ZXMuZmJfaGVpZ2h0ID09IC0xKSB7CiAJ CS8qIGhtbSBldmVyeW9uZSB3ZW50IGF3YXkgLSBhc3N1bWUgVkdBIGNhYmxlIGp1c3QgZmVsbCBv dXQKIAkJICAgYW5kIHdpbGwgY29tZSBiYWNrIGxhdGVyLiAqLwpAQCAtMTU5Myw2ICsxNjI0LDcg QEAgc3RhdGljIGludCBkcm1fZmJfaGVscGVyX3NpbmdsZV9mYl9wcm9iZShzdHJ1Y3QgZHJtX2Zi X2hlbHBlciAqZmJfaGVscGVyLAogCiAJbGlzdF9hZGQoJmZiX2hlbHBlci0+a2VybmVsX2ZiX2xp c3QsICZrZXJuZWxfZmJfaGVscGVyX2xpc3QpOwogCisJZmJfaGVscGVyLT5kZWZlcnJlZF9zZXR1 cCA9IGZhbHNlOwogCXJldHVybiAwOwogfQogCkBAIC0yMjk0LDYgKzIzMjYsMTAgQEAgaW50IGRy bV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVy KQogCWlmICghZHJtX2ZiZGV2X2VtdWxhdGlvbikKIAkJcmV0dXJuIDA7CiAKKwlpZiAoZmJfaGVs cGVyLT5kZWZlcnJlZF9zZXR1cCkKKwkJcmV0dXJuIGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25m aWcoZmJfaGVscGVyLAorCQkJCQkJICAgIGZiX2hlbHBlci0+cHJlZmVycmVkX2JwcCk7CisKIAlt dXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCW11dGV4X2xvY2soJmZiX2hlbHBlci0+ZGV2 LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mYl9o ZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAppbmRleCA3NzM5YmUwOGViY2Eu LmRhYzE1NWFkMzNmNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCisr KyBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaApAQCAtMjE5LDYgKzIxOSwyNyBAQCBzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciB7CiAJYm9vbCBkZWxheWVkX2hvdHBsdWc7CiAKIAkvKioKKwkgKiBA ZGVmZXJyZWRfc2V0dXA6CisJICoKKwkgKiBJZiBubyBvdXRwdXRzIGFyZSBjb25uZWN0ZWQgKGRp c2Nvbm5lY3RlZCBvciB1bmtub3duKSB0aGUgRkIgaGVscGVyCisJICogY29kZSB3aWxsIGRlZmVy IHNldHVwIHVudGlsIGF0IGxlYXN0IG9uZSBvZiB0aGUgb3V0cHV0cyBzaG93cyB1cC4KKwkgKiBU aGlzIGZpZWxkIGtlZXBzIHRyYWNrIG9mIHRoZSBzdGF0dXMgc28gdGhhdCBzZXR1cCBjYW4gYmUg cmV0cmllZAorCSAqIGF0IGV2ZXJ5IGhvdHBsdWcgZXZlbnQgdW50aWwgaXQgc3VjY2VlZHMgZXZl bnR1YWxseS4KKwkgKi8KKwlib29sIGRlZmVycmVkX3NldHVwOworCisJLyoqCisJICogQHByZWZl cnJlZF9icHA6CisJICoKKwkgKiBUZW1wb3Jhcnkgc3RvcmFnZSBmb3IgdGhlIGRyaXZlcidzIHBy ZWZlcnJlZCBCUFAgc2V0dGluZyBwYXNzZWQgdG8KKwkgKiBGQiBoZWxwZXIgaW5pdGlhbGl6YXRp b24uIFRoaXMgbmVlZHMgdG8gYmUgdHJhY2tlZCBzbyB0aGF0IGRlZmVycmVkCisJICogRkIgaGVs cGVyIHNldHVwIGNhbiBwYXNzIHRoaXMgb24uCisJICoKKwkgKiBTZWUgYWxzbzogQGRlZmVycmVk X3NldHVwCisJICovCisJaW50IHByZWZlcnJlZF9icHA7CisKKwkvKioKIAkgKiBAYXRvbWljOgog CSAqCiAJICogVXNlIGF0b21pYyB1cGRhdGVzIGZvciByZXN0b3JlX2ZiZGV2X21vZGUoKSwgZXRj LiAgVGhpcyBkZWZhdWx0cyB0bwotLSAKMi44LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=