From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH] drm/i915: Make mmio flip wait for seqno in the work function Date: Wed, 5 Nov 2014 13:03:00 +0200 Message-ID: <1415185380-6609-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <20141104111018.GO13658@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 339556E776 for ; Wed, 5 Nov 2014 03:04:54 -0800 (PST) In-Reply-To: <20141104111018.GO13658@nuc-i3427.alporthouse.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 , ville.syrjala@intel.com, shuang.he@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIHF1aXRlIGEgYml0IGNvbXBhcmVkIHRvIGl0ZXJhdGlu ZyBvdmVyIGFsbApyaW5ncyBkdXJpbmcgdGhlIHJpbmcgaW50ZXJydXB0LgoKQWxzbywgaXQgYWxs b3dzIHVzIHRvIGRyb3AgdGhlIG1taW9fZmxpcCBzcGlubG9jaywgc2luY2UgdGhlIG1taW9fZmxp cApzdHJ1Y3QgaXMgb25seSBhY2Nlc3NlZCBpbiB0d28gcGxhY2VzLiBUaGUgZmlyc3QgaXMgd2hl biB0aGUgZmxpcCBpcwpxdWV1ZWQgYW5kIHRoZSBvdGhlciB3aGVuIHRoZSBtbWlvIHdyaXRlcyBh cmUgZG9uZS4gU2luY2UgYSBmbGlwIGNhbm5vdApiZSBxdWV1ZWQgd2hpbGUgdGhlcmUgaXMgYSBw ZW5kaW5nIGZsaXAsIHRoZSB0d28gcGF0aHMgc2hvdWxkbid0IGV2ZXIKcnVuIGluIHBhcmFsbGVs LiBXZSBtaWdodCBuZWVkIHRvIHJldmlzaXQgdGhhdCBpZiBzdXBwb3J0IGZvciByZXBsYWNpbmcK ZmxpcHMgaXMgaW1wbGVtZW50ZWQgdGhvdWdoLgoKU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2Vs dmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgot LS0KCkknbSBub3Qgc3VyZSBpZiBsb2NraW5nIGRldi0+c3RydWN0X211dGV4IGluIHRoZSB3b3Jr IGZ1bmN0aW9uIG1pZ2h0CmhhdmUgYW55IGlsbCBlZmZlY3RzLCBzbyBJJ2QgYXBwcmVjaWF0ZSBp ZiBzb21lb25lIGNvdWxkIGVubGlnaHRlbiBtZS4KClRoYW5rcywKQW5kZXIKCi0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgIHwgIDMgLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDkxICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDkgKy0tLQogMyBm aWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA5MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYwppbmRleCAzMThhNmEwLi41ZmZmMjg3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKQEAgLTk3OSw5ICs5NzksNiBAQCBzdGF0aWMgdm9pZCBub3RpZnlfcmluZyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCiAJdHJhY2VfaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZShyaW5n KTsKIAotCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQot CQlpbnRlbF9ub3RpZnlfbW1pb19mbGlwKHJpbmcpOwotCiAJd2FrZV91cF9hbGwoJnJpbmctPmly cV9xdWV1ZSk7CiAJaTkxNV9xdWV1ZV9oYW5nY2hlY2soZGV2KTsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwppbmRleCBmM2ZmOGU4Li4yNGNmZTE5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCkBAIC05NDI0LDczICs5NDI0LDI1IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RvX21taW9fZmxpcChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKIAogCWlmIChh dG9taWNfdXBkYXRlKQogCQlpbnRlbF9waXBlX3VwZGF0ZV9lbmQoaW50ZWxfY3J0Yywgc3RhcnRf dmJsX2NvdW50KTsKLQotCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5tbWlvX2ZsaXBfbG9jayk7 Ci0JaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnN0YXR1cyA9IElOVEVMX01NSU9fRkxJUF9JRExFOwot CXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrKTsKIH0KIAogc3RhdGlj IHZvaWQgaW50ZWxfbW1pb19mbGlwX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp CiB7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQogCQljb250YWluZXJfb2Yod29y aywgc3RydWN0IGludGVsX2NydGMsIG1taW9fZmxpcC53b3JrKTsKLQotCWludGVsX2RvX21taW9f ZmxpcChpbnRlbF9jcnRjKTsKLX0KLQotc3RhdGljIGludCBpbnRlbF9wb3N0cG9uZV9mbGlwKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCi17CiAJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZzsKLQlpbnQgcmV0OwotCi0JbG9ja2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5iYXNlLmRl di0+c3RydWN0X211dGV4KTsKLQotCWlmICghb2JqLT5sYXN0X3dyaXRlX3NlcW5vKQotCQlyZXR1 cm4gMDsKLQotCXJpbmcgPSBvYmotPnJpbmc7CisJdWludDMyX3Qgc2Vxbm87CiAKLQlpZiAoaTkx NV9zZXFub19wYXNzZWQocmluZy0+Z2V0X3NlcW5vKHJpbmcsIHRydWUpLAotCQkJICAgICAgb2Jq LT5sYXN0X3dyaXRlX3NlcW5vKSkKLQkJcmV0dXJuIDA7Ci0KLQlyZXQgPSBpOTE1X2dlbV9jaGVj a19vbHIocmluZywgb2JqLT5sYXN0X3dyaXRlX3NlcW5vKTsKLQlpZiAocmV0KQotCQlyZXR1cm4g cmV0OwotCi0JaWYgKFdBUk5fT04oIXJpbmctPmlycV9nZXQocmluZykpKQotCQlyZXR1cm4gMDsK KwlzZXFubyA9IGludGVsX2NydGMtPm1taW9fZmxpcC5zZXFubzsKKwlyaW5nID0gaW50ZWxfY3J0 Yy0+bW1pb19mbGlwLnJpbmc7CiAKLQlyZXR1cm4gMTsKLX0KLQotdm9pZCBpbnRlbF9ub3RpZnlf bW1pb19mbGlwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCi17Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShyaW5nLT5kZXYpOwotCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjOwotCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOwotCXUzMiBzZXFu bzsKLQotCXNlcW5vID0gcmluZy0+Z2V0X3NlcW5vKHJpbmcsIGZhbHNlKTsKLQotCXNwaW5fbG9j a19pcnFzYXZlKCZkZXZfcHJpdi0+bW1pb19mbGlwX2xvY2ssIGlycV9mbGFncyk7Ci0JZm9yX2Vh Y2hfaW50ZWxfY3J0YyhyaW5nLT5kZXYsIGludGVsX2NydGMpIHsKLQkJc3RydWN0IGludGVsX21t aW9fZmxpcCAqbW1pb19mbGlwOwotCi0JCW1taW9fZmxpcCA9ICZpbnRlbF9jcnRjLT5tbWlvX2Zs aXA7Ci0JCWlmIChtbWlvX2ZsaXAtPnN0YXR1cyAhPSBJTlRFTF9NTUlPX0ZMSVBfV0FJVF9SSU5H KQotCQkJY29udGludWU7Ci0KLQkJaWYgKHJpbmctPmlkICE9IG1taW9fZmxpcC0+cmluZ19pZCkK LQkJCWNvbnRpbnVlOwotCi0JCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgbW1pb19mbGlw LT5zZXFubykpIHsKLQkJCXNjaGVkdWxlX3dvcmsoJmludGVsX2NydGMtPm1taW9fZmxpcC53b3Jr KTsKLQkJCW1taW9fZmxpcC0+c3RhdHVzID0gSU5URUxfTU1JT19GTElQX1dPUktfU0NIRURVTEVE OwotCQkJcmluZy0+aXJxX3B1dChyaW5nKTsKLQkJfQorCWlmIChzZXFubykgeworCQltdXRleF9s b2NrKCZyaW5nLT5kZXYtPnN0cnVjdF9tdXRleCk7CisJCVdBUk5fT04oaTkxNV93YWl0X3NlcW5v KHJpbmcsIHNlcW5vKSAhPSAwKTsKKwkJbXV0ZXhfdW5sb2NrKCZyaW5nLT5kZXYtPnN0cnVjdF9t dXRleCk7CiAJfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT5tbWlvX2ZsaXBf bG9jaywgaXJxX2ZsYWdzKTsKKworCWludGVsX2RvX21taW9fZmxpcChpbnRlbF9jcnRjKTsKIH0K IAogc3RhdGljIGludCBpbnRlbF9xdWV1ZV9tbWlvX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKQEAgLTk1MDAsMzIgKzk0NTIsMTMgQEAgc3RhdGljIGludCBpbnRlbF9xdWV1ZV9tbWlvX2Zs aXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAkJCQkgdWludDMyX3QgZmxhZ3MpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0JaW50IHJldDsKLQotCWlmIChXQVJOX09OKGlu dGVsX2NydGMtPm1taW9fZmxpcC5zdGF0dXMgIT0gSU5URUxfTU1JT19GTElQX0lETEUpKQotCQly ZXR1cm4gLUVCVVNZOwotCi0JcmV0ID0gaW50ZWxfcG9zdHBvbmVfZmxpcChvYmopOwotCWlmIChy ZXQgPCAwKQotCQlyZXR1cm4gcmV0OwotCWlmIChyZXQgPT0gMCkgewotCQlpbnRlbF9kb19tbWlv X2ZsaXAoaW50ZWxfY3J0Yyk7Ci0JCXJldHVybiAwOwotCX0KIAotCXNwaW5fbG9ja19pcnEoJmRl dl9wcml2LT5tbWlvX2ZsaXBfbG9jayk7Ci0JaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnN0YXR1cyA9 IElOVEVMX01NSU9fRkxJUF9XQUlUX1JJTkc7CiAJaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnNlcW5v ID0gb2JqLT5sYXN0X3dyaXRlX3NlcW5vOwotCWludGVsX2NydGMtPm1taW9fZmxpcC5yaW5nX2lk ID0gb2JqLT5yaW5nLT5pZDsKLQlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5tbWlvX2ZsaXBf bG9jayk7CisJaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnJpbmcgPSBvYmotPnJpbmc7CisKKwlzY2hl ZHVsZV93b3JrKCZpbnRlbF9jcnRjLT5tbWlvX2ZsaXAud29yayk7CiAKLQkvKgotCSAqIERvdWJs ZSBjaGVjayB0byBjYXRjaCBjYXNlcyB3aGVyZSBpcnEgZmlyZWQgYmVmb3JlCi0JICogbW1pbyBm bGlwIGRhdGEgd2FzIHJlYWR5Ci0JICovCi0JaW50ZWxfbm90aWZ5X21taW9fZmxpcChvYmotPnJp bmcpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGM4ZGRk ZTYuLjQ5MmQzNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0zOTksMTYgKzM5OSw5 IEBAIHN0cnVjdCBpbnRlbF9waXBlX3dtIHsKIAlib29sIHNwcml0ZXNfc2NhbGVkOwogfTsKIAot ZW51bSBpbnRlbF9tbWlvX2ZsaXBfc3RhdHVzIHsKLQlJTlRFTF9NTUlPX0ZMSVBfSURMRSA9IDAs Ci0JSU5URUxfTU1JT19GTElQX1dBSVRfUklORywKLQlJTlRFTF9NTUlPX0ZMSVBfV09SS19TQ0hF RFVMRUQsCi19OwotCiBzdHJ1Y3QgaW50ZWxfbW1pb19mbGlwIHsKIAl1MzIgc2Vxbm87Ci0JdTMy IHJpbmdfaWQ7Ci0JZW51bSBpbnRlbF9tbWlvX2ZsaXBfc3RhdHVzIHN0YXR1czsKKwlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nOwogCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwogfTsKIAot LSAKMS44LjMuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK