From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 2/3] drm: Introduce __setplane_atomic() Date: Thu, 28 Jun 2018 16:54:56 +0300 Message-ID: <20180628135457.14647-2-ville.syrjala@linux.intel.com> References: <20180628135457.14647-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180628135457.14647-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFs bCB0aGUgcGxhbmUtPmZiL29sZF9mYi9jcnRjIGRhbmNlIG9mIF9fc2V0cGxhbmVfaW50ZXJuYWwo KSBpcwpwb2ludGxlc3Mgb24gYXRvbWljIGRyaXZlcnMuIFNvIGxldCdzIGp1c3QgaW50cm9kdWNl IGEgc2ltcGxlcgp2ZXJzaW9uIHRoYXQgc2tpcHMgYWxsIHRoYXQuCgpJZGVhbGx5IHdlIGNvdWxk IGFsc28gc2tpcCB0aGUgX19zZXRwbGFuZV9jaGVjaygpIGFzCmRybV9hdG9taWNfcGxhbmVfY2hl Y2soKSBhbHJlYWR5IGNoZWNrcyBmb3IgZXZlcnl0aGluZywgYnV0IHRoZQpsZWdhY3kgY3Vyc29y LyJhc3luYyIgLnVwZGF0ZV9wbGFuZSgpIHRyaWNrcyBieXBhc3MgdGhhdCBzbwp3ZSBzdGlsbCBu ZWVkIHRvIGNhbGwgX19zZXRwbGFuZV9jaGVjaygpLiBUb3NzIGluIGEgRklYTUUgdG8KcmVtaW5k IHNvbWVvbmUgdG8gY2xlYW4gdGhpcyB1cCBsYXRlci4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2RybV9wbGFuZS5jIHwgNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9wbGFuZS5jCmluZGV4IDVjOTdhMDEzMTQ4NC4uNTg3MDIzNDA4MDhjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9wbGFuZS5jCkBAIC02NDksNiArNjQ5LDggQEAgc3RhdGljIGludCBfX3NldHBsYW5lX2lu dGVybmFsKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogewogCWludCByZXQgPSAwOwogCisJV0FS Tl9PTihwbGFuZS0+c3RhdGUpOworCiAJLyogTm8gZmIgbWVhbnMgc2h1dCBpdCBkb3duICovCiAJ aWYgKCFmYikgewogCQlwbGFuZS0+b2xkX2ZiID0gcGxhbmUtPmZiOwpAQCAtNjczLDExICs2NzUs OSBAQCBzdGF0aWMgaW50IF9fc2V0cGxhbmVfaW50ZXJuYWwoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJCQkJCSBjcnRjX3gsIGNydGNfeSwgY3J0Y193LCBjcnRjX2gsCiAJCQkJCSBzcmNfeCwg c3JjX3ksIHNyY193LCBzcmNfaCwgY3R4KTsKIAlpZiAoIXJldCkgewotCQlpZiAoIXBsYW5lLT5z dGF0ZSkgewotCQkJcGxhbmUtPmNydGMgPSBjcnRjOwotCQkJcGxhbmUtPmZiID0gZmI7Ci0JCQlk cm1fZnJhbWVidWZmZXJfZ2V0KHBsYW5lLT5mYik7Ci0JCX0KKwkJcGxhbmUtPmNydGMgPSBjcnRj OworCQlwbGFuZS0+ZmIgPSBmYjsKKwkJZHJtX2ZyYW1lYnVmZmVyX2dldChwbGFuZS0+ZmIpOwog CX0gZWxzZSB7CiAJCXBsYW5lLT5vbGRfZmIgPSBOVUxMOwogCX0KQEAgLTY5MCw2ICs2OTAsNDEg QEAgc3RhdGljIGludCBfX3NldHBsYW5lX2ludGVybmFsKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgX19zZXRwbGFuZV9hdG9taWMoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCisJCQkgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJCSAg ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCisJCQkgICAgIGludDMyX3QgY3J0Y194LCBp bnQzMl90IGNydGNfeSwKKwkJCSAgICAgdWludDMyX3QgY3J0Y193LCB1aW50MzJfdCBjcnRjX2gs CisJCQkgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKKwkJCSAgICAgdWludDMy X3Qgc3JjX3csIHVpbnQzMl90IHNyY19oLAorCQkJICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNx dWlyZV9jdHggKmN0eCkKK3sKKwlpbnQgcmV0OworCisJV0FSTl9PTighcGxhbmUtPnN0YXRlKTsK KworCS8qIE5vIGZiIG1lYW5zIHNodXQgaXQgZG93biAqLworCWlmICghZmIpCisJCXJldHVybiBw bGFuZS0+ZnVuY3MtPmRpc2FibGVfcGxhbmUocGxhbmUsIGN0eCk7CisKKwkvKgorCSAqIEZJWE1F OiBUaGlzIGlzIHJlZHVuZGFudCB3aXRoIGRybV9hdG9taWNfcGxhbmVfY2hlY2soKSwKKwkgKiBi dXQgdGhlIGxlZ2FjeSBjdXJzb3IvImFzeW5jIiAudXBkYXRlX3BsYW5lKCkgdHJpY2tzCisJICog ZG9uJ3QgY2FsbCB0aGF0IHNvIHdlIHN0aWxsIG5lZWQgdGhpcyBoZXJlLiBTaG91bGQgcmVtb3Zl CisJICogdGhpcyB3aGVuIGFsbCAudXBkYXRlX3BsYW5lKCkgaW1wbGVtZW50YXRpb25zIGhhdmUg YmVlbgorCSAqIGZpeGVkIHRvIGNhbGwgZHJtX2F0b21pY19wbGFuZV9jaGVjaygpLgorCSAqLwor CXJldCA9IF9fc2V0cGxhbmVfY2hlY2socGxhbmUsIGNydGMsIGZiLAorCQkJICAgICAgIGNydGNf eCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwKKwkJCSAgICAgICBzcmNfeCwgc3JjX3ksIHNyY193 LCBzcmNfaCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBwbGFuZS0+ZnVu Y3MtPnVwZGF0ZV9wbGFuZShwbGFuZSwgY3J0YywgZmIsCisJCQkJCSAgY3J0Y194LCBjcnRjX3ks IGNydGNfdywgY3J0Y19oLAorCQkJCQkgIHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oLCBjdHgp OworfQorCiBzdGF0aWMgaW50IHNldHBsYW5lX2ludGVybmFsKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkgICAgIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiLApAQCAtNzA3LDkgKzc0MiwxNSBAQCBzdGF0aWMgaW50IHNldHBsYW5l X2ludGVybmFsKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXJldCA9IGRybV9tb2Rlc2V0X2xv Y2tfYWxsX2N0eChwbGFuZS0+ZGV2LCAmY3R4KTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7Ci0J cmV0ID0gX19zZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0YywgZmIsCi0JCQkJICBjcnRjX3gs IGNydGNfeSwgY3J0Y193LCBjcnRjX2gsCi0JCQkJICBzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNf aCwgJmN0eCk7CisKKwlpZiAocGxhbmUtPnN0YXRlKQorCQlyZXQgPSBfX3NldHBsYW5lX2F0b21p YyhwbGFuZSwgY3J0YywgZmIsCisJCQkJCWNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwK KwkJCQkJc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gsICZjdHgpOworCWVsc2UKKwkJcmV0ID0g X19zZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0YywgZmIsCisJCQkJCSAgY3J0Y194LCBjcnRj X3ksIGNydGNfdywgY3J0Y19oLAorCQkJCQkgIHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oLCAm Y3R4KTsKIAogZmFpbDoKIAlpZiAocmV0ID09IC1FREVBRExLKSB7CkBAIC04NDEsOSArODgyLDE0 IEBAIHN0YXRpYyBpbnQgZHJtX21vZGVfY3Vyc29yX3VuaXZlcnNhbChzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJCXNyY19oID0gZmItPmhlaWdodCA8PCAxNjsKIAl9CiAKLQlyZXQgPSBfX3NldHBs YW5lX2ludGVybmFsKHBsYW5lLCBjcnRjLCBmYiwKLQkJCQkgIGNydGNfeCwgY3J0Y195LCBjcnRj X3csIGNydGNfaCwKLQkJCQkgIDAsIDAsIHNyY193LCBzcmNfaCwgY3R4KTsKKwlpZiAocGxhbmUt PnN0YXRlKQorCQlyZXQgPSBfX3NldHBsYW5lX2F0b21pYyhwbGFuZSwgY3J0YywgZmIsCisJCQkJ CWNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwKKwkJCQkJMCwgMCwgc3JjX3csIHNyY19o LCBjdHgpOworCWVsc2UKKwkJcmV0ID0gX19zZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0Yywg ZmIsCisJCQkJCSAgY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAorCQkJCQkgIDAsIDAs IHNyY193LCBzcmNfaCwgY3R4KTsKIAogCWlmIChmYikKIAkJZHJtX2ZyYW1lYnVmZmVyX3B1dChm Yik7Ci0tIAoyLjE2LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=