From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 09/18] drm/i915/gtt: Introduce kmap|kunmap for dma page Date: Thu, 25 Jun 2015 18:35:11 +0300 Message-ID: <1435246520-14745-10-git-send-email-mika.kuoppala@intel.com> References: <1435246520-14745-1-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id DC0EA6EC64 for ; Thu, 25 Jun 2015 08:35:42 -0700 (PDT) In-Reply-To: <1435246520-14745-1-git-send-email-mika.kuoppala@intel.com> 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 Cc: miku@iki.fi List-Id: intel-gfx@lists.freedesktop.org QXMgdGhlcmUgaXMgZmx1c2hpbmcgaW52b2x2ZWQgd2hlbiB3ZSBoYXZlIGRvbmUgdGhlIGNwdQp3 cml0ZSwgbWFrZSBmdW5jdGlvbnMgZm9yIG1hcHBpbmcgZm9yIGNwdSBzcGFjZS4gTWFrZSBtYWNy b3MKdG8gbWFwIGFueSB0eXBlIG9mIHBhZ2luZyBzdHJ1Y3R1cmUuCgp2MjogTWFrZSBpdCBjbGVh ciB0aGEgZmx1c2hpbmcga3VubWFwIGlzIG9ubHkgZm9yIHBwZ3R0IChWaWxsZSkKdjM6IEZsdXNo aW5nIGZpeGVkIChWaWxsZSwgTWljaGVsKS4gUmVtb3ZlZCBzdXBlcmZsdW91cyBzZW1pY29sb24K CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KUmV2aWV3 ZWQtYnk6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCA3NyArKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMzcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCA3MzRmZmQy Li42YWJjZjMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMzMwLDE1ICsz MzAsMTYgQEAgc3RhdGljIHZvaWQgY2xlYW51cF9wYWdlX2RtYShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgaTkxNV9wYWdlX2RtYSAqcCkKIAltZW1zZXQocCwgMCwgc2l6ZW9mKCpwKSk7 CiB9CiAKLXN0YXRpYyB2b2lkIGZpbGxfcGFnZV9kbWEoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGk5MTVfcGFnZV9kbWEgKnAsCi0JCQkgIGNvbnN0IHVpbnQ2NF90IHZhbCkKK3N0YXRp YyB2b2lkICprbWFwX3BhZ2VfZG1hKHN0cnVjdCBpOTE1X3BhZ2VfZG1hICpwKQogewotCWludCBp OwotCXVpbnQ2NF90ICogY29uc3QgdmFkZHIgPSBrbWFwX2F0b21pYyhwLT5wYWdlKTsKLQotCWZv ciAoaSA9IDA7IGkgPCA1MTI7IGkrKykKLQkJdmFkZHJbaV0gPSB2YWw7CisJcmV0dXJuIGttYXBf YXRvbWljKHAtPnBhZ2UpOworfQogCisvKiBXZSB1c2UgdGhlIGZsdXNoaW5nIHVubWFwIG9ubHkg d2l0aCBwcGd0dCBzdHJ1Y3R1cmVzOgorICogcGFnZSBkaXJlY3RvcmllcywgcGFnZSB0YWJsZXMg YW5kIHNjcmF0Y2ggcGFnZXMuCisgKi8KK3N0YXRpYyB2b2lkIGt1bm1hcF9wYWdlX2RtYShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICp2YWRkcikKK3sKIAkvKiBUaGVyZSBhcmUgb25seSBm ZXcgZXhjZXB0aW9ucyBmb3IgZ2VuID49Ni4gY2h2IGFuZCBieHQuCiAJICogQW5kIHdlIGFyZSBu b3Qgc3VyZSBhYm91dCB0aGUgbGF0dGVyIHNvIHBsYXkgc2FmZSBmb3Igbm93LgogCSAqLwpAQCAt MzQ4LDYgKzM0OSwyMSBAQCBzdGF0aWMgdm9pZCBmaWxsX3BhZ2VfZG1hKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBpOTE1X3BhZ2VfZG1hICpwLAogCWt1bm1hcF9hdG9taWModmFkZHIp OwogfQogCisjZGVmaW5lIGttYXBfcHgocHgpIGttYXBfcGFnZV9kbWEoJihweCktPmJhc2UpCisj ZGVmaW5lIGt1bm1hcF9weChwcGd0dCwgdmFkZHIpIGt1bm1hcF9wYWdlX2RtYSgocHBndHQpLT5i YXNlLmRldiwgKHZhZGRyKSkKKworc3RhdGljIHZvaWQgZmlsbF9wYWdlX2RtYShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkxNV9wYWdlX2RtYSAqcCwKKwkJCSAgY29uc3QgdWludDY0 X3QgdmFsKQoreworCWludCBpOworCXVpbnQ2NF90ICogY29uc3QgdmFkZHIgPSBrbWFwX3BhZ2Vf ZG1hKHApOworCisJZm9yIChpID0gMDsgaSA8IDUxMjsgaSsrKQorCQl2YWRkcltpXSA9IHZhbDsK KworCWt1bm1hcF9wYWdlX2RtYShkZXYsIHZhZGRyKTsKK30KKwogc3RhdGljIHZvaWQgZmlsbF9w YWdlX2RtYV8zMihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkxNV9wYWdlX2RtYSAq cCwKIAkJCSAgICAgY29uc3QgdWludDMyX3QgdmFsMzIpCiB7CkBAIC01MDQsNyArNTIwLDYgQEAg c3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKIAl3aGlsZSAobnVtX2VudHJpZXMpIHsKIAkJc3RydWN0IGk5MTVfcGFnZV9kaXJl Y3RvcnkgKnBkOwogCQlzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpwdDsKLQkJc3RydWN0IHBhZ2Ug KnBhZ2VfdGFibGU7CiAKIAkJaWYgKFdBUk5fT04oIXBwZ3R0LT5wZHAucGFnZV9kaXJlY3Rvcnlb cGRwZV0pKQogCQkJY29udGludWU7CkBAIC01MTksMjIgKzUzNCwxOCBAQCBzdGF0aWMgdm9pZCBn ZW44X3BwZ3R0X2NsZWFyX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQlp ZiAoV0FSTl9PTighcHQtPmJhc2UucGFnZSkpCiAJCQljb250aW51ZTsKIAotCQlwYWdlX3RhYmxl ID0gcHQtPmJhc2UucGFnZTsKLQogCQlsYXN0X3B0ZSA9IHB0ZSArIG51bV9lbnRyaWVzOwogCQlp ZiAobGFzdF9wdGUgPiBHRU44X1BURVMpCiAJCQlsYXN0X3B0ZSA9IEdFTjhfUFRFUzsKIAotCQlw dF92YWRkciA9IGttYXBfYXRvbWljKHBhZ2VfdGFibGUpOworCQlwdF92YWRkciA9IGttYXBfcHgo cHQpOwogCiAJCWZvciAoaSA9IHB0ZTsgaSA8IGxhc3RfcHRlOyBpKyspIHsKIAkJCXB0X3ZhZGRy W2ldID0gc2NyYXRjaF9wdGU7CiAJCQludW1fZW50cmllcy0tOwogCQl9CiAKLQkJaWYgKCFIQVNf TExDKHBwZ3R0LT5iYXNlLmRldikpCi0JCQlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKHB0X3ZhZGRy LCBQQUdFX1NJWkUpOwotCQlrdW5tYXBfYXRvbWljKHB0X3ZhZGRyKTsKKwkJa3VubWFwX3B4KHBw Z3R0LCBwdCk7CiAKIAkJcHRlID0gMDsKIAkJaWYgKCsrcGRlID09IEk5MTVfUERFUykgewpAQCAt NTY2LDE4ICs1NzcsMTQgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfZW50cmllcyhz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJaWYgKHB0X3ZhZGRyID09IE5VTEwpIHsK IAkJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZCA9IHBwZ3R0LT5wZHAucGFnZV9kaXJl Y3RvcnlbcGRwZV07CiAJCQlzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpwdCA9IHBkLT5wYWdlX3Rh YmxlW3BkZV07Ci0JCQlzdHJ1Y3QgcGFnZSAqcGFnZV90YWJsZSA9IHB0LT5iYXNlLnBhZ2U7Ci0K LQkJCXB0X3ZhZGRyID0ga21hcF9hdG9taWMocGFnZV90YWJsZSk7CisJCQlwdF92YWRkciA9IGtt YXBfcHgocHQpOwogCQl9CiAKIAkJcHRfdmFkZHJbcHRlXSA9CiAJCQlnZW44X3B0ZV9lbmNvZGUo c2dfcGFnZV9pdGVyX2RtYV9hZGRyZXNzKCZzZ19pdGVyKSwKIAkJCQkJY2FjaGVfbGV2ZWwsIHRy dWUpOwogCQlpZiAoKytwdGUgPT0gR0VOOF9QVEVTKSB7Ci0JCQlpZiAoIUhBU19MTEMocHBndHQt PmJhc2UuZGV2KSkKLQkJCQlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKHB0X3ZhZGRyLCBQQUdFX1NJ WkUpOwotCQkJa3VubWFwX2F0b21pYyhwdF92YWRkcik7CisJCQlrdW5tYXBfcHgocHBndHQsIHB0 X3ZhZGRyKTsKIAkJCXB0X3ZhZGRyID0gTlVMTDsKIAkJCWlmICgrK3BkZSA9PSBJOTE1X1BERVMp IHsKIAkJCQlwZHBlKys7CkBAIC01ODYsMTEgKzU5Myw5IEBAIHN0YXRpYyB2b2lkIGdlbjhfcHBn dHRfaW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQlwdGUg PSAwOwogCQl9CiAJfQotCWlmIChwdF92YWRkcikgewotCQlpZiAoIUhBU19MTEMocHBndHQtPmJh c2UuZGV2KSkKLQkJCWRybV9jbGZsdXNoX3ZpcnRfcmFuZ2UocHRfdmFkZHIsIFBBR0VfU0laRSk7 Ci0JCWt1bm1hcF9hdG9taWMocHRfdmFkZHIpOwotCX0KKworCWlmIChwdF92YWRkcikKKwkJa3Vu bWFwX3B4KHBwZ3R0LCBwdF92YWRkcik7CiB9CiAKIHN0YXRpYyB2b2lkIF9fZ2VuOF9kb19tYXBf cHQoZ2VuOF9wZGVfdCAqIGNvbnN0IHBkZSwKQEAgLTg3MCw3ICs4NzUsNyBAQCBzdGF0aWMgaW50 IGdlbjhfYWxsb2NfdmFfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJLyog QWxsb2NhdGlvbnMgaGF2ZSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBzbyBzZXQgdGhlIGJpdG1h cHMsIGFuZCBkbwogCSAqIHRoZSBtYXBwaW5ncy4gKi8KIAlnZW44X2Zvcl9lYWNoX3BkcGUocGQs ICZwcGd0dC0+cGRwLCBzdGFydCwgbGVuZ3RoLCB0ZW1wLCBwZHBlKSB7Ci0JCWdlbjhfcGRlX3Qg KmNvbnN0IHBhZ2VfZGlyZWN0b3J5ID0ga21hcF9hdG9taWMocGQtPmJhc2UucGFnZSk7CisJCWdl bjhfcGRlX3QgKmNvbnN0IHBhZ2VfZGlyZWN0b3J5ID0ga21hcF9weChwZCk7CiAJCXN0cnVjdCBp OTE1X3BhZ2VfdGFibGUgKnB0OwogCQl1aW50NjRfdCBwZF9sZW4gPSBnZW44X2NsYW1wX3BkKHN0 YXJ0LCBsZW5ndGgpOwogCQl1aW50NjRfdCBwZF9zdGFydCA9IHN0YXJ0OwpAQCAtOTAwLDEwICs5 MDUsNyBAQCBzdGF0aWMgaW50IGdlbjhfYWxsb2NfdmFfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0sCiAJCQkgKiBwb2ludCB3ZSdyZSBzdGlsbCByZWx5aW5nIG9uIGluc2VydF9l bnRyaWVzKCkgKi8KIAkJfQogCi0JCWlmICghSEFTX0xMQyh2bS0+ZGV2KSkKLQkJCWRybV9jbGZs dXNoX3ZpcnRfcmFuZ2UocGFnZV9kaXJlY3RvcnksIFBBR0VfU0laRSk7Ci0KLQkJa3VubWFwX2F0 b21pYyhwYWdlX2RpcmVjdG9yeSk7CisJCWt1bm1hcF9weChwcGd0dCwgcGFnZV9kaXJlY3Rvcnkp OwogCiAJCXNldF9iaXQocGRwZSwgcHBndHQtPnBkcC51c2VkX3BkcGVzKTsKIAl9CkBAIC05OTIs NyArOTk0LDggQEAgc3RhdGljIHZvaWQgZ2VuNl9kdW1wX3BwZ3R0KHN0cnVjdCBpOTE1X2h3X3Bw Z3R0ICpwcGd0dCwgc3RydWN0IHNlcV9maWxlICptKQogCQkJCSAgIGV4cGVjdGVkKTsKIAkJc2Vx X3ByaW50ZihtLCAiXHRQREU6ICV4XG4iLCBwZF9lbnRyeSk7CiAKLQkJcHRfdmFkZHIgPSBrbWFw X2F0b21pYyhwcGd0dC0+cGQucGFnZV90YWJsZVtwZGVdLT5iYXNlLnBhZ2UpOworCQlwdF92YWRk ciA9IGttYXBfcHgocHBndHQtPnBkLnBhZ2VfdGFibGVbcGRlXSk7CisKIAkJZm9yIChwdGUgPSAw OyBwdGUgPCBHRU42X1BURVM7IHB0ZSs9NCkgewogCQkJdW5zaWduZWQgbG9uZyB2YSA9CiAJCQkJ KHBkZSAqIFBBR0VfU0laRSAqIEdFTjZfUFRFUykgKwpAQCAtMTAxNCw3ICsxMDE3LDcgQEAgc3Rh dGljIHZvaWQgZ2VuNl9kdW1wX3BwZ3R0KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwgc3Ry dWN0IHNlcV9maWxlICptKQogCQkJfQogCQkJc2VxX3B1dHMobSwgIlxuIik7CiAJCX0KLQkJa3Vu bWFwX2F0b21pYyhwdF92YWRkcik7CisJCWt1bm1hcF9weChwcGd0dCwgcHRfdmFkZHIpOwogCX0K IH0KIApAQCAtMTIyMSwxMiArMTIyNCwxMiBAQCBzdGF0aWMgdm9pZCBnZW42X3BwZ3R0X2NsZWFy X3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQlpZiAobGFzdF9wdGUgPiBH RU42X1BURVMpCiAJCQlsYXN0X3B0ZSA9IEdFTjZfUFRFUzsKIAotCQlwdF92YWRkciA9IGttYXBf YXRvbWljKHBwZ3R0LT5wZC5wYWdlX3RhYmxlW2FjdF9wdF0tPmJhc2UucGFnZSk7CisJCXB0X3Zh ZGRyID0ga21hcF9weChwcGd0dC0+cGQucGFnZV90YWJsZVthY3RfcHRdKTsKIAogCQlmb3IgKGkg PSBmaXJzdF9wdGU7IGkgPCBsYXN0X3B0ZTsgaSsrKQogCQkJcHRfdmFkZHJbaV0gPSBzY3JhdGNo X3B0ZTsKIAotCQlrdW5tYXBfYXRvbWljKHB0X3ZhZGRyKTsKKwkJa3VubWFwX3B4KHBwZ3R0LCBw dF92YWRkcik7CiAKIAkJbnVtX2VudHJpZXMgLT0gbGFzdF9wdGUgLSBmaXJzdF9wdGU7CiAJCWZp cnN0X3B0ZSA9IDA7CkBAIC0xMjUwLDIxICsxMjUzLDIxIEBAIHN0YXRpYyB2b2lkIGdlbjZfcHBn dHRfaW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJcHRfdmFk ZHIgPSBOVUxMOwogCWZvcl9lYWNoX3NnX3BhZ2UocGFnZXMtPnNnbCwgJnNnX2l0ZXIsIHBhZ2Vz LT5uZW50cywgMCkgewogCQlpZiAocHRfdmFkZHIgPT0gTlVMTCkKLQkJCXB0X3ZhZGRyID0ga21h cF9hdG9taWMocHBndHQtPnBkLnBhZ2VfdGFibGVbYWN0X3B0XS0+YmFzZS5wYWdlKTsKKwkJCXB0 X3ZhZGRyID0ga21hcF9weChwcGd0dC0+cGQucGFnZV90YWJsZVthY3RfcHRdKTsKIAogCQlwdF92 YWRkclthY3RfcHRlXSA9CiAJCQl2bS0+cHRlX2VuY29kZShzZ19wYWdlX2l0ZXJfZG1hX2FkZHJl c3MoJnNnX2l0ZXIpLAogCQkJCSAgICAgICBjYWNoZV9sZXZlbCwgdHJ1ZSwgZmxhZ3MpOwogCiAJ CWlmICgrK2FjdF9wdGUgPT0gR0VONl9QVEVTKSB7Ci0JCQlrdW5tYXBfYXRvbWljKHB0X3ZhZGRy KTsKKwkJCWt1bm1hcF9weChwcGd0dCwgcHRfdmFkZHIpOwogCQkJcHRfdmFkZHIgPSBOVUxMOwog CQkJYWN0X3B0Kys7CiAJCQlhY3RfcHRlID0gMDsKIAkJfQogCX0KIAlpZiAocHRfdmFkZHIpCi0J CWt1bm1hcF9hdG9taWMocHRfdmFkZHIpOworCQlrdW5tYXBfcHgocHBndHQsIHB0X3ZhZGRyKTsK IH0KIAogc3RhdGljIHZvaWQgZ2VuNl9pbml0aWFsaXplX3B0KHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtLAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==