From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Yao Subject: [PATCH v2 2/5] drm/rockchip: vop: fix yuv plane support Date: Fri, 26 Jun 2015 18:07:26 +0800 Message-ID: <1435313249-4549-3-git-send-email-mark.yao@rock-chips.com> References: <1435313249-4549-1-git-send-email-mark.yao@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from regular1.263xmail.com (regular1.263xmail.com [211.150.99.134]) by gabe.freedesktop.org (Postfix) with ESMTP id 0FB4E6E536 for ; Fri, 26 Jun 2015 03:07:55 -0700 (PDT) In-Reply-To: <1435313249-4549-1-git-send-email-mark.yao@rock-chips.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: zwl@rock-chips.com, linux-kernel@vger.kernel.org, tfiga@chromium.org, linux-rockchip@lists.infradead.org, xw@rock-chips.com, dkm@rock-chips.com, sandy.huang@rock-chips.com, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org dm9wIHN1cHBvcnQgeXV2IHdpdGggTlYxMiwgTlYxNiBhbmQgTlYyNCwgb25seSAyIHBsYW5lIHl1 di4KClNpZ25lZC1vZmYtYnk6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KCkNo YW5nZXMgaW4gdjI6Ci0gVXYgYnVmZmVyIG5vdCBzdXBwb3J0IG9kZCBvZmZzZXQsIGFsaWduIGl0 LgotIEZpeCBlcnJvciBkaXNwbGF5IHdoZW4gbW92ZSB5dXYgaW1hZ2UuICAKCi0tLQogZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyB8ICAgNjMgKysrKysrKysrKysr KysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf ZHJtX3ZvcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwpp bmRleCAzYzlmNGYzLi42Y2EwOGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3ZvcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2Nr Y2hpcF9kcm1fdm9wLmMKQEAgLTM3Myw2ICszNzMsMTggQEAgc3RhdGljIGVudW0gdm9wX2RhdGFf Zm9ybWF0IHZvcF9jb252ZXJ0X2Zvcm1hdCh1aW50MzJfdCBmb3JtYXQpCiAJfQogfQogCitzdGF0 aWMgYm9vbCBpc195dXZfc3VwcG9ydCh1aW50MzJfdCBmb3JtYXQpCit7CisJc3dpdGNoIChmb3Jt YXQpIHsKKwljYXNlIERSTV9GT1JNQVRfTlYxMjoKKwljYXNlIERSTV9GT1JNQVRfTlYxNjoKKwlj YXNlIERSTV9GT1JNQVRfTlYyNDoKKwkJcmV0dXJuIHRydWU7CisJZGVmYXVsdDoKKwkJcmV0dXJu IGZhbHNlOworCX0KK30KKwogc3RhdGljIGJvb2wgaXNfYWxwaGFfc3VwcG9ydCh1aW50MzJfdCBm b3JtYXQpCiB7CiAJc3dpdGNoIChmb3JtYXQpIHsKQEAgLTU3NywxNiArNTg5LDIxIEBAIHN0YXRp YyBpbnQgdm9wX3VwZGF0ZV9wbGFuZV9ldmVudChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlz dHJ1Y3Qgdm9wICp2b3AgPSB0b192b3AoY3J0Yyk7CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv Ymo7CiAJc3RydWN0IHJvY2tjaGlwX2dlbV9vYmplY3QgKnJrX29iajsKKwlzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKnV2X29iajsKKwlzdHJ1Y3Qgcm9ja2NoaXBfZ2VtX29iamVjdCAqcmtfdXZfb2Jq OwogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0OwogCXVuc2lnbmVkIGludCBhY3R1YWxfdzsKIAl1bnNp Z25lZCBpbnQgYWN0dWFsX2g7CiAJdW5zaWduZWQgaW50IGRzcF9zdHg7CiAJdW5zaWduZWQgaW50 IGRzcF9zdHk7CiAJdW5zaWduZWQgaW50IHlfdmlyX3N0cmlkZTsKKwl1bnNpZ25lZCBpbnQgdXZf dmlyX3N0cmlkZTsKIAlkbWFfYWRkcl90IHlyZ2JfbXN0OworCWRtYV9hZGRyX3QgdXZfbXN0Owog CWVudW0gdm9wX2RhdGFfZm9ybWF0IGZvcm1hdDsKIAl1aW50MzJfdCB2YWw7CiAJYm9vbCBpc19h bHBoYTsKKwlib29sIGlzX3l1djsKIAlib29sIHZpc2libGU7CiAJaW50IHJldDsKIAlzdHJ1Y3Qg ZHJtX3JlY3QgZGVzdCA9IHsKQEAgLTYwOCw2ICs2MjUsMTIgQEAgc3RhdGljIGludCB2b3BfdXBk YXRlX3BsYW5lX2V2ZW50KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCX07CiAJYm9vbCBjYW5f cG9zaXRpb24gPSBwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwogCisJaWYg KGRybV9mb3JtYXRfbnVtX3BsYW5lcyhmYi0+cGl4ZWxfZm9ybWF0KSA+IDIpIHsKKwkJRFJNX0VS Uk9SKCJ1bnN1cHBvcnQgbW9yZSB0aGFuIDIgcGxhbmUgZm9ybWF0WyUwOHhdXG4iLAorCQkJICBm Yi0+cGl4ZWxfZm9ybWF0KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCiAJcmV0ID0gZHJtX3Bs YW5lX2hlbHBlcl9jaGVja191cGRhdGUocGxhbmUsIGNydGMsIGZiLAogCQkJCQkgICAgJnNyYywg JmRlc3QsICZjbGlwLAogCQkJCQkgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLApAQCAt NjI0LDI4ICs2NDcsNTIgQEAgc3RhdGljIGludCB2b3BfdXBkYXRlX3BsYW5lX2V2ZW50KHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCWlmIChmb3JtYXQgPCAwKQogCQlyZXR1cm4gZm9ybWF0Owog CisJaXNfeXV2ID0gaXNfeXV2X3N1cHBvcnQoZmItPnBpeGVsX2Zvcm1hdCk7CisKIAlvYmogPSBy b2NrY2hpcF9mYl9nZXRfZ2VtX29iaihmYiwgMCk7CiAJaWYgKCFvYmopIHsKIAkJRFJNX0VSUk9S KCJmYWlsIHRvIGdldCByb2NrY2hpcCBnZW0gb2JqZWN0IGZyb20gZnJhbWVidWZmZXJcbiIpOwog CQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAoaXNfeXV2KSB7CisJCXNyYy54MSAmPSAofjEp IDw8IDE2OworCQlzcmMueTEgJj0gKH4xKSA8PCAxNjsKKwl9CisKIAlya19vYmogPSB0b19yb2Nr Y2hpcF9vYmoob2JqKTsKIAogCWFjdHVhbF93ID0gKHNyYy54MiAtIHNyYy54MSkgPj4gMTY7CiAJ YWN0dWFsX2ggPSAoc3JjLnkyIC0gc3JjLnkxKSA+PiAxNjsKLQljcnRjX3ggPSBtYXgoMCwgY3J0 Y194KTsKLQljcnRjX3kgPSBtYXgoMCwgY3J0Y195KTsKIAotCWRzcF9zdHggPSBjcnRjX3ggKyBj cnRjLT5tb2RlLmh0b3RhbCAtIGNydGMtPm1vZGUuaHN5bmNfc3RhcnQ7Ci0JZHNwX3N0eSA9IGNy dGNfeSArIGNydGMtPm1vZGUudnRvdGFsIC0gY3J0Yy0+bW9kZS52c3luY19zdGFydDsKKwlkc3Bf c3R4ID0gZGVzdC54MSArIGNydGMtPm1vZGUuaHRvdGFsIC0gY3J0Yy0+bW9kZS5oc3luY19zdGFy dDsKKwlkc3Bfc3R5ID0gZGVzdC55MSArIGNydGMtPm1vZGUudnRvdGFsIC0gY3J0Yy0+bW9kZS52 c3luY19zdGFydDsKIAotCW9mZnNldCA9IChzcmMueDEgPj4gMTYpICogKGZiLT5iaXRzX3Blcl9w aXhlbCA+PiAzKTsKKwlvZmZzZXQgPSAoc3JjLngxID4+IDE2KSAqIGRybV9mb3JtYXRfcGxhbmVf Y3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwogCW9mZnNldCArPSAoc3JjLnkxID4+IDE2KSAqIGZi LT5waXRjaGVzWzBdOwotCXlyZ2JfbXN0ID0gcmtfb2JqLT5kbWFfYWRkciArIG9mZnNldDsKIAor CXlyZ2JfbXN0ID0gcmtfb2JqLT5kbWFfYWRkciArIG9mZnNldCArIGZiLT5vZmZzZXRzWzBdOwog CXlfdmlyX3N0cmlkZSA9IGZiLT5waXRjaGVzWzBdID4+IDI7CiAKKwlpZiAoaXNfeXV2KSB7CisJ CWludCBoc3ViID0gZHJtX2Zvcm1hdF9ob3J6X2Nocm9tYV9zdWJzYW1wbGluZyhmYi0+cGl4ZWxf Zm9ybWF0KTsKKwkJaW50IHZzdWIgPSBkcm1fZm9ybWF0X3ZlcnRfY2hyb21hX3N1YnNhbXBsaW5n KGZiLT5waXhlbF9mb3JtYXQpOworCQlpbnQgYnBwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmIt PnBpeGVsX2Zvcm1hdCwgMSk7CisKKwkJdXZfb2JqID0gcm9ja2NoaXBfZmJfZ2V0X2dlbV9vYmoo ZmIsIDEpOworCQlpZiAoIXV2X29iaikgeworCQkJRFJNX0VSUk9SKCJmYWlsIHRvIGdldCB1diBv YmplY3QgZnJvbSBmcmFtZWJ1ZmZlclxuIik7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQly a191dl9vYmogPSB0b19yb2NrY2hpcF9vYmoodXZfb2JqKTsKKwkJdXZfdmlyX3N0cmlkZSA9IGZi LT5waXRjaGVzWzFdID4+IDI7CisKKwkJb2Zmc2V0ID0gKHNyYy54MSA+PiAxNikgKiBicHAgLyBo c3ViOworCQlvZmZzZXQgKz0gKHNyYy55MSA+PiAxNikgKiBmYi0+cGl0Y2hlc1sxXSAvIHZzdWI7 CisKKwkJdXZfbXN0ID0gcmtfdXZfb2JqLT5kbWFfYWRkciArIG9mZnNldCArIGZiLT5vZmZzZXRz WzFdOworCX0KKwogCS8qCiAJICogSWYgdGhpcyBwbGFuZSB1cGRhdGUgY2hhbmdlcyB0aGUgcGxh bmUncyBmcmFtZWJ1ZmZlciwgKG9yIG1vcmUKIAkgKiBwcmVjaXNlbHksIGlmIHRoaXMgdXBkYXRl IGhhcyBhIGRpZmZlcmVudCBmcmFtZWJ1ZmZlciB0aGFuIHRoZSBsYXN0CkBAIC02ODEsNiArNzI4 LDEwIEBAIHN0YXRpYyBpbnQgdm9wX3VwZGF0ZV9wbGFuZV9ldmVudChzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAlWT1BfV0lOX1NFVCh2b3AsIHdpbiwgZm9ybWF0LCBmb3JtYXQpOwogCVZPUF9X SU5fU0VUKHZvcCwgd2luLCB5cmdiX3ZpciwgeV92aXJfc3RyaWRlKTsKIAlWT1BfV0lOX1NFVCh2 b3AsIHdpbiwgeXJnYl9tc3QsIHlyZ2JfbXN0KTsKKwlpZiAoaXNfeXV2KSB7CisJCVZPUF9XSU5f U0VUKHZvcCwgd2luLCB1dl92aXIsIHV2X3Zpcl9zdHJpZGUpOworCQlWT1BfV0lOX1NFVCh2b3As IHdpbiwgdXZfbXN0LCB1dl9tc3QpOworCX0KIAl2YWwgPSAoYWN0dWFsX2ggLSAxKSA8PCAxNjsK IAl2YWwgfD0gKGFjdHVhbF93IC0gMSkgJiAweGZmZmY7CiAJVk9QX1dJTl9TRVQodm9wLCB3aW4s IGFjdF9pbmZvLCB2YWwpOwotLSAKMS43LjkuNQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==