From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [CI 1/5] igt/gem_workarounds: Read the workaround registers from the active context Date: Tue, 03 Oct 2017 18:19:10 +0300 Message-ID: <87vajw2r9t.fsf@gaia.fi.intel.com> References: <20171003134045.7600-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id C98716E522 for ; Tue, 3 Oct 2017 15:22:16 +0000 (UTC) In-Reply-To: <20171003134045.7600-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gVGhlIHdv cmthcm91bmRzIGFyZSBvbmx5IHZhbGlkIHdoaWxzdCB0aGUgR1BVIGlzIGFjdGl2ZS4gVG8gYmUg c3VyZSB3ZQo+IGFyZSByZWFkaW5nIHRoZSByZWdpc3RlcnMgaW4gdGhlIHJpZ2h0IHN0YXRlLCBp c3N1ZSB0aGUgcmVhZHMgZnJvbSB0aGUgR1BVLgo+CgpZYXksIHRoaXMgaXMgdGhlIHJpZ2h0IHdh eSA6KQoKU29tZSBjb21tZW50cyBhbmQgZmluZGluZ3MgYmVsb3cuLi4KCj4gdjI6IFNob3cgaWdu b3JlZCB3cml0ZS1vbmx5IGZhaWx1cmVzIGFzIGRlYnVnLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gIHRlc3RzL2dlbV93 b3JrYXJvdW5kcy5jIHwgMTQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VtX3dvcmthcm91bmRzLmMgYi90ZXN0cy9n ZW1fd29ya2Fyb3VuZHMuYwo+IGluZGV4IDVlMzBhN2I4Li45NWVjMjUwYSAxMDA2NDQKPiAtLS0g YS90ZXN0cy9nZW1fd29ya2Fyb3VuZHMuYwo+ICsrKyBiL3Rlc3RzL2dlbV93b3JrYXJvdW5kcy5j Cj4gQEAgLTYxLDIwICs2MSw2IEBAIHN0YXRpYyBzdHJ1Y3Qgd3JpdGVfb25seV9saXN0IHsKPiAg c3RhdGljIHN0cnVjdCBpbnRlbF93YV9yZWcgKndhX3JlZ3M7Cj4gIHN0YXRpYyBpbnQgbnVtX3dh X3JlZ3M7Cj4gIAo+IC1zdGF0aWMgdm9pZCB3YWl0X2dwdSh2b2lkKQo+IC17Cj4gLQlpbnQgZmQg PSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKPiAtCWdlbV9xdWllc2NlbnRfZ3B1KGZk KTsKPiAtCWNsb3NlKGZkKTsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgdGVzdF9oYW5nX2dwdSh2 b2lkKQo+IC17Cj4gLQlpbnQgZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKPiAt CWlndF9wb3N0X2hhbmdfcmluZyhmZCwgaWd0X2hhbmdfcmluZyhmZCwgSTkxNV9FWEVDX0RFRkFV TFQpKTsKPiAtCWNsb3NlKGZkKTsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgdGVzdF9zdXNwZW5k X3Jlc3VtZSh2b2lkKQo+ICB7Cj4gIAlpZ3RfaW5mbygiU3VzcGVuZGluZyB0aGUgZGV2aWNlIC4u LlxuIik7Cj4gQEAgLTk2LDQ5ICs4Miw5NSBAQCBzdGF0aWMgYm9vbCB3cml0ZV9vbmx5KGNvbnN0 IHVpbnQzMl90IGFkZHIpCj4gIAlyZXR1cm4gZmFsc2U7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQg d29ya2Fyb3VuZF9mYWlsX2NvdW50KHZvaWQpCj4gLXsKPiAtCWludCBpLCBmYWlsX2NvdW50ID0g MDsKPiAtCj4gLQkvKiBUaGVyZSBpcyBhIHNtYWxsIGRlbGF5IGFmdGVyIGNvbWluZyBvdCBvZiBy YzYgdG8gdGhlIGNvcnJlY3QKPiAtCSAgIHJlbmRlciBjb250ZXh0IHZhbHVlcyB3aWxsIGdldCBs b2FkZWQgYnkgaGFyZHdhcmUgKGJkdyxjaHYpLgo+IC0JICAgVGhpcyBoZXJlIGVuc3VyZXMgdGhh dCB3ZSBoYXZlIHRoZSBjb3JyZWN0IGNvbnRleHQgbG9hZGVkIGJlZm9yZQo+IC0JICAgd2Ugc3Rh cnQgdG8gcmVhZCB2YWx1ZXMgKi8KPiAtCXdhaXRfZ3B1KCk7Cj4gKyNkZWZpbmUgTUlfU1RPUkVf UkVHSVNURVJfTUVNICgweDI0IDw8IDIzKQo+ICAKPiAtCWlndF9kZWJ1ZygiQWRkcmVzc1x0dmFs XHRcdG1hc2tcdFx0cmVhZFx0XHRyZXN1bHRcbiIpOwo+ICtzdGF0aWMgaW50IHdvcmthcm91bmRf ZmFpbF9jb3VudChpbnQgZmQpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmpl Y3QyIG9ialsyXTsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSAqcmVs b2M7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7Cj4gKwl1aW50 MzJfdCByZXN1bHRfc3osIGJhdGNoX3N6Owo+ICsJdWludDMyX3QgKmJhc2UsICpvdXQ7Cj4gKwlp bnQgZmFpbF9jb3VudCA9IDA7Cj4gKwo+ICsJcmVsb2MgPSBjYWxsb2MobnVtX3dhX3JlZ3MsIHNp emVvZigqcmVsb2MpKTsKPiArCWlndF9hc3NlcnQocmVsb2MpOwo+ICsKPiArCXJlc3VsdF9zeiA9 IDQgKiBudW1fd2FfcmVnczsKPiArCXJlc3VsdF9zeiA9IChyZXN1bHRfc3ogKyA0MDk1KSAmIC00 MDk2OwoKTWFjcm8gZm9yIGFsaWduPyBGdXJ0aGVyLCB3aHkgZG8gZXZlbiBuZWVkIGl0LiBGb3IK d2hhdCBJIGNhbiBnYXRoZXIsIHRoZSBtYXBwaW5nIHNob3VsZCB3b3JrIGZvciBzbWFsbGVyCm9i amVjdHMgYWxzby4KCj4gKwo+ICsJYmF0Y2hfc3ogPSAxNiAqIG51bV93YV9yZWdzOwo+ICsJYmF0 Y2hfc3ogPSAoYmF0Y2hfc3ogKyA0ICsgNDA5NSkgJiAtNDA5NjsKPiArCj4gKwltZW1zZXQob2Jq LCAwLCBzaXplb2Yob2JqKSk7Cj4gKwlvYmpbMF0uaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgcmVz dWx0X3N6KTsKPiArCWdlbV9zZXRfY2FjaGluZyhmZCwgb2JqWzBdLmhhbmRsZSwgMSk7CgpzLzEv STkxNV9DQUNISU5HX0NBQ0hFRAoKPiArCW9ialsxXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBi YXRjaF9zeik7Cj4gKwlvYmpbMV0ucmVsb2NzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihyZWxvYyk7 Cj4gKwlvYmpbMV0ucmVsb2NhdGlvbl9jb3VudCA9IG51bV93YV9yZWdzOwo+ICsKPiArCW91dCA9 IGJhc2UgPSBnZW1fbW1hcF9fY3B1KGZkLCBvYmpbMV0uaGFuZGxlLCAwLCBiYXRjaF9zeiwgUFJP VF9XUklURSk7Cj4gKwlmb3IgKGludCBpID0gMDsgaSA8IG51bV93YV9yZWdzOyBpKyspIHsKPiAr CQkqb3V0KysgPSBNSV9TVE9SRV9SRUdJU1RFUl9NRU0gfCAoKGdlbiA+PSA4ID8gNCA6IDIpIC0g Mik7Cj4gKwkJKm91dCsrID0gd2FfcmVnc1tpXS5hZGRyOwo+ICsJCXJlbG9jW2ldLnRhcmdldF9o YW5kbGUgPSBvYmpbMF0uaGFuZGxlOwo+ICsJCXJlbG9jW2ldLm9mZnNldCA9IChvdXQgLSBiYXNl KSAqIHNpemVvZigqb3V0KTsKPiArCQlyZWxvY1tpXS5kZWx0YSA9IGkgKiBzaXplb2YodWludDMy X3QpOwo+ICsJCXJlbG9jW2ldLnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9JTlNUUlVD VElPTjsKPiArCQlyZWxvY1tpXS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fSU5TVFJV Q1RJT047Cj4gKwkJKm91dCsrID0gcmVsb2NbaV0uZGVsdGE7Cj4gKwkJaWYgKGdlbiA+PSA4KQo+ ICsJCQkqb3V0KysgPSAwOwo+ICsJfQo+ICsJKm91dCsrID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsK PiArCW11bm1hcChiYXNlLCBiYXRjaF9zeik7Cj4gIAo+IC0JZm9yIChpID0gMDsgaSA8IG51bV93 YV9yZWdzOyArK2kpIHsKPiAtCQljb25zdCB1aW50MzJfdCB2YWwgPSBpbnRlbF9yZWdpc3Rlcl9y ZWFkKHdhX3JlZ3NbaV0uYWRkcik7Cj4gLQkJY29uc3QgYm9vbCBvayA9ICh3YV9yZWdzW2ldLnZh bHVlICYgd2FfcmVnc1tpXS5tYXNrKSA9PQo+IC0JCQkodmFsICYgd2FfcmVnc1tpXS5tYXNrKTsK PiArCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKPiArCWV4ZWNidWYuYnVm ZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIob2JqKTsKPiArCWV4ZWNidWYuYnVmZmVyX2NvdW50 ID0gMjsKPiArCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7Cj4gIAo+IC0JCWlndF9kZWJ1Zygi MHglMDVYXHQweCUwOFhcdDB4JTA4WFx0MHglMDhYXHQlc1xuIiwKPiAtCQkJICB3YV9yZWdzW2ld LmFkZHIsIHdhX3JlZ3NbaV0udmFsdWUsIHdhX3JlZ3NbaV0ubWFzaywKPiAtCQkJICB2YWwsIG9r ID8gIk9LIiA6ICJGQUlMIik7Cj4gKwlnZW1fc2V0X2RvbWFpbihmZCwgb2JqWzBdLmhhbmRsZSwg STkxNV9HRU1fRE9NQUlOX0NQVSwgMCk7Cj4gIAo+IC0JCWlmICh3cml0ZV9vbmx5KHdhX3JlZ3Nb aV0uYWRkcikpCj4gLQkJCWNvbnRpbnVlOwo+ICsJaWd0X2RlYnVnKCJBZGRyZXNzXHR2YWxcdFx0 bWFza1x0XHRyZWFkXHRcdHJlc3VsdFxuIik7Cj4gIAo+IC0JCWlmICghb2spIHsKPiAtCQkJaWd0 X3dhcm4oIjB4JTA1WFx0MHglMDhYXHQweCUwOFhcdDB4JTA4WFx0JXNcbiIsCj4gLQkJCQkgd2Ff cmVnc1tpXS5hZGRyLCB3YV9yZWdzW2ldLnZhbHVlLAo+IC0JCQkJIHdhX3JlZ3NbaV0ubWFzaywK PiAtCQkJCSB2YWwsIG9rID8gIk9LIiA6ICJGQUlMIik7Cj4gKwlvdXQgPSBnZW1fbW1hcF9fY3B1 KGZkLCBvYmpbMF0uaGFuZGxlLCAwLCByZXN1bHRfc3osIFBST1RfUkVBRCk7Cj4gKwlmb3IgKGlu dCBpID0gMDsgaSA8IG51bV93YV9yZWdzOyBpKyspIHsKPiArCQljb25zdCBib29sIG9rID0KPiAr CQkJKHdhX3JlZ3NbaV0udmFsdWUgJiB3YV9yZWdzW2ldLm1hc2spID09Cj4gKwkJCShvdXRbaV0g JiB3YV9yZWdzW2ldLm1hc2spOwo+ICsJCWNoYXIgYnVmWzgwXTsKPiArCj4gKwkJc25wcmludGYo YnVmLCBzaXplb2YoYnVmKSwKPiArCQkJICIweCUwNVhcdDB4JTA4WFx0MHglMDhYXHQweCUwOFgi LAo+ICsJCQkgd2FfcmVnc1tpXS5hZGRyLCB3YV9yZWdzW2ldLnZhbHVlLCB3YV9yZWdzW2ldLm1h c2ssCj4gKwkJCSBvdXRbaV0pOwo+ICsKPiArCQlpZiAob2spIHsKPiArCQkJaWd0X2RlYnVnKCIl c1x0T0tcbiIsIGJ1Zik7Cj4gKwkJfSBlbHNlIGlmICh3cml0ZV9vbmx5KHdhX3JlZ3NbaV0uYWRk cikpIHsKPiArCQkJaWd0X2RlYnVnKCIlc1x0SUdOT1JFRCAody9vKVxuIiwgYnVmKTsKPiArCQl9 IGVsc2Ugewo+ICsJCQlpZ3Rfd2FybigiJXNcdEZBSUxcbiIsIGJ1Zik7Cj4gIAkJCWZhaWxfY291 bnQrKzsKPiAgCQl9Cj4gIAl9Cj4gKwltdW5tYXAob3V0LCByZXN1bHRfc3opOwo+ICsKPiArCWdl bV9jbG9zZShmZCwgb2JqWzFdLmhhbmRsZSk7Cj4gKwlnZW1fY2xvc2UoZmQsIG9ialswXS5oYW5k bGUpOwo+ICsJZnJlZShyZWxvYyk7Cj4gIAo+ICAJcmV0dXJuIGZhaWxfY291bnQ7Cj4gIH0KPiAg Cj4gLXN0YXRpYyB2b2lkIGNoZWNrX3dvcmthcm91bmRzKGVudW0gb3BlcmF0aW9uIG9wKQo+ICtz dGF0aWMgdm9pZCBjaGVja193b3JrYXJvdW5kcyhpbnQgZmQsIGVudW0gb3BlcmF0aW9uIG9wKQo+ ICB7Cj4gLQlpZ3RfYXNzZXJ0X2VxKHdvcmthcm91bmRfZmFpbF9jb3VudCgpLCAwKTsKPiArCWln dF9hc3NlcnRfZXEod29ya2Fyb3VuZF9mYWlsX2NvdW50KGZkKSwgMCk7Cj4gIAo+ICAJc3dpdGNo IChvcCkgewo+ICAJY2FzZSBHUFVfUkVTRVQ6Cj4gLQkJdGVzdF9oYW5nX2dwdSgpOwo+ICsJCWln dF9mb3JjZV9ncHVfcmVzZXQoZmQpOwoKTXkga2JsIGZhaWxzIHdpdGggdGhlIHRlc3RzIGFzIHlv dSBuZWVkIHNvbWUgbWVjaGFuaXNtCnRvIHdhaXQgdGhhdCB0aGUgcmVzZXQgcmVhbGx5IGRpZCBo YXBwZW4/CgpIbW0gdGhlIGtlcm5lbCBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIG5leHQgcmVhZGlu ZyBiYXRjaAppcyBwb3N0IHJlc2V0IGFuZCBldmVyeXRoaW5nIHNob3VsZCBiZSBmaW5lLgoKKGdl bV93b3JrYXJvdW5kczo3Mjg2KSBXQVJOSU5HOiAweDAyNEQwIDB4MDAwMDIyNDggICAgICAweEZG RkZGRkZGICAgICAgMHgwMDAwMjA5NCAgICAgIEZBSUwKKGdlbV93b3JrYXJvdW5kczo3Mjg2KSBX QVJOSU5HOiAweDAyNEQ0IDB4MDAwMDI1ODAgICAgICAweEZGRkZGRkZGICAgICAgMHgwMDAwMjA5 NCAgICAgIEZBSUwKKGdlbV93b3JrYXJvdW5kczo3Mjg2KSBXQVJOSU5HOiAweDAyNEQ4IDB4MDAw MDczMDQgICAgICAweEZGRkZGRkZGICAgICAgMHgwMDAwMjA5NCAgICAgIEZBSUwKCndoaWNoIGFy ZSBmaW5lIHByZSByZXNldC4uLgoKLU1pa2EKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==