From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandra Konduru Subject: [PATCH 19/21 v2] drm/i915: Enable skylake panel fitting using skylake shared scalers Date: Fri, 20 Mar 2015 17:04:40 -0700 Message-ID: <1426896282-23215-20-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 B4B1C8A57A for ; Fri, 20 Mar 2015 17:05:34 -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 TW9kaWZ5IHNreWxha2UgcGFuZWwgZml0dGluZyBpbXBsZW1lbnRhdGlvbiB0byB1c2Ugc2hhcmVk IHNjYWxlcnMuCgp2MjoKLWFkZGVkIGxvZyBtZXNzYWdlIGluIHBmaXQgZW5hYmxlL2Rpc2FibGUg KG1lKQotcmVhZCBjcnRjIHNjYWxlciBzdGF0ZSBmcm9tIGh3IHN0YXRlIChEYW5pZWwpCi1yZXBs YWNlZCBib3RoIHNreWxha2VfcGZpdF9lbmFibGUgYW5kIGRpc2FibGUgd2l0aCBza3lsYWtlX3Bm aXRfdXBkYXRlIChtZSkKLWFkZGVkIHNjYWxlciBpZCBjaGVjayB0byBpbnRlbF9waXBlX2NvbmZp Z19jb21wYXJlIChEYW5pZWwpCgpTaWduZWQtb2ZmLWJ5OiBDaGFuZHJhIEtvbmR1cnUgPGNoYW5k cmEua29uZHVydUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgICA4MSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGMzOTM0ODAuLjE2ZGNkMzEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTQxODksMTYgKzQxODksMzkgQEAgc3RhdGljIHZvaWQg Y3B0X3ZlcmlmeV9tb2Rlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKQogCX0K IH0KIAotc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YykKK3N0YXRpYyB2b2lkIHNreWxha2VfcGZpdF91cGRhdGUoc3RydWN0IGludGVsX2NydGMg KmNydGMsIGludCBlbmFibGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJh c2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CiAJaW50IHBpcGUgPSBjcnRjLT5waXBlOworCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxl cl9zdGF0ZSAqc2NhbGVyX3N0YXRlID0KKwkJJmNydGMtPmNvbmZpZy0+c2NhbGVyX3N0YXRlOwor CisJRFJNX0RFQlVHX0tNUygiZm9yIGNydGNfc3RhdGUgPSAlcFxuIiwgY3J0Yy0+Y29uZmlnKTsK KworCS8qIFRvIHVwZGF0ZSBwZml0LCBmaXJzdCB1cGRhdGUgc2NhbGVyIHN0YXRlICovCisJc2ts X3VwZGF0ZV9zY2FsZXJfdXNlcnMoY3J0YywgY3J0Yy0+Y29uZmlnLCBOVUxMLCBOVUxMLCAhZW5h YmxlKTsKKwlpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhjcnRjLT5iYXNlLmRldiwgY3J0Yywg Y3J0Yy0+Y29uZmlnKTsKKwlza2xfZGV0YWNoX3NjYWxlcigmY3J0Yy0+YmFzZSwgTlVMTCk7CisJ aWYgKCFlbmFibGUpCisJCXJldHVybjsKIAogCWlmIChjcnRjLT5jb25maWctPnBjaF9wZml0LmVu YWJsZWQpIHsKLQkJSTkxNV9XUklURShQU19DVEwocGlwZSksIFBTX0VOQUJMRSk7Ci0JCUk5MTVf V1JJVEUoUFNfV0lOX1BPUyhwaXBlKSwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5wb3MpOwotCQlJ OTE1X1dSSVRFKFBTX1dJTl9TWihwaXBlKSwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5zaXplKTsK KwkJaW50IGlkOworCisJCWlmIChXQVJOX09OKGNydGMtPmNvbmZpZy0+c2NhbGVyX3N0YXRlLnNj YWxlcl9pZCA8IDApKSB7CisJCQlEUk1fRVJST1IoIlJlcXVlc3RpbmcgcGZpdCB3aXRob3V0IGdl dHRpbmcgYSBzY2FsZXIgZmlyc3RcbiIpOworCQkJcmV0dXJuOworCQl9CisKKwkJaWQgPSBzY2Fs ZXJfc3RhdGUtPnNjYWxlcl9pZDsKKwkJSTkxNV9XUklURShTS0xfUFNfQ1RSTChwaXBlLCBpZCks IFBTX1NDQUxFUl9FTiB8CisJCQlzY2FsZXJfc3RhdGUtPnNjYWxlcnNbaWRdLm1vZGUgfAorCQkJ c2NhbGVyX3N0YXRlLT5zY2FsZXJzW2lkXS5maWx0ZXIpOworCQlJOTE1X1dSSVRFKFNLTF9QU19X SU5fUE9TKHBpcGUsIGlkKSwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5wb3MpOworCQlJOTE1X1dS SVRFKFNLTF9QU19XSU5fU1oocGlwZSwgaWQpLCBjcnRjLT5jb25maWctPnBjaF9wZml0LnNpemUp OworCisJCURSTV9ERUJVR19LTVMoImZvciBjcnRjX3N0YXRlID0gJXAgc2NhbGVyX2lkID0gJWRc biIsIGNydGMtPmNvbmZpZywgaWQpOwogCX0KIH0KIApAQCAtNDYyOCw3ICs0NjUxLDcgQEAgc3Rh dGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaW50 ZWxfZGRpX2VuYWJsZV9waXBlX2Nsb2NrKGludGVsX2NydGMpOwogCiAJaWYgKElTX1NLWUxBS0Uo ZGV2KSkKLQkJc2t5bGFrZV9wZml0X2VuYWJsZShpbnRlbF9jcnRjKTsKKwkJc2t5bGFrZV9wZml0 X3VwZGF0ZShpbnRlbF9jcnRjLCAxKTsKIAllbHNlCiAJCWlyb25sYWtlX3BmaXRfZW5hYmxlKGlu dGVsX2NydGMpOwogCkBAIC00NjY0LDIxICs0Njg3LDYgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaW50ZWxfY3J0Y19lbmFibGVfcGxh bmVzKGNydGMpOwogfQogCi1zdGF0aWMgdm9pZCBza3lsYWtlX3BmaXRfZGlzYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKLXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFz ZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKLQlpbnQgcGlwZSA9IGNydGMtPnBpcGU7Ci0KLQkvKiBUbyBhdm9pZCB1cHNldHRpbmcg dGhlIHBvd2VyIHdlbGwgb24gaGFzd2VsbCBvbmx5IGRpc2FibGUgdGhlIHBmaXQgaWYKLQkgKiBp dCdzIGluIHVzZS4gVGhlIGh3IHN0YXRlIGNvZGUgd2lsbCBtYWtlIHN1cmUgd2UgZ2V0IHRoaXMg cmlnaHQuICovCi0JaWYgKGNydGMtPmNvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkgewotCQlJOTE1 X1dSSVRFKFBTX0NUTChwaXBlKSwgMCk7Ci0JCUk5MTVfV1JJVEUoUFNfV0lOX1BPUyhwaXBlKSwg MCk7Ci0JCUk5MTVfV1JJVEUoUFNfV0lOX1NaKHBpcGUpLCAwKTsKLQl9Ci19Ci0KIHN0YXRpYyB2 b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CkBAIC00NzkxLDcgKzQ3OTks NyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAJaW50ZWxfZGRpX2Rpc2FibGVfdHJhbnNjb2Rlcl9mdW5jKGRldl9wcml2LCBjcHVfdHJh bnNjb2Rlcik7CiAKIAlpZiAoSVNfU0tZTEFLRShkZXYpKQotCQlza3lsYWtlX3BmaXRfZGlzYWJs ZShpbnRlbF9jcnRjKTsKKwkJc2t5bGFrZV9wZml0X3VwZGF0ZShpbnRlbF9jcnRjLCAwKTsKIAll bHNlCiAJCWlyb25sYWtlX3BmaXRfZGlzYWJsZShpbnRlbF9jcnRjKTsKIApAQCAtNzk1NSwxNCAr Nzk2MywyOCBAQCBzdGF0aWMgdm9pZCBza3lsYWtlX2dldF9wZml0X2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YywKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5k ZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKLQl1aW50MzJfdCB0bXA7CisJc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2Fs ZXJfc3RhdGUgPSAmcGlwZV9jb25maWctPnNjYWxlcl9zdGF0ZTsKKwl1aW50MzJfdCBwc19jdHJs ID0gMDsKKwlpbnQgaWQgPSAtMTsKKwlpbnQgaTsKIAotCXRtcCA9IEk5MTVfUkVBRChQU19DVEwo Y3J0Yy0+cGlwZSkpOworCS8qIGZpbmQgc2NhbGVyIGF0dGFjaGVkIHRvIHRoaXMgcGlwZSAqLwor CWZvciAoaSA9IDA7IGkgPCBzY2FsZXJfc3RhdGUtPm51bV9zY2FsZXJzOyBpKyspIHsKKwkJcHNf Y3RybCA9IEk5MTVfUkVBRChTS0xfUFNfQ1RSTChjcnRjLT5waXBlLCBpKSk7CisJCWlmIChwc19j dHJsICYgUFNfU0NBTEVSX0VOICYmICEocHNfY3RybCAmIFBTX1BMQU5FX1NFTF9NQVNLKSkgewor CQkJaWQgPSBpOworCQkJcGlwZV9jb25maWctPnBjaF9wZml0LmVuYWJsZWQgPSB0cnVlOworCQkJ cGlwZV9jb25maWctPnBjaF9wZml0LnBvcyA9IEk5MTVfUkVBRChTS0xfUFNfV0lOX1BPUyhjcnRj LT5waXBlLCBpKSk7CisJCQlwaXBlX2NvbmZpZy0+cGNoX3BmaXQuc2l6ZSA9IEk5MTVfUkVBRChT S0xfUFNfV0lOX1NaKGNydGMtPnBpcGUsIGkpKTsKKwkJCWJyZWFrOworCQl9CisJfQogCi0JaWYg KHRtcCAmIFBTX0VOQUJMRSkgewotCQlwaXBlX2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCA9IHRy dWU7Ci0JCXBpcGVfY29uZmlnLT5wY2hfcGZpdC5wb3MgPSBJOTE1X1JFQUQoUFNfV0lOX1BPUyhj cnRjLT5waXBlKSk7Ci0JCXBpcGVfY29uZmlnLT5wY2hfcGZpdC5zaXplID0gSTkxNV9SRUFEKFBT X1dJTl9TWihjcnRjLT5waXBlKSk7CisJc2NhbGVyX3N0YXRlLT5zY2FsZXJfaWQgPSBpZDsKKwlp ZiAoaWQgPj0gMCkgeworCQlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2VycyB8PSAoMSA8PCBTS0xf Q1JUQ19JTkRFWCk7CisJfSBlbHNlIHsKKwkJc2NhbGVyX3N0YXRlLT5zY2FsZXJfdXNlcnMgJj0g figxIDw8IFNLTF9DUlRDX0lOREVYKTsKIAl9CiB9CiAKQEAgLTg2MDcsNiArODYyOSw5IEBAIHN0 YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LAogCQkJc2t5bGFrZV9nZXRfcGZpdF9jb25maWcoY3J0YywgcGlwZV9jb25maWcpOwogCQllbHNl CiAJCQlpcm9ubGFrZV9nZXRfcGZpdF9jb25maWcoY3J0YywgcGlwZV9jb25maWcpOworCX0gZWxz ZSB7CisJCXBpcGVfY29uZmlnLT5zY2FsZXJfc3RhdGUuc2NhbGVyX2lkID0gLTE7CisJCXBpcGVf Y29uZmlnLT5zY2FsZXJfc3RhdGUuc2NhbGVyX3VzZXJzICY9IH4oMSA8PCBTS0xfQ1JUQ19JTkRF WCk7CiAJfQogCiAJaWYgKElTX0hBU1dFTEwoZGV2KSkKQEAgLTExMTEyLDYgKzExMTM3LDggQEAg aW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlQSVBF X0NPTkZfQ0hFQ0tfSShwY2hfcGZpdC5zaXplKTsKIAl9CiAKKwlQSVBFX0NPTkZfQ0hFQ0tfSShz Y2FsZXJfc3RhdGUuc2NhbGVyX2lkKTsKKwogCS8qIEJEVysgZG9uJ3QgZXhwb3NlIGEgc3luY2hy b25vdXMgd2F5IHRvIHJlYWQgdGhlIHN0YXRlICovCiAJaWYgKElTX0hBU1dFTEwoZGV2KSkKIAkJ UElQRV9DT05GX0NIRUNLX0koaXBzX2VuYWJsZWQpOwotLSAKMS43LjkuNQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK