From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v4 10/19] drm/ast: Replace mapping code with drm_gem_vram_{kmap/kunmap}() Date: Mon, 6 May 2019 10:26:40 +0200 Message-ID: <20190506082649.942-11-tzimmermann@suse.de> References: <20190506082649.942-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 B7A0089683 for ; Mon, 6 May 2019 08:26:59 +0000 (UTC) In-Reply-To: <20190506082649.942-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, hdegoede@redhat.com, noralf@tronnes.org, sam@ravnborg.org, 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 c3QvYXN0X2ZiLmMgICB8IDIzICsrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FzdC9h c3RfbW9kZS5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0 X2Rydi5oCmluZGV4IDMyMDk2YTE5MWFhZi4uYjZjYWM5NTExNzk2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYXN0L2FzdF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9k cnYuaApAQCAtMjU2LDcgKzI1Niw2IEBAIHN0cnVjdCBhc3RfZmJkZXYgewogCXN0cnVjdCBhc3Rf ZnJhbWVidWZmZXIgYWZiOwogCXZvaWQgKnN5c3JhbTsKIAlpbnQgc2l6ZTsKLQlzdHJ1Y3QgdHRt X2JvX2ttYXBfb2JqIG1hcHBpbmc7CiAJaW50IHgxLCB5MSwgeDIsIHkyOyAvKiBkaXJ0eSByZWN0 ICovCiAJc3BpbmxvY2tfdCBkaXJ0eV9sb2NrOwogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hc3QvYXN0X2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9mYi5jCmluZGV4IDc3 ODQyM2ZjZjM1Mi4uNTA1ZTYwMjg1NWMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXN0 L2FzdF9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2ZiLmMKQEAgLTUzLDYgKzUz LDcgQEAgc3RhdGljIHZvaWQgYXN0X2RpcnR5X3VwZGF0ZShzdHJ1Y3QgYXN0X2ZiZGV2ICphZmJk ZXYsCiAJaW50IHNyY19vZmZzZXQsIGRzdF9vZmZzZXQ7CiAJaW50IGJwcCA9IGFmYmRldi0+YWZi LmJhc2UuZm9ybWF0LT5jcHBbMF07CiAJaW50IHJldCA9IC1FQlVTWTsKKwl1OCAqZHN0OwogCWJv b2wgdW5tYXAgPSBmYWxzZTsKIAlib29sIHN0b3JlX2Zvcl9sYXRlciA9IGZhbHNlOwogCWludCB4 MiwgeTI7CkBAIC0xMDEsMjcgKzEwMiwzMSBAQCBzdGF0aWMgdm9pZCBhc3RfZGlydHlfdXBkYXRl KHN0cnVjdCBhc3RfZmJkZXYgKmFmYmRldiwKIAlhZmJkZXYtPngyID0gYWZiZGV2LT55MiA9IDA7 CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYWZiZGV2LT5kaXJ0eV9sb2NrLCBmbGFncyk7CiAK LQlpZiAoIWdiby0+a21hcC52aXJ0dWFsKSB7Ci0JCXJldCA9IHR0bV9ib19rbWFwKCZnYm8tPmJv LCAwLCBnYm8tPmJvLm51bV9wYWdlcywgJmdiby0+a21hcCk7Ci0JCWlmIChyZXQpIHsKKwlkc3Qg PSBkcm1fZ2VtX3ZyYW1fa21hcChnYm8sIGZhbHNlLCBOVUxMKTsKKwlpZiAoSVNfRVJSKGRzdCkp IHsKKwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8ga21hcCBmYiB1cGRhdGVzXG4iKTsKKwkJZ290byBv dXQ7CisJfSBlbHNlIGlmICghZHN0KSB7CisJCWRzdCA9IGRybV9nZW1fdnJhbV9rbWFwKGdibywg dHJ1ZSwgTlVMTCk7CisJCWlmIChJU19FUlIoZHN0KSkgewogCQkJRFJNX0VSUk9SKCJmYWlsZWQg dG8ga21hcCBmYiB1cGRhdGVzXG4iKTsKLQkJCWRybV9nZW1fdnJhbV91bnJlc2VydmUoZ2JvKTsK LQkJCXJldHVybjsKKwkJCWdvdG8gb3V0OwogCQl9CiAJCXVubWFwID0gdHJ1ZTsKIAl9CisKIAlm b3IgKGkgPSB5OyBpIDw9IHkyOyBpKyspIHsKIAkJLyogYXNzdW1lIGVxdWFsIHN0cmlkZSBmb3Ig bm93ICovCiAJCXNyY19vZmZzZXQgPSBkc3Rfb2Zmc2V0ID0KIAkJCWkgKiBhZmJkZXYtPmFmYi5i YXNlLnBpdGNoZXNbMF0gKyAoeCAqIGJwcCk7Ci0JCW1lbWNweV90b2lvKGdiby0+a21hcC52aXJ0 dWFsICsgc3JjX29mZnNldCwKLQkJCSAgICBhZmJkZXYtPnN5c3JhbSArIGRzdF9vZmZzZXQsCisJ CW1lbWNweV90b2lvKGRzdCArIGRzdF9vZmZzZXQsIGFmYmRldi0+c3lzcmFtICsgc3JjX29mZnNl dCwKIAkJCSAgICAoeDIgLSB4ICsgMSkgKiBicHApOwotCiAJfQorCiAJaWYgKHVubWFwKQotCQl0 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==