From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shobhit Kumar Subject: [RFC] drm/i915/chv: Clip cursor for CHV pipe C HW Cursor pos < 0 Date: Tue, 28 Jun 2016 17:57:53 +0530 Message-ID: <1467116873-31987-1-git-send-email-shobhit.kumar@linux.intel.com> References: <20160613142227.GB1338@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id EA1E66E574 for ; Tue, 28 Jun 2016 12:27:55 +0000 (UTC) In-Reply-To: <20160613142227.GB1338@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: deepak.s@intel.com, Shobhit Kumar , akshu.agrawal@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2hvYmhpdCBLdW1hciA8c2hvYmhpdC5rdW1hckBpbnRlbC5jb20+CgpDSFYgcGlwZSBD IGhpdHMgdW5kZXJydW4gd2hlbiB3ZSBnZXQgbmVnYXRpdmUgY3J0Y194IHZhbHVlcyBvZiBjdXJz b3IuClRvIGF2b2lkIHRoaXMgd2UgY2xpcCBhbmQgc2hpZnQgdGhlIGN1cnNvciBpbWFnZSBieSBu ZWdhdGl2ZSBjcnRjX3gKdmFsdWUuCgp2MjogTWFrZSBhIGNvcHkgb2YgY3Vyc29yIHBsYW5lIHN0 YXRlIGFuZCBhbGxvY2F0ZSBuZXcgZ2VtIG9iamVjdCBhbmQgZmIKICAgIGZvciBjbGlwcGVkIGN1 cnNvciBhbmQgdXNlIHRoYXQgaW4gY2FzZSBvZiBuZWdhdGl2ZSBjdXJzb3IgcG9zaXRpb24KClNp Z25lZC1vZmYtYnk6IEFrc2h1IEFncmF3YWwgPGFrc2h1LmFncmF3YWxAaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTaG9iaGl0IEt1bWFyIDxzaG9iaGl0Lmt1bWFyQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgIDcgKysKIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDcyNGQzNGIuLjFlNTljMDIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjA0MSw2ICsyMDQxLDEzIEBAIHN0cnVjdCBkcm1faTkx NV9wcml2YXRlIHsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZGlnX3BvcnRfbWFwW0k5MTVfTUFY X1BPUlRTXTsKIAogCS8qCisJKiBUZW1wb3JhcnkgY29weSBvZiBjdXJzb3IgcGxhbmUgc3RhdGUg Zm9yIENIViBQSVBFX0MKKwkqIFdpbGwgYmUgaW5pdGlhbGl6ZWQgb25seSB3aGVuIGNydGNfeCA8 IDAgYXMgdGhlcmUgaXMgYQorCSogSFcgYnVnIGNhdXNpbmcgcGlwZSB1bmRlcnJ1bgorCSovCisJ c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpjdXJzb3Jfc3RhdGU7CisKKwkvKgogCSAqIE5PVEU6 IFRoaXMgaXMgdGhlIGRyaTEvdW1zIGR1bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3Vy IHBhdGNoCiAJICogd2lsbCBiZSByZWplY3RlZC4gSW5zdGVhZCBsb29rIGZvciBhIGJldHRlciBw bGFjZS4KIAkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBjM2I1ZGM4 Li5jNDk4OGQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNDQ1Niw2 ICsxNDQ1NiwxMjMgQEAgaW50ZWxfdXBkYXRlX2N1cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0Yywgc3RhdGUpOwogfQogCitz dGF0aWMgdm9pZAoraW50ZWxfdXBkYXRlX2Nodl9waXBlX2NfY3Vyc29yX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAorCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKKwkJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGM7CisJc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBwbGFuZS0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9 IGludGVsX2ZiX29iaihzdGF0ZS0+YmFzZS5mYik7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKmN1cl9vYmogPSBOVUxMLCAqdXNlX29iaiA9IE5VTEw7CisJdWludDMyX3QgYWRkcjsKKwlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmN1cnNvcl9zdGF0ZSA9IGRldl9wcml2LT5jdXJzb3Jf c3RhdGU7CisJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICp1c2Vfc3RhdGU7CisJY2hh ciBfX2lvbWVtICpzcmMsICpkc3Q7CisKKwlpZiAoc3RhdGUtPnZpc2libGUgJiYgc3RhdGUtPmJh c2UuY3J0Y194IDwgMCkgeworCQlpbnQgYnl0ZXNfcGVyX3BpeGVsID0gc3RhdGUtPmJhc2UuZmIt PmJpdHNfcGVyX3BpeGVsIC8gODsKKwkJaW50IHggPSBzdGF0ZS0+YmFzZS5jcnRjX3g7CisJCWlu dCB3aWR0aCA9IHN0YXRlLT5iYXNlLmNydGNfdzsKKwkJaW50IGhlaWdodCA9IHN0YXRlLT5iYXNl LmNydGNfaDsKKwkJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgbW9kZV9jbWQgPSB7IDAgfTsKKwkJ aW50IGk7CisKKwkJaWYgKCFjdXJzb3Jfc3RhdGUpIHsKKwkJCWN1cnNvcl9zdGF0ZSA9IGt6YWxs b2Moc2l6ZW9mKCpjdXJzb3Jfc3RhdGUpLCBHRlBfS0VSTkVMKTsKKwkJCWlmICghY3Vyc29yX3N0 YXRlKSB7CisJCQkJdXNlX3N0YXRlID0gc3RhdGU7CisJCQkJdXNlX29iaiA9IG9iajsKKwkJCQln b3RvIHVwZGF0ZTsKKwkJCX0KKworCQkJbWVtY3B5KGN1cnNvcl9zdGF0ZSwgc3RhdGUsIHNpemVv Zigqc3RhdGUpKTsKKwkJCWN1cnNvcl9zdGF0ZS0+YmFzZS5jcnRjX3ggPSAwOworCisJCQkvKiBB bGxvY2F0ZSBuZXcgZ2VtIG9iamVjdCAqLworCQkJY3VyX29iaiA9IGk5MTVfZ2VtX29iamVjdF9j cmVhdGUoZGV2LCBvYmotPmJhc2Uuc2l6ZSk7CisJCQlpZiAoSVNfRVJSKGN1cl9vYmopKSB7CisJ CQkJa2ZyZWUoY3Vyc29yX3N0YXRlKTsKKwkJCQl1c2Vfc3RhdGUgPSBzdGF0ZTsKKwkJCQl1c2Vf b2JqID0gb2JqOworCQkJCWdvdG8gdXBkYXRlOworCQkJfQorCisJCQltb2RlX2NtZC53aWR0aCA9 IGN1cnNvcl9zdGF0ZS0+YmFzZS5mYi0+d2lkdGg7CisJCQltb2RlX2NtZC5oZWlnaHQgPSBjdXJz b3Jfc3RhdGUtPmJhc2UuZmItPmhlaWdodDsKKwkJCW1vZGVfY21kLnBpdGNoZXNbMF0gPSBjdXJz b3Jfc3RhdGUtPmJhc2UuZmItPnBpdGNoZXNbMF07CisJCQltb2RlX2NtZC5waXhlbF9mb3JtYXQg PSBjdXJzb3Jfc3RhdGUtPmJhc2UuZmItPnBpeGVsX2Zvcm1hdDsKKworCQkJY3Vyc29yX3N0YXRl LT5iYXNlLmZiID0gaW50ZWxfZnJhbWVidWZmZXJfY3JlYXRlKGRldiwgJm1vZGVfY21kLCBjdXJf b2JqKTsKKwkJCWlmIChJU19FUlIoY3Vyc29yX3N0YXRlLT5iYXNlLmZiKSkgeworCQkJCWRybV9n ZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKCZjdXJfb2JqLT5iYXNlKTsKKwkJCQlrZnJl ZShjdXJzb3Jfc3RhdGUpOworCQkJCXVzZV9zdGF0ZSA9IHN0YXRlOworCQkJCXVzZV9vYmogPSBv Ymo7CisJCQkJZ290byB1cGRhdGU7CisJCQl9CisKKwkJCWRldl9wcml2LT5jdXJzb3Jfc3RhdGUg PSBjdXJzb3Jfc3RhdGU7CisJCX0gZWxzZQorCQkJY3VyX29iaiA9IGludGVsX2ZiX29iaihjdXJz b3Jfc3RhdGUtPmJhc2UuZmIpOworCisJCXNyYyA9IGlvcmVtYXBfd2MoZGV2X3ByaXYtPmdndHQu bWFwcGFibGVfYmFzZSArCisJCQkJaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaiksCisJCQkJ b2JqLT5iYXNlLnNpemUpOworCisJCWRzdCA9IGlvcmVtYXBfd2MoZGV2X3ByaXYtPmdndHQubWFw cGFibGVfYmFzZSArCisJCQkJaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGN1cl9vYmopLAorCQkJ CWN1cl9vYmotPmJhc2Uuc2l6ZSk7CisKKwkJLyogc2hpZnQgdGhlIG9yaWdpbmFsIGN1c3Jzb3Ig aW4gdG8gY29weSBidWZmZXIgb2Zmc2V0dGluZyAtaXZlIHBvcyAqLworCQl4ID0gLXg7CisJCWZv ciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgeworCQkJc3JjICs9IHggKiBieXRlc19wZXJfcGl4 ZWw7CisJCQltZW1jcHkoZHN0LCBzcmMsICh3aWR0aCAtIHgpICogYnl0ZXNfcGVyX3BpeGVsKTsK KwkJCWRzdCArPSAod2lkdGggLSB4KSAqIGJ5dGVzX3Blcl9waXhlbDsKKwkJCW1lbXNldChkc3Qs IDAsIHggKiBieXRlc19wZXJfcGl4ZWwpOworCQkJZHN0ICs9IHggKiBieXRlc19wZXJfcGl4ZWw7 CisJCQlzcmMgKz0gKHdpZHRoIC14KSAqIGJ5dGVzX3Blcl9waXhlbDsKKwkJfQorCisJCWlvdW5t YXAoc3JjKTsKKwkJaW91bm1hcChkc3QpOworCisJCXVzZV9vYmogPSBjdXJfb2JqOworCQl1c2Vf c3RhdGUgPSBjdXJzb3Jfc3RhdGU7CisJfSBlbHNlIHsKKwkJLyogZnJlZSB0aGUgY3Vyc29yX3N0 YXRlIGlmIGNhY2hlZCAqLworCQlpZiAoY3Vyc29yX3N0YXRlKSB7CisJCQlzdHJ1Y3QgaW50ZWxf ZnJhbWVidWZmZXIgKmludGVsX2ZiID0gdG9faW50ZWxfZnJhbWVidWZmZXIoY3Vyc29yX3N0YXRl LT5iYXNlLmZiKTsKKwkJCWRybV9mcmFtZWJ1ZmZlcl9jbGVhbnVwKGN1cnNvcl9zdGF0ZS0+YmFz ZS5mYik7CisJCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJCQlkcm1fZ2VtX29i amVjdF91bnJlZmVyZW5jZSgmaW50ZWxfZmItPm9iai0+YmFzZSk7CisJCQltdXRleF91bmxvY2so JmRldi0+c3RydWN0X211dGV4KTsKKwkJCWtmcmVlKGludGVsX2ZiKTsKKworCQkJa2ZyZWUoY3Vy c29yX3N0YXRlKTsKKwkJCWN1cnNvcl9zdGF0ZSA9IE5VTEw7CisJCX0KKworCQl1c2Vfb2JqID0g b2JqOworCQl1c2Vfc3RhdGUgPSBzdGF0ZTsKKwl9CisKK3VwZGF0ZToKKwlpZiAoIXVzZV9vYmop CisJCWFkZHIgPSAwOworCWVsc2UgaWYgKCFJTlRFTF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19w aHlzaWNhbCkKKwkJYWRkciA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldCh1c2Vfb2JqKTsKKwll bHNlCisJCWFkZHIgPSB1c2Vfb2JqLT5waHlzX2hhbmRsZS0+YnVzYWRkcjsKKworCWludGVsX2Ny dGMtPmN1cnNvcl9hZGRyID0gYWRkcjsKKworCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRj LCB1c2Vfc3RhdGUpOworfQorCiBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29y X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCQkJICAgaW50IHBpcGUp CiB7CkBAIC0xNDQ3OCw3ICsxNDU5NSwxMCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50 ZWxfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWN1cnNvci0+ cGxhbmUgPSBwaXBlOwogCWN1cnNvci0+ZnJvbnRidWZmZXJfYml0ID0gSU5URUxfRlJPTlRCVUZG RVJfQ1VSU09SKHBpcGUpOwogCWN1cnNvci0+Y2hlY2tfcGxhbmUgPSBpbnRlbF9jaGVja19jdXJz b3JfcGxhbmU7Ci0JY3Vyc29yLT51cGRhdGVfcGxhbmUgPSBpbnRlbF91cGRhdGVfY3Vyc29yX3Bs YW5lOworCWlmIChJU19DSEVSUllWSUVXKGRldikgJiYgcGlwZSA9PSBQSVBFX0MpCisJCWN1cnNv ci0+dXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX2Nodl9waXBlX2NfY3Vyc29yX3BsYW5lOwor CWVsc2UKKwkJY3Vyc29yLT51cGRhdGVfcGxhbmUgPSBpbnRlbF91cGRhdGVfY3Vyc29yX3BsYW5l OwogCWN1cnNvci0+ZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfY3Vyc29yX3BsYW5lOwog CiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmN1cnNvci0+YmFzZSwgMCwK LS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK