From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v3 10/19] drm/ast: Replace mapping code with drm_gem_vram_{kmap/kunmap}() Date: Mon, 29 Apr 2019 16:43:32 +0200 Message-ID: <20190429144341.12615-11-tzimmermann@suse.de> References: <20190429144341.12615-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4F99D8926A for ; Mon, 29 Apr 2019 14:43:51 +0000 (UTC) In-Reply-To: <20190429144341.12615-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel@ffwll.ch, airlied@linux.ie, kraxel@redhat.com, christian.koenig@amd.com, ray.huang@amd.com, Jerry.Zhang@amd.com, hdegoede@redhat.com, z.liuxinliang@hisilicon.com, zourongrong@gmail.com, kong.kongxinwei@hisilicon.com, puck.chen@hisilicon.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org List-Id: dri-devel@lists.freedesktop.org VGhlIEFTVCBkcml2ZXIgZXN0YWJsaXNoZXMgc2V2ZXJhbCBtZW1vcnkgbWFwcGluZ3MgZm9yIGZy YW1lIGJ1ZmZlcnMKYW5kIGN1cnNvcnMuIFRoaXMgcGF0Y2ggY29udmVydHMgdGhlIGRyaXZlciB0 byB1c2UgdGhlIGVxdWl2YWxlbnQKZHJtX2dlbV92cmFtX2ttYXAoKSBmdW5jdGlvbnMuIEl0IHJl bW92ZXMgdGhlIGRlcGVuZGVuY2llcyBvbiBUVE0KYW5kIGNsZWFucyB1cCB0aGUgY29kZS4KClNp Z25lZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Rydi5oICB8ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9h c3QvYXN0X2ZiLmMgICB8IDIyICsrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXN0L2Fz dF9tb2RlLmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3Rf ZHJ2LmgKaW5kZXggMzIwOTZhMTkxYWFmLi5iNmNhYzk1MTE3OTYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hc3QvYXN0X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Ry di5oCkBAIC0yNTYsNyArMjU2LDYgQEAgc3RydWN0IGFzdF9mYmRldiB7CiAJc3RydWN0IGFzdF9m cmFtZWJ1ZmZlciBhZmI7CiAJdm9pZCAqc3lzcmFtOwogCWludCBzaXplOwotCXN0cnVjdCB0dG1f Ym9fa21hcF9vYmogbWFwcGluZzsKIAlpbnQgeDEsIHkxLCB4MiwgeTI7IC8qIGRpcnR5IHJlY3Qg Ki8KIAlzcGlubG9ja190IGRpcnR5X2xvY2s7CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FzdC9hc3RfZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2ZiLmMKaW5kZXggNGZk ODBlMzFhZDU1Li5hZjBiNTZjZmVhYjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3Qv YXN0X2ZiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfZmIuYwpAQCAtNTMsNiArNTMs NyBAQCBzdGF0aWMgdm9pZCBhc3RfZGlydHlfdXBkYXRlKHN0cnVjdCBhc3RfZmJkZXYgKmFmYmRl diwKIAlpbnQgc3JjX29mZnNldCwgZHN0X29mZnNldDsKIAlpbnQgYnBwID0gYWZiZGV2LT5hZmIu YmFzZS5mb3JtYXQtPmNwcFswXTsKIAlpbnQgcmV0ID0gLUVCVVNZOworCXU4ICpkc3Q7CiAJYm9v bCB1bm1hcCA9IGZhbHNlOwogCWJvb2wgc3RvcmVfZm9yX2xhdGVyID0gZmFsc2U7CiAJaW50IHgy LCB5MjsKQEAgLTEwMSwyNCArMTAyLDI5IEBAIHN0YXRpYyB2b2lkIGFzdF9kaXJ0eV91cGRhdGUo c3RydWN0IGFzdF9mYmRldiAqYWZiZGV2LAogCWFmYmRldi0+eDIgPSBhZmJkZXYtPnkyID0gMDsK IAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhZmJkZXYtPmRpcnR5X2xvY2ssIGZsYWdzKTsKIAot CWlmICghZ2JvLT5rbWFwLnZpcnR1YWwpIHsKLQkJcmV0ID0gdHRtX2JvX2ttYXAoJmdiby0+Ym8s IDAsIGdiby0+Ym8ubnVtX3BhZ2VzLCAmZ2JvLT5rbWFwKTsKLQkJaWYgKHJldCkgeworCWRzdCA9 IGRybV9nZW1fdnJhbV9rbWFwKGdibywgZmFsc2UsIE5VTEwpOworCWlmIChJU19FUlIoZHN0KSkg eworCQlEUk1fRVJST1IoImZhaWxlZCB0byBrbWFwIGZiIHVwZGF0ZXNcbiIpOworCQlnb3RvIG91 dDsKKwl9IGVsc2UgaWYgKCFkc3QpIHsKKwkJZHN0ID0gZHJtX2dlbV92cmFtX2ttYXAoZ2JvLCB0 cnVlLCBOVUxMKTsKKwkJaWYgKElTX0VSUihkc3QpKSB7CiAJCQlEUk1fRVJST1IoImZhaWxlZCB0 byBrbWFwIGZiIHVwZGF0ZXNcbiIpOwotCQkJZHJtX2dlbV92cmFtX3VucmVzZXJ2ZShnYm8pOwot CQkJcmV0dXJuOworCQkJZ290byBvdXQ7CiAJCX0KIAkJdW5tYXAgPSB0cnVlOwogCX0KKwogCWZv ciAoaSA9IHk7IGkgPD0geTI7IGkrKykgewogCQkvKiBhc3N1bWUgZXF1YWwgc3RyaWRlIGZvciBu b3cgKi8KIAkJc3JjX29mZnNldCA9IGRzdF9vZmZzZXQgPSBpICogYWZiZGV2LT5hZmIuYmFzZS5w aXRjaGVzWzBdICsgKHggKiBicHApOwotCQltZW1jcHlfdG9pbyhnYm8tPmttYXAudmlydHVhbCAr IHNyY19vZmZzZXQsIGFmYmRldi0+c3lzcmFtICsgc3JjX29mZnNldCwgKHgyIC0geCArIDEpICog YnBwKTsKLQorCQltZW1jcHlfdG9pbyhkc3QgKyBkc3Rfb2Zmc2V0LCBhZmJkZXYtPnN5c3JhbSAr IHNyY19vZmZzZXQsICh4MiAtIHggKyAxKSAqIGJwcCk7CiAJfQorCiAJaWYgKHVubWFwKQotCQl0 dG1fYm9fa3VubWFwKCZnYm8tPmttYXApOworCQlkcm1fZ2VtX3ZyYW1fa3VubWFwKGdibyk7CiAK K291dDoKIAlkcm1fZ2VtX3ZyYW1fdW5yZXNlcnZlKGdibyk7CiB9CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21v ZGUuYwppbmRleCBiNzVlZDM4MTY2NDIuLjM0NzU1OTFhMjJjMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FzdC9hc3RfbW9kZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21v ZGUuYwpAQCAtNTMyLDYgKzUzMiw3IEBAIHN0YXRpYyBpbnQgYXN0X2NydGNfZG9fc2V0X2Jhc2Uo c3RydWN0IGRybV9jcnRjICpjcnRjLAogCXN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm87 CiAJaW50IHJldDsKIAlzNjQgZ3B1X2FkZHI7CisJdm9pZCAqYmFzZTsKIAogCS8qIHB1c2ggdGhl IHByZXZpb3VzIGZiIHRvIHN5c3RlbSByYW0gKi8KIAlpZiAoIWF0b21pYyAmJiBmYikgewpAQCAt NTY0LDExICs1NjUsMTMgQEAgc3RhdGljIGludCBhc3RfY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAKIAlpZiAoJmFzdC0+ZmJkZXYtPmFmYiA9PSBhc3RfZmIpIHsKIAkJ LyogaWYgcHVzaGluZyBjb25zb2xlIGluIGttYXAgaXQgKi8KLQkJcmV0ID0gdHRtX2JvX2ttYXAo Jmdiby0+Ym8sIDAsIGdiby0+Ym8ubnVtX3BhZ2VzLCAmZ2JvLT5rbWFwKTsKLQkJaWYgKHJldCkK KwkJYmFzZSA9IGRybV9nZW1fdnJhbV9rbWFwKGdibywgdHJ1ZSwgTlVMTCk7CisJCWlmIChJU19F UlIoYmFzZSkpIHsKKwkJCXJldCA9IFBUUl9FUlIoYmFzZSk7CiAJCQlEUk1fRVJST1IoImZhaWxl ZCB0byBrbWFwIGZiY29uXG4iKTsKLQkJZWxzZQorCQl9IGVsc2UgewogCQkJYXN0X2ZiZGV2X3Nl dF9iYXNlKGFzdCwgZ3B1X2FkZHIpOworCQl9CiAJfQogCWRybV9nZW1fdnJhbV91bnJlc2VydmUo Z2JvKTsKIApAQCAtOTI4LDYgKzkzMSw3IEBAIHN0YXRpYyBpbnQgYXN0X2N1cnNvcl9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7CiAJc3Ry dWN0IGRybV9nZW1fdnJhbV9vYmplY3QgKmdibzsKIAlzNjQgZ3B1X2FkZHI7CisJdm9pZCAqYmFz ZTsKIAogCXNpemUgPSAoQVNUX0hXQ19TSVpFICsgQVNUX0hXQ19TSUdOQVRVUkVfU0laRSkgKiBB U1RfREVGQVVMVF9IV0NfTlVNOwogCkBAIC05NTEsOSArOTU1LDExIEBAIHN0YXRpYyBpbnQgYXN0 X2N1cnNvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJfQogCiAJLyoga21hcCB0aGUg b2JqZWN0ICovCi0JcmV0ID0gdHRtX2JvX2ttYXAoJmdiby0+Ym8sIDAsIGdiby0+Ym8ubnVtX3Bh Z2VzLCAmYXN0LT5jYWNoZV9rbWFwKTsKLQlpZiAocmV0KQorCWJhc2UgPSBkcm1fZ2VtX3ZyYW1f a21hcF9hdChnYm8sIHRydWUsIE5VTEwsICZhc3QtPmNhY2hlX2ttYXApOworCWlmIChJU19FUlIo YmFzZSkpIHsKKwkJcmV0ID0gUFRSX0VSUihiYXNlKTsKIAkJZ290byBmYWlsOworCX0KIAogCWFz dC0+Y3Vyc29yX2NhY2hlID0gb2JqOwogCWFzdC0+Y3Vyc29yX2NhY2hlX2dwdV9hZGRyID0gZ3B1 X2FkZHI7CkBAIC05NjYsNyArOTcyLDkgQEAgc3RhdGljIGludCBhc3RfY3Vyc29yX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIHN0YXRpYyB2b2lkIGFzdF9jdXJzb3JfZmluaShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBhc3RfcHJpdmF0ZSAqYXN0ID0gZGV2LT5kZXZf cHJpdmF0ZTsKLQl0dG1fYm9fa3VubWFwKCZhc3QtPmNhY2hlX2ttYXApOworCXN0cnVjdCBkcm1f Z2VtX3ZyYW1fb2JqZWN0ICpnYm8gPQorCQlkcm1fZ2VtX3ZyYW1fb2ZfZ2VtKGFzdC0+Y3Vyc29y X2NhY2hlKTsKKwlkcm1fZ2VtX3ZyYW1fa3VubWFwX2F0KGdibywgJmFzdC0+Y2FjaGVfa21hcCk7 CiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKGFzdC0+Y3Vyc29yX2NhY2hlKTsKIH0KIApA QCAtMTIxMywxMyArMTIyMSwyMSBAQCBzdGF0aWMgaW50IGFzdF9jdXJzb3Jfc2V0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAKLQlyZXQgPSB0dG1fYm9f a21hcCgmZ2JvLT5ibywgMCwgZ2JvLT5iby5udW1fcGFnZXMsICZ1b2JqX21hcCk7Ci0KLQlzcmMg PSB0dG1fa21hcF9vYmpfdmlydHVhbCgmdW9ial9tYXAsICZzcmNfaXNpb21lbSk7Ci0JZHN0ID0g dHRtX2ttYXBfb2JqX3ZpcnR1YWwoJmFzdC0+Y2FjaGVfa21hcCwgJmRzdF9pc2lvbWVtKTsKLQor CW1lbXNldCgmdW9ial9tYXAsIDAsIHNpemVvZih1b2JqX21hcCkpOworCXNyYyA9IGRybV9nZW1f dnJhbV9rbWFwX2F0KGdibywgdHJ1ZSwgJnNyY19pc2lvbWVtLCAmdW9ial9tYXApOworCWlmIChJ U19FUlIoc3JjKSkgeworCQlyZXQgPSBQVFJfRVJSKHNyYyk7CisJCWdvdG8gZmFpbF91bnJlc2Vy dmU7CisJfQogCWlmIChzcmNfaXNpb21lbSA9PSB0cnVlKQogCQlEUk1fRVJST1IoInNyYyBjdXJz b3IgYm8gc2hvdWxkIGJlIGluIG1haW4gbWVtb3J5XG4iKTsKKworCWRzdCA9IGRybV9nZW1fdnJh bV9rbWFwX2F0KGRybV9nZW1fdnJhbV9vZl9nZW0oYXN0LT5jdXJzb3JfY2FjaGUpLAorCQkJCSAg IGZhbHNlLCAmZHN0X2lzaW9tZW0sICZhc3QtPmNhY2hlX2ttYXApOworCWlmIChJU19FUlIoZHN0 KSkgeworCQlyZXQgPSBQVFJfRVJSKGRzdCk7CisJCWdvdG8gZmFpbF91bnJlc2VydmU7CisJfQog CWlmIChkc3RfaXNpb21lbSA9PSBmYWxzZSkKIAkJRFJNX0VSUk9SKCJkc3QgYm8gc2hvdWxkIGJl IGluIFZSQU1cbiIpOwogCkBAIC0xMjI4LDExICsxMjQ0LDE0IEBAIHN0YXRpYyBpbnQgYXN0X2N1 cnNvcl9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCS8qIGRvIGRhdGEgdHJhbnNmZXIgdG8g Y3Vyc29yIGNhY2hlICovCiAJY3N1bSA9IGNvcHlfY3Vyc29yX2ltYWdlKHNyYywgZHN0LCB3aWR0 aCwgaGVpZ2h0KTsKIAotCS8qIHdyaXRlIGNoZWNrc3VtICsgc2lnbmF0dXJlICovCi0JdHRtX2Jv X2t1bm1hcCgmdW9ial9tYXApOworCWRybV9nZW1fdnJhbV9rdW5tYXBfYXQoZ2JvLCAmdW9ial9t YXApOwogCWRybV9nZW1fdnJhbV91bnJlc2VydmUoZ2JvKTsKKworCS8qIHdyaXRlIGNoZWNrc3Vt ICsgc2lnbmF0dXJlICovCiAJewotCQl1OCAqZHN0ID0gKHU4ICopYXN0LT5jYWNoZV9rbWFwLnZp cnR1YWwgKyAoQVNUX0hXQ19TSVpFICsgQVNUX0hXQ19TSUdOQVRVUkVfU0laRSkqYXN0LT5uZXh0 X2N1cnNvciArIEFTVF9IV0NfU0laRTsKKwkJdTggKmRzdCA9IGRybV9nZW1fdnJhbV9rbWFwX2F0 KGRybV9nZW1fdnJhbV9vZl9nZW0oYXN0LT5jdXJzb3JfY2FjaGUpLAorCQkJCQkgICAgICAgZmFs c2UsIE5VTEwsICZhc3QtPmNhY2hlX2ttYXApOworCQlkc3QgKz0gKEFTVF9IV0NfU0laRSArIEFT VF9IV0NfU0lHTkFUVVJFX1NJWkUpKmFzdC0+bmV4dF9jdXJzb3IgKyBBU1RfSFdDX1NJWkU7CiAJ CXdyaXRlbChjc3VtLCBkc3QpOwogCQl3cml0ZWwod2lkdGgsIGRzdCArIEFTVF9IV0NfU0lHTkFU VVJFX1NpemVYKTsKIAkJd3JpdGVsKGhlaWdodCwgZHN0ICsgQVNUX0hXQ19TSUdOQVRVUkVfU2l6 ZVkpOwpAQCAtMTI1OCw2ICsxMjc3LDkgQEAgc3RhdGljIGludCBhc3RfY3Vyc29yX3NldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsK IAlyZXR1cm4gMDsKKworZmFpbF91bnJlc2VydmU6CisJZHJtX2dlbV92cmFtX3VucmVzZXJ2ZShn Ym8pOwogZmFpbDoKIAlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKIAlyZXR1cm4g cmV0OwpAQCAtMTI3MSw3ICsxMjkzLDkgQEAgc3RhdGljIGludCBhc3RfY3Vyc29yX21vdmUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCWludCB4X29mZnNldCwgeV9vZmZzZXQ7CiAJdTggKnNpZzsK IAotCXNpZyA9ICh1OCAqKWFzdC0+Y2FjaGVfa21hcC52aXJ0dWFsICsgKEFTVF9IV0NfU0laRSAr IEFTVF9IV0NfU0lHTkFUVVJFX1NJWkUpKmFzdC0+bmV4dF9jdXJzb3IgKyBBU1RfSFdDX1NJWkU7 CisJc2lnID0gZHJtX2dlbV92cmFtX2ttYXBfYXQoZHJtX2dlbV92cmFtX29mX2dlbShhc3QtPmN1 cnNvcl9jYWNoZSksCisJCQkJICAgZmFsc2UsIE5VTEwsICZhc3QtPmNhY2hlX2ttYXApOworCXNp ZyArPSAoQVNUX0hXQ19TSVpFICsgQVNUX0hXQ19TSUdOQVRVUkVfU0laRSkqYXN0LT5uZXh0X2N1 cnNvciArIEFTVF9IV0NfU0laRTsKIAl3cml0ZWwoeCwgc2lnICsgQVNUX0hXQ19TSUdOQVRVUkVf WCk7CiAJd3JpdGVsKHksIHNpZyArIEFTVF9IV0NfU0lHTkFUVVJFX1kpOwogCi0tIAoyLjIxLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==