From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandra Konduru Subject: [PATCH 21/21 v2] drm/i915: Enable skylake sprite plane scaling using shared scalers Date: Fri, 20 Mar 2015 17:04:42 -0700 Message-ID: <1426896282-23215-22-git-send-email-chandra.konduru@intel.com> References: <1426896282-23215-1-git-send-email-chandra.konduru@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9A6848A568 for ; Fri, 20 Mar 2015 17:05:36 -0700 (PDT) In-Reply-To: <1426896282-23215-1-git-send-email-chandra.konduru@intel.com> 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: ander.conselvan.de.oliveira@intel.com, daniel.vetter@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBlbmFibGVzIHNreWxha2Ugc3ByaXRlIHBsYW5lIGRpc3BsYXkgc2NhbGluZyB1 c2luZyBzaGFyZWQKc2NhbGVycyBhdG9taWMgZGVzZ2luLgoKdjI6Ci11c2Ugc2luZ2xlIGNvcHkg b2Ygc2NhbGVyIGxpbWl0cyAoTWF0dCkKClNpZ25lZC1vZmYtYnk6IENoYW5kcmEgS29uZHVydSA8 Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zcHJpdGUuYyB8ICAgNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IDAxOTQzOTAuLmI0NDUyYmMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8ZHJtL2Ry bV9jcnRjLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9mb3VyY2MuaD4KICNpbmNsdWRlIDxkcm0vZHJt X3JlY3QuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgogI2luY2x1ZGUgPGRybS9kcm1f cGxhbmVfaGVscGVyLmg+CiAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCiAjaW5jbHVkZSA8ZHJtL2k5 MTVfZHJtLmg+CkBAIC0xOTEsNiArMTkyLDggQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpkcm1fcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAljb25zdCBpbnQgcGxh bmUgPSBpbnRlbF9wbGFuZS0+cGxhbmUgKyAxOwogCXUzMiBwbGFuZV9jdGwsIHN0cmlkZV9kaXY7 CiAJaW50IHBpeGVsX3NpemUgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0 LCAwKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2Ny dGMoY3J0YyktPmNvbmZpZzsKKwlpbnQgc2NhbGVyX2lkOwogCiAJcGxhbmVfY3RsID0gSTkxNV9S RUFEKFBMQU5FX0NUTChwaXBlLCBwbGFuZSkpOwogCkBAIC0yNzQsMTYgKzI3NywzOSBAQCBza2xf dXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9wbGFuZSwgc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCXN0cmlkZV9kaXYgPSBpbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGRldiwgZmIt Pm1vZGlmaWVyWzBdLAogCQkJCQkgICAgICAgZmItPnBpeGVsX2Zvcm1hdCk7CiAKKwlza2xfZGV0 YWNoX3NjYWxlcihjcnRjLCBkcm1fcGxhbmUpOworCXNjYWxlcl9pZCA9IHRvX2ludGVsX3BsYW5l X3N0YXRlKGRybV9wbGFuZS0+c3RhdGUpLT5zY2FsZXJfaWQ7CisKIAkvKiBTaXplcyBhcmUgMCBi YXNlZCAqLwogCXNyY193LS07CiAJc3JjX2gtLTsKIAljcnRjX3ctLTsKIAljcnRjX2gtLTsKIAor CS8qIHByb2dyYW0gcGxhbmUgc2NhbGVyICovCisJaWYgKHNjYWxlcl9pZCA+PSAwKSB7CisJCXVp bnQzMl90IHBzX2N0cmwgPSAwOworCisJCURSTV9ERUJVR19LTVMoInBsYW5lID0gJWQgUFNfUExB TkVfU0VMKHBsYW5lKSA9IDB4JXhcbiIsIHBsYW5lLAorCQkJUFNfUExBTkVfU0VMKHBsYW5lKSk7 CisJCXBzX2N0cmwgPSBQU19TQ0FMRVJfRU4gfCBQU19QTEFORV9TRUwocGxhbmUpIHwKKwkJCWNy dGNfc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJzW3NjYWxlcl9pZF0ubW9kZSB8CisJCQljcnRj X3N0YXRlLT5zY2FsZXJfc3RhdGUuc2NhbGVyc1tzY2FsZXJfaWRdLmZpbHRlcjsKKwkJSTkxNV9X UklURShTS0xfUFNfQ1RSTChwaXBlLCBzY2FsZXJfaWQpLCBwc19jdHJsKTsKKwkJSTkxNV9XUklU RShTS0xfUFNfUFdSX0dBVEUocGlwZSwgc2NhbGVyX2lkKSwgMCk7CisJCUk5MTVfV1JJVEUoU0tM X1BTX1dJTl9QT1MocGlwZSwgc2NhbGVyX2lkKSwgKGNydGNfeCA8PCAxNikgfCBjcnRjX3kpOwor CQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fU1oocGlwZSwgc2NhbGVyX2lkKSwKKwkJCSgoY3J0Y193 ICsgMSkgPDwgMTYpfChjcnRjX2ggKyAxKSk7CisKKwkJSTkxNV9XUklURShQTEFORV9QT1MocGlw ZSwgcGxhbmUpLCAwKTsKKwkJSTkxNV9XUklURShQTEFORV9TSVpFKHBpcGUsIHBsYW5lKSwgKHNy Y19oIDw8IDE2KSB8IHNyY193KTsKKwl9IGVsc2UgeworCQlJOTE1X1dSSVRFKFBMQU5FX1BPUyhw aXBlLCBwbGFuZSksIChjcnRjX3kgPDwgMTYpIHwgY3J0Y194KTsKKwkJSTkxNV9XUklURShQTEFO RV9TSVpFKHBpcGUsIHBsYW5lKSwgKGNydGNfaCA8PCAxNikgfCBjcnRjX3cpOworCX0KKwogCUk5 MTVfV1JJVEUoUExBTkVfT0ZGU0VUKHBpcGUsIHBsYW5lKSwgKHkgPDwgMTYpIHwgeCk7CiAJSTkx NV9XUklURShQTEFORV9TVFJJREUocGlwZSwgcGxhbmUpLCBmYi0+cGl0Y2hlc1swXSAvIHN0cmlk ZV9kaXYpOwotCUk5MTVfV1JJVEUoUExBTkVfUE9TKHBpcGUsIHBsYW5lKSwgKGNydGNfeSA8PCAx NikgfCBjcnRjX3gpOwotCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCBwbGFuZSksIChjcnRj X2ggPDwgMTYpIHwgY3J0Y193KTsKIAlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCBwbGFuZSks IHBsYW5lX2N0bCk7CiAJSTkxNV9XUklURShQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSwgaTkxNV9n ZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikpOwogCVBPU1RJTkdfUkVBRChQTEFORV9TVVJGKHBpcGUs IHBsYW5lKSk7CkBAIC0zMDUsNiArMzMxLDggQEAgc2tsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqZHJtX3BsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJSTkxNV9XUklURShQ TEFORV9DVEwocGlwZSwgcGxhbmUpLCAwKTsKIAlQT1NUSU5HX1JFQUQoUExBTkVfQ1RMKHBpcGUs IHBsYW5lKSk7CiAKKwlza2xfZGV0YWNoX3NjYWxlcihjcnRjLCBkcm1fcGxhbmUpOworCiAJaW50 ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKGRybV9wbGFuZSwgY3J0YywgMCwgMCwgMCwgZmFs c2UsIGZhbHNlKTsKIH0KIApAQCAtMTA4OCw3ICsxMTE2LDkgQEAgc3RhdGljIGludAogaW50ZWxf Y2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJIHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBs YW5lLT5kZXY7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KHN0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl OwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFu ZSk7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+YmFzZS5mYjsKIAlpbnQg Y3J0Y194LCBjcnRjX3k7CkBAIC0xMDk3LDExICsxMTI3LDE2IEBAIGludGVsX2NoZWNrX3Nwcml0 ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgZHJtX3JlY3QgKnNyYyA9 ICZzdGF0ZS0+c3JjOwogCXN0cnVjdCBkcm1fcmVjdCAqZHN0ID0gJnN0YXRlLT5kc3Q7CiAJY29u c3Qgc3RydWN0IGRybV9yZWN0ICpjbGlwID0gJnN0YXRlLT5jbGlwOworCXN0cnVjdCBpbnRlbF9j cnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YXRlOwogCWludCBoc2NhbGUsIHZzY2FsZTsKIAlp bnQgbWF4X3NjYWxlLCBtaW5fc2NhbGU7CiAJaW50IHBpeGVsX3NpemU7CisJaW50IHJldDsKIAog CWludGVsX2NydGMgPSBpbnRlbF9jcnRjID8gaW50ZWxfY3J0YyA6IHRvX2ludGVsX2NydGMocGxh bmUtPmNydGMpOworCWNydGNfc3RhdGUgPSBzdGF0ZS0+YmFzZS5zdGF0ZSA/CisJCWludGVsX2F0 b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZS0+YmFzZS5zdGF0ZSwgaW50ZWxfY3J0YykgOiBOVUxM OworCXNjYWxlcl9zdGF0ZSA9IGNydGNfc3RhdGUgPyAmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRl IDogTlVMTDsKIAogCWlmICghZmIpIHsKIAkJc3RhdGUtPnZpc2libGUgPSBmYWxzZTsKQEAgLTEx MjgsNiArMTE2MywxMSBAQCBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCiAJbWF4X3NjYWxlID0gaW50ZWxfcGxhbmUtPm1heF9kb3duc2NhbGUgPDwgMTY7 CiAJbWluX3NjYWxlID0gaW50ZWxfcGxhbmUtPmNhbl9zY2FsZSA/IDEgOiAoMSA8PCAxNik7CiAK KwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSAmJiBzY2FsZXJfc3RhdGUgJiYgc2NhbGVy X3N0YXRlLT5udW1fc2NhbGVycykgeworCQltaW5fc2NhbGUgPSAxOworCQltYXhfc2NhbGUgPSAo MTAwIDw8IDE2KSAvIHNjYWxlcl9zdGF0ZS0+bWluX2hzcjsKKwl9CisKIAlkcm1fcmVjdF9yb3Rh dGUoc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwgMTYsCiAJCQlzdGF0ZS0+YmFz ZS5yb3RhdGlvbik7CiAKQEAgLTEyMjMsMTggKzEyNjMsMTggQEAgaW50ZWxfY2hlY2tfc3ByaXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQl3aWR0aF9ieXRlcyA9ICgoc3JjX3gg KiBwaXhlbF9zaXplKSAmIDYzKSArCiAJCQkJCXNyY193ICogcGl4ZWxfc2l6ZTsKIAotCQlpZiAo c3JjX3cgPiAyMDQ4IHx8IHNyY19oID4gMjA0OCB8fAotCQkgICAgd2lkdGhfYnl0ZXMgPiA0MDk2 IHx8IGZiLT5waXRjaGVzWzBdID4gNDA5NikgeworCQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4g PCA5ICYmIChzcmNfdyA+IDIwNDggfHwgc3JjX2ggPiAyMDQ4IHx8CisJCSAgICB3aWR0aF9ieXRl cyA+IDQwOTYgfHwgZmItPnBpdGNoZXNbMF0gPiA0MDk2KSkgewogCQkJRFJNX0RFQlVHX0tNUygi U291cmNlIGRpbWVuc2lvbnMgZXhjZWVkIGhhcmR3YXJlIGxpbWl0c1xuIik7CiAJCQlyZXR1cm4g LUVJTlZBTDsKIAkJfQogCX0KIAogCWlmIChzdGF0ZS0+dmlzaWJsZSkgewotCQlzcmMtPngxID0g c3JjX3g7Ci0JCXNyYy0+eDIgPSBzcmNfeCArIHNyY193OwotCQlzcmMtPnkxID0gc3JjX3k7Ci0J CXNyYy0+eTIgPSBzcmNfeSArIHNyY19oOworCQlzcmMtPngxID0gc3JjX3ggPDwgMTY7CisJCXNy Yy0+eDIgPSAoc3JjX3ggKyBzcmNfdykgPDwgMTY7CisJCXNyYy0+eTEgPSBzcmNfeSA8PCAxNjsK KwkJc3JjLT55MiA9IChzcmNfeSArIHNyY19oKSA8PCAxNjsKIAl9CiAKIAlkc3QtPngxID0gY3J0 Y194OwpAQCAtMTI3MSw2ICsxMzExLDEzIEBAIGZpbmlzaDoKIAkJCWludGVsX2NydGMtPmF0b21p Yy51cGRhdGVfd20gPSB0cnVlOwogCX0KIAorCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5 KSB7CisJCXJldCA9IHNrbF91cGRhdGVfc2NhbGVyX3VzZXJzKGludGVsX2NydGMsIGNydGNfc3Rh dGUsIGludGVsX3BsYW5lLAorCQkJc3RhdGUsIDApOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJl dDsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTMwMSwxMCArMTM0OCwxMCBAQCBpbnRlbF9j b21taXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJY3J0Y195ID0g c3RhdGUtPmRzdC55MTsKIAkJCWNydGNfdyA9IGRybV9yZWN0X3dpZHRoKCZzdGF0ZS0+ZHN0KTsK IAkJCWNydGNfaCA9IGRybV9yZWN0X2hlaWdodCgmc3RhdGUtPmRzdCk7Ci0JCQlzcmNfeCA9IHN0 YXRlLT5zcmMueDE7Ci0JCQlzcmNfeSA9IHN0YXRlLT5zcmMueTE7Ci0JCQlzcmNfdyA9IGRybV9y ZWN0X3dpZHRoKCZzdGF0ZS0+c3JjKTsKLQkJCXNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZzdGF0 ZS0+c3JjKTsKKwkJCXNyY194ID0gc3RhdGUtPnNyYy54MSA+PiAxNjsKKwkJCXNyY195ID0gc3Rh dGUtPnNyYy55MSA+PiAxNjsKKwkJCXNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnN0YXRlLT5zcmMp ID4+IDE2OworCQkJc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnN0YXRlLT5zcmMpID4+IDE2Owog CQkJaW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFuZShwbGFuZSwgY3J0YywgZmIsIG9iaiwKIAkJCQkJ CSAgY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAogCQkJCQkJICBzcmNfeCwgc3JjX3ks IHNyY193LCBzcmNfaCk7CkBAIC0xNDkzLDEyICsxNTQwLDggQEAgaW50ZWxfcGxhbmVfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5lKQogCQl9CiAJ CWJyZWFrOwogCWNhc2UgOToKLQkJLyoKLQkJICogRklYTUU6IFNreWxha2UgcGxhbmVzIGNhbiBi ZSBzY2FsZWQgKHdpdGggc29tZSByZXN0cmljdGlvbnMpLAotCQkgKiBidXQgdGhpcyBpcyBmb3Ig YW5vdGhlciB0aW1lLgotCQkgKi8KLQkJaW50ZWxfcGxhbmUtPmNhbl9zY2FsZSA9IGZhbHNlOwot CQlpbnRlbF9wbGFuZS0+bWF4X2Rvd25zY2FsZSA9IDE7CisJCWludGVsX3BsYW5lLT5jYW5fc2Nh bGUgPSB0cnVlOworCQlpbnRlbF9wbGFuZS0+bWF4X2Rvd25zY2FsZSA9IDI7IC8qIHVwZGF0ZWQg bGF0ZXIgKi8KIAkJaW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFuZSA9IHNrbF91cGRhdGVfcGxhbmU7 CiAJCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lID0gc2tsX2Rpc2FibGVfcGxhbmU7CiAJCWlu dGVsX3BsYW5lLT51cGRhdGVfY29sb3JrZXkgPSBza2xfdXBkYXRlX2NvbG9ya2V5OwotLSAKMS43 LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK