From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 06/27] drm/etnaviv: get rid of userptr worker Date: Fri, 1 Dec 2017 11:36:03 +0100 Message-ID: <20171201103624.6565-7-l.stach@pengutronix.de> References: <20171201103624.6565-1-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1446B6ECBE for ; Fri, 1 Dec 2017 10:36:26 +0000 (UTC) In-Reply-To: <20171201103624.6565-1-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: etnaviv@lists.freedesktop.org Cc: patchwork-lst@pengutronix.de, kernel@pengutronix.de, dri-devel@lists.freedesktop.org, Russell King List-Id: dri-devel@lists.freedesktop.org QWxsIGNvZGUgcGF0aHMgd2hpY2ggcG9wdWxhdGUgdXNlcnB0ciBCT3MgYXJlIGZpbmUgd2l0aCB0 aGUgZ2V0X3BhZ2VzCmZ1bmN0aW9uIHRha2luZyB0aGUgbW1hcF9zZW0gbG9jay4gVGhpcyBhbGxv d3MgdG8gZ2V0IHJpZCBvZiB0aGUgcHJldHR5Cmludm9sdmVkIGFyY2hpdGVjdHVyZSB3aXRoIGEg d29ya2VyIGJlaW5nIHNjaGVkdWxlZCBpZiB0aGUgbW1hcF9zZW0KbmVlZHMgdG8gYmUgdGFrZW4s IGJ1dCBpbnN0ZWFkIGNhbGwgR1VQIGRpcmVjdGx5IGFuZCBhbGxvdyBpdCB0byB0YWtlCnRoZSBs b2NrIGlmIG5lY2Vzc2FyeS4KClRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdCBhbmQgcmVt b3ZlcyB0aGUgcG9zc2liaWxpdHkgb2YgdGhpcwpmdW5jdGlvbiByZXR1cm5pbmcgLUVBR0FJTiwg d2hpY2ggY29tcGxpY2F0ZXMgb2JqZWN0IHBvcHVsYXRpb24KaGFuZGxpbmcgYXQgdGhlIGNhbGxl cnMuCgpTaWduZWQtb2ZmLWJ5OiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5jIHwgMTQ2ICsrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfZ2VtLmggfCAgIDMgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTI2 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5jCmluZGV4IGE1 MjIyMGVlZWU0NS4uZmNjOTY5ZmEwZTY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRu YXZpdi9ldG5hdml2X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZf Z2VtLmMKQEAgLTcwNSwxNDEgKzcwNSw0MSBAQCBpbnQgZXRuYXZpdl9nZW1fbmV3X3ByaXZhdGUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsIHUzMiBmbGFncywKIAlyZXR1cm4g MDsKIH0KIAotc3RydWN0IGdldF9wYWdlc193b3JrIHsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29y azsKLQlzdHJ1Y3QgbW1fc3RydWN0ICptbTsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Ci0J c3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmo7Ci19OwotCi1zdGF0aWMgc3Ry dWN0IHBhZ2UgKipldG5hdml2X2dlbV91c2VycHRyX2RvX2dldF9wYWdlcygKLQlzdHJ1Y3QgZXRu YXZpdl9nZW1fb2JqZWN0ICpldG5hdml2X29iaiwgc3RydWN0IG1tX3N0cnVjdCAqbW0sIHN0cnVj dCB0YXNrX3N0cnVjdCAqdGFzaykKLXsKLQlpbnQgcmV0ID0gMCwgcGlubmVkLCBucGFnZXMgPSBl dG5hdml2X29iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQ7Ci0Jc3RydWN0IHBhZ2UgKipwdmVj OwotCXVpbnRwdHJfdCBwdHI7Ci0JdW5zaWduZWQgaW50IGZsYWdzID0gMDsKLQotCXB2ZWMgPSBr dm1hbGxvY19hcnJheShucGFnZXMsIHNpemVvZihzdHJ1Y3QgcGFnZSAqKSwgR0ZQX0tFUk5FTCk7 Ci0JaWYgKCFwdmVjKQotCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQotCWlmICghZXRuYXZp dl9vYmotPnVzZXJwdHIucm8pCi0JCWZsYWdzIHw9IEZPTExfV1JJVEU7Ci0KLQlwaW5uZWQgPSAw OwotCXB0ciA9IGV0bmF2aXZfb2JqLT51c2VycHRyLnB0cjsKLQotCWRvd25fcmVhZCgmbW0tPm1t YXBfc2VtKTsKLQl3aGlsZSAocGlubmVkIDwgbnBhZ2VzKSB7Ci0JCXJldCA9IGdldF91c2VyX3Bh Z2VzX3JlbW90ZSh0YXNrLCBtbSwgcHRyLCBucGFnZXMgLSBwaW5uZWQsCi0JCQkJCSAgICBmbGFn cywgcHZlYyArIHBpbm5lZCwgTlVMTCwgTlVMTCk7Ci0JCWlmIChyZXQgPCAwKQotCQkJYnJlYWs7 Ci0KLQkJcHRyICs9IHJldCAqIFBBR0VfU0laRTsKLQkJcGlubmVkICs9IHJldDsKLQl9Ci0JdXBf cmVhZCgmbW0tPm1tYXBfc2VtKTsKLQotCWlmIChyZXQgPCAwKSB7Ci0JCXJlbGVhc2VfcGFnZXMo cHZlYywgcGlubmVkKTsKLQkJa3ZmcmVlKHB2ZWMpOwotCQlyZXR1cm4gRVJSX1BUUihyZXQpOwot CX0KLQotCXJldHVybiBwdmVjOwotfQotCi1zdGF0aWMgdm9pZCBfX2V0bmF2aXZfZ2VtX3VzZXJw dHJfZ2V0X3BhZ2VzKHN0cnVjdCB3b3JrX3N0cnVjdCAqX3dvcmspCi17Ci0Jc3RydWN0IGdldF9w YWdlc193b3JrICp3b3JrID0gY29udGFpbmVyX29mKF93b3JrLCB0eXBlb2YoKndvcmspLCB3b3Jr KTsKLQlzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpldG5hdml2X29iaiA9IHdvcmstPmV0bmF2 aXZfb2JqOwotCXN0cnVjdCBwYWdlICoqcHZlYzsKLQotCXB2ZWMgPSBldG5hdml2X2dlbV91c2Vy cHRyX2RvX2dldF9wYWdlcyhldG5hdml2X29iaiwgd29yay0+bW0sIHdvcmstPnRhc2spOwotCi0J bXV0ZXhfbG9jaygmZXRuYXZpdl9vYmotPmxvY2spOwotCWlmIChJU19FUlIocHZlYykpIHsKLQkJ ZXRuYXZpdl9vYmotPnVzZXJwdHIud29yayA9IEVSUl9DQVNUKHB2ZWMpOwotCX0gZWxzZSB7Ci0J CWV0bmF2aXZfb2JqLT51c2VycHRyLndvcmsgPSBOVUxMOwotCQlldG5hdml2X29iai0+cGFnZXMg PSBwdmVjOwotCX0KLQotCW11dGV4X3VubG9jaygmZXRuYXZpdl9vYmotPmxvY2spOwotCWRybV9n ZW1fb2JqZWN0X3B1dF91bmxvY2tlZCgmZXRuYXZpdl9vYmotPmJhc2UpOwotCi0JbW1wdXQod29y ay0+bW0pOwotCXB1dF90YXNrX3N0cnVjdCh3b3JrLT50YXNrKTsKLQlrZnJlZSh3b3JrKTsKLX0K LQogc3RhdGljIGludCBldG5hdml2X2dlbV91c2VycHRyX2dldF9wYWdlcyhzdHJ1Y3QgZXRuYXZp dl9nZW1fb2JqZWN0ICpldG5hdml2X29iaikKIHsKIAlzdHJ1Y3QgcGFnZSAqKnB2ZWMgPSBOVUxM OwotCXN0cnVjdCBnZXRfcGFnZXNfd29yayAqd29yazsKLQlzdHJ1Y3QgbW1fc3RydWN0ICptbTsK LQlpbnQgcmV0LCBwaW5uZWQsIG5wYWdlcyA9IGV0bmF2aXZfb2JqLT5iYXNlLnNpemUgPj4gUEFH RV9TSElGVDsKKwlzdHJ1Y3QgZXRuYXZpdl9nZW1fdXNlcnB0ciAqdXNlcnB0ciA9ICZldG5hdml2 X29iai0+dXNlcnB0cjsKKwlpbnQgcmV0LCBwaW5uZWQgPSAwLCBucGFnZXMgPSBldG5hdml2X29i ai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQ7CiAKIAltaWdodF9sb2NrX3JlYWQoJmN1cnJlbnQt Pm1tLT5tbWFwX3NlbSk7CiAKLQlpZiAoZXRuYXZpdl9vYmotPnVzZXJwdHIud29yaykgewotCQlp ZiAoSVNfRVJSKGV0bmF2aXZfb2JqLT51c2VycHRyLndvcmspKSB7Ci0JCQlyZXQgPSBQVFJfRVJS KGV0bmF2aXZfb2JqLT51c2VycHRyLndvcmspOwotCQkJZXRuYXZpdl9vYmotPnVzZXJwdHIud29y ayA9IE5VTEw7Ci0JCX0gZWxzZSB7Ci0JCQlyZXQgPSAtRUFHQUlOOwotCQl9Ci0JCXJldHVybiBy ZXQ7Ci0JfQorCWlmICh1c2VycHRyLT5tbSAhPSBjdXJyZW50LT5tbSkKKwkJcmV0dXJuIC1FUEVS TTsKIAotCW1tID0gZ2V0X3Rhc2tfbW0oZXRuYXZpdl9vYmotPnVzZXJwdHIudGFzayk7Ci0JcGlu bmVkID0gMDsKLQlpZiAobW0gPT0gY3VycmVudC0+bW0pIHsKLQkJcHZlYyA9IGt2bWFsbG9jX2Fy cmF5KG5wYWdlcywgc2l6ZW9mKHN0cnVjdCBwYWdlICopLCBHRlBfS0VSTkVMKTsKLQkJaWYgKCFw dmVjKSB7Ci0JCQltbXB1dChtbSk7Ci0JCQlyZXR1cm4gLUVOT01FTTsKLQkJfQorCXB2ZWMgPSBr dm1hbGxvY19hcnJheShucGFnZXMsIHNpemVvZihzdHJ1Y3QgcGFnZSAqKSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFwdmVjKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRvIHsKKwkJdW5zaWduZWQgbnVt X3BhZ2VzID0gbnBhZ2VzIC0gcGlubmVkOworCQl1aW50NjRfdCBwdHIgPSB1c2VycHRyLT5wdHIg KyBwaW5uZWQgKiBQQUdFX1NJWkU7CisJCXN0cnVjdCBwYWdlICoqcGFnZXMgPSBwdmVjICsgcGlu bmVkOwogCi0JCXBpbm5lZCA9IF9fZ2V0X3VzZXJfcGFnZXNfZmFzdChldG5hdml2X29iai0+dXNl cnB0ci5wdHIsIG5wYWdlcywKLQkJCQkJICAgICAgICFldG5hdml2X29iai0+dXNlcnB0ci5ybywg cHZlYyk7Ci0JCWlmIChwaW5uZWQgPCAwKSB7CisJCXJldCA9IGdldF91c2VyX3BhZ2VzX2Zhc3Qo cHRyLCBudW1fcGFnZXMsCisJCQkJCSAgIXVzZXJwdHItPnJvID8gRk9MTF9XUklURSA6IDAsIHBh Z2VzKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXJlbGVhc2VfcGFnZXMocHZlYywgcGlubmVkKTsK IAkJCWt2ZnJlZShwdmVjKTsKLQkJCW1tcHV0KG1tKTsKLQkJCXJldHVybiBwaW5uZWQ7CisJCQly ZXR1cm4gcmV0OwogCQl9CiAKLQkJaWYgKHBpbm5lZCA9PSBucGFnZXMpIHsKLQkJCWV0bmF2aXZf b2JqLT5wYWdlcyA9IHB2ZWM7Ci0JCQltbXB1dChtbSk7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCX0K LQotCXJlbGVhc2VfcGFnZXMocHZlYywgcGlubmVkKTsKLQlrdmZyZWUocHZlYyk7Ci0KLQl3b3Jr ID0ga21hbGxvYyhzaXplb2YoKndvcmspLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXdvcmspIHsKLQkJ bW1wdXQobW0pOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQlnZXRfdGFza19zdHJ1Y3QoY3Vy cmVudCk7Ci0JZHJtX2dlbV9vYmplY3RfZ2V0KCZldG5hdml2X29iai0+YmFzZSk7Ci0KLQl3b3Jr LT5tbSA9IG1tOwotCXdvcmstPnRhc2sgPSBjdXJyZW50OwotCXdvcmstPmV0bmF2aXZfb2JqID0g ZXRuYXZpdl9vYmo7CisJCXBpbm5lZCArPSByZXQ7CiAKLQlldG5hdml2X29iai0+dXNlcnB0ci53 b3JrID0gJndvcmstPndvcms7Ci0JSU5JVF9XT1JLKCZ3b3JrLT53b3JrLCBfX2V0bmF2aXZfZ2Vt X3VzZXJwdHJfZ2V0X3BhZ2VzKTsKKwl9IHdoaWxlIChwaW5uZWQgPCBucGFnZXMpOwogCi0JZXRu YXZpdl9xdWV1ZV93b3JrKGV0bmF2aXZfb2JqLT5iYXNlLmRldiwgJndvcmstPndvcmspOworCWV0 bmF2aXZfb2JqLT5wYWdlcyA9IHB2ZWM7CiAKLQlyZXR1cm4gLUVBR0FJTjsKKwlyZXR1cm4gMDsK IH0KIAogc3RhdGljIHZvaWQgZXRuYXZpdl9nZW1fdXNlcnB0cl9yZWxlYXNlKHN0cnVjdCBldG5h dml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqKQpAQCAtODU1LDcgKzc1NSw2IEBAIHN0YXRpYyB2 b2lkIGV0bmF2aXZfZ2VtX3VzZXJwdHJfcmVsZWFzZShzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0 ICpldG5hdml2X29iaikKIAkJcmVsZWFzZV9wYWdlcyhldG5hdml2X29iai0+cGFnZXMsIG5wYWdl cyk7CiAJCWt2ZnJlZShldG5hdml2X29iai0+cGFnZXMpOwogCX0KLQlwdXRfdGFza19zdHJ1Y3Qo ZXRuYXZpdl9vYmotPnVzZXJwdHIudGFzayk7CiB9CiAKIHN0YXRpYyBpbnQgZXRuYXZpdl9nZW1f dXNlcnB0cl9tbWFwX29iaihzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpldG5hdml2X29iaiwK QEAgLTg4NSw5ICs3ODQsOCBAQCBpbnQgZXRuYXZpdl9nZW1fbmV3X3VzZXJwdHIoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAogCWxvY2tkZXBfc2V0X2NsYXNz KCZldG5hdml2X29iai0+bG9jaywgJmV0bmF2aXZfdXNlcnB0cl9sb2NrX2NsYXNzKTsKIAogCWV0 bmF2aXZfb2JqLT51c2VycHRyLnB0ciA9IHB0cjsKLQlldG5hdml2X29iai0+dXNlcnB0ci50YXNr ID0gY3VycmVudDsKKwlldG5hdml2X29iai0+dXNlcnB0ci5tbSA9IGN1cnJlbnQtPm1tOwogCWV0 bmF2aXZfb2JqLT51c2VycHRyLnJvID0gIShmbGFncyAmIEVUTkFfVVNFUlBUUl9XUklURSk7Ci0J Z2V0X3Rhc2tfc3RydWN0KGN1cnJlbnQpOwogCiAJZXRuYXZpdl9nZW1fb2JqX2FkZChkZXYsICZl dG5hdml2X29iai0+YmFzZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCmlu ZGV4IDAwYmQ5Yzg1MWEwMi4uZDFhN2QwNDBhYzk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfZ2VtLmgKQEAgLTI2LDggKzI2LDcgQEAgc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdDsK IAogc3RydWN0IGV0bmF2aXZfZ2VtX3VzZXJwdHIgewogCXVpbnRwdHJfdCBwdHI7Ci0Jc3RydWN0 IHRhc2tfc3RydWN0ICp0YXNrOwotCXN0cnVjdCB3b3JrX3N0cnVjdCAqd29yazsKKwlzdHJ1Y3Qg bW1fc3RydWN0ICptbTsKIAlib29sIHJvOwogfTsKIAotLSAKMi4xMS4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK