From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 20/28] drm/i915/gt: Expose engine properties via sysfs Date: Thu, 7 Nov 2019 08:12:44 +0000 Message-ID: <20191107081252.10542-20-chris@chris-wilson.co.uk> References: <20191107081252.10542-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D91B6EEC0 for ; Thu, 7 Nov 2019 08:13:06 +0000 (UTC) In-Reply-To: <20191107081252.10542-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UHJlbGltaW5hcnkgc3R1YiB0byBhZGQgZW5naW5lcyB1bmRlcm5lYXRoIC9zeXMvY2xhc3MvZHJt L2NhcmROLywgc28KdGhhdCB3ZSBjYW4gZXhwb3NlIHByb3BlcnRpZXMgb24gZWFjaCBlbmdpbmUg dG8gdGhlIHN5c2FkbWluLgoKVG8gc3RhcnQgd2l0aCB3ZSBoYXZlIGJhc2ljIGFuYWxvZ3VlcyBv ZiB0aGUgaTkxNV9xdWVyeSBpb2N0bCBzbyB0aGF0IHdlCmNhbiBwcmV0dHkgcHJpbnQgZW5naW5l IGRpc2NvdmVyeSBmcm9tIHRoZSBzaGVsbCwgYW5kIGZsZXNoIG91dCB0aGUKZGlyZWN0b3J5IHN0 cnVjdHVyZS4gTGF0ZXIgd2Ugd2lsbCBhZGQgd3JpdGVhYmxlIHN5c2FkbWluIHByb3BlcnRpZXMg c3VjaAphcyBwZXItZW5naW5lIHRpbWVvdXQgY29udHJvbHMuCgpBbiBleGFtcGxlIHRyZWUgb2Yg dGhlIGVuZ2luZSBwcm9wZXJ0aWVzIG9uIEJyYXN3ZWxsOgogICAgL3N5cy9jbGFzcy9kcm0vY2Fy ZDAKICAgIOKUlOKUgOKUgCBlbmdpbmUKICAgICDCoMKgIOKUnOKUgOKUgCBiY3MwCiAgICAgwqDC oCDilILCoMKgIOKUnOKUgOKUgCBjYXBhYmlsaXRpZXMKICAgICDCoMKgIOKUgsKgwqAg4pSc4pSA 4pSAIGNsYXNzCiAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBpbnN0YW5jZQogICAgIMKgwqAg 4pSCwqDCoCDilJzilIDilIAga25vd25fY2FwYWJpbGl0aWVzCiAgICAgwqDCoCDilILCoMKgIOKU lOKUgOKUgCBuYW1lCiAgICAgwqDCoCDilJzilIDilIAgcmNzMAogICAgIMKgwqAg4pSCwqDCoCDi lJzilIDilIAgY2FwYWJpbGl0aWVzCiAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBjbGFzcwog ICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgaW5zdGFuY2UKICAgICDCoMKgIOKUgsKgwqAg4pSc 4pSA4pSAIGtub3duX2NhcGFiaWxpdGllcwogICAgIMKgwqAg4pSCwqDCoCDilJTilIDilIAgbmFt ZQogICAgIMKgwqAg4pSc4pSA4pSAIHZjczAKICAgICDCoMKgIOKUgsKgwqAg4pSc4pSA4pSAIGNh cGFiaWxpdGllcwogICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgY2xhc3MKICAgICDCoMKgIOKU gsKgwqAg4pSc4pSA4pSAIGluc3RhbmNlCiAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBrbm93 bl9jYXBhYmlsaXRpZXMKICAgICDCoMKgIOKUgsKgwqAg4pSU4pSA4pSAIG5hbWUKICAgICDCoMKg IOKUlOKUgOKUgCB2ZWNzMAogICAgIMKgwqAgIMKgwqAg4pSc4pSA4pSAIGNhcGFiaWxpdGllcwog ICAgIMKgwqAgICAgIOKUnOKUgOKUgCBjbGFzcwogICAgIMKgwqAgICAgIOKUnOKUgOKUgCBpbnN0 YW5jZQogICAgIMKgwqAgIMKgwqAg4pSc4pSA4pSAIGtub3duX2NhcGFiaWxpdGllcwogICAgIMKg wqAgICAgIOKUlOKUgOKUgCBuYW1lCgp2MjogSW5jbHVkZSBzdHJpbmdpZmllZCBjYXBhYmlsaXRp ZXMKdjM6IEluY2x1ZGUgYWxsIGtub3duIGNhcGFiaWxpdGllcyBmb3IgZnV0dXJlcHJvb2Zpbmcu CnY0OiBDb21iaW5lIHRoZSB0d28gY2FwcyBsb29wcyBpbnRvIG9uZQoKdjU6IEhpZGUgdW5kZXJu ZWF0aCBLY29uZmlnLnVuc3RhYmxlIGZvciB3aWRlciBkaXNjdXNzaW9uCgpTaWduZWQtb2ZmLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxk YW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdv LnZpdmlAaW50ZWwuY29tPgpBY2tlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnLnVuc3RhYmxlICAgICAgICB8 ICAgNyArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAg MSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYyB8IDIwOCAr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf c3lzZnMuaCB8ICAxNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jICAgICAg ICAgICAgfCAgIDMgKwogNSBmaWxlcyBjaGFuZ2VkLCAyMzMgaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X3N5c2ZzLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnLnVuc3Rh YmxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2NvbmZpZy51bnN0YWJsZQppbmRleCAwYzIyNzYx NTVjMmIuLjFmODY2Y2FlOTQzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2Nv bmZpZy51bnN0YWJsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnLnVuc3RhYmxl CkBAIC0yNywzICsyNywxMCBAQCBjb25maWcgRFJNX0k5MTVfVU5TVEFCTEVfRkFLRV9MTUVNCiAJ aGVscAogCSAgQ29udmVydCBzb21lIHN5c3RlbSBtZW1vcnkgaW50byBhIGZha2UgbG9jYWwgbWVt b3J5IHJlZ2lvbiBmb3IKIAkgIHRlc3RpbmcuCisKK2NvbmZpZyBEUk1fSTkxNV9VTlNUQUJMRV9T WVNGUworCWJvb2wgIkVuYWJsZSB0aGUgZXhwZXJpbWVudGFsIHN5c2ZzIHByb3BlcnRpZXMiCisJ ZGVwZW5kcyBvbiBEUk1fSTkxNV9VTlNUQUJMRQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEV4cGxv cmUgdGhlIEhXIHByb3BlcnR5IHNwYWNlIGZyb20gdGhlIHNoZWxsIGNvbW1hbmQgbGluZSEKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvTWFrZWZpbGUKaW5kZXggZTBmZDEwYzBjZmI4Li43YjgzYTUxMGJhYmIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L01ha2VmaWxlCkBAIC04MSw2ICs4MSw3IEBAIGd0LXkgKz0gXAogCWd0L2ludGVsX2VuZ2lu ZV9oZWFydGJlYXQubyBcCiAJZ3QvaW50ZWxfZW5naW5lX3BtLm8gXAogCWd0L2ludGVsX2VuZ2lu ZV9wb29sLm8gXAorCWd0L2ludGVsX2VuZ2luZV9zeXNmcy5vIFwKIAlndC9pbnRlbF9lbmdpbmVf dXNlci5vIFwKIAlndC9pbnRlbF9ndC5vIFwKIAlndC9pbnRlbF9ndF9pcnEubyBcCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGYyNjNhZjNhOWVhCi0tLSAvZGV2L251bGwKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3N5c2ZzLmMKQEAgLTAsMCArMSwy MDggQEAKKy8qCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisgKgorICogQ29weXJp Z2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgva29i amVjdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+CisKKyNpbmNsdWRlICJpOTE1X2Rydi5o IgorI2luY2x1ZGUgImludGVsX2VuZ2luZS5oIgorI2luY2x1ZGUgImludGVsX2VuZ2luZV9zeXNm cy5oIgorCitzdHJ1Y3Qga29ial9lbmdpbmUgeworCXN0cnVjdCBrb2JqZWN0IGJhc2U7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworfTsKKworc3RhdGljIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmtvYmpfdG9fZW5naW5lKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCXJldHVy biBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGtvYmpfZW5naW5lLCBiYXNlKS0+ZW5naW5lOwor fQorCitzdGF0aWMgc3NpemVfdAorbmFtZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1 Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50Zihi dWYsICIlc1xuIiwga29ial90b19lbmdpbmUoa29iaiktPm5hbWUpOworfQorCitzdGF0aWMgc3Ry dWN0IGtvYmpfYXR0cmlidXRlIG5hbWVfYXR0ciA9CitfX0FUVFIobmFtZSwgMDQ0NCwgbmFtZV9z aG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3QKK2NsYXNzX3Nob3coc3RydWN0IGtvYmplY3Qg KmtvYmosIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXJldHVy biBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBrb2JqX3RvX2VuZ2luZShrb2JqKS0+dWFiaV9jbGFzcyk7 Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgY2xhc3NfYXR0ciA9CitfX0FUVFIo Y2xhc3MsIDA0NDQsIGNsYXNzX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdAoraW5zdF9z aG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNo YXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwga29ial90b19lbmdpbmUo a29iaiktPnVhYmlfaW5zdGFuY2UpOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRl IGluc3RfYXR0ciA9CitfX0FUVFIoaW5zdGFuY2UsIDA0NDQsIGluc3Rfc2hvdywgTlVMTCk7CisK K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmNzX2NhcHNbXSA9IHsKKwlbaWxvZzIoSTkxNV9W SURFT19DTEFTU19DQVBBQklMSVRZX0hFVkMpXSA9ICJoZXZjIiwKKwlbaWxvZzIoSTkxNV9WSURF T19BTkRfRU5IQU5DRV9DTEFTU19DQVBBQklMSVRZX1NGQyldID0gInNmYyIsCit9OworCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IHZlY3NfY2Fwc1tdID0geworCVtpbG9nMihJOTE1X1ZJREVP X0FORF9FTkhBTkNFX0NMQVNTX0NBUEFCSUxJVFlfU0ZDKV0gPSAic2ZjIiwKK307CisKK3N0YXRp YyBzc2l6ZV90IHJlcHJfdHJpbShjaGFyICpidWYsIHNzaXplX3QgbGVuKQoreworCS8qIFRyaW0g b2ZmIHRoZSB0cmFpbGluZyBzcGFjZSBhbmQgcmVwbGFjZSB3aXRoIGEgbmV3bGluZSAqLworCWlm IChsZW4gPiBQQUdFX1NJWkUpCisJCWxlbiA9IFBBR0VfU0laRTsKKwlpZiAobGVuID4gMCkKKwkJ YnVmW2xlbiAtIDFdID0gJ1xuJzsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBzc2l6ZV90 CitfX2NhcHNfc2hvdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJICAgIHR5cGVv ZihlbmdpbmUtPnVhYmlfY2FwYWJpbGl0aWVzKSBjYXBzLAorCSAgICBjaGFyICpidWYsIGJvb2wg c2hvd191bmtub3duKQoreworCWNvbnN0IGNoYXIgKiBjb25zdCAqcmVwcjsKKwlpbnQgY291bnQs IG47CisJc3NpemVfdCBsZW47CisKKwlzd2l0Y2ggKGVuZ2luZS0+Y2xhc3MpIHsKKwljYXNlIFZJ REVPX0RFQ09ERV9DTEFTUzoKKwkJcmVwciA9IHZjc19jYXBzOworCQljb3VudCA9IEFSUkFZX1NJ WkUodmNzX2NhcHMpOworCQlicmVhazsKKworCWNhc2UgVklERU9fRU5IQU5DRU1FTlRfQ0xBU1M6 CisJCXJlcHIgPSB2ZWNzX2NhcHM7CisJCWNvdW50ID0gQVJSQVlfU0laRSh2ZWNzX2NhcHMpOwor CQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJlcHIgPSBOVUxMOworCQljb3VudCA9IDA7CisJCWJy ZWFrOworCX0KKwlHRU1fQlVHX09OKGNvdW50ID4gQklUU19QRVJfVFlQRSh0eXBlb2YoY2Fwcykp KTsKKworCWxlbiA9IDA7CisJZm9yX2VhY2hfc2V0X2JpdChuLAorCQkJICh1bnNpZ25lZCBsb25n ICopJmNhcHMsCisJCQkgc2hvd191bmtub3duID8gQklUU19QRVJfVFlQRSh0eXBlb2YoY2Fwcykp IDogY291bnQpIHsKKwkJaWYgKG4gPj0gY291bnQgfHwgIXJlcHJbbl0pIHsKKwkJCWlmIChHRU1f V0FSTl9PTihzaG93X3Vua25vd24pKQorCQkJCWxlbiArPSBzbnByaW50ZihidWYgKyBsZW4sIFBB R0VfU0laRSAtIGxlbiwKKwkJCQkJCSJbJXhdICIsIG4pOworCQl9IGVsc2UgeworCQkJbGVuICs9 IHNucHJpbnRmKGJ1ZiArIGxlbiwgUEFHRV9TSVpFIC0gbGVuLAorCQkJCQkiJXMgIiwgcmVwcltu XSk7CisJCX0KKwkJaWYgKEdFTV9XQVJOX09OKGxlbiA+PSBQQUdFX1NJWkUpKQorCQkJYnJlYWs7 CisJfQorCXJldHVybiByZXByX3RyaW0oYnVmLCBsZW4pOworfQorCitzdGF0aWMgc3NpemVfdAor Y2Fwc19zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0 dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBrb2Jq X3RvX2VuZ2luZShrb2JqKTsKKworCXJldHVybiBfX2NhcHNfc2hvdyhlbmdpbmUsIGVuZ2luZS0+ dWFiaV9jYXBhYmlsaXRpZXMsIGJ1ZiwgdHJ1ZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9h dHRyaWJ1dGUgY2Fwc19hdHRyID0KK19fQVRUUihjYXBhYmlsaXRpZXMsIDA0NDQsIGNhcHNfc2hv dywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90CithbGxfY2Fwc19zaG93KHN0cnVjdCBrb2JqZWN0 ICprb2JqLCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1 cm4gX19jYXBzX3Nob3coa29ial90b19lbmdpbmUoa29iaiksIC0xLCBidWYsIGZhbHNlKTsKK30K Kworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBhbGxfY2Fwc19hdHRyID0KK19fQVRUUihr bm93bl9jYXBhYmlsaXRpZXMsIDA0NDQsIGFsbF9jYXBzX3Nob3csIE5VTEwpOworCitzdGF0aWMg dm9pZCBrb2JqX2VuZ2luZV9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCWtmcmVl KGtvYmopOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBrb2JqX2VuZ2luZV90eXBlID0g eworCS5yZWxlYXNlID0ga29ial9lbmdpbmVfcmVsZWFzZSwKKwkuc3lzZnNfb3BzID0gJmtvYmpf c3lzZnNfb3BzCit9OworCitzdGF0aWMgc3RydWN0IGtvYmplY3QgKgora29ial9lbmdpbmUoc3Ry dWN0IGtvYmplY3QgKmRpciwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXN0 cnVjdCBrb2JqX2VuZ2luZSAqa2U7CisKKwlrZSA9IGt6YWxsb2Moc2l6ZW9mKCprZSksIEdGUF9L RVJORUwpOworCWlmICgha2UpCisJCXJldHVybiBOVUxMOworCisJa29iamVjdF9pbml0KCZrZS0+ YmFzZSwgJmtvYmpfZW5naW5lX3R5cGUpOworCWtlLT5lbmdpbmUgPSBlbmdpbmU7CisKKwlpZiAo a29iamVjdF9hZGQoJmtlLT5iYXNlLCBkaXIsICIlcyIsIGVuZ2luZS0+bmFtZSkpIHsKKwkJa29i amVjdF9wdXQoJmtlLT5iYXNlKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogeGZlciBvd25l cnNoaXAgdG8gc3lzZnMgdHJlZSAqLworCXJldHVybiAma2UtPmJhc2U7Cit9CisKK3ZvaWQgaW50 ZWxfZW5naW5lc19hZGRfc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJ c3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmZpbGVzW10gPSB7CisJCSZuYW1lX2F0dHIu YXR0ciwKKwkJJmNsYXNzX2F0dHIuYXR0ciwKKwkJJmluc3RfYXR0ci5hdHRyLAorCQkmY2Fwc19h dHRyLmF0dHIsCisJCSZhbGxfY2Fwc19hdHRyLmF0dHIsCisJCU5VTEwKKwl9OworCisJc3RydWN0 IGRldmljZSAqa2RldiA9IGk5MTUtPmRybS5wcmltYXJ5LT5rZGV2OworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZTsKKwlzdHJ1Y3Qga29iamVjdCAqZGlyOworCisJaWYgKCFJU19FTkFC TEVEKENPTkZJR19EUk1fSTkxNV9VTlNUQUJMRV9TWVNGUykpCisJCXJldHVybjsKKworCWRpciA9 IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoImVuZ2luZSIsICZrZGV2LT5rb2JqKTsKKwlpZiAoIWRp cikKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfdWFiaV9lbmdpbmUoZW5naW5lLCBpOTE1KSB7CisJ CXN0cnVjdCBrb2JqZWN0ICprb2JqOworCisJCWtvYmogPSBrb2JqX2VuZ2luZShkaXIsIGVuZ2lu ZSk7CisJCWlmICgha29iaikKKwkJCWdvdG8gZXJyX2VuZ2luZTsKKworCQlpZiAoc3lzZnNfY3Jl YXRlX2ZpbGVzKGtvYmosIGZpbGVzKSkKKwkJCWdvdG8gZXJyX29iamVjdDsKKworCQlpZiAoMCkg eworZXJyX29iamVjdDoKKwkJCWtvYmplY3RfcHV0KGtvYmopOworZXJyX2VuZ2luZToKKwkJCWRl dl9lcnIoa2RldiwgIkZhaWxlZCB0byBhZGQgc3lzZnMgZW5naW5lICclcydcbiIsCisJCQkJZW5n aW5lLT5uYW1lKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3N5c2ZzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmVmNDRhNzQ1YjcwYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisgKgorICogQ29weXJpZ2h0IMKpIDIwMTkgSW50 ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaWZuZGVmIElOVEVMX0VOR0lORV9TWVNGU19ICisjZGVm aW5lIElOVEVMX0VOR0lORV9TWVNGU19ICisKK3N0cnVjdCBkcm1faTkxNV9wcml2YXRlOworCit2 b2lkIGludGVsX2VuZ2luZXNfYWRkX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KTsKKworI2VuZGlmIC8qIElOVEVMX0VOR0lORV9TWVNGU19IICovCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3N5c2ZzLmMKaW5kZXggNjU0NzY5MDlkMWJmLi4yNjczOGM1YzdkMjMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3N5c2ZzLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+ CiAjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KIAorI2luY2x1ZGUgImd0L2ludGVsX2VuZ2luZV9z eXNmcy5oIgogI2luY2x1ZGUgImd0L2ludGVsX3JjNi5oIgogI2luY2x1ZGUgImd0L2ludGVsX3Jw cy5oIgogCkBAIC02MTYsNiArNjE3LDggQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJRFJNX0VSUk9SKCJSUFMgc3lzZnMgc2V0dXAg ZmFpbGVkXG4iKTsKIAogCWk5MTVfc2V0dXBfZXJyb3JfY2FwdHVyZShrZGV2KTsKKworCWludGVs X2VuZ2luZXNfYWRkX3N5c2ZzKGRldl9wcml2KTsKIH0KIAogdm9pZCBpOTE1X3RlYXJkb3duX3N5 c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKLS0gCjIuMjQuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4CE68C5DF61 for ; Thu, 7 Nov 2019 08:13:22 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2C8F02077C for ; Thu, 7 Nov 2019 08:13:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C8F02077C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6D6EB6EEC0; Thu, 7 Nov 2019 08:13:10 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D91B6EEC0 for ; Thu, 7 Nov 2019 08:13:06 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 19110677-1500050 for multiple; Thu, 07 Nov 2019 08:12:57 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Thu, 7 Nov 2019 08:12:44 +0000 Message-Id: <20191107081252.10542-20-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191107081252.10542-1-chris@chris-wilson.co.uk> References: <20191107081252.10542-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 20/28] drm/i915/gt: Expose engine properties via sysfs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191107081244.4b8BNIg3uTLwSrZsTtl6w_mPje8bAzkJcP5IbVK938I@z> UHJlbGltaW5hcnkgc3R1YiB0byBhZGQgZW5naW5lcyB1bmRlcm5lYXRoIC9zeXMvY2xhc3MvZHJt L2NhcmROLywgc28KdGhhdCB3ZSBjYW4gZXhwb3NlIHByb3BlcnRpZXMgb24gZWFjaCBlbmdpbmUg dG8gdGhlIHN5c2FkbWluLgoKVG8gc3RhcnQgd2l0aCB3ZSBoYXZlIGJhc2ljIGFuYWxvZ3VlcyBv ZiB0aGUgaTkxNV9xdWVyeSBpb2N0bCBzbyB0aGF0IHdlCmNhbiBwcmV0dHkgcHJpbnQgZW5naW5l IGRpc2NvdmVyeSBmcm9tIHRoZSBzaGVsbCwgYW5kIGZsZXNoIG91dCB0aGUKZGlyZWN0b3J5IHN0 cnVjdHVyZS4gTGF0ZXIgd2Ugd2lsbCBhZGQgd3JpdGVhYmxlIHN5c2FkbWluIHByb3BlcnRpZXMg c3VjaAphcyBwZXItZW5naW5lIHRpbWVvdXQgY29udHJvbHMuCgpBbiBleGFtcGxlIHRyZWUgb2Yg dGhlIGVuZ2luZSBwcm9wZXJ0aWVzIG9uIEJyYXN3ZWxsOgogICAgL3N5cy9jbGFzcy9kcm0vY2Fy ZDAKICAgIOKUlOKUgOKUgCBlbmdpbmUKICAgICDCoMKgIOKUnOKUgOKUgCBiY3MwCiAgICAgwqDC oCDilILCoMKgIOKUnOKUgOKUgCBjYXBhYmlsaXRpZXMKICAgICDCoMKgIOKUgsKgwqAg4pSc4pSA 4pSAIGNsYXNzCiAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBpbnN0YW5jZQogICAgIMKgwqAg 4pSCwqDCoCDilJzilIDilIAga25vd25fY2FwYWJpbGl0aWVzCiAgICAgwqDCoCDilILCoMKgIOKU lOKUgOKUgCBuYW1lCiAgICAgwqDCoCDilJzilIDilIAgcmNzMAogICAgIMKgwqAg4pSCwqDCoCDi lJzilIDilIAgY2FwYWJpbGl0aWVzCiAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBjbGFzcwog ICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgaW5zdGFuY2UKICAgICDCoMKgIOKUgsKgwqAg4pSc 4pSA4pSAIGtub3duX2NhcGFiaWxpdGllcwogICAgIMKgwqAg4pSCwqDCoCDilJTilIDilIAgbmFt ZQogICAgIMKgwqAg4pSc4pSA4pSAIHZjczAKICAgICDCoMKgIOKUgsKgwqAg4pSc4pSA4pSAIGNh cGFiaWxpdGllcwogICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgY2xhc3MKICAgICDCoMKgIOKU gsKgwqAg4pSc4pSA4pSAIGluc3RhbmNlCiAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBrbm93 bl9jYXBhYmlsaXRpZXMKICAgICDCoMKgIOKUgsKgwqAg4pSU4pSA4pSAIG5hbWUKICAgICDCoMKg IOKUlOKUgOKUgCB2ZWNzMAogICAgIMKgwqAgIMKgwqAg4pSc4pSA4pSAIGNhcGFiaWxpdGllcwog ICAgIMKgwqAgICAgIOKUnOKUgOKUgCBjbGFzcwogICAgIMKgwqAgICAgIOKUnOKUgOKUgCBpbnN0 YW5jZQogICAgIMKgwqAgIMKgwqAg4pSc4pSA4pSAIGtub3duX2NhcGFiaWxpdGllcwogICAgIMKg wqAgICAgIOKUlOKUgOKUgCBuYW1lCgp2MjogSW5jbHVkZSBzdHJpbmdpZmllZCBjYXBhYmlsaXRp ZXMKdjM6IEluY2x1ZGUgYWxsIGtub3duIGNhcGFiaWxpdGllcyBmb3IgZnV0dXJlcHJvb2Zpbmcu CnY0OiBDb21iaW5lIHRoZSB0d28gY2FwcyBsb29wcyBpbnRvIG9uZQoKdjU6IEhpZGUgdW5kZXJu ZWF0aCBLY29uZmlnLnVuc3RhYmxlIGZvciB3aWRlciBkaXNjdXNzaW9uCgpTaWduZWQtb2ZmLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxk YW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdv LnZpdmlAaW50ZWwuY29tPgpBY2tlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnLnVuc3RhYmxlICAgICAgICB8 ICAgNyArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAg MSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYyB8IDIwOCAr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf c3lzZnMuaCB8ICAxNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jICAgICAg ICAgICAgfCAgIDMgKwogNSBmaWxlcyBjaGFuZ2VkLCAyMzMgaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X3N5c2ZzLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnLnVuc3Rh YmxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2NvbmZpZy51bnN0YWJsZQppbmRleCAwYzIyNzYx NTVjMmIuLjFmODY2Y2FlOTQzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2Nv bmZpZy51bnN0YWJsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnLnVuc3RhYmxl CkBAIC0yNywzICsyNywxMCBAQCBjb25maWcgRFJNX0k5MTVfVU5TVEFCTEVfRkFLRV9MTUVNCiAJ aGVscAogCSAgQ29udmVydCBzb21lIHN5c3RlbSBtZW1vcnkgaW50byBhIGZha2UgbG9jYWwgbWVt b3J5IHJlZ2lvbiBmb3IKIAkgIHRlc3RpbmcuCisKK2NvbmZpZyBEUk1fSTkxNV9VTlNUQUJMRV9T WVNGUworCWJvb2wgIkVuYWJsZSB0aGUgZXhwZXJpbWVudGFsIHN5c2ZzIHByb3BlcnRpZXMiCisJ ZGVwZW5kcyBvbiBEUk1fSTkxNV9VTlNUQUJMRQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEV4cGxv cmUgdGhlIEhXIHByb3BlcnR5IHNwYWNlIGZyb20gdGhlIHNoZWxsIGNvbW1hbmQgbGluZSEKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvTWFrZWZpbGUKaW5kZXggZTBmZDEwYzBjZmI4Li43YjgzYTUxMGJhYmIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L01ha2VmaWxlCkBAIC04MSw2ICs4MSw3IEBAIGd0LXkgKz0gXAogCWd0L2ludGVsX2VuZ2lu ZV9oZWFydGJlYXQubyBcCiAJZ3QvaW50ZWxfZW5naW5lX3BtLm8gXAogCWd0L2ludGVsX2VuZ2lu ZV9wb29sLm8gXAorCWd0L2ludGVsX2VuZ2luZV9zeXNmcy5vIFwKIAlndC9pbnRlbF9lbmdpbmVf dXNlci5vIFwKIAlndC9pbnRlbF9ndC5vIFwKIAlndC9pbnRlbF9ndF9pcnEubyBcCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGYyNjNhZjNhOWVhCi0tLSAvZGV2L251bGwKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3N5c2ZzLmMKQEAgLTAsMCArMSwy MDggQEAKKy8qCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisgKgorICogQ29weXJp Z2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgva29i amVjdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+CisKKyNpbmNsdWRlICJpOTE1X2Rydi5o IgorI2luY2x1ZGUgImludGVsX2VuZ2luZS5oIgorI2luY2x1ZGUgImludGVsX2VuZ2luZV9zeXNm cy5oIgorCitzdHJ1Y3Qga29ial9lbmdpbmUgeworCXN0cnVjdCBrb2JqZWN0IGJhc2U7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworfTsKKworc3RhdGljIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmtvYmpfdG9fZW5naW5lKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCXJldHVy biBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGtvYmpfZW5naW5lLCBiYXNlKS0+ZW5naW5lOwor fQorCitzdGF0aWMgc3NpemVfdAorbmFtZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1 Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50Zihi dWYsICIlc1xuIiwga29ial90b19lbmdpbmUoa29iaiktPm5hbWUpOworfQorCitzdGF0aWMgc3Ry dWN0IGtvYmpfYXR0cmlidXRlIG5hbWVfYXR0ciA9CitfX0FUVFIobmFtZSwgMDQ0NCwgbmFtZV9z aG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3QKK2NsYXNzX3Nob3coc3RydWN0IGtvYmplY3Qg KmtvYmosIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXJldHVy biBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBrb2JqX3RvX2VuZ2luZShrb2JqKS0+dWFiaV9jbGFzcyk7 Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgY2xhc3NfYXR0ciA9CitfX0FUVFIo Y2xhc3MsIDA0NDQsIGNsYXNzX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdAoraW5zdF9z aG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNo YXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwga29ial90b19lbmdpbmUo a29iaiktPnVhYmlfaW5zdGFuY2UpOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRl IGluc3RfYXR0ciA9CitfX0FUVFIoaW5zdGFuY2UsIDA0NDQsIGluc3Rfc2hvdywgTlVMTCk7CisK K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmNzX2NhcHNbXSA9IHsKKwlbaWxvZzIoSTkxNV9W SURFT19DTEFTU19DQVBBQklMSVRZX0hFVkMpXSA9ICJoZXZjIiwKKwlbaWxvZzIoSTkxNV9WSURF T19BTkRfRU5IQU5DRV9DTEFTU19DQVBBQklMSVRZX1NGQyldID0gInNmYyIsCit9OworCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IHZlY3NfY2Fwc1tdID0geworCVtpbG9nMihJOTE1X1ZJREVP X0FORF9FTkhBTkNFX0NMQVNTX0NBUEFCSUxJVFlfU0ZDKV0gPSAic2ZjIiwKK307CisKK3N0YXRp YyBzc2l6ZV90IHJlcHJfdHJpbShjaGFyICpidWYsIHNzaXplX3QgbGVuKQoreworCS8qIFRyaW0g b2ZmIHRoZSB0cmFpbGluZyBzcGFjZSBhbmQgcmVwbGFjZSB3aXRoIGEgbmV3bGluZSAqLworCWlm IChsZW4gPiBQQUdFX1NJWkUpCisJCWxlbiA9IFBBR0VfU0laRTsKKwlpZiAobGVuID4gMCkKKwkJ YnVmW2xlbiAtIDFdID0gJ1xuJzsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBzc2l6ZV90 CitfX2NhcHNfc2hvdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJICAgIHR5cGVv ZihlbmdpbmUtPnVhYmlfY2FwYWJpbGl0aWVzKSBjYXBzLAorCSAgICBjaGFyICpidWYsIGJvb2wg c2hvd191bmtub3duKQoreworCWNvbnN0IGNoYXIgKiBjb25zdCAqcmVwcjsKKwlpbnQgY291bnQs IG47CisJc3NpemVfdCBsZW47CisKKwlzd2l0Y2ggKGVuZ2luZS0+Y2xhc3MpIHsKKwljYXNlIFZJ REVPX0RFQ09ERV9DTEFTUzoKKwkJcmVwciA9IHZjc19jYXBzOworCQljb3VudCA9IEFSUkFZX1NJ WkUodmNzX2NhcHMpOworCQlicmVhazsKKworCWNhc2UgVklERU9fRU5IQU5DRU1FTlRfQ0xBU1M6 CisJCXJlcHIgPSB2ZWNzX2NhcHM7CisJCWNvdW50ID0gQVJSQVlfU0laRSh2ZWNzX2NhcHMpOwor CQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJlcHIgPSBOVUxMOworCQljb3VudCA9IDA7CisJCWJy ZWFrOworCX0KKwlHRU1fQlVHX09OKGNvdW50ID4gQklUU19QRVJfVFlQRSh0eXBlb2YoY2Fwcykp KTsKKworCWxlbiA9IDA7CisJZm9yX2VhY2hfc2V0X2JpdChuLAorCQkJICh1bnNpZ25lZCBsb25n ICopJmNhcHMsCisJCQkgc2hvd191bmtub3duID8gQklUU19QRVJfVFlQRSh0eXBlb2YoY2Fwcykp IDogY291bnQpIHsKKwkJaWYgKG4gPj0gY291bnQgfHwgIXJlcHJbbl0pIHsKKwkJCWlmIChHRU1f V0FSTl9PTihzaG93X3Vua25vd24pKQorCQkJCWxlbiArPSBzbnByaW50ZihidWYgKyBsZW4sIFBB R0VfU0laRSAtIGxlbiwKKwkJCQkJCSJbJXhdICIsIG4pOworCQl9IGVsc2UgeworCQkJbGVuICs9 IHNucHJpbnRmKGJ1ZiArIGxlbiwgUEFHRV9TSVpFIC0gbGVuLAorCQkJCQkiJXMgIiwgcmVwcltu XSk7CisJCX0KKwkJaWYgKEdFTV9XQVJOX09OKGxlbiA+PSBQQUdFX1NJWkUpKQorCQkJYnJlYWs7 CisJfQorCXJldHVybiByZXByX3RyaW0oYnVmLCBsZW4pOworfQorCitzdGF0aWMgc3NpemVfdAor Y2Fwc19zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0 dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBrb2Jq X3RvX2VuZ2luZShrb2JqKTsKKworCXJldHVybiBfX2NhcHNfc2hvdyhlbmdpbmUsIGVuZ2luZS0+ dWFiaV9jYXBhYmlsaXRpZXMsIGJ1ZiwgdHJ1ZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9h dHRyaWJ1dGUgY2Fwc19hdHRyID0KK19fQVRUUihjYXBhYmlsaXRpZXMsIDA0NDQsIGNhcHNfc2hv dywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90CithbGxfY2Fwc19zaG93KHN0cnVjdCBrb2JqZWN0 ICprb2JqLCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1 cm4gX19jYXBzX3Nob3coa29ial90b19lbmdpbmUoa29iaiksIC0xLCBidWYsIGZhbHNlKTsKK30K Kworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBhbGxfY2Fwc19hdHRyID0KK19fQVRUUihr bm93bl9jYXBhYmlsaXRpZXMsIDA0NDQsIGFsbF9jYXBzX3Nob3csIE5VTEwpOworCitzdGF0aWMg dm9pZCBrb2JqX2VuZ2luZV9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCWtmcmVl KGtvYmopOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBrb2JqX2VuZ2luZV90eXBlID0g eworCS5yZWxlYXNlID0ga29ial9lbmdpbmVfcmVsZWFzZSwKKwkuc3lzZnNfb3BzID0gJmtvYmpf c3lzZnNfb3BzCit9OworCitzdGF0aWMgc3RydWN0IGtvYmplY3QgKgora29ial9lbmdpbmUoc3Ry dWN0IGtvYmplY3QgKmRpciwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXN0 cnVjdCBrb2JqX2VuZ2luZSAqa2U7CisKKwlrZSA9IGt6YWxsb2Moc2l6ZW9mKCprZSksIEdGUF9L RVJORUwpOworCWlmICgha2UpCisJCXJldHVybiBOVUxMOworCisJa29iamVjdF9pbml0KCZrZS0+ YmFzZSwgJmtvYmpfZW5naW5lX3R5cGUpOworCWtlLT5lbmdpbmUgPSBlbmdpbmU7CisKKwlpZiAo a29iamVjdF9hZGQoJmtlLT5iYXNlLCBkaXIsICIlcyIsIGVuZ2luZS0+bmFtZSkpIHsKKwkJa29i amVjdF9wdXQoJmtlLT5iYXNlKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogeGZlciBvd25l cnNoaXAgdG8gc3lzZnMgdHJlZSAqLworCXJldHVybiAma2UtPmJhc2U7Cit9CisKK3ZvaWQgaW50 ZWxfZW5naW5lc19hZGRfc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJ c3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmZpbGVzW10gPSB7CisJCSZuYW1lX2F0dHIu YXR0ciwKKwkJJmNsYXNzX2F0dHIuYXR0ciwKKwkJJmluc3RfYXR0ci5hdHRyLAorCQkmY2Fwc19h dHRyLmF0dHIsCisJCSZhbGxfY2Fwc19hdHRyLmF0dHIsCisJCU5VTEwKKwl9OworCisJc3RydWN0 IGRldmljZSAqa2RldiA9IGk5MTUtPmRybS5wcmltYXJ5LT5rZGV2OworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZTsKKwlzdHJ1Y3Qga29iamVjdCAqZGlyOworCisJaWYgKCFJU19FTkFC TEVEKENPTkZJR19EUk1fSTkxNV9VTlNUQUJMRV9TWVNGUykpCisJCXJldHVybjsKKworCWRpciA9 IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoImVuZ2luZSIsICZrZGV2LT5rb2JqKTsKKwlpZiAoIWRp cikKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfdWFiaV9lbmdpbmUoZW5naW5lLCBpOTE1KSB7CisJ CXN0cnVjdCBrb2JqZWN0ICprb2JqOworCisJCWtvYmogPSBrb2JqX2VuZ2luZShkaXIsIGVuZ2lu ZSk7CisJCWlmICgha29iaikKKwkJCWdvdG8gZXJyX2VuZ2luZTsKKworCQlpZiAoc3lzZnNfY3Jl YXRlX2ZpbGVzKGtvYmosIGZpbGVzKSkKKwkJCWdvdG8gZXJyX29iamVjdDsKKworCQlpZiAoMCkg eworZXJyX29iamVjdDoKKwkJCWtvYmplY3RfcHV0KGtvYmopOworZXJyX2VuZ2luZToKKwkJCWRl dl9lcnIoa2RldiwgIkZhaWxlZCB0byBhZGQgc3lzZnMgZW5naW5lICclcydcbiIsCisJCQkJZW5n aW5lLT5uYW1lKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3N5c2ZzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmVmNDRhNzQ1YjcwYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisgKgorICogQ29weXJpZ2h0IMKpIDIwMTkgSW50 ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaWZuZGVmIElOVEVMX0VOR0lORV9TWVNGU19ICisjZGVm aW5lIElOVEVMX0VOR0lORV9TWVNGU19ICisKK3N0cnVjdCBkcm1faTkxNV9wcml2YXRlOworCit2 b2lkIGludGVsX2VuZ2luZXNfYWRkX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KTsKKworI2VuZGlmIC8qIElOVEVMX0VOR0lORV9TWVNGU19IICovCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3N5c2ZzLmMKaW5kZXggNjU0NzY5MDlkMWJmLi4yNjczOGM1YzdkMjMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3N5c2ZzLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+ CiAjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KIAorI2luY2x1ZGUgImd0L2ludGVsX2VuZ2luZV9z eXNmcy5oIgogI2luY2x1ZGUgImd0L2ludGVsX3JjNi5oIgogI2luY2x1ZGUgImd0L2ludGVsX3Jw cy5oIgogCkBAIC02MTYsNiArNjE3LDggQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJRFJNX0VSUk9SKCJSUFMgc3lzZnMgc2V0dXAg ZmFpbGVkXG4iKTsKIAogCWk5MTVfc2V0dXBfZXJyb3JfY2FwdHVyZShrZGV2KTsKKworCWludGVs X2VuZ2luZXNfYWRkX3N5c2ZzKGRldl9wcml2KTsKIH0KIAogdm9pZCBpOTE1X3RlYXJkb3duX3N5 c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKLS0gCjIuMjQuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4