From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 45/64] drm/i915: Store owning file on the i915_address_space Date: Thu, 7 Jul 2016 09:41:51 +0100 Message-ID: <1467880930-23082-45-git-send-email-chris@chris-wilson.co.uk> References: <1467880930-23082-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 56A846E760 for ; Thu, 7 Jul 2016 08:43:18 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id 187so3804470wmz.1 for ; Thu, 07 Jul 2016 01:43:18 -0700 (PDT) In-Reply-To: <1467880930-23082-1-git-send-email-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 Rm9yIHRoZSBnbG9iYWwgR1RUIChhbmQgYWxpYXNpbmcgR1RUKSwgdGhlIGFkZHJlc3Mgc3BhY2Ug aXMgb3duZWQgYnkgdGhlCmRldmljZSAoaXQgaXMgYSBnbG9iYWwgcmVzb3VyY2UpIGFuZCBzbyB0 aGUgcGVyLWZpbGUgb3duZXIgZmllbGQgaXMKTlVMTC4gRm9yIHBlci1wcm9jZXNzIEdUVCAod2hl cmUgd2UgY3JlYXRlIGFuIGFkZHJlc3Mgc3BhY2UgcGVyCmNvbnRleHQpLCBlYWNoIGlzIG93bmVk IGJ5IHRoZSBvcGVuaW5nIGZpbGUuIFdlIGNhbiB1c2UgdGhpcyBvd25lcnNoaXAKaW5mb3JtYXRp b24gdG8gYm90aCBkaXN0aW5ndWlzaCBHR1RUIGFuZCBwcEdUVCBhZGRyZXNzIHNwYWNlcywgYXMg d2VsbAphcyBvY2Nhc2lvbmFsbHkgaW5zcGVjdCB0aGUgb3duZXIuCgp2MjogV2hpdGVzcGFjZSwg dGVsbHMgdXMgd2hvIG93bnMgaTkxNV9hZGRyZXNzX3NwYWNlCgpTaWduZWQtb2ZmLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAg fCAzMCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5oICAgICB8IDE3ICsrKysrKysrKysrLS0tLS0tCiA1IGZpbGVzIGNoYW5n ZWQsIDI5IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKaW5kZXggYzdkZDczOWVhZGE1Li4zMjcwNjQ4MjNiYjAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0zNTYsNyArMzU2LDcgQEAgc3RhdGljIGludCBwZXJf ZmlsZV9zdGF0cyhpbnQgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGF0YSkKIAkJCQk9IGNvbnRhaW5l cl9vZih2bWEtPnZtLAogCQkJCQkgICAgICAgc3RydWN0IGk5MTVfaHdfcHBndHQsCiAJCQkJCSAg ICAgICBiYXNlKTsKLQkJCWlmIChwcGd0dC0+ZmlsZV9wcml2ICE9IHN0YXRzLT5maWxlX3ByaXYp CisJCQlpZiAocHBndHQtPmJhc2UuZmlsZSAhPSBzdGF0cy0+ZmlsZV9wcml2KQogCQkJCWNvbnRp bnVlOwogCQl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDY2NDkwMDQ2YWIzNy4uYTE5 ZDE4ZWEwNzRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTMyODAsNyArMzI4MCw2IEBA IGk5MTVfdm1fdG9fcHBndHQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCiAJcmV0dXJu IGNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJhc2UpOwogfQogCi0KIHN0 YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9vYmpfZ2d0dF9ib3VuZChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQogewogCXJldHVybiBpOTE1X2dlbV9vYmpfZ2d0dF9ib3VuZF92aWV3 KG9iaiwgJmk5MTVfZ2d0dF92aWV3X25vcm1hbCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9jb250ZXh0LmMKaW5kZXggZWQwNzFmYjFiNzEzLi5jMjEzZmFmZTQxZDkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTMyNyw3ICszMjcsOCBAQCBpOTE1X2dl bV9jcmVhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gY3R4Owog CiAJaWYgKFVTRVNfRlVMTF9QUEdUVChkZXYpKSB7Ci0JCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpw cGd0dCA9IGk5MTVfcHBndHRfY3JlYXRlKGRldiwgZmlsZV9wcml2KTsKKwkJc3RydWN0IGk5MTVf aHdfcHBndHQgKnBwZ3R0ID0KKwkJCWk5MTVfcHBndHRfY3JlYXRlKHRvX2k5MTUoZGV2KSwgZmls ZV9wcml2KTsKIAogCQlpZiAoSVNfRVJSKHBwZ3R0KSkgewogCQkJRFJNX0RFQlVHX0RSSVZFUigi UFBHVFQgc2V0dXAgZmFpbGVkICglbGQpXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YwppbmRleCA1YjA5ZGI2OGRmNzMuLmMyNTExN2JlZDFlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMKQEAgLTIxMDcsMTEgKzIxMDcsMTIgQEAgc3RhdGljIGludCBnZW42X3BwZ3R0 X2luaXQoc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KQogCXJldHVybiAwOwogfQogCi1zdGF0 aWMgaW50IF9faHdfcHBndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQpCitzdGF0aWMgaW50IF9faHdfcHBndHRfaW5pdChzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQsCisJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiB7Ci0JcHBndHQtPmJhc2UuZGV2ID0gZGV2OworCXBwZ3R0LT5iYXNlLmRldiA9ICZkZXZf cHJpdi0+ZHJtOwogCi0JaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgOCkKKwlpZiAoSU5URUxf SU5GTyhkZXZfcHJpdiktPmdlbiA8IDgpCiAJCXJldHVybiBnZW42X3BwZ3R0X2luaXQocHBndHQp OwogCWVsc2UKIAkJcmV0dXJuIGdlbjhfcHBndHRfaW5pdChwcGd0dCk7CkBAIC0yMTQ2LDE1ICsy MTQ3LDE3IEBAIHN0YXRpYyB2b2lkIGd0dF93cml0ZV93b3JrYXJvdW5kcyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjlfTDNfTFJB XzFfR1BHUFVfREVGQVVMVF9WQUxVRV9CWFQpOwogfQogCi1zdGF0aWMgaW50IGk5MTVfcHBndHRf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQp CitzdGF0aWMgaW50IGk5MTVfcHBndHRfaW5pdChzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQs CisJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICBzdHJ1Y3Qg ZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCWludCByZXQgPSAwOworCWludCByZXQ7 CiAKLQlyZXQgPSBfX2h3X3BwZ3R0X2luaXQoZGV2LCBwcGd0dCk7CisJcmV0ID0gX19od19wcGd0 dF9pbml0KHBwZ3R0LCBkZXZfcHJpdik7CiAJaWYgKHJldCA9PSAwKSB7CiAJCWtyZWZfaW5pdCgm cHBndHQtPnJlZik7CiAJCWk5MTVfYWRkcmVzc19zcGFjZV9pbml0KCZwcGd0dC0+YmFzZSwgZGV2 X3ByaXYpOworCQlwcGd0dC0+YmFzZS5maWxlID0gZmlsZV9wcml2OwogCX0KIAogCXJldHVybiBy ZXQ7CkBAIC0yMTg2LDcgKzIxODksOCBAQCBpbnQgaTkxNV9wcGd0dF9pbml0X2h3KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiB9CiAKIHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICoKLWk5MTVfcHBndHRf Y3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZh dGUgKmZwcml2KQoraTkxNV9wcGd0dF9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAorCQkgIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZwcml2KQogewogCXN0 cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dDsKIAlpbnQgcmV0OwpAQCAtMjE5NSwxNCArMjE5OSwx MiBAQCBpOTE1X3BwZ3R0X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2k5MTVfZmlsZV9wcml2YXRlICpmcHJpdikKIAlpZiAoIXBwZ3R0KQogCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKIAotCXJldCA9IGk5MTVfcHBndHRfaW5pdChkZXYsIHBwZ3R0KTsKKwlyZXQg PSBpOTE1X3BwZ3R0X2luaXQocHBndHQsIGRldl9wcml2LCBmcHJpdik7CiAJaWYgKHJldCkgewog CQlrZnJlZShwcGd0dCk7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQogCi0JcHBndHQtPmZp bGVfcHJpdiA9IGZwcml2OwotCiAJdHJhY2VfaTkxNV9wcGd0dF9jcmVhdGUoJnBwZ3R0LT5iYXNl KTsKIAogCXJldHVybiBwcGd0dDsKQEAgLTI3OTIsOSArMjc5NCw4IEBAIGludCBpOTE1X2dlbV9p bml0X2dndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJaWYgKCFwcGd0dCkKIAkJCXJldHVy biAtRU5PTUVNOwogCi0JCXJldCA9IF9faHdfcHBndHRfaW5pdChkZXYsIHBwZ3R0KTsKKwkJcmV0 ID0gX19od19wcGd0dF9pbml0KHBwZ3R0LCBkZXZfcHJpdik7CiAJCWlmIChyZXQpIHsKLQkJCXBw Z3R0LT5iYXNlLmNsZWFudXAoJnBwZ3R0LT5iYXNlKTsKIAkJCWtmcmVlKHBwZ3R0KTsKIAkJCXJl dHVybiByZXQ7CiAJCX0KQEAgLTMyMjAsNyArMzIyMSw2IEBAIGludCBpOTE1X2dndHRfaW5pdF9o dyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIAogCWdndHQtPmJhc2UuZGV2ID0gZGV2Owot CWdndHQtPmJhc2UuaXNfZ2d0dCA9IHRydWU7CiAKIAlyZXQgPSBnZ3R0LT5wcm9iZShnZ3R0KTsK IAlpZiAocmV0KQpAQCAtMzMxMiw3ICszMzEyLDcgQEAgdm9pZCBpOTE1X2dlbV9yZXN0b3JlX2d0 dF9tYXBwaW5ncyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJCQlzdHJ1Y3QgaTkxNV9od19w cGd0dCAqcHBndHQ7CiAKLQkJCWlmICh2bS0+aXNfZ2d0dCkKKwkJCWlmIChpOTE1X2lzX2dndHQo dm0pKQogCQkJCXBwZ3R0ID0gZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0OwogCQkJZWxzZQog CQkJCXBwZ3R0ID0gaTkxNV92bV90b19wcGd0dCh2bSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oCmluZGV4IGEwMzcwYmY5NTBmNS4uMzNjYzAxMGU5MGY1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaApAQCAtMjcyLDEyICsyNzIsMTkgQEAgc3RydWN0IGk5MTVfcG1sNCB7 CiBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKIAlzdHJ1Y3QgZHJtX21tIG1tOwogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXY7CisJLyogRXZlcnkgYWRkcmVzcyBzcGFjZSBiZWxvbmdzIHRvIGEg c3RydWN0IGZpbGUgLSBleGNlcHQgZm9yIHRoZSBnbG9iYWwKKwkgKiBHVFQgdGhhdCBpcyBvd25l ZCBieSB0aGUgZHJpdmVyIChhbmQgc28gQGZpbGUgaXMgc2V0IHRvIE5VTEwpLiBJbgorCSAqIHBy aW5jaXBsZSwgbm8gaW5mb3JtYXRpb24gc2hvdWxkIGxlYWsgZnJvbSBvbmUgY29udGV4dCB0byBh bm90aGVyCisJICogKG9yIGJldHdlZW4gZmlsZXMvcHJvY2Vzc2VzIGV0YykgdW5sZXNzIGV4cGxp Y2l0bHkgc2hhcmVkIGJ5IHRoZQorCSAqIG93bmVyLiBUcmFja2luZyB0aGUgb3duZXIgaXMgaW1w b3J0YW50IGluIG9yZGVyIHRvIGZyZWUgdXAgcGVyLWZpbGUKKwkgKiBvYmplY3RzIGFsb25nIHdp dGggdGhlIGZpbGUsIHRvIGFpZGUgcmVzb3VyY2UgdHJhY2tpbmcsIGFuZCB0bworCSAqIGFzc2ln biBibGFtZS4KKwkgKi8KKwlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlOwogCXN0 cnVjdCBsaXN0X2hlYWQgZ2xvYmFsX2xpbms7CiAJdTY0IHN0YXJ0OwkJLyogU3RhcnQgb2Zmc2V0 IGFsd2F5cyAwIGZvciBkcmkyICovCiAJdTY0IHRvdGFsOwkJLyogc2l6ZSBhZGRyIHNwYWNlIG1h cHMgKGV4LiAyR0IgZm9yIGdndHQpICovCiAKLQlib29sIGlzX2dndHQ7Ci0KIAlzdHJ1Y3QgaTkx NV9wYWdlX3NjcmF0Y2ggKnNjcmF0Y2hfcGFnZTsKIAlzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpz Y3JhdGNoX3B0OwogCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpzY3JhdGNoX3BkOwpAQCAt MzM4LDcgKzM0NSw3IEBAIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgewogCQkJdTMyIGZsYWdz KTsKIH07CiAKLSNkZWZpbmUgaTkxNV9pc19nZ3R0KFYpICgoViktPmlzX2dndHQpCisjZGVmaW5l IGk5MTVfaXNfZ2d0dChWKSAoIShWKS0+ZmlsZSkKIAogLyogVGhlIEdyYXBoaWNzIFRyYW5zbGF0 aW9uIFRhYmxlIGlzIHRoZSB3YXkgaW4gd2hpY2ggR0VOIGhhcmR3YXJlIHRyYW5zbGF0ZXMgYQog ICogR3JhcGhpY3MgVmlydHVhbCBBZGRyZXNzIGludG8gYSBQaHlzaWNhbCBBZGRyZXNzLiBJbiBh ZGRpdGlvbiB0byB0aGUgbm9ybWFsCkBAIC0zODAsOCArMzg3LDYgQEAgc3RydWN0IGk5MTVfaHdf cHBndHQgewogCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSBwZDsJCS8qIEdFTjYtNyAqLwog CX07CiAKLQlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXY7Ci0KIAlnZW42 X3B0ZV90IF9faW9tZW0gKnBkX2FkZHI7CiAKIAlpbnQgKCplbmFibGUpKHN0cnVjdCBpOTE1X2h3 X3BwZ3R0ICpwcGd0dCk7CkBAIC01MjgsNyArNTMzLDcgQEAgdm9pZCBpOTE1X2dndHRfY2xlYW51 cF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAogaW50IGk5MTVfcHBndHRfaW5pdF9odyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaTkxNV9wcGd0dF9yZWxlYXNlKHN0cnVjdCBr cmVmICprcmVmKTsKLXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICppOTE1X3BwZ3R0X2NyZWF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAorc3RydWN0IGk5MTVfaHdfcHBndHQgKmk5MTVfcHBndHRfY3Jl YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJc3RydWN0IGRybV9p OTE1X2ZpbGVfcHJpdmF0ZSAqZnByaXYpOwogc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcHBndHRf Z2V0KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCkKIHsKLS0gCjIuOC4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK