From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH 09/12] drm/i915: Plumb sg_iter through va allocation ->maps Date: Fri, 20 Feb 2015 17:46:03 +0000 Message-ID: <1424454366-19006-10-git-send-email-michel.thierry@intel.com> References: <1424454366-19006-1-git-send-email-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 4F04E6E6FA for ; Fri, 20 Feb 2015 09:46:15 -0800 (PST) In-Reply-To: <1424454366-19006-1-git-send-email-michel.thierry@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQmVuIFdpZGF3c2t5IDxiZW5qYW1pbi53aWRhd3NreUBpbnRlbC5jb20+CgpBcyBhIHN0 ZXAgdG93YXJkcyBpbXBsZW1lbnRpbmcgNCBsZXZlbHMsIHdoaWxlIG5vdCBkaXNjYXJkaW5nIHRo ZQpleGlzdGluZyBwdGUgbWFwIGZ1bmN0aW9ucywgd2UgbmVlZCB0byBwYXNzIHRoZSBzZ19pdGVy IHRocm91Z2guIFRoZQpjdXJyZW50IGZ1bmN0aW9uIHVuZGVyc3RhbmRzIHRvIHRoZSBwYWdlIGRp cmVjdG9yeSBncmFudWxhcml0eS4gQW4Kb2JqZWN0J3MgcGFnZXMgbWF5IHNwYW4gdGhlIHBhZ2Ug ZGlyZWN0b3J5LCBhbmQgc28gdXNpbmcgdGhlIGl0ZXIKZGlyZWN0bHkgYXMgd2Ugd3JpdGUgdGhl IFBURXMgYWxsb3dzIHRoZSBpdGVyYXRvciB0byBzdGF5IGNvaGVyZW50CnRocm91Z2ggYSBWTUEg bWFwcGluZyBvcGVyYXRpb24gc3Bhbm5pbmcgbXVsdGlwbGUgcGFnZSB0YWJsZSBsZXZlbHMuCgpT aWduZWQtb2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+ClNpZ25lZC1vZmYt Ynk6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMTcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCBmY2ZjYjAwLi5h MTM5NmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtNjkyLDcgKzY5Miw3 IEBAIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0sCiB9CiAKIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRy aWVzKHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXJfZW50cnkgKnBkcCwKLQkJCQkJ ICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAorCQkJCQkgIHN0cnVjdCBzZ19wYWdlX2l0ZXIgKnNn X2l0ZXIsCiAJCQkJCSAgdWludDY0X3Qgc3RhcnQsCiAJCQkJCSAgZW51bSBpOTE1X2NhY2hlX2xl dmVsIGNhY2hlX2xldmVsLAogCQkJCQkgIGNvbnN0IGJvb2wgZmx1c2gpCkBAIC03MDEsMTEgKzcw MSwxMCBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhzdHJ1Y3Qg aTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyX2VudAogCXVuc2lnbmVkIHBkcGUgPSBzdGFydCA+ PiBHRU44X1BEUEVfU0hJRlQgJiBHRU44X1BEUEVfTUFTSzsKIAl1bnNpZ25lZCBwZGUgPSBzdGFy dCA+PiBHRU44X1BERV9TSElGVCAmIEdFTjhfUERFX01BU0s7CiAJdW5zaWduZWQgcHRlID0gc3Rh cnQgPj4gR0VOOF9QVEVfU0hJRlQgJiBHRU44X1BURV9NQVNLOwotCXN0cnVjdCBzZ19wYWdlX2l0 ZXIgc2dfaXRlcjsKIAogCXB0X3ZhZGRyID0gTlVMTDsKIAotCWZvcl9lYWNoX3NnX3BhZ2UocGFn ZXMtPnNnbCwgJnNnX2l0ZXIsIHBhZ2VzLT5uZW50cywgMCkgeworCXdoaWxlIChfX3NnX3BhZ2Vf aXRlcl9uZXh0KHNnX2l0ZXIpKSB7CiAJCWlmIChwdF92YWRkciA9PSBOVUxMKSB7CiAJCQlzdHJ1 Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9lbnRyeSAqcGQgPSBwZHAtPnBhZ2VfZGlyZWN0b3J5W3Bk cGVdOwogCQkJc3RydWN0IGk5MTVfcGFnZV90YWJsZV9lbnRyeSAqcHQgPSBwZC0+cGFnZV90YWJs ZXNbcGRlXTsKQEAgLTcxNSw3ICs3MTQsNyBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2Vy dF9wdGVfZW50cmllcyhzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyX2VudAogCQl9 CiAKIAkJcHRfdmFkZHJbcHRlXSA9Ci0JCQlnZW44X3B0ZV9lbmNvZGUoc2dfcGFnZV9pdGVyX2Rt YV9hZGRyZXNzKCZzZ19pdGVyKSwKKwkJCWdlbjhfcHRlX2VuY29kZShzZ19wYWdlX2l0ZXJfZG1h X2FkZHJlc3Moc2dfaXRlciksCiAJCQkJCWNhY2hlX2xldmVsLCB0cnVlKTsKIAkJaWYgKCsrcHRl ID09IEdFTjhfUFRFU19QRVJfUEFHRSkgewogCQkJaWYgKGZsdXNoKQpAQCAtNzQ0LDggKzc0Mywx MCBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLAogewogCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9IGNvbnRh aW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJhc2UpOwogCXN0cnVjdCBpOTE1X3Bh Z2VfZGlyZWN0b3J5X3BvaW50ZXJfZW50cnkgKnBkcCA9ICZwcGd0dC0+cGRwOyAvKiBGSVhNRTog NDhiICovCisJc3RydWN0IHNnX3BhZ2VfaXRlciBzZ19pdGVyOwogCi0JZ2VuOF9wcGd0dF9pbnNl cnRfcHRlX2VudHJpZXMocGRwLCBwYWdlcywgc3RhcnQsIGNhY2hlX2xldmVsLCAhSEFTX0xMQyh2 bS0+ZGV2KSk7CisJX19zZ19wYWdlX2l0ZXJfc3RhcnQoJnNnX2l0ZXIsIHBhZ2VzLT5zZ2wsIHNn X25lbnRzKHBhZ2VzLT5zZ2wpLCAwKTsKKwlnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhw ZHAsICZzZ19pdGVyLCBzdGFydCwgY2FjaGVfbGV2ZWwsICFIQVNfTExDKHZtLT5kZXYpKTsKIH0K IAogc3RhdGljIHZvaWQgX19nZW44X2RvX21hcF9wdChnZW44X3BwZ3R0X3BkZV90ICogY29uc3Qg cGRlLApAQCAtMTEwNywxMCArMTEwOCwxMiBAQCBlcnJfb3V0OgogCXJldHVybiAtRU5PTUVNOwog fQogCi1zdGF0aWMgaW50IGdlbjhfYWxsb2NfdmFfcmFuZ2VfM2x2bChzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKLQkJCQkgICAgc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRl cl9lbnRyeSAqcGRwLAotCQkJCSAgICB1aW50NjRfdCBzdGFydCwKLQkJCQkgICAgdWludDY0X3Qg bGVuZ3RoKQorc3RhdGljIGludCBfX2dlbjhfYWxsb2Nfdm1hX3JhbmdlXzNsdmwoc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCQkJICAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0 b3J5X3BvaW50ZXJfZW50cnkgKnBkcCwKKwkJCQkgICAgICAgc3RydWN0IHNnX3BhZ2VfaXRlciAq c2dfaXRlciwKKwkJCQkgICAgICAgdWludDY0X3Qgc3RhcnQsCisJCQkJICAgICAgIHVpbnQ2NF90 IGxlbmd0aCwKKwkJCQkgICAgICAgdTMyIGZsYWdzKQogewogCXVuc2lnbmVkIGxvbmcgKm5ld19w YWdlX2RpcnMsICoqbmV3X3BhZ2VfdGFibGVzOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSB2 bS0+ZGV2OwpAQCAtMTE3OSw3ICsxMTgyLDExIEBAIHN0YXRpYyBpbnQgZ2VuOF9hbGxvY192YV9y YW5nZV8zbHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAgIGdlbjhfcHRl X2luZGV4KHBkX3N0YXJ0KSwKIAkJCQkgICBnZW44X3B0ZV9jb3VudChwZF9zdGFydCwgcGRfbGVu KSk7CiAKLQkJCS8qIE91ciBwZGUgaXMgbm93IHBvaW50aW5nIHRvIHRoZSBwYWdldGFibGUsIHB0 ICovCisJCQlpZiAoc2dfaXRlcikgeworCQkJCUJVR19PTighc2dfaXRlci0+X19uZW50cyk7CisJ CQkJZ2VuOF9wcGd0dF9pbnNlcnRfcHRlX2VudHJpZXMocGRwLCBzZ19pdGVyLCBwZF9zdGFydCwK KwkJCQkJCQkgICAgICBmbGFncywgIUhBU19MTEModm0tPmRldikpOworCQkJfQogCQkJc2V0X2Jp dChwZGUsIHBkLT51c2VkX3BkZXMpOwogCQl9CiAKQEAgLTEyMDQsMTAgKzEyMTEsMTIgQEAgZXJy X291dDoKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGdlbjhfYWxsb2NfdmFfcmFuZ2Vf NGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkgICAgc3RydWN0IGk5MTVf cG1sNCAqcG1sNCwKLQkJCQkgICAgdWludDY0X3Qgc3RhcnQsCi0JCQkJICAgIHVpbnQ2NF90IGxl bmd0aCkKK3N0YXRpYyBpbnQgX19nZW44X2FsbG9jX3ZtYV9yYW5nZV80bHZsKHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9wbWw0ICpwbWw0LAor CQkJCSAgICAgICBzdHJ1Y3Qgc2dfcGFnZV9pdGVyICpzZ19pdGVyLAorCQkJCSAgICAgICB1aW50 NjRfdCBzdGFydCwKKwkJCQkgICAgICAgdWludDY0X3QgbGVuZ3RoLAorCQkJCSAgICAgICB1MzIg ZmxhZ3MpCiB7CiAJREVDTEFSRV9CSVRNQVAobmV3X3BkcHMsIEdFTjhfUE1MNEVTX1BFUl9QTUw0 KTsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQpAQCAtMTI1MSw3ICsxMjYwLDggQEAg c3RhdGljIGludCBnZW44X2FsbG9jX3ZhX3JhbmdlXzRsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0sCiAJZ2VuOF9mb3JfZWFjaF9wbWw0ZShwZHAsIHBtbDQsIHN0YXJ0LCBsZW5ndGgs IHRlbXAsIHBtbDRlKSB7CiAJCUJVR19PTighcGRwKTsKIAotCQlyZXQgPSBnZW44X2FsbG9jX3Zh X3JhbmdlXzNsdmwodm0sIHBkcCwgc3RhcnQsIGxlbmd0aCk7CisJCXJldCA9IF9fZ2VuOF9hbGxv Y192bWFfcmFuZ2VfM2x2bCh2bSwgcGRwLCBzZ19pdGVyLAorCQkJCQkJICBzdGFydCwgbGVuZ3Ro LCBmbGFncyk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGVycl9vdXQ7CiAKQEAgLTEyODMsOSArMTI5 MywxMSBAQCBzdGF0aWMgaW50IGdlbjhfYWxsb2NfdmFfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0sCiAJCWNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJh c2UpOwogCiAJaWYgKFVTRVNfRlVMTF80OEJJVF9QUEdUVCh2bS0+ZGV2KSkKLQkJcmV0dXJuIGdl bjhfYWxsb2NfdmFfcmFuZ2VfNGx2bCh2bSwgJnBwZ3R0LT5wbWw0LCBzdGFydCwgbGVuZ3RoKTsK KwkJcmV0dXJuIF9fZ2VuOF9hbGxvY192bWFfcmFuZ2VfNGx2bCh2bSwgJnBwZ3R0LT5wbWw0LCBO VUxMLAorCQkJCQkJICAgc3RhcnQsIGxlbmd0aCwgMCk7CiAJZWxzZQotCQlyZXR1cm4gZ2VuOF9h bGxvY192YV9yYW5nZV8zbHZsKHZtLCAmcHBndHQtPnBkcCwgc3RhcnQsIGxlbmd0aCk7CisJCXJl dHVybiBfX2dlbjhfYWxsb2Nfdm1hX3JhbmdlXzNsdmwodm0sICZwcGd0dC0+cGRwLCBOVUxMLAor CQkJCQkJICAgc3RhcnQsIGxlbmd0aCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRf ZmluaV9jb21tb24oc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KQotLSAKMi4xLjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==