From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandra Konduru Subject: [PATCH 14/14] drm/i915: skylake sprite plane scaling using shared scalers Date: Wed, 15 Apr 2015 15:15:02 -0700 Message-ID: <1429136102-15729-1-git-send-email-chandra.konduru@intel.com> References: <1428445727-18103-15-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 0CA846E921 for ; Wed, 15 Apr 2015 15:15:46 -0700 (PDT) In-Reply-To: <1428445727-18103-15-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: daniel.vetter@intel.com, ander.conselvan.de.oliveira@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBlbmFibGVzIHNreWxha2Ugc3ByaXRlIHBsYW5lIGRpc3BsYXkgc2NhbGluZyB1 c2luZyBzaGFyZWQKc2NhbGVycyBhdG9taWMgZGVzZ2luLgoKdjI6Ci11c2Ugc2luZ2xlIGNvcHkg b2Ygc2NhbGVyIGxpbWl0cyAoTWF0dCkKCnYzOgotZGV0YWNoaW5nIHNjYWxlcnMgbW92ZWQgdG8g Y3J0YyBjb21taXQgcGF0aCAoTWF0dCkKCnY0OgotY2hhbmdlcyB0byBhbGlnbiB3aXRoIHVwZGF0 ZWQgc2NhbGVyIHN0cnVjdHVyZXMgKE1hdHQsIG1lKQota2VlcCBzcHJpdGUgc3JjIHJlY3QgaW4g MTYuMTYgZm9ybWF0IChNYXR0LCBEYW5pZWwpCgp2NToKLXJlYmFzZWQgb24gdG9wIG9mIDkwLzI3 MCByb3RhdGlvbiBjaGFuZ2VzIChtZSkKLVJlZmFjdG9yZWQgc2tsX3VwZGF0ZV9wbGFuZSB0byBy ZWR1Y2UgaXRzIHNpemUgKERhbmllbCkKIEl0IGlzIGEgc3RlcCB0b3dhcmRzIGhhdmluZyBhIHNp bmdsZSBmdW5jdGlvbiBjb3ZlcmluZyBhbGwgcGxhbmVzLgoKU2lnbmVkLW9mZi1ieTogQ2hhbmRy YSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogTWF0dCBS b3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KVGVzdGNhc2U6IGttc19wbGFuZV9zY2Fs aW5nCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgfCAgMTI1ICsrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0 aW9ucygrKSwgNzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpp bmRleCAyZjQyNzc3Li40OTdiYzFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpA QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgogI2luY2x1ZGUgPGRy bS9kcm1fZm91cmNjLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9yZWN0Lmg+CisjaW5jbHVkZSA8ZHJt L2RybV9hdG9taWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hlbHBlci5oPgogI2luY2x1 ZGUgImludGVsX2Rydi5oIgogI2luY2x1ZGUgPGRybS9pOTE1X2RybS5oPgpAQCAtMTk3LDgwICsx OTgsMTcgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAl1MzIgdGlsZV9oZWlnaHQsIHBsYW5lX29mZnNldCwgcGxh bmVfc2l6ZTsKIAl1bnNpZ25lZCBpbnQgcm90YXRpb247CiAJaW50IHhfb2Zmc2V0LCB5X29mZnNl dDsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGMo Y3J0YyktPmNvbmZpZzsKKwlpbnQgc2NhbGVyX2lkOwogCiAJcGxhbmVfY3RsID0gUExBTkVfQ1RM X0VOQUJMRSB8CiAJCVBMQU5FX0NUTF9QSVBFX0NTQ19FTkFCTEU7CiAKLQlzd2l0Y2ggKGZiLT5w aXhlbF9mb3JtYXQpIHsKLQljYXNlIERSTV9GT1JNQVRfUkdCNTY1OgotCQlwbGFuZV9jdGwgfD0g UExBTkVfQ1RMX0ZPUk1BVF9SR0JfNTY1OwotCQlicmVhazsKLQljYXNlIERSTV9GT1JNQVRfWEJH Ujg4ODg6Ci0JCXBsYW5lX2N0bCB8PSBQTEFORV9DVExfRk9STUFUX1hSR0JfODg4OCB8IFBMQU5F X0NUTF9PUkRFUl9SR0JYOwotCQlicmVhazsKLQljYXNlIERSTV9GT1JNQVRfWFJHQjg4ODg6Ci0J CXBsYW5lX2N0bCB8PSBQTEFORV9DVExfRk9STUFUX1hSR0JfODg4ODsKLQkJYnJlYWs7Ci0JLyoK LQkgKiBYWFg6IEZvciBBUkJHL0FCR1IgZm9ybWF0cyB3ZSBkZWZhdWx0IHRvIGV4cGVjdGluZyBz Y2Fub3V0IGJ1ZmZlcnMKLQkgKiB0byBiZSBhbHJlYWR5IHByZS1tdWx0aXBsaWVkLiBXZSBuZWVk IHRvIGFkZCBhIGtub2IgKG9yIGEgZGlmZmVyZW50Ci0JICogRFJNX0ZPUk1BVCkgZm9yIHVzZXIt c3BhY2UgdG8gY29uZmlndXJlIHRoYXQuCi0JICovCi0JY2FzZSBEUk1fRk9STUFUX0FCR1I4ODg4 OgotCQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4ODggfAotCQkJICAgICBQ TEFORV9DVExfT1JERVJfUkdCWCB8Ci0JCQkgICAgIFBMQU5FX0NUTF9BTFBIQV9TV19QUkVNVUxU SVBMWTsKLQkJYnJlYWs7Ci0JY2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4OgotCQlwbGFuZV9jdGwg fD0gUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4ODggfAotCQkJICAgICBQTEFORV9DVExfQUxQSEFf U1dfUFJFTVVMVElQTFk7Ci0JCWJyZWFrOwotCWNhc2UgRFJNX0ZPUk1BVF9ZVVlWOgotCQlwbGFu ZV9jdGwgfD0gUExBTkVfQ1RMX0ZPUk1BVF9ZVVY0MjIgfCBQTEFORV9DVExfWVVWNDIyX1lVWVY7 Ci0JCWJyZWFrOwotCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOgotCQlwbGFuZV9jdGwgfD0gUExBTkVf Q1RMX0ZPUk1BVF9ZVVY0MjIgfCBQTEFORV9DVExfWVVWNDIyX1lWWVU7Ci0JCWJyZWFrOwotCWNh c2UgRFJNX0ZPUk1BVF9VWVZZOgotCQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX0ZPUk1BVF9ZVVY0 MjIgfCBQTEFORV9DVExfWVVWNDIyX1VZVlk7Ci0JCWJyZWFrOwotCWNhc2UgRFJNX0ZPUk1BVF9W WVVZOgotCQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX0ZPUk1BVF9ZVVY0MjIgfCBQTEFORV9DVExf WVVWNDIyX1ZZVVk7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCUJVRygpOwotCX0KLQotCXN3aXRj aCAoZmItPm1vZGlmaWVyWzBdKSB7Ci0JY2FzZSBEUk1fRk9STUFUX01PRF9OT05FOgotCQlicmVh azsKLQljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOgotCQlwbGFuZV9jdGwgfD0gUExBTkVf Q1RMX1RJTEVEX1g7Ci0JCWJyZWFrOwotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQ6Ci0J CXBsYW5lX2N0bCB8PSBQTEFORV9DVExfVElMRURfWTsKLQkJYnJlYWs7Ci0JY2FzZSBJOTE1X0ZP Uk1BVF9NT0RfWWZfVElMRUQ6Ci0JCXBsYW5lX2N0bCB8PSBQTEFORV9DVExfVElMRURfWUY7Ci0J CWJyZWFrOwotCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShmYi0+bW9kaWZpZXJbMF0pOwotCX0K KwlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9mb3JtYXQoZmItPnBpeGVsX2Zvcm1hdCk7CisJ cGxhbmVfY3RsIHw9IHNrbF9wbGFuZV9jdGxfdGlsaW5nKGZiLT5tb2RpZmllclswXSk7CiAKIAly b3RhdGlvbiA9IGRybV9wbGFuZS0+c3RhdGUtPnJvdGF0aW9uOwotCXN3aXRjaCAocm90YXRpb24p IHsKLQljYXNlIEJJVChEUk1fUk9UQVRFXzkwKToKLQkJcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9S T1RBVEVfOTA7Ci0JCWJyZWFrOwotCi0JY2FzZSBCSVQoRFJNX1JPVEFURV8xODApOgotCQlwbGFu ZV9jdGwgfD0gUExBTkVfQ1RMX1JPVEFURV8xODA7Ci0JCWJyZWFrOwotCi0JY2FzZSBCSVQoRFJN X1JPVEFURV8yNzApOgotCQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX1JPVEFURV8yNzA7Ci0JCWJy ZWFrOwotCX0KKwlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9yb3RhdGlvbihyb3RhdGlvbik7 CiAKIAlpbnRlbF91cGRhdGVfc3ByaXRlX3dhdGVybWFya3MoZHJtX3BsYW5lLCBjcnRjLCBzcmNf dywgc3JjX2gsCiAJCQkJICAgICAgIHBpeGVsX3NpemUsIHRydWUsCkBAIC0yNzksNiArMjE3LDgg QEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsIHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAlzdHJpZGVfZGl2ID0gaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVudChk ZXYsIGZiLT5tb2RpZmllclswXSwKIAkJCQkJICAgICAgIGZiLT5waXhlbF9mb3JtYXQpOwogCisJ c2NhbGVyX2lkID0gdG9faW50ZWxfcGxhbmVfc3RhdGUoZHJtX3BsYW5lLT5zdGF0ZSktPnNjYWxl cl9pZDsKKwogCS8qIFNpemVzIGFyZSAwIGJhc2VkICovCiAJc3JjX3ctLTsKIAlzcmNfaC0tOwpA QCAtMzE2LDggKzI1NiwyNyBAQCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRy bV9wbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJSTkxNV9XUklURShQTEFORV9PRkZT RVQocGlwZSwgcGxhbmUpLCBwbGFuZV9vZmZzZXQpOwogCUk5MTVfV1JJVEUoUExBTkVfU1RSSURF KHBpcGUsIHBsYW5lKSwgc3RyaWRlKTsKLQlJOTE1X1dSSVRFKFBMQU5FX1BPUyhwaXBlLCBwbGFu ZSksIChjcnRjX3kgPDwgMTYpIHwgY3J0Y194KTsKIAlJOTE1X1dSSVRFKFBMQU5FX1NJWkUocGlw ZSwgcGxhbmUpLCBwbGFuZV9zaXplKTsKKworCS8qIHByb2dyYW0gcGxhbmUgc2NhbGVyICovCisJ aWYgKHNjYWxlcl9pZCA+PSAwKSB7CisJCXVpbnQzMl90IHBzX2N0cmwgPSAwOworCisJCURSTV9E RUJVR19LTVMoInBsYW5lID0gJWQgUFNfUExBTkVfU0VMKHBsYW5lKSA9IDB4JXhcbiIsIHBsYW5l LAorCQkJUFNfUExBTkVfU0VMKHBsYW5lKSk7CisJCXBzX2N0cmwgPSBQU19TQ0FMRVJfRU4gfCBQ U19QTEFORV9TRUwocGxhbmUpIHwKKwkJCWNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJz W3NjYWxlcl9pZF0ubW9kZTsKKwkJSTkxNV9XUklURShTS0xfUFNfQ1RSTChwaXBlLCBzY2FsZXJf aWQpLCBwc19jdHJsKTsKKwkJSTkxNV9XUklURShTS0xfUFNfUFdSX0dBVEUocGlwZSwgc2NhbGVy X2lkKSwgMCk7CisJCUk5MTVfV1JJVEUoU0tMX1BTX1dJTl9QT1MocGlwZSwgc2NhbGVyX2lkKSwg KGNydGNfeCA8PCAxNikgfCBjcnRjX3kpOworCQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fU1oocGlw ZSwgc2NhbGVyX2lkKSwKKwkJCSgoY3J0Y193ICsgMSkgPDwgMTYpfChjcnRjX2ggKyAxKSk7CisK KwkJSTkxNV9XUklURShQTEFORV9QT1MocGlwZSwgcGxhbmUpLCAwKTsKKwl9IGVsc2UgeworCQlJ OTE1X1dSSVRFKFBMQU5FX1BPUyhwaXBlLCBwbGFuZSksIChjcnRjX3kgPDwgMTYpIHwgY3J0Y194 KTsKKwl9CisKIAlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCBwbGFuZSksIHBsYW5lX2N0bCk7 CiAJSTkxNV9XUklURShQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSwgc3VyZl9hZGRyKTsKIAlQT1NU SU5HX1JFQUQoUExBTkVfU1VSRihwaXBlLCBwbGFuZSkpOwpAQCAtODk0LDcgKzg1Myw5IEBAIHN0 YXRpYyBpbnQKIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQogeworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhzdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9f aW50ZWxfcGxhbmUocGxhbmUpOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gc3RhdGUt PmJhc2UuZmI7CiAJaW50IGNydGNfeCwgY3J0Y195OwpAQCAtOTA2LDggKzg2NywxMSBAQCBpbnRl bF9jaGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJaW50IGhzY2Fs ZSwgdnNjYWxlOwogCWludCBtYXhfc2NhbGUsIG1pbl9zY2FsZTsKIAlpbnQgcGl4ZWxfc2l6ZTsK KwlpbnQgcmV0OwogCiAJaW50ZWxfY3J0YyA9IGludGVsX2NydGMgPyBpbnRlbF9jcnRjIDogdG9f aW50ZWxfY3J0YyhwbGFuZS0+Y3J0Yyk7CisJY3J0Y19zdGF0ZSA9IHN0YXRlLT5iYXNlLnN0YXRl ID8KKwkJaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLT5iYXNlLnN0YXRlLCBpbnRl bF9jcnRjKSA6IE5VTEw7CiAKIAlpZiAoIWZiKSB7CiAJCXN0YXRlLT52aXNpYmxlID0gZmFsc2U7 CkBAIC05MzQsNiArODk4LDExIEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAltYXhfc2NhbGUgPSBpbnRlbF9wbGFuZS0+bWF4X2Rvd25zY2FsZSA8 PCAxNjsKIAltaW5fc2NhbGUgPSBpbnRlbF9wbGFuZS0+Y2FuX3NjYWxlID8gMSA6ICgxIDw8IDE2 KTsKIAorCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7CisJCW1pbl9zY2FsZSA9IDE7 CisJCW1heF9zY2FsZSA9IHNrbF9tYXhfc2NhbGUoaW50ZWxfY3J0YywgY3J0Y19zdGF0ZSk7CisJ fQorCiAJZHJtX3JlY3Rfcm90YXRlKHNyYywgZmItPndpZHRoIDw8IDE2LCBmYi0+aGVpZ2h0IDw8 IDE2LAogCQkJc3RhdGUtPmJhc2Uucm90YXRpb24pOwogCkBAIC0xMDI5LDggKzk5OCw4IEBAIGlu dGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJd2lkdGhf Ynl0ZXMgPSAoKHNyY194ICogcGl4ZWxfc2l6ZSkgJiA2MykgKwogCQkJCQlzcmNfdyAqIHBpeGVs X3NpemU7CiAKLQkJaWYgKHNyY193ID4gMjA0OCB8fCBzcmNfaCA+IDIwNDggfHwKLQkJICAgIHdp ZHRoX2J5dGVzID4gNDA5NiB8fCBmYi0+cGl0Y2hlc1swXSA+IDQwOTYpIHsKKwkJaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuIDwgOSAmJiAoc3JjX3cgPiAyMDQ4IHx8IHNyY19oID4gMjA0OCB8fAor CQkgICAgd2lkdGhfYnl0ZXMgPiA0MDk2IHx8IGZiLT5waXRjaGVzWzBdID4gNDA5NikpIHsKIAkJ CURSTV9ERUJVR19LTVMoIlNvdXJjZSBkaW1lbnNpb25zIGV4Y2VlZCBoYXJkd2FyZSBsaW1pdHNc biIpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KQEAgLTEwODQsNiArMTA1MywxMyBAQCBmaW5p c2g6CiAJCX0KIAl9CiAKKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgeworCQlyZXQg PSBza2xfdXBkYXRlX3NjYWxlcl91c2VycyhpbnRlbF9jcnRjLCBjcnRjX3N0YXRlLCBpbnRlbF9w bGFuZSwKKwkJCXN0YXRlLCAwKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCiAJ cmV0dXJuIDA7CiB9CiAKQEAgLTEyOTUsMTIgKzEyNzEsNyBAQCBpbnRlbF9wbGFuZV9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCiAJCX0KIAkJ YnJlYWs7CiAJY2FzZSA5OgotCQkvKgotCQkgKiBGSVhNRTogU2t5bGFrZSBwbGFuZXMgY2FuIGJl IHNjYWxlZCAod2l0aCBzb21lIHJlc3RyaWN0aW9ucyksCi0JCSAqIGJ1dCB0aGlzIGlzIGZvciBh bm90aGVyIHRpbWUuCi0JCSAqLwotCQlpbnRlbF9wbGFuZS0+Y2FuX3NjYWxlID0gZmFsc2U7Ci0J CWludGVsX3BsYW5lLT5tYXhfZG93bnNjYWxlID0gMTsKKwkJaW50ZWxfcGxhbmUtPmNhbl9zY2Fs ZSA9IHRydWU7CiAJCWludGVsX3BsYW5lLT51cGRhdGVfcGxhbmUgPSBza2xfdXBkYXRlX3BsYW5l OwogCQlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9wbGFuZSA9IHNrbF9kaXNhYmxlX3BsYW5lOwogCQlz dGF0ZS0+c2NhbGVyX2lkID0gLTE7Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=