From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 2/2] drm/i915: Make mmio flip wait for seqno in the work function Date: Thu, 6 Nov 2014 09:26:39 +0200 Message-ID: <1415258799-5530-2-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <20141105122949.GX13658@nuc-i3427.alporthouse.com> <1415258799-5530-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F41F6EE86 for ; Wed, 5 Nov 2014 23:27:18 -0800 (PST) In-Reply-To: <1415258799-5530-1-git-send-email-ander.conselvan.de.oliveira@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, chris@chris-wilson.co.uk Cc: Ander Conselvan de Oliveira , shuang.he@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIHF1aXRlIGEgYml0IGNvbXBhcmVkIHRvIGl0ZXJhdGlu ZyBvdmVyIGFsbApyaW5ncyBkdXJpbmcgdGhlIHJpbmcgaW50ZXJydXB0LgoKQWxzbywgaXQgYWxs b3dzIHVzIHRvIGRyb3AgdGhlIG1taW9fZmxpcCBzcGlubG9jaywgc2luY2UgdGhlIG1taW9fZmxp cApzdHJ1Y3QgaXMgb25seSBhY2Nlc3NlZCBpbiB0d28gcGxhY2VzLiBUaGUgZmlyc3QgaXMgd2hl biB0aGUgZmxpcCBpcwpxdWV1ZWQgYW5kIHRoZSBvdGhlciB3aGVuIHRoZSBtbWlvIHdyaXRlcyBh cmUgZG9uZS4gU2luY2UgYSBmbGlwIGNhbm5vdApiZSBxdWV1ZWQgd2hpbGUgdGhlcmUgaXMgYSBw ZW5kaW5nIGZsaXAsIHRoZSB0d28gcGF0aHMgc2hvdWxkbid0IGV2ZXIKcnVuIGluIHBhcmFsbGVs LiBXZSBtaWdodCBuZWVkIHRvIHJldmlzaXQgdGhhdCBpZiBzdXBwb3J0IGZvciByZXBsYWNpbmcK ZmxpcHMgaXMgaW1wbGVtZW50ZWQgdGhvdWdoLgoKdjI6IERvbid0IGhvbGQgZGV2LT5zdHJ1Y3Rf bXV0ZXh0IHdoaWxlIHdhaXRpbmcgKENocmlzKQoKU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2Vs dmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICB8ICAzIC0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA5MCArKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA5 ICstLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggMzE4YTZhMC4uNWZmZjI4NyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCkBAIC05NzksOSArOTc5LDYgQEAgc3RhdGljIHZvaWQgbm90aWZ5X3Jp bmcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCXRyYWNlX2k5MTVfZ2VtX3JlcXVlc3RfY29t cGxldGUocmluZyk7CiAKLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9N T0RFU0VUKSkKLQkJaW50ZWxfbm90aWZ5X21taW9fZmxpcChyaW5nKTsKLQogCXdha2VfdXBfYWxs KCZyaW5nLT5pcnFfcXVldWUpOwogCWk5MTVfcXVldWVfaGFuZ2NoZWNrKGRldik7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZjNmZjhlOC4uZWE4YzJmMiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtOTQyNCw3MyArOTQyNCwyNCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kb19tbWlvX2ZsaXAoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMp CiAKIAlpZiAoYXRvbWljX3VwZGF0ZSkKIAkJaW50ZWxfcGlwZV91cGRhdGVfZW5kKGludGVsX2Ny dGMsIHN0YXJ0X3ZibF9jb3VudCk7Ci0KLQlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+bW1pb19m bGlwX2xvY2spOwotCWludGVsX2NydGMtPm1taW9fZmxpcC5zdGF0dXMgPSBJTlRFTF9NTUlPX0ZM SVBfSURMRTsKLQlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5tbWlvX2ZsaXBfbG9jayk7CiB9 CiAKIHN0YXRpYyB2b2lkIGludGVsX21taW9fZmxpcF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogewogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KIAkJY29udGFp bmVyX29mKHdvcmssIHN0cnVjdCBpbnRlbF9jcnRjLCBtbWlvX2ZsaXAud29yayk7Ci0KLQlpbnRl bF9kb19tbWlvX2ZsaXAoaW50ZWxfY3J0Yyk7Ci19Ci0KLXN0YXRpYyBpbnQgaW50ZWxfcG9zdHBv bmVfZmxpcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQotewogCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmc7Ci0JaW50IHJldDsKLQotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJm9i ai0+YmFzZS5kZXYtPnN0cnVjdF9tdXRleCk7Ci0KLQlpZiAoIW9iai0+bGFzdF93cml0ZV9zZXFu bykKLQkJcmV0dXJuIDA7Ci0KLQlyaW5nID0gb2JqLT5yaW5nOwotCi0JaWYgKGk5MTVfc2Vxbm9f cGFzc2VkKHJpbmctPmdldF9zZXFubyhyaW5nLCB0cnVlKSwKLQkJCSAgICAgIG9iai0+bGFzdF93 cml0ZV9zZXFubykpCi0JCXJldHVybiAwOwotCi0JcmV0ID0gaTkxNV9nZW1fY2hlY2tfb2xyKHJp bmcsIG9iai0+bGFzdF93cml0ZV9zZXFubyk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQot CWlmIChXQVJOX09OKCFyaW5nLT5pcnFfZ2V0KHJpbmcpKSkKLQkJcmV0dXJuIDA7Ci0KLQlyZXR1 cm4gMTsKLX0KKwl1aW50MzJfdCBzZXFubzsKIAotdm9pZCBpbnRlbF9ub3RpZnlfbW1pb19mbGlw KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShyaW5nLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjOwotCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOwotCXUzMiBzZXFubzsKLQotCXNl cW5vID0gcmluZy0+Z2V0X3NlcW5vKHJpbmcsIGZhbHNlKTsKKwlzZXFubyA9IGludGVsX2NydGMt Pm1taW9fZmxpcC5zZXFubzsKKwlyaW5nID0gaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnJpbmc7CiAK LQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrLCBpcnFfZmxhZ3Mp OwotCWZvcl9lYWNoX2ludGVsX2NydGMocmluZy0+ZGV2LCBpbnRlbF9jcnRjKSB7Ci0JCXN0cnVj dCBpbnRlbF9tbWlvX2ZsaXAgKm1taW9fZmxpcDsKKwlpZiAoc2Vxbm8pCisJCVdBUk5fT04oX19p OTE1X3dhaXRfc2Vxbm8ocmluZywgc2Vxbm8sCisJCQkJCSAgaW50ZWxfY3J0Yy0+cmVzZXRfY291 bnRlciwKKwkJCQkJICB0cnVlLCBOVUxMLCBOVUxMKSAhPSAwKTsKIAotCQltbWlvX2ZsaXAgPSAm aW50ZWxfY3J0Yy0+bW1pb19mbGlwOwotCQlpZiAobW1pb19mbGlwLT5zdGF0dXMgIT0gSU5URUxf TU1JT19GTElQX1dBSVRfUklORykKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChyaW5nLT5pZCAhPSBt bWlvX2ZsaXAtPnJpbmdfaWQpCi0JCQljb250aW51ZTsKLQotCQlpZiAoaTkxNV9zZXFub19wYXNz ZWQoc2Vxbm8sIG1taW9fZmxpcC0+c2Vxbm8pKSB7Ci0JCQlzY2hlZHVsZV93b3JrKCZpbnRlbF9j cnRjLT5tbWlvX2ZsaXAud29yayk7Ci0JCQltbWlvX2ZsaXAtPnN0YXR1cyA9IElOVEVMX01NSU9f RkxJUF9XT1JLX1NDSEVEVUxFRDsKLQkJCXJpbmctPmlycV9wdXQocmluZyk7Ci0JCX0KLQl9Ci0J c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrLCBpcnFfZmxh Z3MpOworCWludGVsX2RvX21taW9fZmxpcChpbnRlbF9jcnRjKTsKIH0KIAogc3RhdGljIGludCBp bnRlbF9xdWV1ZV9tbWlvX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKQEAgLTk1MDAsMzIg Kzk0NTEsMTMgQEAgc3RhdGljIGludCBpbnRlbF9xdWV1ZV9tbWlvX2ZsaXAoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCQkgdWlu dDMyX3QgZmxhZ3MpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Ci0JaW50IHJldDsKLQotCWlmIChXQVJOX09OKGludGVsX2NydGMtPm1taW9f ZmxpcC5zdGF0dXMgIT0gSU5URUxfTU1JT19GTElQX0lETEUpKQotCQlyZXR1cm4gLUVCVVNZOwot Ci0JcmV0ID0gaW50ZWxfcG9zdHBvbmVfZmxpcChvYmopOwotCWlmIChyZXQgPCAwKQotCQlyZXR1 cm4gcmV0OwotCWlmIChyZXQgPT0gMCkgewotCQlpbnRlbF9kb19tbWlvX2ZsaXAoaW50ZWxfY3J0 Yyk7Ci0JCXJldHVybiAwOwotCX0KIAotCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5tbWlvX2Zs aXBfbG9jayk7Ci0JaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnN0YXR1cyA9IElOVEVMX01NSU9fRkxJ UF9XQUlUX1JJTkc7CiAJaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnNlcW5vID0gb2JqLT5sYXN0X3dy aXRlX3NlcW5vOwotCWludGVsX2NydGMtPm1taW9fZmxpcC5yaW5nX2lkID0gb2JqLT5yaW5nLT5p ZDsKLQlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5tbWlvX2ZsaXBfbG9jayk7CisJaW50ZWxf Y3J0Yy0+bW1pb19mbGlwLnJpbmcgPSBvYmotPnJpbmc7CisKKwlzY2hlZHVsZV93b3JrKCZpbnRl bF9jcnRjLT5tbWlvX2ZsaXAud29yayk7CiAKLQkvKgotCSAqIERvdWJsZSBjaGVjayB0byBjYXRj aCBjYXNlcyB3aGVyZSBpcnEgZmlyZWQgYmVmb3JlCi0JICogbW1pbyBmbGlwIGRhdGEgd2FzIHJl YWR5Ci0JICovCi0JaW50ZWxfbm90aWZ5X21taW9fZmxpcChvYmotPnJpbmcpOwogCXJldHVybiAw OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGM4ZGRkZTYuLjQ5MmQzNDYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0zOTksMTYgKzM5OSw5IEBAIHN0cnVjdCBpbnRl bF9waXBlX3dtIHsKIAlib29sIHNwcml0ZXNfc2NhbGVkOwogfTsKIAotZW51bSBpbnRlbF9tbWlv X2ZsaXBfc3RhdHVzIHsKLQlJTlRFTF9NTUlPX0ZMSVBfSURMRSA9IDAsCi0JSU5URUxfTU1JT19G TElQX1dBSVRfUklORywKLQlJTlRFTF9NTUlPX0ZMSVBfV09SS19TQ0hFRFVMRUQsCi19OwotCiBz dHJ1Y3QgaW50ZWxfbW1pb19mbGlwIHsKIAl1MzIgc2Vxbm87Ci0JdTMyIHJpbmdfaWQ7Ci0JZW51 bSBpbnRlbF9tbWlvX2ZsaXBfc3RhdHVzIHN0YXR1czsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nOwogCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwogfTsKIAotLSAKMS44LjMuMgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK