From mboxrd@z Thu Jan 1 00:00:00 1970 From: jglisse@redhat.com Subject: [RFC PATCH 11/13] drm/nouveau: add HMM area creation user interface Date: Fri, 9 Mar 2018 22:21:39 -0500 Message-ID: <20180310032141.6096-12-jglisse@redhat.com> References: <20180310032141.6096-1-jglisse@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180310032141.6096-1-jglisse@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org Cc: Ralph Campbell , Evgeny Baskakov , linux-mm@kvack.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Ben Skeggs , John Hubbard List-Id: dri-devel@lists.freedesktop.org RnJvbTogSsOpcsO0bWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+CgpVc2VyIEFQSSB0byBj cmVhdGUgSE1NIGFyZWEuCgpTaWduZWQtb2ZmLWJ5OiBKw6lyw7RtZSBHbGlzc2UgPGpnbGlzc2VA cmVkaGF0LmNvbT4KQ2M6IEJlbiBTa2VnZ3MgPGJza2VnZ3NAcmVkaGF0LmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9pbmNsdWRlL252aWYvaWYwMDBjLmggIHwgIDkgKysrKysKIGRy aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZpZi92bW0uaCAgICAgfCAgMiArCiBkcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9udmlmL3ZtbS5jICAgICAgICAgICAgIHwgNTEgKysrKysrKysr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L21t dS91dm1tLmMgfCAzOSArKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDEg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1 ZGUvbnZpZi9pZjAwMGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZpZi9p ZjAwMGMuaAppbmRleCAyYzI0ODE3Y2E1MzMuLjAzODM4NjRiMDMzYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmlmL2lmMDAwYy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZpZi9pZjAwMGMuaApAQCAtMTYsNiArMTYsOCBAQCBz dHJ1Y3QgbnZpZl92bW1fdjAgewogI2RlZmluZSBOVklGX1ZNTV9WMF9VTk1BUCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAogI2RlZmluZSBOVklG X1ZNTV9WMF9ITU1fTUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwNQogI2RlZmluZSBOVklGX1ZNTV9WMF9ITU1fVU5NQVAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNgorI2RlZmluZSBOVklGX1ZNTV9WMF9I TU1fSU5JVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw NworI2RlZmluZSBOVklGX1ZNTV9WMF9ITU1fRklOSSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwOAogCiBzdHJ1Y3QgbnZpZl92bW1fcGFnZV92MCB7CiAJ X191OCAgdmVyc2lvbjsKQEAgLTc4LDQgKzgwLDExIEBAIHN0cnVjdCBudmlmX3ZtbV9obW1fdW5t YXBfdjAgewogCV9fdTY0IGFkZHI7CiAJX191NjQgbnBhZ2VzOwogfTsKKworc3RydWN0IG52aWZf dm1tX2htbV92MCB7CisJX191OCAgdmVyc2lvbjsKKwlfX3U4ICBwYWQwMVs3XTsKKwlfX3U2NCBz dGFydDsKKwlfX3U2NCBlbmQ7Cit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9pbmNsdWRlL252aWYvdm1tLmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9p bmNsdWRlL252aWYvdm1tLmgKaW5kZXggYzVlNGFkYWEwZTNjLi5mMTFmOGM1MTBlYmQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZpZi92bW0uaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9pbmNsdWRlL252aWYvdm1tLmgKQEAgLTM5LDYgKzM5LDgg QEAgdm9pZCBudmlmX3ZtbV9wdXQoc3RydWN0IG52aWZfdm1tICosIHN0cnVjdCBudmlmX3ZtYSAq KTsKIGludCBudmlmX3ZtbV9tYXAoc3RydWN0IG52aWZfdm1tICosIHU2NCBhZGRyLCB1NjQgc2l6 ZSwgdm9pZCAqYXJndiwgdTMyIGFyZ2MsCiAJCSBzdHJ1Y3QgbnZpZl9tZW0gKiwgdTY0IG9mZnNl dCk7CiBpbnQgbnZpZl92bW1fdW5tYXAoc3RydWN0IG52aWZfdm1tICosIHU2NCk7CitpbnQgbnZp Zl92bW1faG1tX2luaXQoc3RydWN0IG52aWZfdm1tICp2bW0sIHU2NCBoc3RhcnQsIHU2NCBoZW5k KTsKK3ZvaWQgbnZpZl92bW1faG1tX2Zpbmkoc3RydWN0IG52aWZfdm1tICp2bW0sIHU2NCBoc3Rh cnQsIHU2NCBoZW5kKTsKIGludCBudmlmX3ZtbV9obW1fbWFwKHN0cnVjdCBudmlmX3ZtbSAqdm1t LCB1NjQgYWRkciwgdTY0IG5wYWdlcywgdTY0ICpwYWdlcyk7CiBpbnQgbnZpZl92bW1faG1tX3Vu bWFwKHN0cnVjdCBudmlmX3ZtbSAqdm1tLCB1NjQgYWRkciwgdTY0IG5wYWdlcyk7CiAjZW5kaWYK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252aWYvdm1tLmMgYi9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmlmL3ZtbS5jCmluZGV4IDI3YTdiOTViNGU5Yy4uNzg4ZTAyZTQ3 NzUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmlmL3ZtbS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252aWYvdm1tLmMKQEAgLTMyLDYgKzMyLDU3IEBAIG52 aWZfdm1tX3VubWFwKHN0cnVjdCBudmlmX3ZtbSAqdm1tLCB1NjQgYWRkcikKIAkJCQlzaXplb2Yo c3RydWN0IG52aWZfdm1tX3VubWFwX3YwKSk7CiB9CiAKK2ludAorbnZpZl92bW1faG1tX2luaXQo c3RydWN0IG52aWZfdm1tICp2bW0sIHU2NCBoc3RhcnQsIHU2NCBoZW5kKQoreworCXN0cnVjdCBu dmlmX3ZtbV9obW1fdjAgYXJnczsKKwlpbnQgcmV0OworCisJaWYgKGhzdGFydCA+IFBBR0VfU0la RSkgeworCQlhcmdzLnZlcnNpb24gPSAwOworCQlhcmdzLnN0YXJ0ID0gUEFHRV9TSVpFOworCQlh cmdzLmVuZCA9IGhzdGFydDsKKwkJcmV0ID0gbnZpZl9vYmplY3RfbXRoZCgmdm1tLT5vYmplY3Qs IE5WSUZfVk1NX1YwX0hNTV9JTklULAorCQkJCSAgICAgICAmYXJncywgc2l6ZW9mKGFyZ3MpKTsK KwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJYXJncy52ZXJzaW9uID0gMDsKKwlh cmdzLnN0YXJ0ID0gaGVuZDsKKwlhcmdzLmVuZCA9IFRBU0tfU0laRTsKKwlyZXQgPSBudmlmX29i amVjdF9tdGhkKCZ2bW0tPm9iamVjdCwgTlZJRl9WTU1fVjBfSE1NX0lOSVQsCisJCQkgICAgICAg JmFyZ3MsIHNpemVvZihhcmdzKSk7CisJaWYgKHJldCAmJiBoc3RhcnQgPiBQQUdFX1NJWkUpIHsK KwkJYXJncy52ZXJzaW9uID0gMDsKKwkJYXJncy5zdGFydCA9IFBBR0VfU0laRTsKKwkJYXJncy5l bmQgPSBoc3RhcnQ7CisJCW52aWZfb2JqZWN0X210aGQoJnZtbS0+b2JqZWN0LCBOVklGX1ZNTV9W MF9ITU1fRklOSSwKKwkJCQkgJmFyZ3MsIHNpemVvZihhcmdzKSk7CisJfQorCXJldHVybiByZXQ7 Cit9CisKK3ZvaWQKK252aWZfdm1tX2htbV9maW5pKHN0cnVjdCBudmlmX3ZtbSAqdm1tLCB1NjQg aHN0YXJ0LCB1NjQgaGVuZCkKK3sKKwlzdHJ1Y3QgbnZpZl92bW1faG1tX3YwIGFyZ3M7CisKKwlp ZiAoaHN0YXJ0ID4gUEFHRV9TSVpFKSB7CisJCWFyZ3MudmVyc2lvbiA9IDA7CisJCWFyZ3Muc3Rh cnQgPSBQQUdFX1NJWkU7CisJCWFyZ3MuZW5kID0gaHN0YXJ0OworCQludmlmX29iamVjdF9tdGhk KCZ2bW0tPm9iamVjdCwgTlZJRl9WTU1fVjBfSE1NX0ZJTkksCisJCQkJICZhcmdzLCBzaXplb2Yo YXJncykpOworCX0KKworCWFyZ3MudmVyc2lvbiA9IDA7CisJYXJncy5zdGFydCA9IGhlbmQ7CisJ YXJncy5lbmQgPSBUQVNLX1NJWkU7CisJbnZpZl9vYmplY3RfbXRoZCgmdm1tLT5vYmplY3QsIE5W SUZfVk1NX1YwX0hNTV9GSU5JLAorCQkJICZhcmdzLCBzaXplb2YoYXJncykpOworfQorCiBpbnQK IG52aWZfdm1tX2htbV9tYXAoc3RydWN0IG52aWZfdm1tICp2bW0sIHU2NCBhZGRyLCB1NjQgbnBh Z2VzLCB1NjQgKnBhZ2VzKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bnZrbS9zdWJkZXYvbW11L3V2bW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L21tdS91dm1tLmMKaW5kZXggNzM5ZjJhZjAyNTUyLi4zNGUwMGFhNzNmZDAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L21tdS91dm1tLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvbW11L3V2bW0uYwpAQCAtMjc0LDYg KzI3NCw0MyBAQCBudmttX3V2bW1fbXRoZF9wYWdlKHN0cnVjdCBudmttX3V2bW0gKnV2bW0sIHZv aWQgKmFyZ3YsIHUzMiBhcmdjKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50CitudmttX3V2 bW1fbXRoZF9obW1faW5pdChzdHJ1Y3QgbnZrbV91dm1tICp1dm1tLCB2b2lkICphcmd2LCB1MzIg YXJnYykKK3sKKwl1bmlvbiB7CisJCXN0cnVjdCBudmlmX3ZtbV9obW1fdjAgdjA7CisJfSAqYXJn cyA9IGFyZ3Y7CisJc3RydWN0IG52a21fdm1tICp2bW0gPSB1dm1tLT52bW07CisJc3RydWN0IG52 a21fdm1hICp2bWE7CisJaW50IHJldCA9IC1FTk9TWVM7CisKKwlpZiAoKHJldCA9IG52aWZfdW5w YWNrKHJldCwgJmFyZ3YsICZhcmdjLCBhcmdzLT52MCwgMCwgMCwgZmFsc2UpKSkKKwkJcmV0dXJu IHJldDsKKworCW11dGV4X2xvY2soJnZtbS0+bXV0ZXgpOworCXJldCA9IG52a21fdm1tX2htbV9p bml0KHZtbSwgYXJncy0+djAuc3RhcnQsIGFyZ3MtPnYwLmVuZCwgJnZtYSk7CisJbXV0ZXhfdW5s b2NrKCZ2bW0tPm11dGV4KTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50CitudmttX3V2 bW1fbXRoZF9obW1fZmluaShzdHJ1Y3QgbnZrbV91dm1tICp1dm1tLCB2b2lkICphcmd2LCB1MzIg YXJnYykKK3sKKwl1bmlvbiB7CisJCXN0cnVjdCBudmlmX3ZtbV9obW1fdjAgdjA7CisJfSAqYXJn cyA9IGFyZ3Y7CisJc3RydWN0IG52a21fdm1tICp2bW0gPSB1dm1tLT52bW07CisJaW50IHJldCA9 IC1FTk9TWVM7CisKKwlpZiAoKHJldCA9IG52aWZfdW5wYWNrKHJldCwgJmFyZ3YsICZhcmdjLCBh cmdzLT52MCwgMCwgMCwgZmFsc2UpKSkKKwkJcmV0dXJuIHJldDsKKworCW11dGV4X2xvY2soJnZt bS0+bXV0ZXgpOworCW52a21fdm1tX2htbV9maW5pKHZtbSwgYXJncy0+djAuc3RhcnQsIGFyZ3Mt PnYwLmVuZCk7CisJbXV0ZXhfdW5sb2NrKCZ2bW0tPm11dGV4KTsKKwlyZXR1cm4gMDsKK30KKwog c3RhdGljIGludAogbnZrbV91dm1tX210aGRfaG1tX21hcChzdHJ1Y3QgbnZrbV91dm1tICp1dm1t LCB2b2lkICphcmd2LCB1MzIgYXJnYykKIHsKQEAgLTMyMSw2ICszNTgsOCBAQCBudmttX3V2bW1f bXRoZChzdHJ1Y3QgbnZrbV9vYmplY3QgKm9iamVjdCwgdTMyIG10aGQsIHZvaWQgKmFyZ3YsIHUz MiBhcmdjKQogCWNhc2UgTlZJRl9WTU1fVjBfUFVUICAgICAgOiByZXR1cm4gbnZrbV91dm1tX210 aGRfcHV0ICAgICAgKHV2bW0sIGFyZ3YsIGFyZ2MpOwogCWNhc2UgTlZJRl9WTU1fVjBfTUFQICAg ICAgOiByZXR1cm4gbnZrbV91dm1tX210aGRfbWFwICAgICAgKHV2bW0sIGFyZ3YsIGFyZ2MpOwog CWNhc2UgTlZJRl9WTU1fVjBfVU5NQVAgICAgOiByZXR1cm4gbnZrbV91dm1tX210aGRfdW5tYXAg ICAgKHV2bW0sIGFyZ3YsIGFyZ2MpOworCWNhc2UgTlZJRl9WTU1fVjBfSE1NX0lOSVQgOiByZXR1 cm4gbnZrbV91dm1tX210aGRfaG1tX2luaXQgKHV2bW0sIGFyZ3YsIGFyZ2MpOworCWNhc2UgTlZJ Rl9WTU1fVjBfSE1NX0ZJTkkgOiByZXR1cm4gbnZrbV91dm1tX210aGRfaG1tX2ZpbmkgKHV2bW0s IGFyZ3YsIGFyZ2MpOwogCWNhc2UgTlZJRl9WTU1fVjBfSE1NX01BUCAgOiByZXR1cm4gbnZrbV91 dm1tX210aGRfaG1tX21hcCAgKHV2bW0sIGFyZ3YsIGFyZ2MpOwogCWNhc2UgTlZJRl9WTU1fVjBf SE1NX1VOTUFQOiByZXR1cm4gbnZrbV91dm1tX210aGRfaG1tX3VubWFwKHV2bW0sIGFyZ3YsIGFy Z2MpOwogCWRlZmF1bHQ6Ci0tIAoyLjE0LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=