From mboxrd@z Thu Jan 1 00:00:00 1970 From: jglisse@redhat.com Subject: [RFC PATCH 10/13] drm/nouveau: add HMM area creation Date: Fri, 9 Mar 2018 22:21:38 -0500 Message-ID: <20180310032141.6096-11-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+CgpITU0gYXJlYSBpcyBh IHZpcnR1YWwgYWRkcmVzcyByYW5nZSB1bmRlciBITU0gY29udHJvbCwgR1BVIGFjY2VzcyBpbnNp ZGUKc3VjaCByYW5nZSBpcyBsaWtlIENQVSBhY2Nlc3MuIEZvciB0aGluZyB0byB3b3JrIHByb3Bl cmx5IEhNTSByYW5nZSBzaG91bGQKY292ZXIgZXZlcnl0aGluZyBleGNlcHQgYSByZXNlcnZlZCBy YW5nZSBmb3IgR0VNIGJ1ZmZlciBvYmplY3QuCgpTaWduZWQtb2ZmLWJ5OiBKw6lyw7RtZSBHbGlz c2UgPGpnbGlzc2VAcmVkaGF0LmNvbT4KQ2M6IEJlbiBTa2VnZ3MgPGJza2VnZ3NAcmVkaGF0LmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9tbXUvdm1tLmMgfCA2 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252 a20vc3ViZGV2L21tdS92bW0uaCB8ICAyICsKIDIgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L21t dS92bW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L21tdS92bW0uYwpp bmRleCA5NjY3MTk4N2NlNTMuLmVmNGI4Mzk5MzJmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvbW11L3ZtbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L21tdS92bW0uYwpAQCAtMTU0MCw2ICsxNTQwLDY5IEBAIG52a21f dm1tX2dldF9sb2NrZWQoc3RydWN0IG52a21fdm1tICp2bW0sIGJvb2wgZ2V0cmVmLCBib29sIG1h cHJlZiwgYm9vbCBzcGFyc2UsCiAJcmV0dXJuIDA7CiB9CiAKK2ludAorbnZrbV92bW1faG1tX2lu aXQoc3RydWN0IG52a21fdm1tICp2bW0sIHU2NCBzdGFydCwgdTY0IGVuZCwKKwkJICBzdHJ1Y3Qg bnZrbV92bWEgKipwdm1hKQoreworCXN0cnVjdCBudmttX3ZtYSAqdm1hID0gTlVMTCwgKnRtcDsK KwlzdHJ1Y3QgcmJfbm9kZSAqbm9kZTsKKworCS8qIExvY2F0ZSBzbWFsbGVzdCBibG9jayB0aGF0 IGNhbiBwb3NzaWJseSBzYXRpc2Z5IHRoZSBhbGxvY2F0aW9uLiAqLworCW5vZGUgPSB2bW0tPmZy ZWUucmJfbm9kZTsKKwl3aGlsZSAobm9kZSkgeworCQlzdHJ1Y3QgbnZrbV92bWEgKnRoaXMgPSBy Yl9lbnRyeShub2RlLCB0eXBlb2YoKnRoaXMpLCB0cmVlKTsKKworCQlpZiAodGhpcy0+YWRkciA8 PSBzdGFydCAmJiAodGhpcy0+YWRkciArIHRoaXMtPnNpemUpID49IGVuZCkgeworCQkJcmJfZXJh c2UoJnRoaXMtPnRyZWUsICZ2bW0tPmZyZWUpOworCQkJdm1hID0gdGhpczsKKwkJCWJyZWFrOwor CQl9CisJCW5vZGUgPSBub2RlLT5yYl9sZWZ0OworCX0KKworCWlmICh2bWEgPT0gTlVMTCkgewor CQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoc3RhcnQgIT0gdm1hLT5hZGRyKSB7CisJCWlm ICghKHRtcCA9IG52a21fdm1hX3RhaWwodm1hLCB2bWEtPnNpemUgKyB2bWEtPmFkZHIgLSBzdGFy dCkpKSB7CisJCQludmttX3ZtbV9wdXRfcmVnaW9uKHZtbSwgdm1hKTsKKwkJCXJldHVybiAtRU5P TUVNOworCQl9CisJCW52a21fdm1tX2ZyZWVfaW5zZXJ0KHZtbSwgdm1hKTsKKwkJdm1hID0gdG1w OworCX0KKworCWlmIChlbmQgPCAodm1hLT5hZGRyICsgdm1hLT5zaXplKSkgeworCQlpZiAoISh0 bXAgPSBudmttX3ZtYV90YWlsKHZtYSwgdm1hLT5zaXplICsgdm1hLT5hZGRyIC0gZW5kKSkpIHsK KwkJCW52a21fdm1tX3B1dF9yZWdpb24odm1tLCB2bWEpOworCQkJcmV0dXJuIC1FTk9NRU07CisJ CX0KKwkJbnZrbV92bW1fZnJlZV9pbnNlcnQodm1tLCB0bXApOworCX0KKworCXZtYS0+bWFwcmVm ID0gZmFsc2U7CisJdm1hLT5zcGFyc2UgPSBmYWxzZTsKKwl2bWEtPnBhZ2UgPSBOVktNX1ZNQV9Q QUdFX05PTkU7CisJdm1hLT5yZWZkID0gTlZLTV9WTUFfUEFHRV9OT05FOworCXZtYS0+dXNlZCA9 IHRydWU7CisJbnZrbV92bW1fbm9kZV9pbnNlcnQodm1tLCB2bWEpOworCSpwdm1hID0gdm1hOwor CXJldHVybiAwOworfQorCit2b2lkCitudmttX3ZtbV9obW1fZmluaShzdHJ1Y3QgbnZrbV92bW0g KnZtbSwgdTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCXN0cnVjdCBudmttX3ZtYSAqdm1hOworCXU2 NCBzaXplID0gKGVuZCAtIHN0YXJ0KTsKKworCXZtYSA9IG52a21fdm1tX25vZGVfc2VhcmNoKHZt bSwgc3RhcnQpOworCWlmICh2bWEgJiYgdm1hLT5hZGRyID09IHN0YXJ0ICYmIHZtYS0+c2l6ZSA9 PSBzaXplKSB7CisJCW52a21fdm1tX3B1dF9sb2NrZWQodm1tLCB2bWEpOworCX0KK30KKwogaW50 CiBudmttX3ZtbV9nZXQoc3RydWN0IG52a21fdm1tICp2bW0sIHU4IHBhZ2UsIHU2NCBzaXplLCBz dHJ1Y3QgbnZrbV92bWEgKipwdm1hKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnZrbS9zdWJkZXYvbW11L3ZtbS5oIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZr bS9zdWJkZXYvbW11L3ZtbS5oCmluZGV4IGE2MzBhYTJhNzdlNC4uMDRkNjcyYTRkY2NiIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9tbXUvdm1tLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvbW11L3ZtbS5oCkBAIC0xNjUs NiArMTY1LDggQEAgaW50IG52a21fdm1tX2dldF9sb2NrZWQoc3RydWN0IG52a21fdm1tICosIGJv b2wgZ2V0cmVmLCBib29sIG1hcHJlZiwKIAkJCWJvb2wgc3BhcnNlLCB1OCBwYWdlLCB1OCBhbGln biwgdTY0IHNpemUsCiAJCQlzdHJ1Y3QgbnZrbV92bWEgKipwdm1hKTsKIHZvaWQgbnZrbV92bW1f cHV0X2xvY2tlZChzdHJ1Y3QgbnZrbV92bW0gKiwgc3RydWN0IG52a21fdm1hICopOworaW50IG52 a21fdm1tX2htbV9pbml0KHN0cnVjdCBudmttX3ZtbSAqLCB1NjQsIHU2NCwgc3RydWN0IG52a21f dm1hICoqKTsKK3ZvaWQgbnZrbV92bW1faG1tX2Zpbmkoc3RydWN0IG52a21fdm1tICosIHU2NCwg dTY0KTsKIHZvaWQgbnZrbV92bW1fdW5tYXBfbG9ja2VkKHN0cnVjdCBudmttX3ZtbSAqLCBzdHJ1 Y3QgbnZrbV92bWEgKik7CiB2b2lkIG52a21fdm1tX3VubWFwX3JlZ2lvbihzdHJ1Y3QgbnZrbV92 bW0gKnZtbSwgc3RydWN0IG52a21fdm1hICp2bWEpOwogdm9pZCBudmttX3ZtbV9obW1fbWFwKHN0 cnVjdCBudmttX3ZtbSAqdm1tLCB1NjQgYWRkciwgdTY0IG5wYWdlcywgdTY0ICpwYWdlcyk7Ci0t IAoyLjE0LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=