From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v2 3/8] drm/msm/mdp5: Use plane helpers to configure src/dst rectangles Date: Tue, 17 Jan 2017 10:15:07 +0530 Message-ID: <20170117044512.22934-4-architt@codeaurora.org> References: <1482149338-586-1-git-send-email-architt@codeaurora.org> <20170117044512.22934-1-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170117044512.22934-1-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org VGhlIE1EUDUgcGxhbmUncyBhdG9taWNfY2hlY2sgb3BzIGRvZXNuJ3QgcGVyZm9ybSBjbGlwcGlu ZyB0ZXN0cy4KVGhpcyBkaWRuJ3QgaHVydCB1cyBtdWNoIGluIHRoZSBwYXN0LCBidXQgY2xpcHBp bmcgYmVjb21lcyBpbXBvcnRhbnQKd2l0aCBjdXJzb3IgcGxhbmVzLgoKVXNlIGRybV9wbGFuZV9o ZWxwZXJfY2hlY2tfc3RhdGUsIHRoZSB3YXkgcm9ja2NoaXAvaW50ZWwvbXRrIGRyaXZlcnMKYWxy ZWFkeSBkby4gVXNlIHRoZXNlIGRyaXZlcnMgYXMgcmVmZXJlbmNlLgoKQ2xpcHBpbmcgcmVxdWly ZXMga25vd2xlZGdlIG9mIHRoZSBjcnRjIHdpZHRoIGFuZCBoZWlnaHQuIFRoaXMgcmVxdWlyZXMK dXMgdG8gY2FsbCBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0IGJlZm9yZQpkcm1fYXRv bWljX2hlbHBlcl9jaGVja19wbGFuZXMgaW4gdGhlIGRyaXZlcidzIGF0b21pY19jaGVjayBvcCwg YmVjYXVzZQpjaGVja19tb2RldGVzdCB3aWxsIHBvcHVsYXRlIHRoZSBtb2RlIGZvciB0aGUgY3J0 YywgbmVlZGVkIHRvIHBvcHVsYXRlCnRoZSBjbGlwIHJlY3RhbmdsZS4KCldlIHVwZGF0ZSB0aGUg cGxhbmVfZW5hYmxlZChzdGF0ZSkgbG9jYWwgaGVscGVyIHRvIHVzZSBzdGF0ZS0+dmlzaWJsZSwK c2luY2Ugc3RhdGUtPnZpc2libGUgYW5kICdzdGF0ZS0+ZmIgJiYgc3RhdGUtPmNydGMnIHJlcHJl c2VudCB0aGUgc2FtZQp0aGluZy4KCk9uZSBpc3N1ZSB3aXRoIHRoZSBleGlzdGluZyBjb2RlIGlz IHRoYXQgd2UgZG9uJ3QgaGF2ZSBhIHdheSB0byBkaXNhYmxlCnRoZSBwbGFuZSB3aGVuIGl0J3Mg Y29tcGxldGVseSBjbGlwcGVkIG91dC4gVW50aWwgdGhlcmUgaXNuJ3QgYW4gdXBkYXRlCm9uIHRo ZSBjcnRjICh3aGljaCB3b3VsZCBkZS1zdGFnZSB0aGUgcGxhbmUpLCB3ZSB3b3VsZCBzdGlsbCBz ZWUgdGhlCnBsYW5lIGluIGl0cyBsYXN0ICd2aXNpYmxlJyBjb25maWd1cmF0aW9uLgoKU2lnbmVk LW9mZi1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYyB8IDU3ICsrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jICAgICAg ICAgIHwgMjEgKysrKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyks IDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21k cDUvbWRwNV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5l LmMKaW5kZXggZWI4ZGM3YzM2NDE5Li45Mzk5OTFkNWYzNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCkBAIC0yOSwxMCArMjksNyBAQCBzdHJ1Y3QgbWRwNV9w bGFuZSB7CiAKIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKLQkJaW50IGNydGNfeCwgaW50IGNydGNfeSwKLQkJdW5zaWduZWQgaW50IGNydGNfdywg dW5zaWduZWQgaW50IGNydGNfaCwKLQkJdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LAot CQl1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpOworCQlzdHJ1Y3QgZHJtX3JlY3QgKnNy Yywgc3RydWN0IGRybV9yZWN0ICpkZXN0KTsKIAogc3RhdGljIHZvaWQgc2V0X3NjYW5vdXRfbG9j a2VkKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm Yik7CkBAIC00NSw3ICs0Miw3IEBAIHN0YXRpYyBzdHJ1Y3QgbWRwNV9rbXMgKmdldF9rbXMoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUpCiAKIHN0YXRpYyBib29sIHBsYW5lX2VuYWJsZWQoc3RydWN0 IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiB7Ci0JcmV0dXJuIHN0YXRlLT5mYiAmJiBzdGF0ZS0+ Y3J0YzsKKwlyZXR1cm4gc3RhdGUtPnZpc2libGU7CiB9CiAKIHN0YXRpYyB2b2lkIG1kcDVfcGxh bmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKQEAgLTI3Miw2ICsyNjksNyBAQCBz dGF0aWMgdm9pZCBtZHA1X3BsYW5lX2NsZWFudXBfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs CiAJbXNtX2ZyYW1lYnVmZmVyX2NsZWFudXAoZmIsIG1kcDVfa21zLT5pZCk7CiB9CiAKKyNkZWZp bmUgRlJBQ18xNl8xNihtdWx0LCBkaXYpICAgICgoKG11bHQpIDw8IDE2KSAvIChkaXYpKQogc3Rh dGljIGludCBtZHA1X3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiB7CkBAIC0yODEsMTAgKzI3OSwxOSBA QCBzdGF0aWMgaW50IG1kcDVfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCWJvb2wgbmV3X2h3cGlwZSA9IGZhbHNlOwogCXVpbnQzMl90IG1heF93aWR0aCwgbWF4 X2hlaWdodDsKIAl1aW50MzJfdCBjYXBzID0gMDsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJ c3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOworCXN0cnVjdCBkcm1fcmVjdCBjbGlw OworCWludCBtaW5fc2NhbGUsIG1heF9zY2FsZTsKKwlpbnQgcmV0OwogCiAJREJHKCIlczogY2hl Y2sgKCVkIC0+ICVkKSIsIHBsYW5lLT5uYW1lLAogCQkJcGxhbmVfZW5hYmxlZChvbGRfc3RhdGUp LCBwbGFuZV9lbmFibGVkKHN0YXRlKSk7CiAKKwljcnRjID0gc3RhdGUtPmNydGMgPyBzdGF0ZS0+ Y3J0YyA6IHBsYW5lLT5zdGF0ZS0+Y3J0YzsKKwlpZiAoIWNydGMpCisJCXJldHVybiAwOworCiAJ bWF4X3dpZHRoID0gY29uZmlnLT5ody0+bG0ubWF4X3dpZHRoIDw8IDE2OwogCW1heF9oZWlnaHQg PSBjb25maWctPmh3LT5sbS5tYXhfaGVpZ2h0IDw8IDE2OwogCkBAIC0yOTYsNiArMzAzLDIyIEBA IHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJCXJldHVybiAtRVJBTkdFOwogCX0KIAorCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dl dF9leGlzdGluZ19jcnRjX3N0YXRlKHN0YXRlLT5zdGF0ZSwgY3J0Yyk7CisJaWYgKFdBUk5fT04o IWNydGNfc3RhdGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNsaXAueDEgPSAwOworCWNsaXAu eTEgPSAwOworCWNsaXAueDIgPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5Owor CWNsaXAueTIgPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLnZkaXNwbGF5OworCW1pbl9zY2Fs ZSA9IEZSQUNfMTZfMTYoMSwgOCk7CisJbWF4X3NjYWxlID0gRlJBQ18xNl8xNig4LCAxKTsKKwor CXJldCA9IGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoc3RhdGUsICZjbGlwLCBtaW5fc2Nh bGUsCisJCQkJCSAgIG1heF9zY2FsZSwgdHJ1ZSwgdHJ1ZSk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKwogCWlmIChwbGFuZV9lbmFibGVkKHN0YXRlKSkgewogCQl1bnNpZ25lZCBpbnQgcm90 YXRpb247CiAJCWNvbnN0IHN0cnVjdCBtZHBfZm9ybWF0ICpmb3JtYXQ7CkBAIC0zNjgsMTAgKzM5 MSw3IEBAIHN0YXRpYyB2b2lkIG1kcDVfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKIAogCQlyZXQgPSBtZHA1X3BsYW5lX21vZGVfc2V0KHBsYW5lLAogCQkJCXN0 YXRlLT5jcnRjLCBzdGF0ZS0+ZmIsCi0JCQkJc3RhdGUtPmNydGNfeCwgc3RhdGUtPmNydGNfeSwK LQkJCQlzdGF0ZS0+Y3J0Y193LCBzdGF0ZS0+Y3J0Y19oLAotCQkJCXN0YXRlLT5zcmNfeCwgIHN0 YXRlLT5zcmNfeSwKLQkJCQlzdGF0ZS0+c3JjX3csIHN0YXRlLT5zcmNfaCk7CisJCQkJJnN0YXRl LT5zcmMsICZzdGF0ZS0+ZHN0KTsKIAkJLyogYXRvbWljX2NoZWNrIHNob3VsZCBoYXZlIGVuc3Vy ZWQgdGhhdCB0aGlzIGRvZXNuJ3QgZmFpbCAqLwogCQlXQVJOX09OKHJldCA8IDApOwogCX0KQEAg LTY2NCwxMCArNjg0LDcgQEAgc3RhdGljIHZvaWQgbWRwNV93cml0ZV9waXhlbF9leHQoc3RydWN0 IG1kcDVfa21zICptZHA1X2ttcywgZW51bSBtZHA1X3BpcGUgcGlwZSwKIAogc3RhdGljIGludCBt ZHA1X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlzdHJ1Y3QgZHJt X2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAotCQlpbnQgY3J0Y194LCBp bnQgY3J0Y195LAotCQl1bnNpZ25lZCBpbnQgY3J0Y193LCB1bnNpZ25lZCBpbnQgY3J0Y19oLAot CQl1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCi0JCXVpbnQzMl90IHNyY193LCB1aW50 MzJfdCBzcmNfaCkKKwkJc3RydWN0IGRybV9yZWN0ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZGVz dCkKIHsKIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwc3RhdGUgPSBwbGFuZS0+c3RhdGU7CiAJ c3RydWN0IG1kcDVfaHdfcGlwZSAqaHdwaXBlID0gdG9fbWRwNV9wbGFuZV9zdGF0ZShwc3RhdGUp LT5od3BpcGU7CkBAIC02ODMsNiArNzAwLDEwIEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2Rl X3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAl1aW50MzJfdCBwaXhfZm9ybWF0OwogCXVu c2lnbmVkIGludCByb3RhdGlvbjsKIAlib29sIHZmbGlwLCBoZmxpcDsKKwlpbnQgY3J0Y194LCBj cnRjX3k7CisJdW5zaWduZWQgaW50IGNydGNfdywgY3J0Y19oOworCXVpbnQzMl90IHNyY194LCBz cmNfeTsKKwl1aW50MzJfdCBzcmNfdywgc3JjX2g7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlp bnQgcmV0OwogCkBAIC02OTUsNiArNzE2LDE2IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2Rl X3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlmb3JtYXQgPSB0b19tZHBfZm9ybWF0KG1z bV9mcmFtZWJ1ZmZlcl9mb3JtYXQoZmIpKTsKIAlwaXhfZm9ybWF0ID0gZm9ybWF0LT5iYXNlLnBp eGVsX2Zvcm1hdDsKIAorCXNyY194ID0gc3JjLT54MTsKKwlzcmNfeSA9IHNyYy0+eTE7CisJc3Jj X3cgPSBkcm1fcmVjdF93aWR0aChzcmMpOworCXNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KHNyYyk7 CisKKwljcnRjX3ggPSBkZXN0LT54MTsKKwljcnRjX3kgPSBkZXN0LT55MTsKKwljcnRjX3cgPSBk cm1fcmVjdF93aWR0aChkZXN0KTsKKwljcnRjX2ggPSBkcm1fcmVjdF9oZWlnaHQoZGVzdCk7CisK IAkvKiBzcmMgdmFsdWVzIGFyZSBpbiBRMTYgZml4ZWQgcG9pbnQsIGNvbnZlcnQgdG8gaW50ZWdl cjogKi8KIAlzcmNfeCA9IHNyY194ID4+IDE2OwogCXNyY195ID0gc3JjX3kgPj4gMTY7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2F0b21pYy5jCmluZGV4IDMwYjVkMjNlNTNiNC4uNjkyNGZhMjhmMDRmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAtMTUxLDIwICsxNTEsMjkgQEAgc3RhdGljIHZvaWQg Y29tbWl0X3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJY29tcGxldGVfY29tbWl0 KGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgbXNtX2NvbW1pdCwgd29yayksIHRydWUpOwogfQog CisvKgorICogdGhpcyBmdW5jIGlzIGlkZW50aWNhbCB0byB0aGUgZHJtX2F0b21pY19oZWxwZXJf Y2hlY2ssIGJ1dCB3ZSBrZWVwIHRoaXMKKyAqIGJlY2F1c2Ugd2UgbWlnaHQgZXZlbnR1YWxseSBu ZWVkIHRvIGhhdmUgYSBtb3JlIGZpbmVncmFpbmVkIGNoZWNrCisgKiBzZXF1ZW5jZSB3aXRob3V0 IHVzaW5nIHRoZSBhdG9taWMgaGVscGVycy4KKyAqCisgKiBJbiB0aGUgcGFzdCwgd2UgZmlyc3Qg Y2FsbGVkIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lcywgYW5kIHRoZW4KKyAqIGRybV9h dG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQuIFdlIG5lZWRlZCB0aGlzIGJlY2F1c2UgdGhlIE1E UDUgcGxhbmUncworICogLT5hdG9taWNfY2hlY2sgY291bGQgdXBkYXRlIC0+bW9kZV9jaGFuZ2Vk IGZvciBwaXhlbCBmb3JtYXQgY2hhbmdlcy4KKyAqIFRoaXMsIGhvd2V2ZXIgaXNuJ3QgbmVlZGVk IG5vdyBiZWNhdXNlIGlmIHRoZXJlIGlzIGEgcGl4ZWwgZm9ybWF0IGNoYW5nZSwKKyAqIHdlIGp1 c3QgYXNzaWduIGEgbmV3IGh3cGlwZSBmb3IgaXQgd2l0aCBhIG5ldyBTTVAgYWxsb2NhdGlvbi4g V2UgbWlnaHQKKyAqIGV2ZW50dWFsbHkgaGl0IGEgY29uZGl0aW9uIHdoZXJlIHdlIHdvdWxkIG5l ZWQgdG8gZG8gYSBmdWxsIG1vZGVzZXQgaWYKKyAqIHdlIHJ1biBvdXQgb2YgcGxhbmVzLiBUaGVy ZSwgd2UnZCBwcm9iYWJseSBuZWVkIHRvIHNldCBtb2RlX2NoYW5nZWQuCisgKi8KIGludCBtc21f YXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCSAgICAgc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQogewogCWludCByZXQ7CiAKLQkvKgotCSAqIG1zbSAtPmF0b21p Y19jaGVjayBjYW4gdXBkYXRlIC0+bW9kZV9jaGFuZ2VkIGZvciBwaXhlbCBmb3JtYXQKLQkgKiBj aGFuZ2VzLCBoZW5jZSBtdXN0IGJlIHJ1biBiZWZvcmUgd2UgY2hlY2sgdGhlIG1vZGVzZXQgY2hh bmdlcy4KLQkgKi8KLQlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZXMoZGV2LCBz dGF0ZSk7CisJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChkZXYsIHN0YXRl KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0gZHJtX2F0b21pY19oZWxwZXJf Y2hlY2tfbW9kZXNldChkZXYsIHN0YXRlKTsKKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVj a19wbGFuZXMoZGV2LCBzdGF0ZSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotLSAKVGhl IFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2Rl IEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK