From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 4/9] drm/fb-helper: Push down modeset lock into FB helpers Date: Tue, 7 Jun 2016 17:26:20 +0200 Message-ID: <20160607152625.9511-5-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 RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCk1vdmUgdGhlIG1vZGVz ZXQgbG9ja2luZyBmcm9tIGRyaXZlcnMgaW50byBGQiBoZWxwZXJzLgoKU2lnbmVkLW9mZi1ieTog VGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2ZiX2hlbHBlci5jICAgICAgICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jICAgIHwgIDQgLS0tCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYyB8ICA3IC0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJf aGVscGVyLmMKaW5kZXggOWFmZDQyMDg1OTZmLi4yNTJjNzU1N2JkYjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9m Yl9oZWxwZXIuYwpAQCAtOTUsOCArOTUsOCBAQCBzdGF0aWMgTElTVF9IRUFEKGtlcm5lbF9mYl9o ZWxwZXJfbGlzdCk7CiAgKiBtbWFwIHBhZ2Ugd3JpdGVzLgogICovCiAKLWludCBkcm1fZmJfaGVs cGVyX2FkZF9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCi0J CQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCitzdGF0aWMgaW50IF9fZHJt X2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVs cGVyLAorCQkJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3Ry dWN0IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICoqdGVtcDsKIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBl cl9jb25uZWN0b3IgKmNvbm47CkBAIC0xMjksNiArMTI5LDIwIEBAIGludCBkcm1fZmJfaGVscGVy X2FkZF9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJZmJf aGVscGVyLT5jb25uZWN0b3JfaW5mb1tmYl9oZWxwZXItPmNvbm5lY3Rvcl9jb3VudCsrXSA9IGNv bm47CiAJcmV0dXJuIDA7CiB9CisKK2ludCBkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9y KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCisJCQkJICAgIHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCit7CisJaW50IGVycjsKKworCW11dGV4X2xvY2soJmZiX2hlbHBl ci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CisKKwllcnIgPSBfX2RybV9mYl9oZWxwZXJfYWRk X29uZV9jb25uZWN0b3IoZmJfaGVscGVyLCBjb25uZWN0b3IpOworCisJbXV0ZXhfdW5sb2NrKCZm Yl9oZWxwZXItPmRldi0+bW9kZV9jb25maWcubXV0ZXgpOworCisJcmV0dXJuIGVycjsKK30KIEVY UE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3Rvcik7CiAKIC8qKgpAQCAt MTU1LDI4ICsxNjksMjggQEAgaW50IGRybV9mYl9oZWxwZXJfc2luZ2xlX2FkZF9hbGxfY29ubmVj dG9ycyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogCQlyZXR1cm4gMDsKIAogCW11 dGV4X2xvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOworCiAJZHJtX2Zvcl9lYWNoX2Nvbm5l Y3Rvcihjb25uZWN0b3IsIGRldikgewotCQlyZXQgPSBkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29u bmVjdG9yKGZiX2hlbHBlciwgY29ubmVjdG9yKTsKKwkJcmV0ID0gX19kcm1fZmJfaGVscGVyX2Fk ZF9vbmVfY29ubmVjdG9yKGZiX2hlbHBlciwgY29ubmVjdG9yKTsKKwkJaWYgKHJldCkgeworCQkJ Zm9yIChpID0gMDsgaSA8IGZiX2hlbHBlci0+Y29ubmVjdG9yX2NvdW50OyBpKyspIHsKKwkJCQlr ZnJlZShmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ldKTsKKwkJCQlmYl9oZWxwZXItPmNvbm5l Y3Rvcl9pbmZvW2ldID0gTlVMTDsKKwkJCX0KIAotCQlpZiAocmV0KQotCQkJZ290byBmYWlsOwot CX0KLQltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwotCXJldHVybiAwOwot ZmFpbDoKLQlmb3IgKGkgPSAwOyBpIDwgZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQ7IGkrKykg ewotCQlrZnJlZShmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ldKTsKLQkJZmJfaGVscGVyLT5j b25uZWN0b3JfaW5mb1tpXSA9IE5VTEw7CisJCQlmYl9oZWxwZXItPmNvbm5lY3Rvcl9jb3VudCA9 IDA7CisJCQlicmVhazsKKwkJfQogCX0KLQlmYl9oZWxwZXItPmNvbm5lY3Rvcl9jb3VudCA9IDA7 CisKIAltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwogCiAJcmV0dXJuIHJl dDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0 b3JzKTsKIAotaW50IGRybV9mYl9oZWxwZXJfcmVtb3ZlX29uZV9jb25uZWN0b3Ioc3RydWN0IGRy bV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKLQkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKK3N0YXRpYyBpbnQgX19kcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVj dG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCisJCQkJCQlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBkcm1fZmJfaGVscGVyX2Nvbm5lY3RvciAq ZmJfaGVscGVyX2Nvbm5lY3RvcjsKIAlpbnQgaSwgajsKQEAgLTE5Myw2ICsyMDcsNyBAQCBpbnQg ZHJtX2ZiX2hlbHBlcl9yZW1vdmVfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAq ZmJfaGVscGVyLAogCiAJaWYgKGkgPT0gZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQpCiAJCXJl dHVybiAtRUlOVkFMOworCiAJZmJfaGVscGVyX2Nvbm5lY3RvciA9IGZiX2hlbHBlci0+Y29ubmVj dG9yX2luZm9baV07CiAJZHJtX2Nvbm5lY3Rvcl91bnJlZmVyZW5jZShmYl9oZWxwZXJfY29ubmVj dG9yLT5jb25uZWN0b3IpOwogCkBAIC0yMDQsNiArMjE5LDIwIEBAIGludCBkcm1fZmJfaGVscGVy X3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAK IAlyZXR1cm4gMDsKIH0KKworaW50IGRybV9mYl9oZWxwZXJfcmVtb3ZlX29uZV9jb25uZWN0b3Io c3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKKwkJCQkgICAgICAgc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlpbnQgZXJyOworCisJbXV0ZXhfbG9jaygmZmJfaGVs cGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKKworCWVyciA9IF9fZHJtX2ZiX2hlbHBlcl9y ZW1vdmVfb25lX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGNvbm5lY3Rvcik7CisKKwltdXRleF91bmxv Y2soJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CisKKwlyZXR1cm4gZXJyOwor fQogRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKTsKIAog c3RhdGljIHZvaWQgZHJtX2ZiX2hlbHBlcl9zYXZlX2x1dF9hdG9taWMoc3RydWN0IGRybV9jcnRj ICpjcnRjLCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcF9tc3QuYwppbmRleCA3YTM0MDkwY2VmMzQuLjQ3YzM5ODBjYjNiOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTQ3Nyw5ICs0NzcsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kcF9yZWdpc3Rlcl9tc3RfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCiB7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9faW50 ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5l Y3Rvci0+ZGV2OwotCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7CiAJaW50ZWxfY29ubmVjdG9y X2FkZF90b19mYmRldihpbnRlbF9jb25uZWN0b3IpOwotCWRybV9tb2Rlc2V0X3VubG9ja19hbGwo ZGV2KTsKIAlkcm1fY29ubmVjdG9yX3JlZ2lzdGVyKCZpbnRlbF9jb25uZWN0b3ItPmJhc2UpOwog fQogCkBAIC00OTIsMTAgKzQ5MCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2Rlc3Ryb3lfbXN0 X2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAlpbnRlbF9j b25uZWN0b3ItPnVucmVnaXN0ZXIoaW50ZWxfY29ubmVjdG9yKTsKIAogCS8qIG5lZWQgdG8gbnVr ZSB0aGUgY29ubmVjdG9yICovCi0JZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKIAlpbnRlbF9j b25uZWN0b3JfcmVtb3ZlX2Zyb21fZmJkZXYoaW50ZWxfY29ubmVjdG9yKTsKIAlpbnRlbF9jb25u ZWN0b3ItPm1zdF9wb3J0ID0gTlVMTDsKLQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7CiAK IAlkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNlKCZpbnRlbF9jb25uZWN0b3ItPmJhc2UpOwogCURS TV9ERUJVR19LTVMoIlxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RwX21zdC5jCmlu ZGV4IGRlNTA0ZWEyOWMwNi4uYTRjY2FhNWFmMTA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9kcF9tc3QuYwpAQCAtMjk5LDkgKzI5OSw3IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9kcF9y ZWdpc3Rlcl9tc3RfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2OwogCXN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAotCWRybV9tb2Rlc2V0X2xvY2tfYWxs KGRldik7CiAJcmFkZW9uX2ZiX2FkZF9jb25uZWN0b3IocmRldiwgY29ubmVjdG9yKTsKLQlkcm1f bW9kZXNldF91bmxvY2tfYWxsKGRldik7CiAKIAlkcm1fY29ubmVjdG9yX3JlZ2lzdGVyKGNvbm5l Y3Rvcik7CiB9CkBAIC0zMTQsMTMgKzMxMiw4IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9kcF9kZXN0 cm95X21zdF9jb25uZWN0b3Ioc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJ c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCiAJZHJtX2Nv bm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rvcik7Ci0JLyogbmVlZCB0byBudWtlIHRoZSBjb25u ZWN0b3IgKi8KLQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwotCS8qIGRwbXMgb2ZmICovCiAJ cmFkZW9uX2ZiX3JlbW92ZV9jb25uZWN0b3IocmRldiwgY29ubmVjdG9yKTsKLQogCWRybV9jb25u ZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwotCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsK IAogCWtmcmVlKGNvbm5lY3Rvcik7CiAJRFJNX0RFQlVHX0tNUygiXG4iKTsKLS0gCjIuOC4zCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK