From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 01/25] drm/i915: Add ring_notify mechanism Date: Wed, 18 Jun 2014 20:58:34 +0300 Message-ID: <1403114338-30513-2-git-send-email-ville.syrjala@linux.intel.com> References: <1403114338-30513-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 136B46E6F9 for ; Wed, 18 Jun 2014 10:59:05 -0700 (PDT) In-Reply-To: <1403114338-30513-1-git-send-email-ville.syrjala@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClBy b3ZlaWRlIGEgcmluZyBub3RpZnkgbWVjaGFuaXNtIHdoZXJlIHlvdSBjYW4gYXNrIGZvciBhIGNh bGxiYWNrIHdoZW4gYQpzcGVjaWZpYyBzZXFubyBoYXMgYmVlbiBwYXNzZWQuCgpDYW4gYmUgdXNl ZCBmb3IgRkJDIGFuZCBtbWlvIGZsaXBzIGF0IGxlYXN0LgoKU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAxMCArKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jICAgICAgICAgfCAgNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAxNyArKysrKysrCiA0IGZp bGVzIGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5k ZXggZDg1N2Y1OC4uYTVlNjJjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0yNTIxLDYg KzI1MjEsOCBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXNldF9yaW5nX3N0YXR1cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXNldF9y aW5nX2NsZWFudXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogeworCXN0cnVjdCBpbnRlbF9yaW5nX25vdGlmeSAq bm90aWZ5LCAqbmV4dDsKKwogCXdoaWxlICghbGlzdF9lbXB0eSgmcmluZy0+YWN0aXZlX2xpc3Qp KSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAKQEAgLTI1NTIsNiArMjU1 NCwxNCBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXNldF9yaW5nX2NsZWFudXAoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWtmcmVlKHJpbmctPnByZWFsbG9jYXRlZF9sYXp5 X3JlcXVlc3QpOwogCXJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QgPSBOVUxMOwogCXJp bmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8gPSAwOworCisJc3Bpbl9sb2NrX2lycSgmcmluZy0+ bG9jayk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG5vdGlmeSwgbmV4dCwgJnJpbmctPm5v dGlmeV9saXN0LCBsaXN0KSB7CisJCWludGVsX3Jpbmdfbm90aWZ5X2NvbXBsZXRlKG5vdGlmeSk7 CisJCS8qIEZJWE1FIHNob3VsZCB3ZSBub3RpZnkgYXQgcmVzZXQ/ICovCisJCW5vdGlmeS0+bm90 aWZ5KG5vdGlmeSk7CisJfQorCXNwaW5fdW5sb2NrX2lycSgmcmluZy0+bG9jayk7CiB9CiAKIHZv aWQgaTkxNV9nZW1fcmVzdG9yZV9mZW5jZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCmluZGV4IDFjMWVjMjIuLjIxOGYwMTEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwpAQCAtMTIyMSw2ICsxMjIxLDEwIEBAIHN0YXRpYyB2b2lkIG5vdGlmeV9yaW5nKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBE UklWRVJfTU9ERVNFVCkpCiAJCWludGVsX25vdGlmeV9tbWlvX2ZsaXAocmluZyk7CiAKKwlzcGlu X2xvY2soJnJpbmctPmxvY2spOworCWludGVsX3Jpbmdfbm90aWZ5X2NoZWNrKHJpbmcpOworCXNw aW5fdW5sb2NrKCZyaW5nLT5sb2NrKTsKKwogCXdha2VfdXBfYWxsKCZyaW5nLT5pcnFfcXVldWUp OwogCWk5MTVfcXVldWVfaGFuZ2NoZWNrKGRldik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMKaW5kZXggYjk2ZWRhZi4uMzEzMjFhZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMTQ0Nyw2ICsxNDQ3LDkgQEAgc3RhdGljIGludCBp bnRlbF9pbml0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlpbml0X3dh aXRxdWV1ZV9oZWFkKCZyaW5nLT5pcnFfcXVldWUpOwogCisJSU5JVF9MSVNUX0hFQUQoJnJpbmct Pm5vdGlmeV9saXN0KTsKKwlzcGluX2xvY2tfaW5pdCgmcmluZy0+bG9jayk7CisKIAlpZiAoSTkx NV9ORUVEX0dGWF9IV1MoZGV2KSkgewogCQlyZXQgPSBpbml0X3N0YXR1c19wYWdlKHJpbmcpOwog CQlpZiAocmV0KQpAQCAtMjQwNywzICsyNDEwLDg5IEBAIGludGVsX3N0b3BfcmluZ19idWZmZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAogCXN0b3BfcmluZyhyaW5nKTsKIH0KKwor dm9pZCBpbnRlbF9yaW5nX25vdGlmeV9jb21wbGV0ZShzdHJ1Y3QgaW50ZWxfcmluZ19ub3RpZnkg Km5vdGlmeSkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gbm90aWZ5LT5yaW5n OworCisJcmluZy0+aXJxX3B1dChyaW5nKTsKKwlsaXN0X2RlbCgmbm90aWZ5LT5saXN0KTsKKwlu b3RpZnktPnJpbmcgPSBOVUxMOworfQorCit2b2lkIGludGVsX3Jpbmdfbm90aWZ5X2NoZWNrKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCit7CisJc3RydWN0IGludGVsX3Jpbmdfbm90aWZ5 ICpub3RpZnksICpuZXh0OworCXUzMiBzZXFubzsKKworCWFzc2VydF9zcGluX2xvY2tlZCgmcmlu Zy0+bG9jayk7CisKKwlpZiAobGlzdF9lbXB0eSgmcmluZy0+bm90aWZ5X2xpc3QpKQorCQlyZXR1 cm47CisKKwlzZXFubyA9IHJpbmctPmdldF9zZXFubyhyaW5nLCBmYWxzZSk7CisKKwlsaXN0X2Zv cl9lYWNoX2VudHJ5X3NhZmUobm90aWZ5LCBuZXh0LCAmcmluZy0+bm90aWZ5X2xpc3QsIGxpc3Qp IHsKKwkJaWYgKGk5MTVfc2Vxbm9fcGFzc2VkKHNlcW5vLCBub3RpZnktPnNlcW5vKSkgeworCQkJ aW50ZWxfcmluZ19ub3RpZnlfY29tcGxldGUobm90aWZ5KTsKKwkJCW5vdGlmeS0+bm90aWZ5KG5v dGlmeSk7CisJCX0KKwl9Cit9CisKK2ludCBpbnRlbF9yaW5nX25vdGlmeV9hZGQoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZywKKwkJCSAgc3RydWN0IGludGVsX3Jpbmdfbm90aWZ5ICpub3Rp ZnkpCit7CisJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKKwlpbnQgcmV0OworCisJbG9ja2RlcF9h c3NlcnRfaGVsZCgmcmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCisJaWYgKFdBUk5fT04obm90 aWZ5LT5yaW5nICE9IE5VTEwgfHwgbm90aWZ5LT5zZXFubyA9PSAwKSkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlpZiAoaTkxNV9zZXFub19wYXNzZWQocmluZy0+Z2V0X3NlcW5vKHJpbmcsIHRydWUp LCBub3RpZnktPnNlcW5vKSkKKwkJZ290byBub3RpZnlfaW1tZWRpYXRlbHk7CisKKwlyZXQgPSBp OTE1X2dlbV9jaGVja19vbHIocmluZywgbm90aWZ5LT5zZXFubyk7CisJaWYgKHJldCkKKwkJcmV0 dXJuIHJldDsKKworCWlmIChXQVJOX09OKCFyaW5nLT5pcnFfZ2V0KHJpbmcpKSkKKwkJZ290byBu b3RpZnlfaW1tZWRpYXRlbHk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmluZy0+bG9jaywgaXJx ZmxhZ3MpOworCW5vdGlmeS0+cmluZyA9IHJpbmc7CisJbGlzdF9hZGRfdGFpbCgmbm90aWZ5LT5s aXN0LCAmcmluZy0+bm90aWZ5X2xpc3QpOworCS8qIGNoZWNrIGFnYWluIGluIGNhc2Ugd2UganVz dCBtaXNzZWQgaXQgKi8KKwlpbnRlbF9yaW5nX25vdGlmeV9jaGVjayhyaW5nKTsKKwlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZyaW5nLT5sb2NrLCBpcnFmbGFncyk7CisKKwlyZXR1cm4gMDsKKwor IG5vdGlmeV9pbW1lZGlhdGVseToKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmluZy0+bG9jaywgaXJx ZmxhZ3MpOworCW5vdGlmeS0+bm90aWZ5KG5vdGlmeSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmcmluZy0+bG9jaywgaXJxZmxhZ3MpOworCisJcmV0dXJuIDA7Cit9CisKK2Jvb2wgaW50ZWxf cmluZ19ub3RpZnlfcGVuZGluZyhzdHJ1Y3QgaW50ZWxfcmluZ19ub3RpZnkgKm5vdGlmeSkKK3sK KwlyZXR1cm4gbm90aWZ5LT5yaW5nICE9IE5VTEw7Cit9CisKK3ZvaWQgaW50ZWxfcmluZ19ub3Rp ZnlfY2FuY2VsKHN0cnVjdCBpbnRlbF9yaW5nX25vdGlmeSAqbm90aWZ5KQoreworCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcgPSBBQ0NFU1NfT05DRShub3RpZnktPnJpbmcpOworCXVuc2ln bmVkIGxvbmcgaXJxZmxhZ3M7CisKKwlpZiAoIXJpbmcpCisJCXJldHVybjsKKworCXNwaW5fbG9j a19pcnFzYXZlKCZyaW5nLT5sb2NrLCBpcnFmbGFncyk7CisJaWYgKG5vdGlmeS0+cmluZykKKwkJ aW50ZWxfcmluZ19ub3RpZnlfY29tcGxldGUobm90aWZ5KTsKKwlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZyaW5nLT5sb2NrLCBpcnFmbGFncyk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKaW5kZXggZTcyMDE3Yi4uMjczYWJmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaApAQCAtNzksNiArNzksMTMgQEAgc3RydWN0IGludGVsX3Jpbmdi dWZmZXIgewogCXUzMiBsYXN0X3JldGlyZWRfaGVhZDsKIH07CiAKK3N0cnVjdCBpbnRlbF9yaW5n X25vdGlmeSB7CisJdm9pZCAoKm5vdGlmeSkoc3RydWN0IGludGVsX3Jpbmdfbm90aWZ5ICpub3Rp ZnkpOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7CisJc3RydWN0IGxpc3RfaGVhZCBs aXN0OworCXUzMiBzZXFubzsKK307CisKIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsKIAljb25z dCBjaGFyCSpuYW1lOwogCWVudW0gaW50ZWxfcmluZ19pZCB7CkBAIC0yMTcsNiArMjI0LDkgQEAg c3RydWN0ICBpbnRlbF9lbmdpbmVfY3MgewogCSAqIHRvIGVuY29kZSB0aGUgY29tbWFuZCBsZW5n dGggaW4gdGhlIGhlYWRlcikuCiAJICovCiAJdTMyICgqZ2V0X2NtZF9sZW5ndGhfbWFzaykodTMy IGNtZF9oZWFkZXIpOworCisJc3RydWN0IGxpc3RfaGVhZCBub3RpZnlfbGlzdDsKKwlzcGlubG9j a190IGxvY2s7CiB9OwogCiBzdGF0aWMgaW5saW5lIGJvb2wKQEAgLTMzNSw2ICszNDUsMTMgQEAg c3RhdGljIGlubGluZSB2b2lkIGk5MTVfdHJhY2VfaXJxX2dldChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nLCB1MzIgc2Vxbm8pCiAJCXJpbmctPnRyYWNlX2lycV9zZXFubyA9IHNlcW5vOwog fQogCit2b2lkIGludGVsX3Jpbmdfbm90aWZ5X2NvbXBsZXRlKHN0cnVjdCBpbnRlbF9yaW5nX25v dGlmeSAqbm90aWZ5KTsKK3ZvaWQgaW50ZWxfcmluZ19ub3RpZnlfY2hlY2soc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyk7CitpbnQgX19tdXN0X2NoZWNrIGludGVsX3Jpbmdfbm90aWZ5X2Fk ZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxf cmluZ19ub3RpZnkgKm5vdGlmeSk7Citib29sIGludGVsX3Jpbmdfbm90aWZ5X3BlbmRpbmcoc3Ry dWN0IGludGVsX3Jpbmdfbm90aWZ5ICpub3RpZnkpOwordm9pZCBpbnRlbF9yaW5nX25vdGlmeV9j YW5jZWwoc3RydWN0IGludGVsX3Jpbmdfbm90aWZ5ICpub3RpZnkpOworCiAvKiBEUkkgd2FydHMg Ki8KIGludCBpbnRlbF9yZW5kZXJfcmluZ19pbml0X2RyaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB1NjQgc3RhcnQsIHUzMiBzaXplKTsKIAotLSAKMS44LjUuNQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK