From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 1/4] drm/fb-helper: Support deferred setup Date: Fri, 3 Jun 2016 18:11:16 +0200 Message-ID: <20160603161119.30528-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-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 510626EE0B for ; Fri, 3 Jun 2016 16:11:24 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id n184so462076wmn.1 for ; Fri, 03 Jun 2016 09:11:24 -0700 (PDT) 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 , Seung-Woo Kim , dri-devel@lists.freedesktop.org, Kyungmin Park List-Id: dri-devel@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 ZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKaW5kZXggN2MyZWI3NWRi NjBmLi40ZjMzNGY5Y2FiMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVs cGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwpAQCAtNDQyLDYgKzQ0 Miw5IEBAIGludCBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZChzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogCWlmICghZHJtX2ZiZGV2X2VtdWxhdGlvbikK IAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlpZiAoZmJfaGVscGVyLT5kZWZlcnJlZF9zZXR1cCkKKwkJ cmV0dXJuIDA7CisKIAlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwogCXJldCA9IHJlc3RvcmVf ZmJkZXZfbW9kZShmYl9oZWxwZXIpOwogCkBAIC0xMzk4LDYgKzE0MDEsMjMgQEAgdW5sb2NrOgog fQogRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3Bhbl9kaXNwbGF5KTsKIAorc3RhdGljIGJv b2wgZHJtX2ZiX2hlbHBlcl9tYXliZV9jb25uZWN0ZWQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhl bHBlcikKK3sKKwlib29sIGNvbm5lY3RlZCA9IGZhbHNlOworCXVuc2lnbmVkIGludCBpOworCisJ Zm9yIChpID0gMDsgaSA8IGhlbHBlci0+Y29ubmVjdG9yX2NvdW50OyBpKyspIHsKKwkJc3RydWN0 IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICpmYiA9IGhlbHBlci0+Y29ubmVjdG9yX2luZm9baV07 CisKKwkJaWYgKGZiLT5jb25uZWN0b3ItPnN0YXR1cyAhPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nv bm5lY3RlZCkgeworCQkJY29ubmVjdGVkID0gdHJ1ZTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJ cmV0dXJuIGNvbm5lY3RlZDsKK30KKwogLyoKICAqIEFsbG9jYXRlcyB0aGUgYmFja2luZyBzdG9y YWdlIGFuZCBzZXRzIHVwIHRoZSBmYmRldiBpbmZvIHN0cnVjdHVyZSB0aHJvdWdoCiAgKiB0aGUg LT5mYl9wcm9iZSBjYWxsYmFjayBhbmQgdGhlbiByZWdpc3RlcnMgdGhlIGZiZGV2IGFuZCBzZXRz IHVwIHRoZSBwYW5pYwpAQCAtMTQ5OSw2ICsxNTE5LDE3IEBAIHN0YXRpYyBpbnQgZHJtX2ZiX2hl bHBlcl9zaW5nbGVfZmJfcHJvYmUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAkJ CXNpemVzLmZiX2hlaWdodCA9IG1pbl90KHUzMiwgZGVzaXJlZF9tb2RlLT52ZGlzcGxheSArIHks IHNpemVzLmZiX2hlaWdodCk7CiAJfQogCisJLyoKKwkgKiBJZiBldmVyeXRoaW5nJ3MgZGlzY29u bmVjdGVkLCB0aGVyZSdzIG5vIHVzZSBpbiBhdHRlbXB0aW5nIHRvIHNldAorCSAqIHVwIGZiZGV2 LgorCSAqLworCWlmICghZHJtX2ZiX2hlbHBlcl9tYXliZV9jb25uZWN0ZWQoZmJfaGVscGVyKSkg eworCQlEUk1fSU5GTygiTm8gb3V0cHV0cyBjb25uZWN0ZWQsIGRlZmVycmluZyBzZXR1cFxuIik7 CisJCWZiX2hlbHBlci0+cHJlZmVycmVkX2JwcCA9IHByZWZlcnJlZF9icHA7CisJCWZiX2hlbHBl ci0+ZGVmZXJyZWRfc2V0dXAgPSB0cnVlOworCQlyZXR1cm4gMDsKKwl9CisKIAlpZiAoY3J0Y19j b3VudCA9PSAwIHx8IHNpemVzLmZiX3dpZHRoID09IC0xIHx8IHNpemVzLmZiX2hlaWdodCA9PSAt MSkgewogCQkvKiBobW0gZXZlcnlvbmUgd2VudCBhd2F5IC0gYXNzdW1lIFZHQSBjYWJsZSBqdXN0 IGZlbGwgb3V0CiAJCSAgIGFuZCB3aWxsIGNvbWUgYmFjayBsYXRlci4gKi8KQEAgLTE1MzksNiAr MTU3MCw3IEBAIHN0YXRpYyBpbnQgZHJtX2ZiX2hlbHBlcl9zaW5nbGVfZmJfcHJvYmUoc3RydWN0 IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAogCWxpc3RfYWRkKCZmYl9oZWxwZXItPmtlcm5l bF9mYl9saXN0LCAma2VybmVsX2ZiX2hlbHBlcl9saXN0KTsKIAorCWZiX2hlbHBlci0+ZGVmZXJy ZWRfc2V0dXAgPSBmYWxzZTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjIzNyw2ICsyMjY5LDEwIEBA IGludCBkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZi X2hlbHBlcikKIAlpZiAoIWRybV9mYmRldl9lbXVsYXRpb24pCiAJCXJldHVybiAwOwogCisJaWYg KGZiX2hlbHBlci0+ZGVmZXJyZWRfc2V0dXApCisJCXJldHVybiBkcm1fZmJfaGVscGVyX2luaXRp YWxfY29uZmlnKGZiX2hlbHBlciwKKwkJCQkJCSAgICBmYl9oZWxwZXItPnByZWZlcnJlZF9icHAp OworCiAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIAlp ZiAoIWZiX2hlbHBlci0+ZmIgfHwgIWRybV9mYl9oZWxwZXJfaXNfYm91bmQoZmJfaGVscGVyKSkg ewogCQlmYl9oZWxwZXItPmRlbGF5ZWRfaG90cGx1ZyA9IHRydWU7CmRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fZmJfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKaW5k ZXggNWI0YWEzNTAyNmEzLi4yNTQ0NjY5MGIyYzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9mYl9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKQEAgLTIxNCw2 ICsyMTQsMjcgQEAgc3RydWN0IGRybV9mYl9oZWxwZXIgewogCWJvb2wgZGVsYXllZF9ob3RwbHVn OwogCiAJLyoqCisJICogQGRlZmVycmVkX3NldHVwOgorCSAqCisJICogSWYgbm8gb3V0cHV0cyBh cmUgY29ubmVjdGVkIChkaXNjb25uZWN0ZWQgb3IgdW5rbm93bikgdGhlIEZCIGhlbHBlcgorCSAq IGNvZGUgd2lsbCBkZWZlciBzZXR1cCB1bnRpbCBhdCBsZWFzdCBvbmUgb2YgdGhlIG91dHB1dHMg c2hvd3MgdXAuCisJICogVGhpcyBmaWVsZCBrZWVwcyB0cmFjayBvZiB0aGUgc3RhdHVzIHNvIHRo YXQgc2V0dXAgY2FuIGJlIHJldHJpZWQKKwkgKiBhdCBldmVyeSBob3RwbHVnIGV2ZW50IHVudGls IGl0IHN1Y2NlZWRzIGV2ZW50dWFsbHkuCisJICovCisJYm9vbCBkZWZlcnJlZF9zZXR1cDsKKwor CS8qKgorCSAqIEBwcmVmZXJyZWRfYnBwOgorCSAqCisJICogVGVtcG9yYXJ5IHN0b3JhZ2UgZm9y IHRoZSBkcml2ZXIncyBwcmVmZXJyZWQgQlBQIHNldHRpbmcgcGFzc2VkIHRvCisJICogRkIgaGVs cGVyIGluaXRpYWxpemF0aW9uLiBUaGlzIG5lZWRzIHRvIGJlIHRyYWNrZWQgc28gdGhhdCBkZWZl cnJlZAorCSAqIEZCIGhlbHBlciBzZXR1cCBjYW4gcGFzcyB0aGlzIG9uLgorCSAqCisJICogU2Vl IGFsc286IEBkZWZlcnJlZF9zZXR1cAorCSAqLworCWludCBwcmVmZXJyZWRfYnBwOworCisJLyoq CiAJICogQGF0b21pYzoKIAkgKgogCSAqIFVzZSBhdG9taWMgdXBkYXRlcyBmb3IgcmVzdG9yZV9m YmRldl9tb2RlKCksIGV0Yy4gIFRoaXMgZGVmYXVsdHMgdG8KLS0gCjIuOC4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK