From mboxrd@z Thu Jan 1 00:00:00 1970 From: akash.goel@intel.com Subject: [PATCH 05/11] drm/i915: Handle log buffer flush interrupt event from GuC Date: Mon, 27 Jun 2016 17:46:52 +0530 Message-ID: <1467029818-3417-6-git-send-email-akash.goel@intel.com> References: <1467029818-3417-1-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id A883B6E28C for ; Mon, 27 Jun 2016 12:04:12 +0000 (UTC) In-Reply-To: <1467029818-3417-1-git-send-email-akash.goel@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 Cc: Akash Goel List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KCkd1QyB1 a2VybmVsIHNlbmRzIGFuIGludGVycnVwdCB0byBIb3N0IHRvIGZsdXNoIHRoZSBsb2cgYnVmZmVy CmFuZCBleHBlY3RzIEhvc3QgdG8gY29ycmVzcG9uZGluZ2x5IHVwZGF0ZSB0aGUgcmVhZCBwb2lu dGVyCmluZm9ybWF0aW9uIGluIHRoZSBzdGF0ZSBzdHJ1Y3R1cmUsIG9uY2UgaXQgaGFzIGNvbnN1 bWVkIHRoZQpsb2cgYnVmZmVyIGNvbnRlbnRzIGJ5IGNvcHlpbmcgdGhlbSB0byBhIGZpbGUgb3Ig YnVmZmVyLgpFdmVuIGlmIEhvc3QgY291bGRuJ3QgY29weSB0aGUgY29udGVudHMsIGl0IGNhbiBz dGlsbCB1cGRhdGUgdGhlCnJlYWQgcG9pbnRlciBzbyB0aGF0IGxvZ2dpbmcgc3RhdGUgaXMgbm90 IGRpc3R1cmJlZCBvbiBHdUMgc2lkZS4KClNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxl IDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFrYXNoIEdvZWwgPGFr YXNoLmdvZWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgICAgIHwgMTkgKysrKysrKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgICAgICAgICB8ICAxICsKIDMgZmlsZXMgY2hhbmdl ZCwgOTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwppbmRleCA4MTA1ZGRkLi5iOTVhNTEwIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC04MTksNiArODE5LDY1IEBA IGVycjoKIAlyZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIHZvaWQqIGd1Y19nZXRfd3JpdGVfYnVm ZmVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGlj IHZvaWQgZ3VjX3JlYWRfdXBkYXRlX2xvZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOworCXN0cnVjdCBndWNf bG9nX2J1ZmZlcl9zdGF0ZSAqbG9nX2J1ZmZlcl9zdGF0ZTsKKwlzdHJ1Y3QgZ3VjX2xvZ19idWZm ZXJfc3RhdGUgKmxvZ19idWZmZXJfY29weV9zdGF0ZTsKKwl2b2lkICpzcmNfcHRyLCAqZHN0X3B0 cjsKKwlpbnQgaTsKKworCWlmICghZ3VjLT5sb2dfb2JqKQorCQlyZXR1cm47CisKKwlsb2dfYnVm ZmVyX3N0YXRlID0gc3JjX3B0ciA9CisJCWttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZShndWMtPmxvZ19vYmosIDApKTsKKworCS8qIEdldCB0aGUgcG9pbnRlciB0byBsb2NhbCBi dWZmZXIgdG8gc3RvcmUgdGhlIGxvZ3MgKi8KKwlkc3RfcHRyID0gbG9nX2J1ZmZlcl9jb3B5X3N0 YXRlID0gZ3VjX2dldF93cml0ZV9idWZmZXIoZ3VjKTsKKwlpZiAobG9nX2J1ZmZlcl9jb3B5X3N0 YXRlKQorCQltZW1jcHkobG9nX2J1ZmZlcl9jb3B5X3N0YXRlLCBsb2dfYnVmZmVyX3N0YXRlLCBQ QUdFX1NJWkUpOworCisJZm9yIChpID0gMDsgaSA8IEdVQ19NQVhfTE9HX0JVRkZFUjsgaSsrKSB7 CisJCS8qIFVwZGF0ZSB0aGUgcmVhZCBwb2ludGVyIGluIHRoZSBzaGFyZWQgbG9nIGJ1ZmZlciAq LworCQlsb2dfYnVmZmVyX3N0YXRlLT5yZWFkX3B0ciA9CisJCQlsb2dfYnVmZmVyX3N0YXRlLT5z YW1wbGVkX3dyaXRlX3B0cjsKKworCQkvKiBDbGVhciB0aGUgJ2ZsdXNoIHRvIGZpbGUnIGZsYWcg Ki8KKwkJbG9nX2J1ZmZlcl9zdGF0ZS0+Zmx1c2hfdG9fZmlsZSA9IDA7CisJCWxvZ19idWZmZXJf c3RhdGUrKzsKKworCQlpZiAoIWxvZ19idWZmZXJfY29weV9zdGF0ZSkKKwkJCWNvbnRpbnVlOwor CisJCS8qIFRoZSB3cml0ZSBwb2ludGVyIGNvdWxkIGhhdmUgYmVlbiB1cGRhdGVkIGJ5IHRoZSBH dUMgZmlybXdhcmUsCisJCSAqIGFmdGVyIHNlbmRpbmcgdGhlIGZsdXNoIGludGVycnVwdCB0byBI b3N0LCBmb3IgY29uc2lzdGVuY3kKKwkJICogc2V0IHRoZSB3cml0ZSBwb2ludGVyIHZhbHVlIHRv IHNhbWUgdmFsdWUgb2Ygc2FtcGxlZF93cml0ZV9wdHIKKwkJICogaW4gdGhlIHNuYXBzaG90IGJ1 ZmZlci4KKwkJICovCisJCWxvZ19idWZmZXJfY29weV9zdGF0ZS0+d3JpdGVfcHRyID0KKwkJCWxv Z19idWZmZXJfY29weV9zdGF0ZS0+c2FtcGxlZF93cml0ZV9wdHI7CisKKwkJbG9nX2J1ZmZlcl9j b3B5X3N0YXRlKys7CisJfQorCisJa3VubWFwX2F0b21pYyhzcmNfcHRyKTsKKworCS8qIE5vdyBj b3B5IHRoZSBhY3R1YWwgbG9ncyAqLworCWZvciAoaT0xOyAoaSA8IGd1Yy0+bG9nX29iai0+YmFz ZS5zaXplIC8gUEFHRV9TSVpFKSAmJiBkc3RfcHRyOyBpKyspIHsKKwkJZHN0X3B0ciArPSBQQUdF X1NJWkU7CisJCXNyY19wdHIgPSBrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uo Z3VjLT5sb2dfb2JqLCBpKSk7CisJCW1lbWNweShkc3RfcHRyLCBzcmNfcHRyLCBQQUdFX1NJWkUp OworCQlrdW5tYXBfYXRvbWljKHNyY19wdHIpOworCX0KK30KKwogc3RhdGljIHZvaWQgZ3VjX2Ny ZWF0ZV9sb2coc3RydWN0IGludGVsX2d1YyAqZ3VjKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7CkBAIC0xMDc4LDMgKzExMzcsMTYgQEAg aW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCXJldHVybiBo b3N0Mmd1Y19hY3Rpb24oZ3VjLCBkYXRhLCBBUlJBWV9TSVpFKGRhdGEpKTsKIH0KKwordm9pZCBp OTE1X2d1Y19jYXB0dXJlX2xvZ3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBp bnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOworCXUzMiBkYXRhWzFdOworCisJZ3VjX3Jl YWRfdXBkYXRlX2xvZ19idWZmZXIoZGV2KTsKKworCWRhdGFbMF0gPSBIT1NUMkdVQ19BQ1RJT05f TE9HX0JVRkZFUl9GSUxFX0ZMVVNIX0NPTVBMRVRFOworCWlmIChob3N0Mmd1Y19hY3Rpb24oZ3Vj LCBkYXRhLCAxKSkKKwkJRFJNX0VSUk9SKCJGYWlsZWRcbiIpOworfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKaW5kZXggMzA0M2U0NS4uYmRhOTA5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBA IC0xMjM3LDYgKzEyMzcsNyBAQCBzdGF0aWMgdm9pZCBnZW45X2d1YzJob3N0X2V2ZW50c193b3Jr KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUs IGd1Yy5ldmVudHNfd29yayk7CisJdTMyIG1zZzsKIAogCXNwaW5fbG9ja19pcnEoJmRldl9wcml2 LT5pcnFfbG9jayk7CiAJLyogU3BlZWQgdXAgd29yayBjYW5jZWxhdGlvbiBkdXJpbmcgZGlzYWJs aW5nIGd1YyBpbnRlcnJ1cHRzLiAqLwpAQCAtMTI1Niw3ICsxMjU3LDIzIEBAIHN0YXRpYyB2b2lk IGdlbjlfZ3VjMmhvc3RfZXZlbnRzX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCWdl bjZfZW5hYmxlX3BtX2lycShkZXZfcHJpdiwgR0VOOV9HVUNfVE9fSE9TVF9JTlRfRVZFTlQpOwog CXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKIAotCS8qIFRPRE86IEhhbmRs ZSB0aGUgZXZlbnRzIGZvciB3aGljaCBHdUMgaW50ZXJydXB0ZWQgaG9zdCAqLworCS8qIERldGVy bWluZSB3aHkgR3VDIGludGVycnVwdGVkIGhvc3QgYW5kIHByb2Nlc3MgKi8KKwltc2cgPSBJOTE1 X1JFQUQoU09GVF9TQ1JBVENIKDE1KSk7CisJaWYgKG1zZyAmIChHVUMySE9TVF9NU0dfQ1JBU0hf RFVNUF9QT1NURUQgfAorCQkgICBHVUMySE9TVF9NU0dfRkxVU0hfTE9HX0JVRkZFUikpIHsKKwkJ aTkxNV9ndWNfY2FwdHVyZV9sb2dzKGRldl9wcml2LT5kZXYpOworCisJCS8qIENsZWFyIEd1QyB0 byBIb3N0IG1zZyBiaXRzIHRoYXQgYXJlIGhhbmRsZWQgKi8KKwkJaWYgKG1zZyAmIEdVQzJIT1NU X01TR19GTFVTSF9MT0dfQlVGRkVSKQorCQkJSTkxNV9XUklURShTT0ZUX1NDUkFUQ0goMTUpLAor CQkJCUk5MTVfUkVBRChTT0ZUX1NDUkFUQ0goMTUpKSAmCisJCQkJfkdVQzJIT1NUX01TR19GTFVT SF9MT0dfQlVGRkVSKTsKKworCQlpZiAobXNnICYgR1VDMkhPU1RfTVNHX0NSQVNIX0RVTVBfUE9T VEVEKQorCQkJSTkxNV9XUklURShTT0ZUX1NDUkFUQ0goMTUpLAorCQkJCUk5MTVfUkVBRChTT0ZU X1NDUkFUQ0goMTUpKSAmCisJCQkJfkdVQzJIT1NUX01TR19DUkFTSF9EVU1QX1BPU1RFRCk7CisJ fQogCiAJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWMuaAppbmRleCBhZTc4N2UyLi5iMjBlMTY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMu aApAQCAtMTY4LDUgKzE2OCw2IEBAIGludCBpOTE1X2d1Y193cV9jaGVja19zcGFjZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKTsKIGludCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpycSk7CiB2b2lkIGk5MTVfZ3VjX3N1Ym1pc3Npb25fZGlzYWJs ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBpOTE1X2d1Y19zdWJt aXNzaW9uX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaTkx NV9ndWNfY2FwdHVyZV9sb2dzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiAjZW5kaWYKLS0g CjEuOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK