From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 2/3] drm: Introduce __setplane_atomic() Date: Thu, 5 Jul 2018 21:59:07 +0300 Message-ID: <20180705185907.9524-1-ville.syrjala@linux.intel.com> References: <20180628135457.14647-2-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-2-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" 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 IHNvbWVvbmUgdG8gY2xlYW4gdGhpcyB1cCBsYXRlci4KCnYyOiBVc2UgZHJtX2Rydl91c2VzX2F0 b21pY19tb2Rlc2V0KCkgKERhbmllbCkKClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu YyB8IDY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmUuYwppbmRleCA1Yzk3YTAxMzE0ODQuLjYxNTNjYmRhMjM5ZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwpA QCAtNjQ5LDYgKzY0OSw4IEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIHsKIAlpbnQgcmV0ID0gMDsKIAorCVdBUk5fT04oZHJtX2Rydl91 c2VzX2F0b21pY19tb2Rlc2V0KHBsYW5lLT5kZXYpKTsKKwogCS8qIE5vIGZiIG1lYW5zIHNodXQg aXQgZG93biAqLwogCWlmICghZmIpIHsKIAkJcGxhbmUtPm9sZF9mYiA9IHBsYW5lLT5mYjsKQEAg LTY3MywxMSArNjc1LDkgQEAgc3RhdGljIGludCBfX3NldHBsYW5lX2ludGVybmFsKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogCQkJCQkgY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAog CQkJCQkgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gsIGN0eCk7CiAJaWYgKCFyZXQpIHsKLQkJ aWYgKCFwbGFuZS0+c3RhdGUpIHsKLQkJCXBsYW5lLT5jcnRjID0gY3J0YzsKLQkJCXBsYW5lLT5m YiA9IGZiOwotCQkJZHJtX2ZyYW1lYnVmZmVyX2dldChwbGFuZS0+ZmIpOwotCQl9CisJCXBsYW5l LT5jcnRjID0gY3J0YzsKKwkJcGxhbmUtPmZiID0gZmI7CisJCWRybV9mcmFtZWJ1ZmZlcl9nZXQo cGxhbmUtPmZiKTsKIAl9IGVsc2UgewogCQlwbGFuZS0+b2xkX2ZiID0gTlVMTDsKIAl9CkBAIC02 OTAsNiArNjkwLDQxIEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IF9fc2V0cGxhbmVf YXRvbWljKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCisJCQkgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJICAgICBpbnQz Ml90IGNydGNfeCwgaW50MzJfdCBjcnRjX3ksCisJCQkgICAgIHVpbnQzMl90IGNydGNfdywgdWlu dDMyX3QgY3J0Y19oLAorCQkJICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCisJ CQkgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCwKKwkJCSAgICAgc3RydWN0IGRy bV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCit7CisJaW50IHJldDsKKworCVdBUk5fT04oIWRy bV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChwbGFuZS0+ZGV2KSk7CisKKwkvKiBObyBmYiBtZWFu cyBzaHV0IGl0IGRvd24gKi8KKwlpZiAoIWZiKQorCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5kaXNh YmxlX3BsYW5lKHBsYW5lLCBjdHgpOworCisJLyoKKwkgKiBGSVhNRTogVGhpcyBpcyByZWR1bmRh bnQgd2l0aCBkcm1fYXRvbWljX3BsYW5lX2NoZWNrKCksCisJICogYnV0IHRoZSBsZWdhY3kgY3Vy c29yLyJhc3luYyIgLnVwZGF0ZV9wbGFuZSgpIHRyaWNrcworCSAqIGRvbid0IGNhbGwgdGhhdCBz byB3ZSBzdGlsbCBuZWVkIHRoaXMgaGVyZS4gU2hvdWxkIHJlbW92ZQorCSAqIHRoaXMgd2hlbiBh bGwgLnVwZGF0ZV9wbGFuZSgpIGltcGxlbWVudGF0aW9ucyBoYXZlIGJlZW4KKwkgKiBmaXhlZCB0 byBjYWxsIGRybV9hdG9taWNfcGxhbmVfY2hlY2soKS4KKwkgKi8KKwlyZXQgPSBfX3NldHBsYW5l X2NoZWNrKHBsYW5lLCBjcnRjLCBmYiwKKwkJCSAgICAgICBjcnRjX3gsIGNydGNfeSwgY3J0Y193 LCBjcnRjX2gsCisJCQkgICAgICAgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gpOworCWlmIChy ZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gcGxhbmUtPmZ1bmNzLT51cGRhdGVfcGxhbmUo cGxhbmUsIGNydGMsIGZiLAorCQkJCQkgIGNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwK KwkJCQkJICBzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNfaCwgY3R4KTsKK30KKwogc3RhdGljIGlu dCBzZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgICAgc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQkJICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwK QEAgLTcwNyw5ICs3NDIsMTUgQEAgc3RhdGljIGludCBzZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAlyZXQgPSBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHgocGxhbmUt PmRldiwgJmN0eCk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwotCXJldCA9IF9fc2V0cGxhbmVf aW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAotCQkJCSAgY3J0Y194LCBjcnRjX3ksIGNydGNfdywg Y3J0Y19oLAotCQkJCSAgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gsICZjdHgpOworCisJaWYg KGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChwbGFuZS0+ZGV2KSkKKwkJcmV0ID0gX19zZXRw bGFuZV9hdG9taWMocGxhbmUsIGNydGMsIGZiLAorCQkJCQljcnRjX3gsIGNydGNfeSwgY3J0Y193 LCBjcnRjX2gsCisJCQkJCXNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oLCAmY3R4KTsKKwllbHNl CisJCXJldCA9IF9fc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAorCQkJCQkgIGNy dGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwKKwkJCQkJICBzcmNfeCwgc3JjX3ksIHNyY193 LCBzcmNfaCwgJmN0eCk7CiAKIGZhaWw6CiAJaWYgKHJldCA9PSAtRURFQURMSykgewpAQCAtODQx LDkgKzg4MiwxNCBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2N1cnNvcl91bml2ZXJzYWwoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQlzcmNfaCA9IGZiLT5oZWlnaHQgPDwgMTY7CiAJfQogCi0JcmV0 ID0gX19zZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0YywgZmIsCi0JCQkJICBjcnRjX3gsIGNy dGNfeSwgY3J0Y193LCBjcnRjX2gsCi0JCQkJICAwLCAwLCBzcmNfdywgc3JjX2gsIGN0eCk7CisJ aWYgKGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChkZXYpKQorCQlyZXQgPSBfX3NldHBsYW5l X2F0b21pYyhwbGFuZSwgY3J0YywgZmIsCisJCQkJCWNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNy dGNfaCwKKwkJCQkJMCwgMCwgc3JjX3csIHNyY19oLCBjdHgpOworCWVsc2UKKwkJcmV0ID0gX19z ZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0YywgZmIsCisJCQkJCSAgY3J0Y194LCBjcnRjX3ks IGNydGNfdywgY3J0Y19oLAorCQkJCQkgIDAsIDAsIHNyY193LCBzcmNfaCwgY3R4KTsKIAogCWlm IChmYikKIAkJZHJtX2ZyYW1lYnVmZmVyX3B1dChmYik7Ci0tIAoyLjE2LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=