From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH v2] drm/i915: Replaced Blitter ring based flips with MMIO flips for VLV Date: Thu, 13 Mar 2014 14:31:37 +0530 Message-ID: <1394701297-7261-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 672EAFAE0C for ; Thu, 13 Mar 2014 02:01:16 -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 QGxpbnV4LmludGVsLmNvbT4KCkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bC5jaD4KCkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KClNpZ25lZC1vZmYtYnk6 IFNvdXJhYiBHdXB0YSA8c291cmFiLmd1cHRhQGludGVsLmNvbT4KClNpZ25lZC1vZmYtYnk6IEFr YXNoIEdvZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZG1hLmMgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgfCAgMTMgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgIHwg ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEyNSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNDEgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCmluZGV4IGU0ZDJiOWYuLmQ2YWUzMzQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpAQCAtMTU2Niw2ICsxNTY2LDcgQEAgaW50IGk5MTVfZHJp dmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAlz cGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPmJhY2tsaWdodF9sb2NrKTsKIAlzcGluX2xvY2tfaW5p dCgmZGV2X3ByaXYtPnVuY29yZS5sb2NrKTsKIAlzcGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPm1t Lm9iamVjdF9zdGF0X2xvY2spOworCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+ZmxpcF9sb2Nr KTsKIAltdXRleF9pbml0KCZkZXZfcHJpdi0+ZHBpb19sb2NrKTsKIAltdXRleF9pbml0KCZkZXZf cHJpdi0+bW9kZXNldF9yZXN0b3JlX2xvY2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCBhMGQ5MGVmLi5hZjM1MTk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE0MzYsNiAr MTQzNiwxMiBAQCBzdHJ1Y3QgaW50ZWxfcGlwZV9jcmMgewogCXdhaXRfcXVldWVfaGVhZF90IHdx OwogfTsKIAorc3RydWN0IGk5MTVfZmxpcF9kYXRhIHsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7 CisJdTMyIHNlcW5vOworCXUzMiByaW5nX2lkOworfTsKKwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldjsKIAlzdHJ1Y3Qga21lbV9jYWNo ZSAqc2xhYjsKQEAgLTE2NDMsNiArMTY0OSwxMSBAQCB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9w cml2YXRlIHsKIAlzdHJ1Y3QgaTkxNV91bXNfc3RhdGUgdW1zOwogCiAJdTMyIHN1c3BlbmRfY291 bnQ7CisKKwkvKiBwcm90ZWN0cyB0aGUgZmxpcF9kYXRhICovCisJc3BpbmxvY2tfdCBmbGlwX2xv Y2s7CisKKwlzdHJ1Y3QgaTkxNV9mbGlwX2RhdGEJZmxpcF9kYXRhW0k5MTVfTUFYX1BJUEVTXTsK IH0gZHJtX2k5MTVfcHJpdmF0ZV90OwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICp0b19pOTE1KGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCkBAIC0yNjgxLDYg KzI2OTIsOCBAQCBpbnQgaTkxNV9yZWdfcmVhZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogaW50IGk5MTVfZ2V0X3Jlc2V0X3N0YXRzX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxl KTsKIAordm9pZCBpbnRlbF9ub3RpZnlfbW1pb19mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CisJCQlzdHJ1Y3QgaW50ZWxfcmluZ19idWZmZXIgKnJpbmcpOwogLyogb3ZlcmxheSAqLwogZXh0 ZXJuIHN0cnVjdCBpbnRlbF9vdmVybGF5X2Vycm9yX3N0YXRlICppbnRlbF9vdmVybGF5X2NhcHR1 cmVfZXJyb3Jfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBleHRlcm4gdm9pZCBpbnRl bF9vdmVybGF5X3ByaW50X2Vycm9yX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9lcnJvcl9zdGF0ZV9i dWYgKmUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCBiZTI3MTNmLi45YjIwMDdlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTEwNjIsNiArMTA2Miw4IEBAIHN0YXRpYyB2b2lkIGly b25sYWtlX3Jwc19jaGFuZ2VfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHN0 YXRpYyB2b2lkIG5vdGlmeV9yaW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQlzdHJ1Y3Qg aW50ZWxfcmluZ19idWZmZXIgKnJpbmcpCiB7CisJaW50ZWxfbm90aWZ5X21taW9fZmxpcChkZXYs IHJpbmcpOworCiAJaWYgKHJpbmctPm9iaiA9PSBOVUxMKQogCQlyZXR1cm47CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAyYmNjYzY4Li44YmQyZjU3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC04ODEzLDYgKzg4MTMsMTIyIEBAIGVycjoKIAly ZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCBpbnRlbF9kb19tbWlvX2ZsaXAoc3RydWN0IGRy bV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOworCisJaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0YykgOworCisJaW50ZWxfbWFya19wYWdlX2ZsaXBf YWN0aXZlKGludGVsX2NydGMpOworCWk5eHhfdXBkYXRlX3BsYW5lKGNydGMsIGNydGMtPmZiLCAw LCAwKTsKK30KKworc3RhdGljIGJvb2wgaW50ZWxfcG9zdHBvbmVfZmxpcChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqKQoreworCWludCByZXQ7CisJaWYoIW9iai0+cmluZykKKwkJcmV0 dXJuIGZhbHNlOworCisJaWYgKGk5MTVfc2Vxbm9fcGFzc2VkKG9iai0+cmluZy0+Z2V0X3NlcW5v KG9iai0+cmluZywgZmFsc2UpLAorCQkJICAgICAgb2JqLT5sYXN0X3dyaXRlX3NlcW5vKSkKKwkJ cmV0dXJuIGZhbHNlOworCisJaWYgKG9iai0+bGFzdF93cml0ZV9zZXFubyA9PSBvYmotPnJpbmct Pm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pIHsKKwkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChvYmot PnJpbmcsIE5VTEwpOworCQlpZihXQVJOX09OKHJldCkpCisJCQlyZXR1cm4gZmFsc2U7CisJfQor CisJaWYoV0FSTl9PTighb2JqLT5yaW5nLT5pcnFfZ2V0KG9iai0+cmluZykpKQorCQlyZXR1cm4g ZmFsc2U7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBpbnRlbF9ub3RpZnlfbW1pb19mbGlw KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQlzdHJ1Y3QgaW50ZWxfcmluZ19idWZmZXIgKnJp bmcpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKKwlzdHJ1Y3QgaTkxNV9mbGlw X2RhdGEgKmZsaXBfZGF0YTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKwl1MzIgc2Vxbm8s IGNvdW50OworCisJQlVHX09OKCFyaW5nKTsKKworCXNlcW5vID0gcmluZy0+Z2V0X3NlcW5vKHJp bmcsIGZhbHNlKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+ZmxpcF9sb2NrLCBp cnFfZmxhZ3MpOworCisJZm9yKGNvdW50PTA7Y291bnQ8STkxNV9NQVhfUElQRVM7Y291bnQrKykg eworCQlmbGlwX2RhdGEgPSAgJihkZXZfcHJpdi0+ZmxpcF9kYXRhW2NvdW50XSk7CisJCWludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGZsaXBfZGF0YS0+Y3J0Yyk7CisJCWlmICgoZmxpcF9kYXRh LT5zZXFubyAhPSAwKSAmJgorCQkJCShyaW5nLT5pZCA9PSBmbGlwX2RhdGEtPnJpbmdfaWQpICYm CisJCQkJKCBzZXFubyA+PSBmbGlwX2RhdGEtPnNlcW5vICkgKSB7CisJCQkvKkZJWE1FOiBDYW4g bW92ZSBkb19tbWlvX2ZsaXAgb3V0IG9mIHNwaW5sb2NrIHByb3RlY3Rpb24gKi8KKwkJCWludGVs X2RvX21taW9fZmxpcChmbGlwX2RhdGEtPmNydGMpOworCQkJZmxpcF9kYXRhLT5zZXFubyA9IDA7 CisJCQlyaW5nLT5pcnFfcHV0KHJpbmcpOworCQl9CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmRldl9wcml2LT5mbGlwX2xvY2ssIGlycV9mbGFncyk7Cit9CisKKy8qIFVzaW5nIE1NSU8g YmFzZWQgZmxpcHMgc3RhcnRpbmcgZnJvbSBWTFYsIGZvciBNZWRpYSBwb3dlciB3ZWxsCisgKiBy ZXNpZGVuY3kgb3B0aW1pemF0aW9uLiBUaGUgb3RoZXIgYWx0ZXJuYXRpdmUgb2YgaGF2aW5nIFJl bmRlcgorICogcmluZyBiYXNlZCBmbGlwIGNhbGxzIGlzIG5vdCBiZWluZyB1c2VkLCBhcyB0aGUg cGVyZm9ybWFuY2UKKyAqIChGUFMpIG9mIGNlcnRhaW4gM0QgQXBwcyB3YXMgZ2V0dGluZyBzZXZl cmx5IGFmZmVjdGVkLgorICovCitzdGF0aWMgaW50IGludGVsX2dlbjdfcXVldWVfbW1pb19mbGlw KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQlz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCisJCQl1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgaTkxNV9mbGlwX2RhdGEgKmZsaXBf ZGF0YSA9ICYoZGV2X3ByaXYtPmZsaXBfZGF0YVtpbnRlbF9jcnRjLT5waXBlXSk7CisJdW5zaWdu ZWQgbG9uZyBpcnFfZmxhZ3M7CisJaW50IHJldDsKKworCXJldCA9IGludGVsX3Bpbl9hbmRfZmVu Y2VfZmJfb2JqKGRldiwgb2JqLCBvYmotPnJpbmcpOworCWlmIChyZXQpCisJCWdvdG8gZXJyOwor CisJc3dpdGNoIChpbnRlbF9jcnRjLT5wbGFuZSkgeworCWNhc2UgUExBTkVfQToKKwljYXNlIFBM QU5FX0I6CisJY2FzZSBQTEFORV9DOgorCWJyZWFrOworCWRlZmF1bHQ6CisJCVdBUk5fT05DRSgx LCAidW5rbm93biBwbGFuZSBpbiBmbGlwIGNvbW1hbmRcbiIpOworCQlyZXQgPSAtRU5PREVWOwor CQlnb3RvIGVycl91bnBpbjsKKwl9CisKKwlpZighaW50ZWxfcG9zdHBvbmVfZmxpcChvYmopKSB7 CisJCWludGVsX2RvX21taW9fZmxpcChjcnRjKTsKKwkJcmV0dXJuIDA7CisJfQorCisJc3Bpbl9s b2NrX2lycXNhdmUoJmRldl9wcml2LT5mbGlwX2xvY2ssIGlycV9mbGFncyk7CisJZmxpcF9kYXRh LT5zZXFubyA9IG9iai0+bGFzdF93cml0ZV9zZXFubzsKKwlmbGlwX2RhdGEtPnJpbmdfaWQgPSBv YmotPnJpbmctPmlkOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT5mbGlwX2xv Y2ssIGlycV9mbGFncyk7CisKKwkvKiBEb3VibGUgY2hlY2sgdG8gY2F0Y2ggY2FzZXMgd2hlcmUg aXJxIGZpcmVkIGJlZm9yZQorCSAqIGZsaXAgZGF0YSB3YXMgcmVhZHkKKwkgKi8KKwlpbnRlbF9u b3RpZnlfbW1pb19mbGlwKGRldiwgb2JqLT5yaW5nKTsKKwlyZXR1cm4gMDsKKworZXJyX3VucGlu OgorCWludGVsX3VucGluX2ZiX29iaihvYmopOworZXJyOgorCXJldHVybiByZXQ7Cit9CisKIHN0 YXRpYyBpbnQgaW50ZWxfZ2VuN19xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CQkJIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIsCkBAIC0xMDU4MSw2ICsxMDY5NywxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCiAJZGV2X3ByaXYtPnBpcGVfdG9fY3J0 Y19tYXBwaW5nW2ludGVsX2NydGMtPnBpcGVdID0gJmludGVsX2NydGMtPmJhc2U7CiAKIAlkcm1f Y3J0Y19oZWxwZXJfYWRkKCZpbnRlbF9jcnRjLT5iYXNlLCAmaW50ZWxfaGVscGVyX2Z1bmNzKTsK KworCWlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKKwkJCWRldl9wcml2LT5mbGlwX2RhdGFbcGlw ZV0uY3J0YyA9CisJCQkJZGV2X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW3BpcGVdOworCQkJ ZGV2X3ByaXYtPmZsaXBfZGF0YVtwaXBlXS5zZXFubyA9IDA7CisJfQogfQogCiBlbnVtIHBpcGUg aW50ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0b3Ioc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQpAQCAtMTExMDMsNiArMTEyMjUsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X2Rp c3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZGV2X3ByaXYtPmRpc3BsYXkucXVldWVf ZmxpcCA9IGludGVsX2dlbjdfcXVldWVfZmxpcDsKIAkJYnJlYWs7CiAJfQorCWlmIChJU19WQUxM RVlWSUVXKGRldikpIHsKKwkJZGV2X3ByaXYtPmRpc3BsYXkucXVldWVfZmxpcCA9IGludGVsX2dl bjdfcXVldWVfbW1pb19mbGlwOworCX0KIAogCWludGVsX3BhbmVsX2luaXRfYmFja2xpZ2h0X2Z1 bmNzKGRldik7CiB9Ci0tIAoxLjguNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=