From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: [PATCH 10/10] drm/imx: ipuv3-plane: use drm_plane_helper_check_state,
clipped coordinates
Date: Wed, 19 Oct 2016 12:21:17 +0200
Message-ID: <1476872477-29493-10-git-send-email-p.zabel@pengutronix.de>
References: <1476872477-29493-1-git-send-email-p.zabel@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 B0DD16E8C3
for ; Wed, 19 Oct 2016 10:21:25 +0000 (UTC)
In-Reply-To: <1476872477-29493-1-git-send-email-p.zabel@pengutronix.de>
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: kernel@pengutronix.de
List-Id: dri-devel@lists.freedesktop.org
VXNlIGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUgdG8gY2xpcCByYXcgdXNlciBjb29yZGlu
YXRlcyB0byBjcnRjCmJvdW5kcy4gVGhpcyBjaGVja3MgZm9yIGZ1bGwgcGxhbmUgY292ZXJhZ2Ug
YW5kIHNjYWxpbmcgYWxyZWFkeSwgc28Kd2UgY2FuIGRyb3Agc29tZSBjdXN0b20gY2hlY2tzLiBV
c2UgdGhlIGNsaXBwZWQgY29vcmRpbmF0ZXMgZXZlcnl3aGVyZS4KClN1Z2dlc3RlZC1ieTogVmls
bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1i
eTogUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KLS0tCiBkcml2ZXJzL2dw
dS9kcm0vaW14L2lwdXYzLXBsYW5lLmMgfCA3OCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMgYi9k
cml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKaW5kZXggNmE5N2UzOTYuLmYwY2U4OTkg
MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYworKysgYi9kcml2
ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKQEAgLTcwLDggKzcwLDggQEAgZHJtX3BsYW5l
X3N0YXRlX3RvX2ViYShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3Qg
ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRlLT5mYjsKIAlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2Jq
ZWN0ICpjbWFfb2JqOwotCWludCB4ID0gc3RhdGUtPnNyY194ID4+IDE2OwotCWludCB5ID0gc3Rh
dGUtPnNyY195ID4+IDE2OworCWludCB4ID0gc3RhdGUtPnNyYy54MSA+PiAxNjsKKwlpbnQgeSA9
IHN0YXRlLT5zcmMueTEgPj4gMTY7CiAKIAljbWFfb2JqID0gZHJtX2ZiX2NtYV9nZXRfZ2VtX29i
aihmYiwgMCk7CiAJQlVHX09OKCFjbWFfb2JqKTsKQEAgLTg2LDggKzg2LDggQEAgZHJtX3BsYW5l
X3N0YXRlX3RvX3VibyhzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKIAlzdHJ1Y3QgZHJt
X2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRlLT5mYjsKIAlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0
ICpjbWFfb2JqOwogCXVuc2lnbmVkIGxvbmcgZWJhID0gZHJtX3BsYW5lX3N0YXRlX3RvX2ViYShz
dGF0ZSk7Ci0JaW50IHggPSBzdGF0ZS0+c3JjX3ggPj4gMTY7Ci0JaW50IHkgPSBzdGF0ZS0+c3Jj
X3kgPj4gMTY7CisJaW50IHggPSBzdGF0ZS0+c3JjLngxID4+IDE2OworCWludCB5ID0gc3RhdGUt
PnNyYy55MSA+PiAxNjsKIAogCWNtYV9vYmogPSBkcm1fZmJfY21hX2dldF9nZW1fb2JqKGZiLCAx
KTsKIAlCVUdfT04oIWNtYV9vYmopOwpAQCAtMTA1LDggKzEwNSw4IEBAIGRybV9wbGFuZV9zdGF0
ZV90b192Ym8oc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiAJc3RydWN0IGRybV9mcmFt
ZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21h
X29iajsKIAl1bnNpZ25lZCBsb25nIGViYSA9IGRybV9wbGFuZV9zdGF0ZV90b19lYmEoc3RhdGUp
OwotCWludCB4ID0gc3RhdGUtPnNyY194ID4+IDE2OwotCWludCB5ID0gc3RhdGUtPnNyY195ID4+
IDE2OworCWludCB4ID0gc3RhdGUtPnNyYy54MSA+PiAxNjsKKwlpbnQgeSA9IHN0YXRlLT5zcmMu
eTEgPj4gMTY7CiAKIAljbWFfb2JqID0gZHJtX2ZiX2NtYV9nZXRfZ2VtX29iaihmYiwgMik7CiAJ
QlVHX09OKCFjbWFfb2JqKTsKQEAgLTIxOCw3ICsyMTgsMTAgQEAgc3RhdGljIGludCBpcHVfcGxh
bmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1fZnJh
bWVidWZmZXIgKmZiID0gc3RhdGUtPmZiOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9m
YiA9IG9sZF9zdGF0ZS0+ZmI7CiAJdW5zaWduZWQgbG9uZyBlYmEsIHVibywgdmJvLCBvbGRfdWJv
LCBvbGRfdmJvOworCWJvb2wgY2FuX3Bvc2l0aW9uID0gKHBsYW5lLT50eXBlID09IERSTV9QTEFO
RV9UWVBFX09WRVJMQVkpOworCXN0cnVjdCBkcm1fcmVjdCBjbGlwOwogCWludCBoc3ViLCB2c3Vi
OworCWludCByZXQ7CiAKIAkvKiBPayB0byBkaXNhYmxlICovCiAJaWYgKCFmYikKQEAgLTIzMiw0
NCArMjM1LDM1IEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJt
X3BsYW5lICpwbGFuZSwKIAlpZiAoV0FSTl9PTighY3J0Y19zdGF0ZSkpCiAJCXJldHVybiAtRUlO
VkFMOwogCisJY2xpcC54MSA9IDA7CisJY2xpcC55MSA9IDA7CisJY2xpcC54MiA9IGNydGNfc3Rh
dGUtPmFkanVzdGVkX21vZGUuaGRpc3BsYXk7CisJY2xpcC55MiA9IGNydGNfc3RhdGUtPmFkanVz
dGVkX21vZGUudmRpc3BsYXk7CisJcmV0ID0gZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZShz
dGF0ZSwgJmNsaXAsCisJCQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKKwkJCQkJ
ICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAorCQkJCQkgICBjYW5fcG9zaXRpb24sIHRy
dWUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAkvKiBDUlRDIHNob3VsZCBiZSBlbmFi
bGVkICovCiAJaWYgKCFjcnRjX3N0YXRlLT5lbmFibGUpCiAJCXJldHVybiAtRUlOVkFMOwogCi0J
Lyogbm8gc2NhbGluZyAqLwotCWlmIChzdGF0ZS0+c3JjX3cgPj4gMTYgIT0gc3RhdGUtPmNydGNf
dyB8fAotCSAgICBzdGF0ZS0+c3JjX2ggPj4gMTYgIT0gc3RhdGUtPmNydGNfaCkKLQkJcmV0dXJu
IC1FSU5WQUw7Ci0KIAlzd2l0Y2ggKHBsYW5lLT50eXBlKSB7CiAJY2FzZSBEUk1fUExBTkVfVFlQ
RV9QUklNQVJZOgotCQkvKiBmdWxsIHBsYW5lIGRvZXNuJ3Qgc3VwcG9ydCBwYXJ0aWFsIG9mZiBz
Y3JlZW4gKi8KLQkJaWYgKHN0YXRlLT5jcnRjX3ggfHwgc3RhdGUtPmNydGNfeSB8fAotCQkgICAg
c3RhdGUtPmNydGNfdyAhPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5IHx8Ci0J
CSAgICBzdGF0ZS0+Y3J0Y19oICE9IGNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUudmRpc3BsYXkp
Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQogCQkvKiBmdWxsIHBsYW5lIG1pbmltdW0gd2lkdGggaXMg
MTMgcGl4ZWxzICovCi0JCWlmIChzdGF0ZS0+Y3J0Y193IDwgMTMpCisJCWlmIChkcm1fcmVjdF93
aWR0aCgmc3RhdGUtPmRzdCkgPCAxMykKIAkJCXJldHVybiAtRUlOVkFMOwogCQlicmVhazsKIAlj
YXNlIERSTV9QTEFORV9UWVBFX09WRVJMQVk6Ci0JCWlmIChzdGF0ZS0+Y3J0Y194IDwgMCB8fCBz
dGF0ZS0+Y3J0Y195IDwgMCkKLQkJCXJldHVybiAtRUlOVkFMOwotCi0JCWlmIChzdGF0ZS0+Y3J0
Y194ICsgc3RhdGUtPmNydGNfdyA+Ci0JCSAgICBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhk
aXNwbGF5KQotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCWlmIChzdGF0ZS0+Y3J0Y195ICsgc3RhdGUt
PmNydGNfaCA+Ci0JCSAgICBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLnZkaXNwbGF5KQotCQkJ
cmV0dXJuIC1FSU5WQUw7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCWRldl93YXJuKGRldiwgIlVu
c3VwcG9ydGVkIHBsYW5lIHR5cGVcbiIpOworCQlkZXZfd2FybihkZXYsICJVbnN1cHBvcnRlZCBw
bGFuZSB0eXBlICVkXG4iLCBwbGFuZS0+dHlwZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAot
CWlmIChzdGF0ZS0+Y3J0Y19oIDwgMikKKwlpZiAoZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+ZHN0
KSA8IDIpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJLyoKQEAgLTI3OSw5ICsyNzMsOCBAQCBzdGF0
aWMgaW50IGlwdV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJ
ICogY2FsbGJhY2suICBUaGUgcGxhbmVzIHdpbGwgYmUgcmVlbmFibGVkIGluIHBsYW5lJ3MgLT5h
dG9taWNfdXBkYXRlCiAJICogY2FsbGJhY2suCiAJICovCi0JaWYgKG9sZF9mYiAmJiAoc3RhdGUt
PnNyY193ICE9IG9sZF9zdGF0ZS0+c3JjX3cgfHwKLQkJCSAgICAgIHN0YXRlLT5zcmNfaCAhPSBv
bGRfc3RhdGUtPnNyY19oIHx8Ci0JCQkgICAgICBmYi0+cGl4ZWxfZm9ybWF0ICE9IG9sZF9mYi0+
cGl4ZWxfZm9ybWF0KSkKKwlpZiAob2xkX2ZiICYmICghZHJtX3JlY3RfZXF1YWxzKCZzdGF0ZS0+
ZHN0LCAmb2xkX3N0YXRlLT5kc3QpIHx8CisJCSAgICAgICBmYi0+cGl4ZWxfZm9ybWF0ICE9IG9s
ZF9mYi0+cGl4ZWxfZm9ybWF0KSkKIAkJY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsK
IAogCWViYSA9IGRybV9wbGFuZV9zdGF0ZV90b19lYmEoc3RhdGUpOwpAQCAtMzUwLDggKzM0Myw4
IEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpw
bGFuZSwKIAkJICovCiAJCWhzdWIgPSBkcm1fZm9ybWF0X2hvcnpfY2hyb21hX3N1YnNhbXBsaW5n
KGZiLT5waXhlbF9mb3JtYXQpOwogCQl2c3ViID0gZHJtX2Zvcm1hdF92ZXJ0X2Nocm9tYV9zdWJz
YW1wbGluZyhmYi0+cGl4ZWxfZm9ybWF0KTsKLQkJaWYgKCgoc3RhdGUtPnNyY194ID4+IDE2KSAm
IChoc3ViIC0gMSkpIHx8Ci0JCSAgICAoKHN0YXRlLT5zcmNfeSA+PiAxNikgJiAodnN1YiAtIDEp
KSkKKwkJaWYgKCgoc3RhdGUtPnNyYy54MSA+PiAxNikgJiAoaHN1YiAtIDEpKSB8fAorCQkgICAg
KChzdGF0ZS0+c3JjLnkxID4+IDE2KSAmICh2c3ViIC0gMSkpKQogCQkJcmV0dXJuIC1FSU5WQUw7
CiAJfQogCkBAIC0zOTUsOCArMzg4LDggQEAgc3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191
cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCWljcyA9IGlwdV9kcm1fZm91cmNjX3Rv
X2NvbG9yc3BhY2Uoc3RhdGUtPmZiLT5waXhlbF9mb3JtYXQpOwogCQlpcHVfZHBfc2V0dXBfY2hh
bm5lbChpcHVfcGxhbmUtPmRwLCBpY3MsCiAJCQkJCUlQVVYzX0NPTE9SU1BBQ0VfVU5LTk9XTik7
Ci0JCWlwdV9kcF9zZXRfd2luZG93X3BvcyhpcHVfcGxhbmUtPmRwLCBzdGF0ZS0+Y3J0Y194LAot
CQkJCQlzdGF0ZS0+Y3J0Y195KTsKKwkJaXB1X2RwX3NldF93aW5kb3dfcG9zKGlwdV9wbGFuZS0+
ZHAsCisJCQkJICAgICAgc3RhdGUtPmRzdC54MSwgc3RhdGUtPmRzdC55MSk7CiAJCS8qIEVuYWJs
ZSBsb2NhbCBhbHBoYSBvbiBwYXJ0aWFsIHBsYW5lICovCiAJCXN3aXRjaCAoc3RhdGUtPmZiLT5w
aXhlbF9mb3JtYXQpIHsKIAkJY2FzZSBEUk1fRk9STUFUX0FSR0IxNTU1OgpAQCAtNDE2LDExICs0
MDksMTIgQEAgc3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9w
bGFuZSAqcGxhbmUsCiAJCX0KIAl9CiAKLQlpcHVfZG1mY19jb25maWdfd2FpdDRlb3QoaXB1X3Bs
YW5lLT5kbWZjLCBzdGF0ZS0+Y3J0Y193KTsKKwlpcHVfZG1mY19jb25maWdfd2FpdDRlb3QoaXB1
X3BsYW5lLT5kbWZjLCBkcm1fcmVjdF93aWR0aCgmc3RhdGUtPmRzdCkpOwogCiAJaXB1X2NwbWVt
X3plcm8oaXB1X3BsYW5lLT5pcHVfY2gpOwotCWlwdV9jcG1lbV9zZXRfcmVzb2x1dGlvbihpcHVf
cGxhbmUtPmlwdV9jaCwgc3RhdGUtPnNyY193ID4+IDE2LAotCQkJCQlzdGF0ZS0+c3JjX2ggPj4g
MTYpOworCWlwdV9jcG1lbV9zZXRfcmVzb2x1dGlvbihpcHVfcGxhbmUtPmlwdV9jaCwKKwkJCQkg
ZHJtX3JlY3Rfd2lkdGgoJnN0YXRlLT5zcmMpID4+IDE2LAorCQkJCSBkcm1fcmVjdF9oZWlnaHQo
JnN0YXRlLT5zcmMpID4+IDE2KTsKIAlpcHVfY3BtZW1fc2V0X2ZtdChpcHVfcGxhbmUtPmlwdV9j
aCwgc3RhdGUtPmZiLT5waXhlbF9mb3JtYXQpOwogCWlwdV9jcG1lbV9zZXRfaGlnaF9wcmlvcml0
eShpcHVfcGxhbmUtPmlwdV9jaCk7CiAJaXB1X2lkbWFjX3NldF9kb3VibGVfYnVmZmVyKGlwdV9w
bGFuZS0+aXB1X2NoLCAxKTsKQEAgLTQ0NCw3ICs0MzgsNyBAQCBzdGF0aWMgdm9pZCBpcHVfcGxh
bmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAogCQlkZXZfZGJnKGlw
dV9wbGFuZS0+YmFzZS5kZXYtPmRldiwKIAkJCSJwaHkgPSAlbHUgJWx1ICVsdSwgeCA9ICVkLCB5
ID0gJWQiLCBlYmEsIHVibywgdmJvLAotCQkJc3RhdGUtPnNyY194ID4+IDE2LCBzdGF0ZS0+c3Jj
X3kgPj4gMTYpOworCQkJc3RhdGUtPnNyYy54MSA+PiAxNiwgc3RhdGUtPnNyYy55MSA+PiAxNik7
CiAJCWJyZWFrOwogCWNhc2UgRFJNX0ZPUk1BVF9OVjEyOgogCWNhc2UgRFJNX0ZPUk1BVF9OVjE2
OgpAQCAtNDU1LDExICs0NDksMTEgQEAgc3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191cGRh
dGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAkJZGV2X2RiZyhpcHVfcGxhbmUtPmJhc2Uu
ZGV2LT5kZXYsCiAJCQkicGh5ID0gJWx1ICVsdSwgeCA9ICVkLCB5ID0gJWQiLCBlYmEsIHVibywK
LQkJCXN0YXRlLT5zcmNfeCA+PiAxNiwgc3RhdGUtPnNyY195ID4+IDE2KTsKKwkJCXN0YXRlLT5z
cmMueDEgPj4gMTYsIHN0YXRlLT5zcmMueTEgPj4gMTYpOwogCQlicmVhazsKIAlkZWZhdWx0Ogog
CQlkZXZfZGJnKGlwdV9wbGFuZS0+YmFzZS5kZXYtPmRldiwgInBoeXMgPSAlbHUsIHggPSAlZCwg
eSA9ICVkIiwKLQkJCWViYSwgc3RhdGUtPnNyY194ID4+IDE2LCBzdGF0ZS0+c3JjX3kgPj4gMTYp
OworCQkJZWJhLCBzdGF0ZS0+c3JjLngxID4+IDE2LCBzdGF0ZS0+c3JjLnkxID4+IDE2KTsKIAkJ
YnJlYWs7CiAJfQogCWlwdV9jcG1lbV9zZXRfYnVmZmVyKGlwdV9wbGFuZS0+aXB1X2NoLCAwLCBl
YmEpOwotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w
Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k
ZXZlbAo=