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: Thu, 6 Nov 2014 11:03:40 +0200 Message-ID: <1415264620-8044-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <20141106074754.GB3250@nuc-i3427.alporthouse.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 937016E09C for ; Thu, 6 Nov 2014 01:03:49 -0800 (PST) In-Reply-To: <20141106074754.GB3250@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 , shuang.he@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIHF1aXRlIGEgYml0IGNvbXBhcmVkIHRvIGl0ZXJhdGlu ZyBvdmVyIGFsbApyaW5ncyBkdXJpbmcgdGhlIHJpbmcgaW50ZXJydXB0LgoKQWxzbywgaXQgYWxs b3dzIHVzIHRvIGRyb3AgdGhlIG1taW9fZmxpcCBzcGlubG9jaywgc2luY2UgdGhlIG1taW9fZmxp cApzdHJ1Y3QgaXMgb25seSBhY2Nlc3NlZCBpbiB0d28gcGxhY2VzLiBUaGUgZmlyc3QgaXMgd2hl biB0aGUgZmxpcCBpcwpxdWV1ZWQgYW5kIHRoZSBvdGhlciB3aGVuIHRoZSBtbWlvIHdyaXRlcyBh cmUgZG9uZS4gU2luY2UgYSBmbGlwIGNhbm5vdApiZSBxdWV1ZWQgd2hpbGUgdGhlcmUgaXMgYSBw ZW5kaW5nIGZsaXAsIHRoZSB0d28gcGF0aHMgc2hvdWxkbid0IGV2ZXIKcnVuIGluIHBhcmFsbGVs LiBXZSBtaWdodCBuZWVkIHRvIHJldmlzaXQgdGhhdCBpZiBzdXBwb3J0IGZvciByZXBsYWNpbmcK ZmxpcHMgaXMgaW1wbGVtZW50ZWQgdGhvdWdoLgoKdjI6IERvbid0IGhvbGQgZGV2LT5zdHJ1Y3Rf bXV0ZXh0IHdoaWxlIHdhaXRpbmcgKENocmlzKQoKdjM6IE1ha2UgdGhlIHdhaXQgdW5pbnRlcnJ1 cHRhYmxlIChDaHJpcykKClNpZ25lZC1vZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWly YSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgfCAgMyAtLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIHwgOTAgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgOSArLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDkwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCmluZGV4IDMxOGE2YTAuLjVmZmYyODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YwpAQCAtOTc5LDkgKzk3OSw2IEBAIHN0YXRpYyB2b2lkIG5vdGlmeV9yaW5nKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAKIAl0cmFjZV9pOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlKHJpbmcpOwog Ci0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCi0JCWlu dGVsX25vdGlmeV9tbWlvX2ZsaXAocmluZyk7Ci0KIAl3YWtlX3VwX2FsbCgmcmluZy0+aXJxX3F1 ZXVlKTsKIAlpOTE1X3F1ZXVlX2hhbmdjaGVjayhkZXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCmluZGV4IGYzZmY4ZTguLmUzMTdlMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKQEAgLTk0MjQsNzMgKzk0MjQsMjQgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZG9fbW1pb19mbGlwKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQogCiAJaWYgKGF0b21p Y191cGRhdGUpCiAJCWludGVsX3BpcGVfdXBkYXRlX2VuZChpbnRlbF9jcnRjLCBzdGFydF92Ymxf Y291bnQpOwotCi0Jc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrKTsKLQlp bnRlbF9jcnRjLT5tbWlvX2ZsaXAuc3RhdHVzID0gSU5URUxfTU1JT19GTElQX0lETEU7Ci0Jc3Bp bl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+bW1pb19mbGlwX2xvY2spOwogfQogCiBzdGF0aWMgdm9p ZCBpbnRlbF9tbWlvX2ZsaXBfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsK IAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBz dHJ1Y3QgaW50ZWxfY3J0YywgbW1pb19mbGlwLndvcmspOwotCi0JaW50ZWxfZG9fbW1pb19mbGlw KGludGVsX2NydGMpOwotfQotCi1zdGF0aWMgaW50IGludGVsX3Bvc3Rwb25lX2ZsaXAoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKLXsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nOwotCWludCByZXQ7Ci0KLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZvYmotPmJhc2UuZGV2LT5z dHJ1Y3RfbXV0ZXgpOwotCi0JaWYgKCFvYmotPmxhc3Rfd3JpdGVfc2Vxbm8pCi0JCXJldHVybiAw OwotCi0JcmluZyA9IG9iai0+cmluZzsKLQotCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChyaW5nLT5n ZXRfc2Vxbm8ocmluZywgdHJ1ZSksCi0JCQkgICAgICBvYmotPmxhc3Rfd3JpdGVfc2Vxbm8pKQot CQlyZXR1cm4gMDsKLQotCXJldCA9IGk5MTVfZ2VtX2NoZWNrX29scihyaW5nLCBvYmotPmxhc3Rf d3JpdGVfc2Vxbm8pOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQlpZiAoV0FSTl9PTigh cmluZy0+aXJxX2dldChyaW5nKSkpCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIDE7Ci19CisJdWlu dDMyX3Qgc2Vxbm87CiAKLXZvaWQgaW50ZWxfbm90aWZ5X21taW9fZmxpcChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUocmluZy0+ZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKLQl1 bnNpZ25lZCBsb25nIGlycV9mbGFnczsKLQl1MzIgc2Vxbm87Ci0KLQlzZXFubyA9IHJpbmctPmdl dF9zZXFubyhyaW5nLCBmYWxzZSk7CisJc2Vxbm8gPSBpbnRlbF9jcnRjLT5tbWlvX2ZsaXAuc2Vx bm87CisJcmluZyA9IGludGVsX2NydGMtPm1taW9fZmxpcC5yaW5nOwogCi0Jc3Bpbl9sb2NrX2ly cXNhdmUoJmRldl9wcml2LT5tbWlvX2ZsaXBfbG9jaywgaXJxX2ZsYWdzKTsKLQlmb3JfZWFjaF9p bnRlbF9jcnRjKHJpbmctPmRldiwgaW50ZWxfY3J0YykgewotCQlzdHJ1Y3QgaW50ZWxfbW1pb19m bGlwICptbWlvX2ZsaXA7CisJaWYgKHNlcW5vKQorCQlXQVJOX09OKF9faTkxNV93YWl0X3NlcW5v KHJpbmcsIHNlcW5vLAorCQkJCQkgIGludGVsX2NydGMtPnJlc2V0X2NvdW50ZXIsCisJCQkJCSAg ZmFsc2UsIE5VTEwsIE5VTEwpICE9IDApOwogCi0JCW1taW9fZmxpcCA9ICZpbnRlbF9jcnRjLT5t bWlvX2ZsaXA7Ci0JCWlmIChtbWlvX2ZsaXAtPnN0YXR1cyAhPSBJTlRFTF9NTUlPX0ZMSVBfV0FJ VF9SSU5HKQotCQkJY29udGludWU7Ci0KLQkJaWYgKHJpbmctPmlkICE9IG1taW9fZmxpcC0+cmlu Z19pZCkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgbW1p b19mbGlwLT5zZXFubykpIHsKLQkJCXNjaGVkdWxlX3dvcmsoJmludGVsX2NydGMtPm1taW9fZmxp cC53b3JrKTsKLQkJCW1taW9fZmxpcC0+c3RhdHVzID0gSU5URUxfTU1JT19GTElQX1dPUktfU0NI RURVTEVEOwotCQkJcmluZy0+aXJxX3B1dChyaW5nKTsKLQkJfQotCX0KLQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkZXZfcHJpdi0+bW1pb19mbGlwX2xvY2ssIGlycV9mbGFncyk7CisJaW50ZWxf ZG9fbW1pb19mbGlwKGludGVsX2NydGMpOwogfQogCiBzdGF0aWMgaW50IGludGVsX3F1ZXVlX21t aW9fZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtOTUwMCwzMiArOTQ1MSwxMyBAQCBz dGF0aWMgaW50IGludGVsX3F1ZXVlX21taW9fZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkJCSBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQkJCSB1aW50MzJfdCBmbGFncykK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsK LQlpbnQgcmV0OwotCi0JaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnN0YXR1cyAh PSBJTlRFTF9NTUlPX0ZMSVBfSURMRSkpCi0JCXJldHVybiAtRUJVU1k7Ci0KLQlyZXQgPSBpbnRl bF9wb3N0cG9uZV9mbGlwKG9iaik7Ci0JaWYgKHJldCA8IDApCi0JCXJldHVybiByZXQ7Ci0JaWYg KHJldCA9PSAwKSB7Ci0JCWludGVsX2RvX21taW9fZmxpcChpbnRlbF9jcnRjKTsKLQkJcmV0dXJu IDA7Ci0JfQogCi0Jc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrKTsKLQlp bnRlbF9jcnRjLT5tbWlvX2ZsaXAuc3RhdHVzID0gSU5URUxfTU1JT19GTElQX1dBSVRfUklORzsK IAlpbnRlbF9jcnRjLT5tbWlvX2ZsaXAuc2Vxbm8gPSBvYmotPmxhc3Rfd3JpdGVfc2Vxbm87Ci0J aW50ZWxfY3J0Yy0+bW1pb19mbGlwLnJpbmdfaWQgPSBvYmotPnJpbmctPmlkOwotCXNwaW5fdW5s b2NrX2lycSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrKTsKKwlpbnRlbF9jcnRjLT5tbWlvX2Zs aXAucmluZyA9IG9iai0+cmluZzsKKworCXNjaGVkdWxlX3dvcmsoJmludGVsX2NydGMtPm1taW9f ZmxpcC53b3JrKTsKIAotCS8qCi0JICogRG91YmxlIGNoZWNrIHRvIGNhdGNoIGNhc2VzIHdoZXJl IGlycSBmaXJlZCBiZWZvcmUKLQkgKiBtbWlvIGZsaXAgZGF0YSB3YXMgcmVhZHkKLQkgKi8KLQlp bnRlbF9ub3RpZnlfbW1pb19mbGlwKG9iai0+cmluZyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggYzhkZGRlNi4uNDkyZDM0NiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKQEAgLTM5OSwxNiArMzk5LDkgQEAgc3RydWN0IGludGVsX3BpcGVfd20gewog CWJvb2wgc3ByaXRlc19zY2FsZWQ7CiB9OwogCi1lbnVtIGludGVsX21taW9fZmxpcF9zdGF0dXMg ewotCUlOVEVMX01NSU9fRkxJUF9JRExFID0gMCwKLQlJTlRFTF9NTUlPX0ZMSVBfV0FJVF9SSU5H LAotCUlOVEVMX01NSU9fRkxJUF9XT1JLX1NDSEVEVUxFRCwKLX07Ci0KIHN0cnVjdCBpbnRlbF9t bWlvX2ZsaXAgewogCXUzMiBzZXFubzsKLQl1MzIgcmluZ19pZDsKLQllbnVtIGludGVsX21taW9f ZmxpcF9zdGF0dXMgc3RhdHVzOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7CiAJc3Ry dWN0IHdvcmtfc3RydWN0IHdvcms7CiB9OwogCi0tIAoxLjguMy4yCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=