From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v3 15/19] drm/mgag200: Replace mapping code with drm_gem_vram_{kmap/kunmap}() Date: Mon, 29 Apr 2019 16:43:37 +0200 Message-ID: <20190429144341.12615-16-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 6C94889259 for ; Mon, 29 Apr 2019 14:43:53 +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 VGhlIG1nYWcyMDAgZHJpdmVyIGVzdGFibGlzaGVzIHNldmVyYWwgbWVtb3J5IG1hcHBpbmdzIGZv ciBmcmFtZSBidWZmZXJzCmFuZCBjdXJzb3JzLiBUaGlzIHBhdGNoIGNvbnZlcnRzIHRoZSBkcml2 ZXIgdG8gdXNlIHRoZSBlcXVpdmFsZW50CmRybV9nZW1fdnJhbV9rbWFwKCkgZnVuY3Rpb25zLiBJ dCByZW1vdmVzIHRoZSBkZXBlbmRlbmNpZXMgb24gVFRNCmFuZCBjbGVhbnMgdXAgdGhlIGNvZGUu Ci0tLQogZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9jdXJzb3IuYyB8IDM1ICsrKysr KysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYu aCAgICB8ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZmIuYyAgICAgfCAy MiArKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5j ICAgfCAgOSArKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzEgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9j dXJzb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfY3Vyc29yLmMKaW5kZXgg Y2NhMzkyMmY5ZjY3Li42YzFhOWQ3MjRkODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t Z2FnMjAwL21nYWcyMDBfY3Vyc29yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdh ZzIwMF9jdXJzb3IuYwpAQCAtNDMsNiArNDMsNyBAQCBpbnQgbWdhX2NydGNfY3Vyc29yX3NldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7CiAJc3Ry dWN0IGRybV9nZW1fdnJhbV9vYmplY3QgKmdibyA9IE5VTEw7CiAJaW50IHJldCA9IDA7CisJdTgg KnNyYywgKmRzdDsKIAl1bnNpZ25lZCBpbnQgaSwgcm93LCBjb2w7CiAJdWludDMyX3QgY29sb3Vy X3NldFsxNl07CiAJdWludDMyX3QgKm5leHRfc3BhY2UgPSAmY29sb3VyX3NldFswXTsKQEAgLTEy NiwxOCArMTI3LDE3IEBAIGludCBtZ2FfY3J0Y19jdXJzb3Jfc2V0KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVzZXJ2ZSB1c2Vy IGJvXG4iKTsKIAkJZ290byBvdXQxOwogCX0KLQlpZiAoIWdiby0+a21hcC52aXJ0dWFsKSB7Ci0J CXJldCA9IHR0bV9ib19rbWFwKCZnYm8tPmJvLCAwLCBnYm8tPmJvLm51bV9wYWdlcywgJmdiby0+ a21hcCk7Ci0JCWlmIChyZXQpIHsKLQkJCWRldl9lcnIoJmRldi0+cGRldi0+ZGV2LCAiZmFpbGVk IHRvIGttYXAgdXNlciBidWZmZXIgdXBkYXRlc1xuIik7Ci0JCQlnb3RvIG91dDI7Ci0JCX0KKwlz cmMgPSBkcm1fZ2VtX3ZyYW1fa21hcChnYm8sIHRydWUsIE5VTEwpOworCWlmIChJU19FUlIoc3Jj KSkgeworCQlyZXQgPSBQVFJfRVJSKHNyYyk7CisJCWRldl9lcnIoJmRldi0+cGRldi0+ZGV2LCAi ZmFpbGVkIHRvIGttYXAgdXNlciBidWZmZXIgdXBkYXRlc1xuIik7CisJCWdvdG8gb3V0MjsKIAl9 CiAKIAltZW1zZXQoJmNvbG91cl9zZXRbMF0sIDAsIHNpemVvZih1aW50MzJfdCkqMTYpOwogCS8q IHdpZHRoKmhlaWdodCo0ID0gMTYzODQgKi8KIAlmb3IgKGkgPSAwOyBpIDwgMTYzODQ7IGkgKz0g NCkgewotCQl0aGlzX2NvbG91ciA9IGlvcmVhZDMyKGdiby0+a21hcC52aXJ0dWFsICsgaSk7CisJ CXRoaXNfY29sb3VyID0gaW9yZWFkMzIoc3JjICsgaSk7CiAJCS8qIE5vIHRyYW5zcGFyZW5jeSAq LwogCQlpZiAodGhpc19jb2xvdXI+PjI0ICE9IDB4ZmYgJiYKIAkJCXRoaXNfY29sb3VyPj4yNCAh PSAweDApIHsKQEAgLTE4OSwyMSArMTg5LDE4IEBAIGludCBtZ2FfY3J0Y19jdXJzb3Jfc2V0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAl9CiAKIAkvKiBNYXAgdXAtY29taW5nIGJ1ZmZlciB0byB3 cml0ZSBjb2xvdXIgaW5kaWNlcyAqLwotCWlmICghcGl4ZWxzX3ByZXYtPmttYXAudmlydHVhbCkg ewotCQlyZXQgPSB0dG1fYm9fa21hcCgmcGl4ZWxzX3ByZXYtPmJvLCAwLAotCQkJCSAgcGl4ZWxz X3ByZXYtPmJvLm51bV9wYWdlcywKLQkJCQkgICZwaXhlbHNfcHJldi0+a21hcCk7Ci0JCWlmIChy ZXQpIHsKLQkJCWRldl9lcnIoJmRldi0+cGRldi0+ZGV2LCAiZmFpbGVkIHRvIGttYXAgY3Vyc29y IHVwZGF0ZXNcbiIpOwotCQkJZ290byBvdXQzOwotCQl9CisJZHN0ID0gZHJtX2dlbV92cmFtX2tt YXAocGl4ZWxzX3ByZXYsIHRydWUsIE5VTEwpOworCWlmIChJU19FUlIoZHN0KSkgeworCQlyZXQg PSBQVFJfRVJSKGRzdCk7CisJCWRldl9lcnIoJmRldi0+cGRldi0+ZGV2LCAiZmFpbGVkIHRvIGtt YXAgY3Vyc29yIHVwZGF0ZXNcbiIpOworCQlnb3RvIG91dDM7CiAJfQogCiAJLyogbm93IHdyaXRl IGNvbG91ciBpbmRpY2VzIGludG8gaGFyZHdhcmUgY3Vyc29yIGJ1ZmZlciAqLwogCWZvciAocm93 ID0gMDsgcm93IDwgNjQ7IHJvdysrKSB7CiAJCW1lbXNldCgmdGhpc19yb3dbMF0sIDAsIDQ4KTsK IAkJZm9yIChjb2wgPSAwOyBjb2wgPCA2NDsgY29sKyspIHsKLQkJCXRoaXNfY29sb3VyID0gaW9y ZWFkMzIoZ2JvLT5rbWFwLnZpcnR1YWwgKyA0Kihjb2wgKyA2NCpyb3cpKTsKKwkJCXRoaXNfY29s b3VyID0gaW9yZWFkMzIoc3JjICsgNCooY29sICsgNjQqcm93KSk7CiAJCQkvKiB3cml0ZSB0cmFu c3BhcmVudCBwaXhlbHMgKi8KIAkJCWlmICh0aGlzX2NvbG91cj4+MjQgPT0gMHgwKSB7CiAJCQkJ dGhpc19yb3dbNDcgLSBjb2wvOF0gfD0gMHg4MD4+KGNvbCU4KTsKQEAgLTIyMSw3ICsyMTgsNyBA QCBpbnQgbWdhX2NydGNfY3Vyc29yX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJfQog CQkJfQogCQl9Ci0JCW1lbWNweV90b2lvKHBpeGVsc19wcmV2LT5rbWFwLnZpcnR1YWwgKyByb3cq NDgsICZ0aGlzX3Jvd1swXSwgNDgpOworCQltZW1jcHlfdG9pbyhkc3QgKyByb3cqNDgsICZ0aGlz X3Jvd1swXSwgNDgpOwogCX0KIAogCS8qIFByb2dyYW0gZ3B1IGFkZHJlc3Mgb2YgY3Vyc29yIGJ1 ZmZlciAqLwpAQCAtMjQ3LDkgKzI0NCw5IEBAIGludCBtZ2FfY3J0Y19jdXJzb3Jfc2V0KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAl9CiAJcmV0ID0gMDsKIAotCXR0bV9ib19rdW5tYXAoJnBpeGVs c19wcmV2LT5rbWFwKTsKKwlkcm1fZ2VtX3ZyYW1fa3VubWFwKHBpeGVsc19wcmV2KTsKICBvdXQz OgotCXR0bV9ib19rdW5tYXAoJmdiby0+a21hcCk7CisJZHJtX2dlbV92cmFtX2t1bm1hcChnYm8p OwogIG91dDI6CiAJZHJtX2dlbV92cmFtX3VucmVzZXJ2ZShnYm8pOwogIG91dDE6CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuaAppbmRleCAxNmNlNmIzMzhkY2UuLjYxODBhY2JjYTdj YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2Rydi5oCkBAIC0xMTUsNyArMTE1LDYg QEAgc3RydWN0IG1nYV9mYmRldiB7CiAJc3RydWN0IG1nYV9mcmFtZWJ1ZmZlciBtZmI7CiAJdm9p ZCAqc3lzcmFtOwogCWludCBzaXplOwotCXN0cnVjdCB0dG1fYm9fa21hcF9vYmogbWFwcGluZzsK IAlpbnQgeDEsIHkxLCB4MiwgeTI7IC8qIGRpcnR5IHJlY3QgKi8KIAlzcGlubG9ja190IGRpcnR5 X2xvY2s7CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9m Yi5jIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9mYi5jCmluZGV4IDUwOGVjMmRk ZGJiYS4uN2M0NTdkYWQ1ZDllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9t Z2FnMjAwX2ZiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9mYi5jCkBA IC0yNyw2ICsyNyw3IEBAIHN0YXRpYyB2b2lkIG1nYV9kaXJ0eV91cGRhdGUoc3RydWN0IG1nYV9m YmRldiAqbWZiZGV2LAogCWludCBzcmNfb2Zmc2V0LCBkc3Rfb2Zmc2V0OwogCWludCBicHAgPSBt ZmJkZXYtPm1mYi5iYXNlLmZvcm1hdC0+Y3BwWzBdOwogCWludCByZXQgPSAtRUJVU1k7CisJdTgg KmRzdDsKIAlib29sIHVubWFwID0gZmFsc2U7CiAJYm9vbCBzdG9yZV9mb3JfbGF0ZXIgPSBmYWxz ZTsKIAlpbnQgeDIsIHkyOwpAQCAtNzUsMjQgKzc2LDI5IEBAIHN0YXRpYyB2b2lkIG1nYV9kaXJ0 eV91cGRhdGUoc3RydWN0IG1nYV9mYmRldiAqbWZiZGV2LAogCW1mYmRldi0+eDIgPSBtZmJkZXYt PnkyID0gMDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZtZmJkZXYtPmRpcnR5X2xvY2ssIGZs YWdzKTsKIAotCWlmICghZ2JvLT5rbWFwLnZpcnR1YWwpIHsKLQkJcmV0ID0gdHRtX2JvX2ttYXAo Jmdiby0+Ym8sIDAsIGdiby0+Ym8ubnVtX3BhZ2VzLCAmZ2JvLT5rbWFwKTsKLQkJaWYgKHJldCkg eworCWRzdCA9IGRybV9nZW1fdnJhbV9rbWFwKGdibywgZmFsc2UsIE5VTEwpOworCWlmIChJU19F UlIoZHN0KSkgeworCQlEUk1fRVJST1IoImZhaWxlZCB0byBrbWFwIGZiIHVwZGF0ZXNcbiIpOwor CQlnb3RvIG91dDsKKwl9IGVsc2UgaWYgKCFkc3QpIHsKKwkJZHN0ID0gZHJtX2dlbV92cmFtX2tt YXAoZ2JvLCB0cnVlLCBOVUxMKTsKKwkJaWYgKElTX0VSUihkc3QpKSB7CiAJCQlEUk1fRVJST1Io ImZhaWxlZCB0byBrbWFwIGZiIHVwZGF0ZXNcbiIpOwotCQkJZHJtX2dlbV92cmFtX3VucmVzZXJ2 ZShnYm8pOwotCQkJcmV0dXJuOworCQkJZ290byBvdXQ7CiAJCX0KIAkJdW5tYXAgPSB0cnVlOwog CX0KKwogCWZvciAoaSA9IHk7IGkgPD0geTI7IGkrKykgewogCQkvKiBhc3N1bWUgZXF1YWwgc3Ry aWRlIGZvciBub3cgKi8KIAkJc3JjX29mZnNldCA9IGRzdF9vZmZzZXQgPSBpICogbWZiZGV2LT5t ZmIuYmFzZS5waXRjaGVzWzBdICsgKHggKiBicHApOwotCQltZW1jcHlfdG9pbyhnYm8tPmttYXAu dmlydHVhbCArIHNyY19vZmZzZXQsIG1mYmRldi0+c3lzcmFtICsgc3JjX29mZnNldCwgKHgyIC0g eCArIDEpICogYnBwKTsKLQorCQltZW1jcHlfdG9pbyhkc3QgKyBkc3Rfb2Zmc2V0LCBtZmJkZXYt PnN5c3JhbSArIHNyY19vZmZzZXQsICh4MiAtIHggKyAxKSAqIGJwcCk7CiAJfQorCiAJaWYgKHVu bWFwKQotCQl0dG1fYm9fa3VubWFwKCZnYm8tPmttYXApOworCQlkcm1fZ2VtX3ZyYW1fa3VubWFw KGdibyk7CiAKK291dDoKIAlkcm1fZ2VtX3ZyYW1fdW5yZXNlcnZlKGdibyk7CiB9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5jIGIvZHJpdmVycy9n cHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMKaW5kZXggZGRlYzJjNDg1MzgxLi43NjlhY2Ux MzkzNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5jCkBAIC04NzAsNiAr ODcwLDcgQEAgc3RhdGljIGludCBtZ2FfY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJc3RydWN0IGRybV9nZW1fdnJhbV9vYmplY3QgKmdibzsKIAlpbnQgcmV0OwogCXM2 NCBncHVfYWRkcjsKKwl2b2lkKiBiYXNlOwogCiAJLyogcHVzaCB0aGUgcHJldmlvdXMgZmIgdG8g c3lzdGVtIHJhbSAqLwogCWlmICghYXRvbWljICYmIGZiKSB7CkBAIC05MDIsMTEgKzkwMywxMyBA QCBzdGF0aWMgaW50IG1nYV9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAogCWlmICgmbWRldi0+bWZiZGV2LT5tZmIgPT0gbWdhX2ZiKSB7CiAJCS8qIGlmIHB1c2hpbmcg Y29uc29sZSBpbiBrbWFwIGl0ICovCi0JCXJldCA9IHR0bV9ib19rbWFwKCZnYm8tPmJvLCAwLCBn Ym8tPmJvLm51bV9wYWdlcywgJmdiby0+a21hcCk7Ci0JCWlmIChyZXQpCisJCWJhc2UgPSBkcm1f Z2VtX3ZyYW1fa21hcChnYm8sIHRydWUsIE5VTEwpOworCQlpZiAoSVNfRVJSKGJhc2UpKSB7CisJ CQlyZXQgPSBQVFJfRVJSKGJhc2UpOwogCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8ga21hcCBmYmNv blxuIik7Ci0KKwkJfQogCX0KKwogCWRybV9nZW1fdnJhbV91bnJlc2VydmUoZ2JvKTsKIAogCW1n YV9zZXRfc3RhcnRfYWRkcmVzcyhjcnRjLCAodTMyKWdwdV9hZGRyKTsKLS0gCjIuMjEuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs