From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 06/19] drm/i915: Handle log buffer flush interrupt event from GuC Date: Wed, 17 Aug 2016 14:19:28 +0100 Message-ID: <57B46460.1020307@linux.intel.com> References: <1471428859-10339-1-git-send-email-akash.goel@intel.com> <1471428859-10339-7-git-send-email-akash.goel@intel.com> <57B4458D.4000908@linux.intel.com> <9f742262-6a45-6155-e2db-e530188da642@intel.com> <57B44BF4.30301@linux.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 A43B06E02F for ; Wed, 17 Aug 2016 13:19:48 +0000 (UTC) In-Reply-To: <57B44BF4.30301@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: "Goel, Akash" , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE3LzA4LzE2IDEyOjM1LCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPiBPbiAxNy8wOC8xNiAx MjoyNCwgR29lbCwgQWthc2ggd3JvdGU6Cgpbc25pcF0KCj4+IFdvbid0IHRoZSAybmQgbWVtY3B5 IChmcm9tIHRoZSBjb3B5IG9uIHN0YWNrIHRvIHRoZSByZWxheSBidWZmZXIpIGJlCj4+IHJlYWxs eSBmYXN0ID8KPj4gVGhlIGNvcHkgb24gc3RhY2sgKDE2IGJ5dGVzKSB3aWxsIG1vc3QgbGlrZWx5 IGJlIGluIHRoZSBDUFUgY2FjaGUgYW5kCj4+IHRoZSBzYW1lIGFyZWEgaXMgdXNlZCBmb3IgYWxs IDMgYnVmZmVyIHR5cGVzLgo+IAo+IFllcyBJIHJlYWxpemVkIGxhdGVyIHlvdSB1c2UgaXQgbW9y ZSBpbiBsYXRlciBwYXRjaGVzLgo+IAo+IEkgZG9uJ3QgdGhpbmsgaXQgaXMgc2xvdyBidXQgd2Fz IGp1c3Qgd29uZGVyaW5nIGlmIGl0IGNvdWxkIGJlIG1hZGUgCj4gdGlkaWVyIGJ5IGdldHRpbmcg cmlkIG9mIG9uZSBjb3B5Lgo+IAo+IFdvdWxkIGhhdmUgdG8gYXBwbHkgdGhlIHNlcmllcyB0byBz ZWUgaG93IHRoZSBmaW5hbCBsb29wIGxvb2tzIGxpa2UsIGJ1dCAKPiB3b3VsZCBzb21ldGhpbmcg bGlrZSB0aGUgYmVsb3cgYmUgcG9zc2libGU6Cj4gCj4gICAgICBpZiAoIWxvZ19idWZmZXJfc25h cHNob3Rfc3RhdGUpIHsKPiAgICAgICAgICAuLiByZWFkX3B0ciB1cGRhdGUgZnJvbSB3YyAuLgo+ ICAgICAgICAgIGNvbnRpbnVlOwo+ICAgICAgfQo+IAo+ICAgICAgbWVtY3B5IGZyb20gd2MgdG8g ZmluYWwgYnVmZmVyCj4gCj4gICAgICAuLiB0aGUgcmVzdCBvZiBwcm9jZXNzaW5nIHlvdSBkbyBy ZWFkaW5nIGZyb20gdGhlIGNvcHkgLi4KPiAKPiA/CgpOb3QgZXZlbiBjb21waWxlIHRlc3RlZCBh bmQgcG9zc2libHkgaW5jb3JyZWN0bHkgcmVmYWN0b3JlZCwKYnV0IHdoYXQgZG8geW91IHRoaW5r IG9mOgoKc3RhdGljIGJvb2wKZ3VjX2xvZ19jaGVja19vdmVyZmxvdyhzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMsCgkJICAgICAgIGVudW0gZ3VjX2xvZ19idWZmZXJfdHlwZSB0eXBlLAoJCSAgICAgICBz dHJ1Y3QgZ3VjX2xvZ19idWZmZXIgKnNuYXBzaG90KQp7Cgl1bnNpZ25lZCBpbnQgZnVsbF9jbnQs IHByZXZfZnVsbF9jbnQ7Cglib29sIG92ZXJmbG93ID0gZmFsc2U7CgoJZ3VjLT5sb2cuZmx1c2hf Y291bnRbdHlwZV0rKzsKCglmdWxsX2NudCA9IHNuYXBzaG90LmJ1ZmZlcl9mdWxsX2NudDsKCXBy ZXZfZnVsbF9jbnQgPSBndWMtPmxvZy5wcmV2X292ZXJmbG93X2NvdW50W3R5cGVdOwoKCWlmIChm dWxsX2NudCAhPSBwcmV2X2Z1bGxfY250KSB7CgkJb3ZlcmZsb3cgPSB0cnVlOwoKCQlndWMtPmxv Zy5wcmV2X292ZXJmbG93X2NvdW50W3R5cGVdID0gZnVsbF9jbnQ7CgkJZ3VjLT5sb2cudG90YWxf b3ZlcmZsb3dfY291bnRbdHlwZV0gKz0gZnVsbF9jbnQgLSBwcmV2X2Z1bGxfY250OwoKCQlpZiAo ZnVsbF9jbnQgPCBwcmV2X2Z1bGxfY250KSB7CgkJCS8qIGJ1ZmZlcl9mdWxsX2NudCBpcyBhIDQg Yml0IGNvdW50ZXIgKi8KCQkJZ3VjLT5sb2cudG90YWxfb3ZlcmZsb3dfY291bnRbdHlwZV0gKz0g MTY7CgkJfQoJfQoKCXJldHVybiBvdmVyZmxvdzsKfQoKc3RhdGljIHZvaWQgZ3VjX3JlYWRfdXBk YXRlX2xvZ19idWZmZXIoc3RydWN0IGludGVsX2d1YyAqZ3VjKQp7CglzdHJ1Y3QgZ3VjX2xvZ19i dWZmZXIgKmxvZ19idWZmZXIsICpzbmFwc2hvdDsKCXZvaWQgKnNyY19kYXRhLCAqZHN0X2RhdGE7 CgllbnVtIGd1Y19sb2dfYnVmZmVyX3R5cGUgdHlwZTsKCglpZiAoV0FSTl9PTighZ3VjLT5sb2cu YnVmX2FkZHIpKQoJCXJldHVybjsKCgkvKiBHZXQgdGhlIHBvaW50ZXIgdG8gc2hhcmVkIEd1QyBs b2cgYnVmZmVyICovCglsb2dfYnVmZmVyID0gc3JjX2RhdGEgPSBndWMtPmxvZy5idWZfYWRkcjsK CgkvKiBHZXQgdGhlIHBvaW50ZXIgdG8gbG9jYWwgYnVmZmVyIHRvIHN0b3JlIHRoZSBsb2dzICov Cglkc3RfZGF0YSA9IHNuYXBzaG90ID0gZ3VjX2dldF93cml0ZV9idWZmZXIoZ3VjKTsKCgkvKiBB Y3R1YWwgbG9ncyBhcmUgcHJlc2VudCBmcm9tIHRoZSAybmQgcGFnZSAqLwoJc3JjX2RhdGEgKz0g UEFHRV9TSVpFOwoJZHN0X2RhdGEgKz0gUEFHRV9TSVpFOwoKCWZvciAodHlwZSA9IEdVQ19JU1Jf TE9HX0JVRkZFUjsgdHlwZSA8IEdVQ19NQVhfTE9HX0JVRkZFUjsKCSAgICAgdHlwZSsrLCBsb2df YnVmZmVyKyspIHsKCQl1bnNpZ25lZCBpbnQgYnVmZmVyX3NpemUsIGJ5dGVzX3RvX2NvcHk7CgkJ dW5zaWduZWQgaW50IHJlYWRfb2Zmc2V0LCB3cml0ZV9vZmZzZXQ7CgkJYm9vbCBuZXdfb3ZlcmZs b3c7CgoJCS8qIENsZWFyIHRoZSAnZmx1c2ggdG8gZmlsZScgZmxhZyAqLwoJCWxvZ19idWZmZXIt PmZsdXNoX3RvX2ZpbGUgPSAwOwoKCQlpZiAodW5saWtlbHkoIXNuYXBzaG90KSkgewoJCQkvKiBV cGRhdGUgdGhlIHJlYWQgcG9pbnRlciBpbiB0aGUgc2hhcmVkIGxvZyBidWZmZXIgKi8KCQkJbG9n X2J1ZmZlci0+cmVhZF9wdHIgPSBsb2dfYnVmZmVyLnNhbXBsZWRfd3JpdGVfcHRyOwoJCQljb250 aW51ZTsKCQl9CgoJCW1lbWNweShzbmFwc2hvdCwgJmxvZ19idWZmZXIsIHNpemVvZigqc25hcHNo b3QpKTsKCgkJYnVmZmVyX3NpemUgPSBndWNfZ2V0X2xvZ19idWZmZXJfc2l6ZSh0eXBlKTsKCQly ZWFkX29mZnNldCA9IHNuYXBzaG90LnJlYWRfcHRyOwoJCXdyaXRlX29mZnNldCA9IHNuYXBzaG90 LnNhbXBsZWRfd3JpdGVfcHRyOwoKCQkvKiBUaGUgd3JpdGUgcG9pbnRlciBjb3VsZCBoYXZlIGJl ZW4gdXBkYXRlZCBieSB0aGUgR3VDCgkJICogZmlybXdhcmUsIGFmdGVyIHNlbmRpbmcgdGhlIGZs dXNoIGludGVycnVwdCB0byBIb3N0LAoJCSAqIGZvciBjb25zaXN0ZW5jeSBzZXQgdGhlIHdyaXRl IHBvaW50ZXIgdmFsdWUgdG8gc2FtZQoJCSAqIHZhbHVlIG9mIHNhbXBsZWRfd3JpdGVfcHRyIGlu IHRoZSBzbmFwc2hvdCBidWZmZXIuCgkJICovCgkJc25hcHNob3QtPndyaXRlX3B0ciA9IHdyaXRl X29mZnNldDsKCgkJbmV3X292ZXJmbG93ID0gZ3VjX2xvZ19jaGVja19vdmVyZmxvdyhndWMsIHR5 cGUsIHNuYXBzaG90KTsKCQlpZiAodW5saWtlbHkobmV3X292ZXJmbG93KSkgewoJCQlEUk1fRVJS T1JfUkFURUxJTUlURUQoIkd1QyBsb2cgYnVmZmVyIG92ZXJmbG93XG4iKTsKCQkJLyogY29weSB0 aGUgd2hvbGUgYnVmZmVyIGluIGNhc2Ugb2Ygb3ZlcmZsb3cgKi8KCQkJcmVhZF9vZmZzZXQgPSAw OwoJCQl3cml0ZV9vZmZzZXQgPSBidWZmZXJfc2l6ZTsKCQl9IGVsc2UgaWYgKHVubGlrZWx5KChy ZWFkX29mZnNldCA+IGJ1ZmZlcl9zaXplKSB8fAoJCSAgICAgICAgICAgKHdyaXRlX29mZnNldCA+ IGJ1ZmZlcl9zaXplKSkpIHsKCQkJRFJNX0VSUk9SKCJpbnZhbGlkIGxvZyBidWZmZXIgc3RhdGVc biIpOwoJCQkvKiBjb3B5IHdob2xlIGJ1ZmZlciBhcyBvZmZzZXRzIGFyZSB1bnJlbGlhYmxlICov CgkJCXJlYWRfb2Zmc2V0ID0gMDsKCQkJd3JpdGVfb2Zmc2V0ID0gYnVmZmVyX3NpemU7CgkJfQoK CQkvKiBKdXN0IGNvcHkgdGhlIG5ld2x5IHdyaXR0ZW4gZGF0YSAqLwoJCWlmIChyZWFkX29mZnNl dCA+IHdyaXRlX29mZnNldCkgewoJCQlieXRlc190b19jb3B5ID0gYnVmZmVyX3NpemUgLSByZWFk X29mZnNldDsKCgkJCWk5MTVfbWVtY3B5X2Zyb21fd2MoZHN0X2RhdGEsIHNyY19kYXRhLCB3cml0 ZV9vZmZzZXQpOwoJCX0gZWxzZSB7CgkJCWJ5dGVzX3RvX2NvcHkgPSB3cml0ZV9vZmZzZXQgLSBy ZWFkX29mZnNldDsKCQl9CgkJaTkxNV9tZW1jcHlfZnJvbV93Yyhkc3RfZGF0YSArIHJlYWRfb2Zm c2V0LAoJCQkJICAgIHNyY19kYXRhICsgcmVhZF9vZmZzZXQsIGJ5dGVzX3RvX2NvcHkpOwoKCQlz cmNfZGF0YSArPSBidWZmZXJfc2l6ZTsKCQlkc3RfZGF0YSArPSBidWZmZXJfc2l6ZTsKCgkJLyog VXBkYXRlIHRoZSByZWFkIHBvaW50ZXIgaW4gdGhlIHNoYXJlZCBsb2cgYnVmZmVyICovCgkJbG9n X2J1ZmZlci0+cmVhZF9wdHIgPSBzbmFwc2hvdC5zYW1wbGVkX3dyaXRlX3B0cjsKCgkJc25hcHNo b3QrKzsKCX0KCglpZiAoc25hcHNob3QpIHsKCQlndWNfbW92ZV90b19uZXh0X2J1ZihndWMpOwoJ fSBlbHNlIHsKCQkvKiBVc2VkIHJhdGUgbGltaXRlZCB0byBhdm9pZCBkZWx1Z2Ugb2YgbWVzc2Fn ZXMsIGxvZ3MgbWlnaHQgYmUKCQkgKiBnZXR0aW5nIGNvbnN1bWVkIGJ5IFVzZXIgYXQgYSBzbG93 IHJhdGUuCgkJICovCgkJRFJNX0VSUk9SX1JBVEVMSU1JVEVEKCJubyBzdWItYnVmZmVyIHRvIGNh cHR1cmUgbG9nIGJ1ZmZlclxuIik7CgkJZ3VjLT5sb2cuY2FwdHVyZV9taXNzX2NvdW50Kys7Cgl9 Cn0KClJlbW92ZXMgdGhlIGRvdWJsZSBtZW1jcHkgYW5kIHNob3J0ZW5zIHNvbWUgdmFyaWFibGUg bmFtZXMgaW4gb3JkZXIKdG8gbWFrZSB0aGUgd2hvbGUgdGhpbmcgbW9yZSByZWFkYWJsZS4KClJl Z2FyZHMsCgpUdnJ0a28KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=