From mboxrd@z Thu Jan 1 00:00:00 1970 From: akash.goel@intel.com Subject: [RFC 04/12] drm/i915: Handle log buffer flush interrupt event from GuC Date: Sat, 28 May 2016 01:12:55 +0530 Message-ID: <1464378183-9433-5-git-send-email-akash.goel@intel.com> References: <1464378183-9433-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id C69EC6E0DF for ; Fri, 27 May 2016 19:30:02 +0000 (UTC) In-Reply-To: <1464378183-9433-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: sourab.gupta@intel.com, Akash Goel List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KCkd1QyB1 a2VybmVsIHNlbmRzIGFuIGludGVycnVwdCB0byBIb3N0IHRvIGZsdXNoIHRoZSBsb2cgYnVmZmVy CmFuZCBleHBlY3RzIEhvc3QgdG8gY29ycmVzcG9uZGluZ2x5IHVwZGF0ZSB0aGUgcmVhZCBwb2lu dGVyCmluZm9ybWF0aW9uIGluIHRoZSBzdGF0ZSBzdHJ1Y3R1cmUsIG9uY2UgaXQgaGFzIGNvbnN1 bWVkIHRoZQpsb2cgYnVmZmVyIGNvbnRlbnRzIGJ5IGNvcHlpbmcgdGhlbSB0byBhIGZpbGUgb3Ig YnVmZmVyLgpFdmVuIGlmIEhvc3QgY291bGRuJ3QgY29weSB0aGUgY29udGVudHMsIGl0IGNhbiBz dGlsbCB1cGRhdGUgdGhlCnJlYWQgcG9pbnRlciBzbyB0aGF0IGxvZ2dpbmcgc3RhdGUgaXMgbm90 IGRpc3R1cmJlZCBvbiBHdUMgc2lkZS4KClNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxl IDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFrYXNoIEdvZWwgPGFr YXNoLmdvZWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyB8IDgxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgICAgIHwgMTkgKysrKysrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2Vk LCAxMDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwppbmRleCBjMmYzYTY3Li5mN2YyOWY2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC03NjksNiArNzY5LDc0IEBA IGVycjoKIAlyZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIHZvaWQgZ3VjX21vdmVfdG9fbmV4dF9i dWYoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQq IGd1Y19nZXRfd3JpdGVfYnVmZmVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwl2b2lkICpi YXNlX2FkZHIgPSBOVUxMOworCisJcmV0dXJuIGJhc2VfYWRkcjsKK30KKworc3RhdGljIHZvaWQg Z3VjX3JlYWRfdXBkYXRlX2xvZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0 cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOworCXN0cnVjdCBndWNfbG9nX2J1 ZmZlcl9zdGF0ZSAqbG9nX2J1ZmZlcl9zdGF0ZTsKKwlzdHJ1Y3QgZ3VjX2xvZ19idWZmZXJfc3Rh dGUgKmxvZ19idWZmZXJfY29weV9zdGF0ZTsKKwl2b2lkICpwYWdlLCAqZGF0YV9wdHI7CisJaW50 IGk7CisKKwlpZiAoIWd1Yy0+bG9nX29iaikKKwkJcmV0dXJuOworCisJbG9nX2J1ZmZlcl9zdGF0 ZSA9IHBhZ2UgPQorCQlrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoZ3VjLT5s b2dfb2JqLCAwKSk7CisKKwkvKiBHZXQgdGhlIHBvaW50ZXIgdG8gbG9jYWwgYnVmZmVyIHRvIHN0 b3JlIHRoZSBsb2dzICovCisJZGF0YV9wdHIgPSBsb2dfYnVmZmVyX2NvcHlfc3RhdGUgPSBndWNf Z2V0X3dyaXRlX2J1ZmZlcihndWMpOworCWlmIChsb2dfYnVmZmVyX2NvcHlfc3RhdGUpCisJCW1l bWNweShsb2dfYnVmZmVyX2NvcHlfc3RhdGUsIGxvZ19idWZmZXJfc3RhdGUsIFBBR0VfU0laRSk7 CisKKwlmb3IgKGkgPSAwOyBpIDwgR1VDX01BWF9MT0dfQlVGRkVSOyBpKyspIHsKKwkJLyogVXBk YXRlIHRoZSByZWFkIHBvaW50ZXIgaW4gdGhlIHNoYXJlZCBsb2cgYnVmZmVyICovCisJCWxvZ19i dWZmZXJfc3RhdGUtPnJlYWRfcHRyID0KKwkJCWxvZ19idWZmZXJfc3RhdGUtPnNhbXBsZWRfd3Jp dGVfcHRyOworCisJCS8qIENsZWFyIHRoZSAnZmx1c2ggdG8gZmlsZScgZmxhZyAqLworCQlsb2df YnVmZmVyX3N0YXRlLT5mbHVzaF90b19maWxlID0gMDsKKwkJbG9nX2J1ZmZlcl9zdGF0ZSsrOwor CisJCWlmICghbG9nX2J1ZmZlcl9jb3B5X3N0YXRlKQorCQkJY29udGludWU7CisKKwkJLyogVGhl IHdyaXRlIHBvaW50ZXIgY291bGQgaGF2ZSBiZWVuIHVwZGF0ZWQgYnkgdGhlIEd1QyBmaXJtd2Fy ZSwKKwkJICogYWZ0ZXIgc2VuZGluZyB0aGUgZmx1c2ggaW50ZXJydXB0IHRvIEhvc3QsIGZvciBj b25zaXN0ZW5jeQorCQkgKiBzZXQgdGhlIHdyaXRlIHBvaW50ZXIgdmFsdWUgdG8gc2FtZSB2YWx1 ZSBvZiBzYW1wbGVkX3dyaXRlX3B0cgorCQkgKiBpbiB0aGUgc25hcHNob3QgYnVmZmVyLgorCQkg Ki8KKwkJbG9nX2J1ZmZlcl9jb3B5X3N0YXRlLT53cml0ZV9wdHIgPQorCQkJbG9nX2J1ZmZlcl9j b3B5X3N0YXRlLT5zYW1wbGVkX3dyaXRlX3B0cjsKKworCQlsb2dfYnVmZmVyX2NvcHlfc3RhdGUr KzsKKwl9CisKKwlrdW5tYXBfYXRvbWljKHBhZ2UpOworCisJLyogTm93IGNvcHkgdGhlIGFjdHVh bCBsb2dzICovCisJZm9yIChpPTE7IChpIDwgZ3VjLT5sb2dfb2JqLT5iYXNlLnNpemUgLyBQQUdF X1NJWkUpICYmIGRhdGFfcHRyOyBpKyspIHsKKwkJZGF0YV9wdHIgKz0gUEFHRV9TSVpFOworCQlw YWdlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGd1Yy0+bG9nX29iaiwg aSkpOworCQltZW1jcHkoZGF0YV9wdHIsIHBhZ2UsIFBBR0VfU0laRSk7CisJCWt1bm1hcF9hdG9t aWMocGFnZSk7CisJfQorCisJZ3VjX21vdmVfdG9fbmV4dF9idWYoZ3VjKTsKK30KKwogc3RhdGlj IHZvaWQgZ3VjX2NyZWF0ZV9sb2coc3RydWN0IGludGVsX2d1YyAqZ3VjKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7CkBAIC0xMDI3LDMg KzEwOTUsMTYgQEAgaW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAogCXJldHVybiBob3N0Mmd1Y19hY3Rpb24oZ3VjLCBkYXRhLCBBUlJBWV9TSVpFKGRhdGEpKTsK IH0KKwordm9pZCBpOTE1X2d1Y19jYXB0dXJlX2xvZ3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOworCXUzMiBkYXRhWzFd OworCisJZ3VjX3JlYWRfdXBkYXRlX2xvZ19idWZmZXIoZGV2KTsKKworCWRhdGFbMF0gPSBIT1NU MkdVQ19BQ1RJT05fTE9HX0JVRkZFUl9GSUxFX0ZMVVNIX0NPTVBMRVRFOworCWlmIChob3N0Mmd1 Y19hY3Rpb24oZ3VjLCBkYXRhLCAxKSkKKwkJRFJNX0VSUk9SKCJGYWlsZWRcbiIpOworfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggYjQyOTRhOC4uNmNlYTY1YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCkBAIC0xMjI4LDYgKzEyMjgsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2d1YzJob3N0 X2V2ZW50c193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUsIGd1Yy5ldmVudHNfd29yayk7CisJdTMyIG1zZzsKIAogCXNwaW5fbG9ja19p cnEoJmRldl9wcml2LT5pcnFfbG9jayk7CiAJLyogU3BlZWQgdXAgd29yayBjYW5jZWxhdGlvbiBk dXJpbmcgZGlzYWJsaW5nIGd1YyBpbnRlcnJ1cHRzLiAqLwpAQCAtMTI0MSw3ICsxMjQyLDIzIEBA IHN0YXRpYyB2b2lkIGdlbjhfZ3VjMmhvc3RfZXZlbnRzX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQogCWdlbjZfZW5hYmxlX3BtX2lycShkZXZfcHJpdiwgR0VOOF9HVUNfVE9fSE9TVF9J TlRfRVZFTlQpOwogCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKIAotCS8q IFRPRE86IEhhbmRsZSB0aGUgZXZlbnRzIGZvciB3aGljaCBHdUMgaW50ZXJydXB0ZWQgaG9zdCAq LworCS8qIERldGVybWluZSB3aHkgR3VDIGludGVycnVwdGVkIGhvc3QgYW5kIHByb2Nlc3MgKi8K Kwltc2cgPSBJOTE1X1JFQUQoU09GVF9TQ1JBVENIKDE1KSk7CisJaWYgKG1zZyAmIChHVUMySE9T VF9NU0dfQ1JBU0hfRFVNUF9QT1NURUQgfAorCQkgICBHVUMySE9TVF9NU0dfRkxVU0hfTE9HX0JV RkZFUikpIHsKKwkJaTkxNV9ndWNfY2FwdHVyZV9sb2dzKGRldl9wcml2LT5kZXYpOworCisJCS8q IENsZWFyIEd1QyB0byBIb3N0IG1zZyBiaXRzIHRoYXQgYXJlIGhhbmRsZWQgKi8KKwkJaWYgKG1z ZyAmIEdVQzJIT1NUX01TR19GTFVTSF9MT0dfQlVGRkVSKQorCQkJSTkxNV9XUklURShTT0ZUX1ND UkFUQ0goMTUpLAorCQkJCUk5MTVfUkVBRChTT0ZUX1NDUkFUQ0goMTUpKSAmCisJCQkJfkdVQzJI T1NUX01TR19GTFVTSF9MT0dfQlVGRkVSKTsKKworCQlpZiAobXNnICYgR1VDMkhPU1RfTVNHX0NS QVNIX0RVTVBfUE9TVEVEKQorCQkJSTkxNV9XUklURShTT0ZUX1NDUkFUQ0goMTUpLAorCQkJCUk5 MTVfUkVBRChTT0ZUX1NDUkFUQ0goMTUpKSAmCisJCQkJfkdVQzJIT1NUX01TR19DUkFTSF9EVU1Q X1BPU1RFRCk7CisJfQogCiAJRU5BQkxFX1JQTV9XQUtFUkVGX0FTU0VSVFMoZGV2X3ByaXYpOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCBlMjA3OTJkLi45MmQ3MGQ4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuaApAQCAtMTY3LDUgKzE2Nyw2IEBAIGludCBpOTE1X2d1Y193cV9j aGVja19zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKTsKIGludCBpOTE1X2d1 Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSk7CiB2b2lkIGk5MTVfZ3Vj X3N1Ym1pc3Npb25fZGlzYWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaTkxNV9n dWNfc3VibWlzc2lvbl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBpOTE1X2d1 Y19jYXB0dXJlX2xvZ3Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKICNlbmRpZgotLSAKMS45 LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=