From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH] drm/i915: Replaced Blitter ring based flips with MMIO flips for VLV Date: Thu, 13 Mar 2014 12:51:10 +0530 Message-ID: <1394695270-22957-1-git-send-email-sourab.gupta@intel.com> References: <20140307133017.GL3852@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 160F4FA370 for ; Thu, 13 Mar 2014 00:20:45 -0700 (PDT) In-Reply-To: <20140307133017.GL3852@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Sourab Gupta , Akash Goel , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVXNpbmcgTU1JTyBi YXNlZCBmbGlwcyBvbiBWTFYgZm9yIE1lZGlhIHBvd2VyIHdlbGwgcmVzaWRlbmN5IG9wdGltaXph dGlvbi4KVGhlIGJsaXR0ZXIgcmluZyBpcyBjdXJyZW50bHkgYmVpbmcgdXNlZCBqdXN0IGZvciBj b21tYW5kIHN0cmVhbWVyIGJhc2VkCmZsaXAgY2FsbHMuIEZvciBwdXJlIDNEIHdvcmtsb2Fkcywg d2l0aCBNTUlPIGZsaXBzLCB0aGVyZSB3aWxsIGJlIG5vIHVzZQpvZiBibGl0dGVyIHJpbmcgYW5k IHRoaXMgd2lsbCBlbnN1cmUgdGhlIDEwMCUgcmVzaWRlbmN5IGZvciBNZWRpYSB3ZWxsLgoKdjI6 IFRoZSBNTUlPIGZsaXBzIG5vdyB1c2UgdGhlIGludGVycnVwdCBkcml2ZW4gbWVjaGFuaXNtIGZv ciBpc3N1aW5nIHRoZQpmbGlwcyB3aGVuIHRhcmdldCBzZXFubyBpcyByZWFjaGVkLiAoSW5jb3Jw b3JhdGluZyBWaWxsZSdzIGlkZWEpCgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbQoKQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsLmNoPgoKQ2M6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKU2lnbmVkLW9mZi1ieTog U291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKU2lnbmVkLW9mZi1ieTogQWth c2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kbWEuYyAgICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgfCAgIDEzICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICB8 ICAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDEyNSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKaW5kZXggZTRkMmI5Zi4uZDZhZTMzNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBAIC0xNTY2LDYgKzE1NjYsNyBAQCBpbnQgaTkxNV9k cml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQog CXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+YmFja2xpZ2h0X2xvY2spOwogCXNwaW5fbG9ja19p bml0KCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwogCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+ bW0ub2JqZWN0X3N0YXRfbG9jayk7CisJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5mbGlwX2xv Y2spOwogCW11dGV4X2luaXQoJmRldl9wcml2LT5kcGlvX2xvY2spOwogCW11dGV4X2luaXQoJmRl dl9wcml2LT5tb2Rlc2V0X3Jlc3RvcmVfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmlu ZGV4IGEwZDkwZWYuLmFmMzUxOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTQzNiw2 ICsxNDM2LDEyIEBAIHN0cnVjdCBpbnRlbF9waXBlX2NyYyB7CiAJd2FpdF9xdWV1ZV9oZWFkX3Qg d3E7CiB9OwogCitzdHJ1Y3QgaTkxNV9mbGlwX2RhdGEgeworCXN0cnVjdCBkcm1fY3J0YyAqY3J0 YzsKKwl1MzIgc2Vxbm87CisJdTMyIHJpbmdfaWQ7Cit9OworCiB0eXBlZGVmIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OwogCXN0cnVjdCBrbWVtX2Nh Y2hlICpzbGFiOwpAQCAtMTY0Myw2ICsxNjQ5LDExIEBAIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgewogCXN0cnVjdCBpOTE1X3Vtc19zdGF0ZSB1bXM7CiAKIAl1MzIgc3VzcGVuZF9j b3VudDsKKworCS8qIHByb3RlY3RzIHRoZSBmbGlwX2RhdGEgKi8KKwlzcGlubG9ja190IGZsaXBf bG9jazsKKworCXN0cnVjdCBpOTE1X2ZsaXBfZGF0YQlmbGlwX2RhdGFbSTkxNV9NQVhfUElQRVNd OwogfSBkcm1faTkxNV9wcml2YXRlX3Q7CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKnRvX2k5MTUoY29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldikKQEAgLTI2ODEs NiArMjY5Miw4IEBAIGludCBpOTE1X3JlZ19yZWFkX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCiBpbnQgaTkxNV9nZXRfcmVzZXRfc3RhdHNfaW9jdGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpOwogCit2b2lkIGludGVsX25vdGlmeV9tbWlvX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKKwkJCXN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZyk7CiAvKiBvdmVybGF5ICovCiBl eHRlcm4gc3RydWN0IGludGVsX292ZXJsYXlfZXJyb3Jfc3RhdGUgKmludGVsX292ZXJsYXlfY2Fw dHVyZV9lcnJvcl9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lkIGlu dGVsX292ZXJsYXlfcHJpbnRfZXJyb3Jfc3RhdGUoc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRl X2J1ZiAqZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4IGJlMjcxM2YuLjliMjAwN2UgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTA2Miw2ICsxMDYyLDggQEAgc3RhdGljIHZvaWQg aXJvbmxha2VfcnBzX2NoYW5nZV9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog c3RhdGljIHZvaWQgbm90aWZ5X3Jpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCXN0cnVj dCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZykKIHsKKwlpbnRlbF9ub3RpZnlfbW1pb19mbGlwKGRl diwgcmluZyk7CisKIAlpZiAocmluZy0+b2JqID09IE5VTEwpCiAJCXJldHVybjsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDJiY2NjNjguLjhiZDJmNTcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTg4MTMsNiArODgxMywxMjIgQEAgZXJyOgog CXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIGludGVsX2RvX21taW9fZmxpcChzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7CisKKwlp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKSA7CisKKwlpbnRlbF9tYXJrX3BhZ2VfZmxp cF9hY3RpdmUoaW50ZWxfY3J0Yyk7CisJaTl4eF91cGRhdGVfcGxhbmUoY3J0YywgY3J0Yy0+ZmIs IDAsIDApOworfQorCitzdGF0aWMgYm9vbCBpbnRlbF9wb3N0cG9uZV9mbGlwKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJaW50IHJldDsKKwlpZighb2JqLT5yaW5nKQorCQly ZXR1cm4gZmFsc2U7CisKKwlpZiAoaTkxNV9zZXFub19wYXNzZWQob2JqLT5yaW5nLT5nZXRfc2Vx bm8ob2JqLT5yaW5nLCBmYWxzZSksCisJCQkgICAgICBvYmotPmxhc3Rfd3JpdGVfc2Vxbm8pKQor CQlyZXR1cm4gZmFsc2U7CisKKwlpZiAob2JqLT5sYXN0X3dyaXRlX3NlcW5vID09IG9iai0+cmlu Zy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubykgeworCQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KG9i ai0+cmluZywgTlVMTCk7CisJCWlmKFdBUk5fT04ocmV0KSkKKwkJCXJldHVybiBmYWxzZTsKKwl9 CisKKwlpZihXQVJOX09OKCFvYmotPnJpbmctPmlycV9nZXQob2JqLT5yaW5nKSkpCisJCXJldHVy biBmYWxzZTsKKworCXJldHVybiB0cnVlOworfQorCit2b2lkIGludGVsX25vdGlmeV9tbWlvX2Zs aXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCXN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAq cmluZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOworCXN0cnVjdCBpOTE1X2Zs aXBfZGF0YSAqZmxpcF9kYXRhOworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCXUzMiBzZXFu bywgY291bnQ7CisKKwlCVUdfT04oIXJpbmcpOworCisJc2Vxbm8gPSByaW5nLT5nZXRfc2Vxbm8o cmluZywgZmFsc2UpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2LT5mbGlwX2xvY2ss IGlycV9mbGFncyk7CisKKwlmb3IoY291bnQ9MDtjb3VudDxJOTE1X01BWF9QSVBFUztjb3VudCsr KSB7CisJCWZsaXBfZGF0YSA9ICAmKGRldl9wcml2LT5mbGlwX2RhdGFbY291bnRdKTsKKwkJaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZmxpcF9kYXRhLT5jcnRjKTsKKwkJaWYgKChmbGlwX2Rh dGEtPnNlcW5vICE9IDApICYmCisJCQkJKHJpbmctPmlkID09IGZsaXBfZGF0YS0+cmluZ19pZCkg JiYKKwkJCQkoIHNlcW5vID49IGZsaXBfZGF0YS0+c2Vxbm8gKSApIHsKKwkJCS8qRklYTUU6IENh biBtb3ZlIGRvX21taW9fZmxpcCBvdXQgb2Ygc3BpbmxvY2sgcHJvdGVjdGlvbiAqLworCQkJaW50 ZWxfZG9fbW1pb19mbGlwKGZsaXBfZGF0YS0+Y3J0Yyk7CisJCQlmbGlwX2RhdGEtPnNlcW5vID0g MDsKKwkJCXJpbmctPmlycV9wdXQocmluZyk7CisJCX0KKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmZGV2X3ByaXYtPmZsaXBfbG9jaywgaXJxX2ZsYWdzKTsKK30KKworLyogVXNpbmcgTU1J TyBiYXNlZCBmbGlwcyBzdGFydGluZyBmcm9tIFZMViwgZm9yIE1lZGlhIHBvd2VyIHdlbGwKKyAq IHJlc2lkZW5jeSBvcHRpbWl6YXRpb24uIFRoZSBvdGhlciBhbHRlcm5hdGl2ZSBvZiBoYXZpbmcg UmVuZGVyCisgKiByaW5nIGJhc2VkIGZsaXAgY2FsbHMgaXMgbm90IGJlaW5nIHVzZWQsIGFzIHRo ZSBwZXJmb3JtYW5jZQorICogKEZQUykgb2YgY2VydGFpbiAzRCBBcHBzIHdhcyBnZXR0aW5nIHNl dmVybHkgYWZmZWN0ZWQuCisgKi8KK3N0YXRpYyBpbnQgaW50ZWxfZ2VuN19xdWV1ZV9tbWlvX2Zs aXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJ CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKKwkJCXVpbnQzMl90IGZsYWdzKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCXN0cnVjdCBpOTE1X2ZsaXBfZGF0YSAqZmxp cF9kYXRhID0gJihkZXZfcHJpdi0+ZmxpcF9kYXRhW2ludGVsX2NydGMtPnBpcGVdKTsKKwl1bnNp Z25lZCBsb25nIGlycV9mbGFnczsKKwlpbnQgcmV0OworCisJcmV0ID0gaW50ZWxfcGluX2FuZF9m ZW5jZV9mYl9vYmooZGV2LCBvYmosIG9iai0+cmluZyk7CisJaWYgKHJldCkKKwkJZ290byBlcnI7 CisKKwlzd2l0Y2ggKGludGVsX2NydGMtPnBsYW5lKSB7CisJY2FzZSBQTEFORV9BOgorCWNhc2Ug UExBTkVfQjoKKwljYXNlIFBMQU5FX0M6CisJYnJlYWs7CisJZGVmYXVsdDoKKwkJV0FSTl9PTkNF KDEsICJ1bmtub3duIHBsYW5lIGluIGZsaXAgY29tbWFuZFxuIik7CisJCXJldCA9IC1FTk9ERVY7 CisJCWdvdG8gZXJyX3VucGluOworCX0KKworCWlmKCFpbnRlbF9wb3N0cG9uZV9mbGlwKG9iaikp IHsKKwkJaW50ZWxfZG9fbW1pb19mbGlwKGNydGMpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzcGlu X2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPmZsaXBfbG9jaywgaXJxX2ZsYWdzKTsKKwlmbGlwX2Rh dGEtPnNlcW5vID0gb2JqLT5sYXN0X3dyaXRlX3NlcW5vOworCWZsaXBfZGF0YS0+cmluZ19pZCA9 IG9iai0+cmluZy0+aWQ7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPmZsaXBf bG9jaywgaXJxX2ZsYWdzKTsKKworCS8qIERvdWJsZSBjaGVjayB0byBjYXRjaCBjYXNlcyB3aGVy ZSBpcnEgZmlyZWQgYmVmb3JlCisJICogZmxpcCBkYXRhIHdhcyByZWFkeQorCSAqLworCWludGVs X25vdGlmeV9tbWlvX2ZsaXAoZGV2LCBvYmotPnJpbmcpOworCXJldHVybiAwOworCitlcnJfdW5w aW46CisJaW50ZWxfdW5waW5fZmJfb2JqKG9iaik7CitlcnI6CisJcmV0dXJuIHJldDsKK30KKwog c3RhdGljIGludCBpbnRlbF9nZW43X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJCQkgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCSBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKQEAgLTEwNTgxLDYgKzEwNjk3LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkKIAlkZXZfcHJpdi0+cGlwZV90b19j cnRjX21hcHBpbmdbaW50ZWxfY3J0Yy0+cGlwZV0gPSAmaW50ZWxfY3J0Yy0+YmFzZTsKIAogCWRy bV9jcnRjX2hlbHBlcl9hZGQoJmludGVsX2NydGMtPmJhc2UsICZpbnRlbF9oZWxwZXJfZnVuY3Mp OworCisJaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgeworCQkJZGV2X3ByaXYtPmZsaXBfZGF0YVtw aXBlXS5jcnRjID0KKwkJCQlkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBpbmdbcGlwZV07CisJ CQlkZXZfcHJpdi0+ZmxpcF9kYXRhW3BpcGVdLnNlcW5vID0gMDsKKwl9CiB9CiAKIGVudW0gcGlw ZSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCkBAIC0xMTEwMyw2ICsxMTIyNSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRf ZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlkZXZfcHJpdi0+ZGlzcGxheS5xdWV1 ZV9mbGlwID0gaW50ZWxfZ2VuN19xdWV1ZV9mbGlwOwogCQlicmVhazsKIAl9CisJaWYgKElTX1ZB TExFWVZJRVcoZGV2KSkgeworCQlkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlwID0gaW50ZWxf Z2VuN19xdWV1ZV9tbWlvX2ZsaXA7CisJfQogCiAJaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRf ZnVuY3MoZGV2KTsKIH0KLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==