From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 2/2] drm/i915: Use a cached mapping for the physical HWS Date: Mon, 3 Sep 2018 16:23:04 +0100 Message-ID: <20180903152304.31589-2-chris@chris-wilson.co.uk> References: <20180903152304.31589-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 D47E46E266 for ; Mon, 3 Sep 2018 15:23:37 +0000 (UTC) In-Reply-To: <20180903152304.31589-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 T2xkZXIgZ2VuIHVzZSBhIHBoeXNpY2FsIGFkZHJlc3MgZm9yIHRoZSBoYXJkd2FyZSBzdGF0dXMg cGFnZSwgZm9yIHdoaWNoCndlIHVzZSBjYWNoZS1jb2hlcmVudCB3cml0ZXMuIEFzIHRoZSB3cml0 ZXMgYXJlIGludG8gdGhlIGNwdSBjYWNoZSwgd2UgdXNlCmEgbm9ybWFsIFdCIG1hcHBlZCBwYWdl IHRvIHJlYWQgdGhlIEhXUywgdXNlZCBmb3Igb3VyIHNlcW5vIHRyYWNraW5nLgoKQW5lY2RvdGFs bHksIEkgb2JzZXJ2ZWQgbG9zdCBicmVhZGNydW1icyB3cml0ZXMgaW50byB0aGUgSFdTIG9uIGk5 NjVnbSwKd2hpY2ggc28gZmFyIGhhdmUgbm90IHJlb2NjdXJyZWQgd2l0aCB0aGlzIHBhdGNoLiBI b3cgcmVsaWFibGUgdGhhdApldmlkZW5jZSBpcyByZW1haW5zIHRvIGJlIHNlZW4uCgp2MjogRXhw bGljaXRseSBwYXNzIHRoZSBleHBlY3RlZCBwaHlzaWNhbCBhZGRyZXNzIHRvIHRoZSBodwp2Mzog QWxzbyByZW1lbWJlciB0aGUgd2lsZCB3cml0ZXMgd2Ugb25jZSBoYWQgZm9yIEhXUyBhYm92ZSA0 Ry4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgpDYzogSm9vbmFzIExhaHRpbmVu IDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZl dHRlciA8ZGFuaWVsQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICB8ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j ICB8IDI1ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYyB8ICA3ICsrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggOTc3 MWYzOWQ5OWIzLi41YTRkYTViNzIzZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTY2 Niw3ICsxNjY2LDYgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZV9jbGFzc1tNQVhfRU5HSU5FX0NMQVNTICsgMV0KIAkJCQkJICAgIFtN QVhfRU5HSU5FX0lOU1RBTkNFICsgMV07CiAKLQlzdHJ1Y3QgZHJtX2RtYV9oYW5kbGUgKnN0YXR1 c19wYWdlX2RtYWg7CiAJc3RydWN0IHJlc291cmNlIG1jaF9yZXM7CiAKIAkvKiBwcm90ZWN0cyB0 aGUgaXJxIG1hc2tzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4 IDI5MmVhZTE5ZmNlMi4uMTBjZDA1MWJhMjllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYwpAQCAtNTMyLDExICs1MzIsMTEgQEAgdm9pZCBpbnRlbF9lbmdpbmVfY2xlYW51 cF9zY3JhdGNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogc3RhdGljIHZvaWQg Y2xlYW51cF9zdGF0dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7Ci0J c3RydWN0IGRybV9kbWFfaGFuZGxlICpkbWFoOworCWlmIChIV1NfTkVFRFNfUEhZU0lDQUwoZW5n aW5lLT5pOTE1KSkgeworCQl2b2lkICphZGRyID0gZmV0Y2hfYW5kX3plcm8oJmVuZ2luZS0+c3Rh dHVzX3BhZ2UucGFnZV9hZGRyKTsKIAotCWRtYWggPSBmZXRjaF9hbmRfemVybygmZW5naW5lLT5p OTE1LT5zdGF0dXNfcGFnZV9kbWFoKTsKLQlpZiAoZG1haCkKLQkJZHJtX3BjaV9mcmVlKCZlbmdp bmUtPmk5MTUtPmRybSwgZG1haCk7CisJCV9fZnJlZV9wYWdlKHZpcnRfdG9fcGFnZShhZGRyKSk7 CisJfQogCiAJaTkxNV92bWFfdW5waW5fYW5kX3JlbGVhc2UoJmVuZ2luZS0+c3RhdHVzX3BhZ2Uu dm1hLAogCQkJCSAgIEk5MTVfVk1BX1JFTEVBU0VfTUFQKTsKQEAgLTYwNSwxNyArNjA1LDE4IEBA IHN0YXRpYyBpbnQgaW5pdF9zdGF0dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiAKIHN0YXRpYyBpbnQgaW5pdF9waHlzX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBl bmdpbmUtPmk5MTU7Ci0KLQlHRU1fQlVHX09OKGVuZ2luZS0+aWQgIT0gUkNTKTsKKwlzdHJ1Y3Qg cGFnZSAqcGFnZTsKIAotCWRldl9wcml2LT5zdGF0dXNfcGFnZV9kbWFoID0KLQkJZHJtX3BjaV9h bGxvYygmZGV2X3ByaXYtPmRybSwgUEFHRV9TSVpFLCBQQUdFX1NJWkUpOwotCWlmICghZGV2X3By aXYtPnN0YXR1c19wYWdlX2RtYWgpCisJLyoKKwkgKiBUaG91Z2ggdGhlIEhXUyByZWdpc3RlciBk b2VzIHN1cHBvcnQgMzZiaXQgYWRkcmVzc2VzLCBoaXN0b3JpY2FsbHkKKwkgKiB3ZSBoYXZlIGhh ZCBoYW5ncyBhbmQgY29ycnVwdGlvbiByZXBvcnRlZCBkdWUgdG8gd2lsZCB3cml0ZXMgaWYKKwkg KiB0aGUgSFdTIGlzIHBsYWNlZCBhYm92ZSA0Ry4KKwkgKi8KKwlwYWdlID0gYWxsb2NfcGFnZShH RlBfS0VSTkVMIHwgX19HRlBfRE1BMzIgfCBfX0dGUF9aRVJPKTsKKwlpZiAoIXBhZ2UpCiAJCXJl dHVybiAtRU5PTUVNOwogCi0JZW5naW5lLT5zdGF0dXNfcGFnZS5wYWdlX2FkZHIgPSBkZXZfcHJp di0+c3RhdHVzX3BhZ2VfZG1haC0+dmFkZHI7Ci0JbWVtc2V0KGVuZ2luZS0+c3RhdHVzX3BhZ2Uu cGFnZV9hZGRyLCAwLCBQQUdFX1NJWkUpOworCWVuZ2luZS0+c3RhdHVzX3BhZ2UucGFnZV9hZGRy ID0gcGFnZV9hZGRyZXNzKHBhZ2UpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggNDQ0MzI2NzcxNjBjLi44NjYwNGRkMWM1YTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTM0NCwxMSArMzQ0LDE0 IEBAIGdlbjdfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBt b2RlKQogc3RhdGljIHZvaWQgcmluZ19zZXR1cF9waHlzX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBlbmdpbmUtPmk5MTU7CisJc3RydWN0IHBhZ2UgKnBhZ2UgPSB2aXJ0X3RvX3BhZ2UoZW5n aW5lLT5zdGF0dXNfcGFnZS5wYWdlX2FkZHIpOworCXBoeXNfYWRkcl90IHBoeXMgPSBQRk5fUEhZ UyhwYWdlX3RvX3BmbihwYWdlKSk7CiAJdTMyIGFkZHI7CiAKLQlhZGRyID0gZGV2X3ByaXYtPnN0 YXR1c19wYWdlX2RtYWgtPmJ1c2FkZHI7CisJYWRkciA9IGxvd2VyXzMyX2JpdHMocGh5cyk7CiAJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNCkKLQkJYWRkciB8PSAoZGV2X3ByaXYtPnN0YXR1 c19wYWdlX2RtYWgtPmJ1c2FkZHIgPj4gMjgpICYgMHhmMDsKKwkJYWRkciB8PSAocGh5cyA+PiAy OCkgJiAweGYwOworCiAJSTkxNV9XUklURShIV1NfUEdBLCBhZGRyKTsKIH0KIAotLSAKMi4xOS4w LnJjMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==