From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 5/9] drm/fb-helper: Add top-level lock Date: Tue, 7 Jun 2016 17:26:21 +0200 Message-ID: <20160607152625.9511-6-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: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Boris Brezillon , Joonyoung Shim , Xinliang Liu , Chen Feng , intel-gfx@lists.freedesktop.org, Seung-Woo Kim , Xinwei Kong , dri-devel@lists.freedesktop.org, Inki Dae , Kyungmin Park , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkludHJvZHVjZSBhIG5l dyB0b3AtbGV2ZWwgbG9jayBmb3IgdGhlIEZCIGhlbHBlciBjb2RlLiBUaGlzIHdpbGwgYWxsb3cK YmV0dGVyIGxvY2tpbmcgZ3JhbnVsYXJpdHkgYW5kIGF2b2lkIHRoZSBuZWVkIHRvIGFidXNlIG1v ZGVzZXQgbG9ja2luZwpmb3IgdGhpcyBwdXJwb3NlIGluc3RlYWQuCgpTaWduZWQtb2ZmLWJ5OiBU aGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9k cm1fZmJfaGVscGVyLmMgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGluY2x1ZGUv ZHJtL2RybV9mYl9oZWxwZXIuaCAgICAgfCAgNSArKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzMSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKaW5kZXgg MjUyYzc1NTdiZGI1Li5mNzcyMmJjYjAwNjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZmJfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwpAQCAt MTA1LDYgKzEwNSw3IEBAIHN0YXRpYyBpbnQgX19kcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVj dG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJaWYgKCFkcm1fZmJkZXZfZW11 bGF0aW9uKQogCQlyZXR1cm4gMDsKIAorCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZmJfaGVs cGVyLT5sb2NrKSk7CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZmYl9oZWxwZXItPmRldi0+ bW9kZV9jb25maWcubXV0ZXgpKTsKIAogCWNvdW50ID0gZmJfaGVscGVyLT5jb25uZWN0b3JfY291 bnQgKyAxOwpAQCAtMTI3LDYgKzEyOCw3IEBAIHN0YXRpYyBpbnQgX19kcm1fZmJfaGVscGVyX2Fk ZF9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJZHJtX2Nv bm5lY3Rvcl9yZWZlcmVuY2UoY29ubmVjdG9yKTsKIAljb25uLT5jb25uZWN0b3IgPSBjb25uZWN0 b3I7CiAJZmJfaGVscGVyLT5jb25uZWN0b3JfaW5mb1tmYl9oZWxwZXItPmNvbm5lY3Rvcl9jb3Vu dCsrXSA9IGNvbm47CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTM1LDExICsxMzcsMTMgQEAgaW50 IGRybV9mYl9oZWxwZXJfYWRkX29uZV9jb25uZWN0b3Ioc3RydWN0IGRybV9mYl9oZWxwZXIgKmZi X2hlbHBlciwKIHsKIAlpbnQgZXJyOwogCisJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsK IAltdXRleF9sb2NrKCZmYl9oZWxwZXItPmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwogCiAJZXJy ID0gX19kcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKGZiX2hlbHBlciwgY29ubmVjdG9y KTsKIAogCW11dGV4X3VubG9jaygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsK KwltdXRleF91bmxvY2soJmZiX2hlbHBlci0+bG9jayk7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAt MTY4LDYgKzE3Miw3IEBAIGludCBkcm1fZmJfaGVscGVyX3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3Rv cnMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAlpZiAoIWRybV9mYmRldl9lbXVs YXRpb24pCiAJCXJldHVybiAwOwogCisJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsKIAlt dXRleF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIAogCWRybV9mb3JfZWFjaF9jb25u ZWN0b3IoY29ubmVjdG9yLCBkZXYpIHsKQEAgLTE4NCw2ICsxODksNyBAQCBpbnQgZHJtX2ZiX2hl bHBlcl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0b3JzKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9o ZWxwZXIpCiAJfQogCiAJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKKwlt dXRleF91bmxvY2soJmZiX2hlbHBlci0+bG9jayk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTk4 LDYgKzIwNCw3IEBAIHN0YXRpYyBpbnQgX19kcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVj dG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJaWYgKCFkcm1fZmJkZXZfZW11 bGF0aW9uKQogCQlyZXR1cm4gMDsKIAorCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZmJfaGVs cGVyLT5sb2NrKSk7CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZmYl9oZWxwZXItPmRldi0+ bW9kZV9jb25maWcubXV0ZXgpKTsKIAogCWZvciAoaSA9IDA7IGkgPCBmYl9oZWxwZXItPmNvbm5l Y3Rvcl9jb3VudDsgaSsrKSB7CkBAIC0yMjUsMTEgKzIzMiwxMyBAQCBpbnQgZHJtX2ZiX2hlbHBl cl9yZW1vdmVfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAog ewogCWludCBlcnI7CiAKKwltdXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCW11dGV4X2xv Y2soJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKIAllcnIgPSBfX2RybV9m Yl9oZWxwZXJfcmVtb3ZlX29uZV9jb25uZWN0b3IoZmJfaGVscGVyLCBjb25uZWN0b3IpOwogCiAJ bXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmRldi0+bW9kZV9jb25maWcubXV0ZXgpOworCW11dGV4 X3VubG9jaygmZmJfaGVscGVyLT5sb2NrKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC00NzgsMTYg KzQ4NywyMSBAQCBpbnQgZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2ZiZGV2X21vZGVfdW5sb2NrZWQo c3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAlpZiAoIWRybV9mYmRldl9lbXVsYXRp b24pCiAJCXJldHVybiAtRU5PREVWOwogCisJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsK IAlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOworCiAJcmV0ID0gcmVzdG9yZV9mYmRldl9tb2Rl KGZiX2hlbHBlcik7CiAKIAlkb19kZWxheWVkID0gZmJfaGVscGVyLT5kZWxheWVkX2hvdHBsdWc7 CiAJaWYgKGRvX2RlbGF5ZWQpCiAJCWZiX2hlbHBlci0+ZGVsYXllZF9ob3RwbHVnID0gZmFsc2U7 CisKIAlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7CisJbXV0ZXhfdW5sb2NrKCZmYl9oZWxw ZXItPmxvY2spOwogCiAJaWYgKGRvX2RlbGF5ZWQpCiAJCWRybV9mYl9oZWxwZXJfaG90cGx1Z19l dmVudChmYl9oZWxwZXIpOworCiAJcmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2Zi X2hlbHBlcl9yZXN0b3JlX2ZiZGV2X21vZGVfdW5sb2NrZWQpOwpAQCAtNjg4LDYgKzcwMiw3IEBA IHZvaWQgZHJtX2ZiX2hlbHBlcl9wcmVwYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJc3Bpbl9sb2NrX2luaXQoJmhlbHBlci0+ZGlydHlf bG9jayk7CiAJSU5JVF9XT1JLKCZoZWxwZXItPmRpcnR5X3dvcmssIGRybV9mYl9oZWxwZXJfZGly dHlfd29yayk7CiAJaGVscGVyLT5kaXJ0eV9jbGlwLngxID0gaGVscGVyLT5kaXJ0eV9jbGlwLnkx ID0gfjA7CisJbXV0ZXhfaW5pdCgmaGVscGVyLT5sb2NrKTsKIAloZWxwZXItPmZ1bmNzID0gZnVu Y3M7CiAJaGVscGVyLT5kZXYgPSBkZXY7CiB9CkBAIC04NTMsNiArODY4LDcgQEAgdm9pZCBkcm1f ZmJfaGVscGVyX2Zpbmkoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAkJCXVucmVn aXN0ZXJfc3lzcnFfa2V5KCd2JywgJnN5c3JxX2RybV9mYl9oZWxwZXJfcmVzdG9yZV9vcCk7CiAJ fQogCisJbXV0ZXhfZGVzdHJveSgmZmJfaGVscGVyLT5sb2NrKTsKIAlkcm1fZmJfaGVscGVyX2Ny dGNfZnJlZShmYl9oZWxwZXIpOwogCiB9CkBAIC0yMjczLDE2ICsyMjg5LDIwIEBAIGludCBkcm1f ZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikK IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVscGVyLT5kZXY7CiAJdTMyIG1heF93 aWR0aCwgbWF4X2hlaWdodDsKKwlpbnQgZXJyID0gMDsKIAogCWlmICghZHJtX2ZiZGV2X2VtdWxh dGlvbikKIAkJcmV0dXJuIDA7CiAKKwltdXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCW11 dGV4X2xvY2soJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CisKIAlpZiAoIWZi X2hlbHBlci0+ZmIgfHwgIWRybV9mYl9oZWxwZXJfaXNfYm91bmQoZmJfaGVscGVyKSkgewogCQlm Yl9oZWxwZXItPmRlbGF5ZWRfaG90cGx1ZyA9IHRydWU7CiAJCW11dGV4X3VubG9jaygmZmJfaGVs cGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKLQkJcmV0dXJuIDA7CisJCWdvdG8gdW5sb2Nr OwogCX0KKwogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKIAltYXhfd2lkdGggPSBmYl9oZWxwZXIt PmZiLT53aWR0aDsKQEAgLTIyOTAsNiArMjMxMCw3IEBAIGludCBkcm1fZmJfaGVscGVyX2hvdHBs dWdfZXZlbnQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAogCWRybV9mYl9oZWxw ZXJfcHJvYmVfY29ubmVjdG9yX21vZGVzKGZiX2hlbHBlciwgbWF4X3dpZHRoLCBtYXhfaGVpZ2h0 KTsKIAltdXRleF91bmxvY2soJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CisJ bXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCiAJZHJtX21vZGVzZXRfbG9ja19hbGwo ZGV2KTsKIAlkcm1fc2V0dXBfY3J0Y3MoZmJfaGVscGVyKTsKQEAgLTIyOTcsNiArMjMxOCwxMCBA QCBpbnQgZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KHN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIpCiAJZHJtX2ZiX2hlbHBlcl9zZXRfcGFyKGZiX2hlbHBlci0+ZmJkZXYpOwogCiAJ cmV0dXJuIDA7CisKK3VubG9jazoKKwltdXRleF91bmxvY2soJmZiX2hlbHBlci0+bG9jayk7CisJ cmV0dXJuIGVycjsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50 KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oIGIvaW5jbHVkZS9k cm0vZHJtX2ZiX2hlbHBlci5oCmluZGV4IDViNGFhMzUwMjZhMy4uNzczOWJlMDhlYmNhIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJt X2ZiX2hlbHBlci5oCkBAIC0xOTgsNiArMTk4LDExIEBAIHN0cnVjdCBkcm1fZmJfaGVscGVyIHsK IAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZGlydHlfd29yazsKIAogCS8qKgorCSAqIFRvcC1sZXZlbCBG QiBoZWxwZXIgbG9jay4KKwkgKi8KKwlzdHJ1Y3QgbXV0ZXggbG9jazsKKworCS8qKgogCSAqIEBr ZXJuZWxfZmJfbGlzdDoKIAkgKgogCSAqIEVudHJ5IG9uIHRoZSBnbG9iYWwga2VybmVsX2ZiX2hl bHBlcl9saXN0LCB1c2VkIGZvciBrZ2RiIGVudHJ5L2V4aXQuCi0tIAoyLjguMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==