From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 15/15] drm/hisilicon: Convert hibmc-drm driver to Simple TTM Date: Mon, 8 Apr 2019 11:21:44 +0200 Message-ID: <20190408092144.4548-16-tzimmermann@suse.de> References: <20190408092144.4548-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 5D3C4897E0 for ; Mon, 8 Apr 2019 09:21:57 +0000 (UTC) In-Reply-To: <20190408092144.4548-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 U2lnbmVkLW9mZi1ieTogVGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9LY29uZmlnICAgICAgIHwgICAxICsK IC4uLi9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZHJ2LmggICB8ICAgMyArLQog ZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY190dG0uYyAgIHwgMTI0ICsrLS0t LS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxMTUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9L Y29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9LY29uZmlnCmluZGV4IDk4 ZmM3ZDU0NmQyYS4uYTBjYjBkODM4MTA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlz aWxpY29uL2hpYm1jL0tjb25maWcKKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJt Yy9LY29uZmlnCkBAIC00LDYgKzQsNyBAQCBjb25maWcgRFJNX0hJU0lfSElCTUMKIAlzZWxlY3Qg RFJNX0tNU19IRUxQRVIKIAlzZWxlY3QgRFJNX1RUTQogCXNlbGVjdCBEUk1fR0VNX1RUTV9IRUxQ RVIKKwlzZWxlY3QgRFJNX1NJTVBMRV9UVE1fSEVMUEVSCiAKIAloZWxwCiAJICBDaG9vc2UgdGhp cyBvcHRpb24gaWYgeW91IGhhdmUgYSBIaXNpbGljb24gSGlibWMgc29jIGNoaXBzZXQuCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2Rydi5oCmluZGV4IGE0 NmZhMDQ3NGI1OS4uNTQxZWRiZDliYmE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlz aWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxp Y29uL2hpYm1jL2hpYm1jX2RybV9kcnYuaApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGRy bS9kcm1fZmJfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KICNpbmNsdWRlIDxk cm0vZHJtX2dlbV90dG1faGVscGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9zaW1wbGVfdHRtX2hl bHBlci5oPgogI2luY2x1ZGUgPGRybS90dG0vdHRtX2JvX2RyaXZlci5oPgogCiBzdHJ1Y3QgaGli bWNfZnJhbWVidWZmZXIgewpAQCAtNTAsNyArNTEsNyBAQCBzdHJ1Y3QgaGlibWNfZHJtX3ByaXZh dGUgewogCWJvb2wgbW9kZV9jb25maWdfaW5pdGlhbGl6ZWQ7CiAKIAkvKiB0dG0gKi8KLQlzdHJ1 Y3QgdHRtX2JvX2RldmljZSBiZGV2OworCXN0cnVjdCBkcm1fc2ltcGxlX3R0bSB0dG07CiAJYm9v bCBpbml0aWFsaXplZDsKIAogCS8qIGZiZGV2ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNv bi9oaWJtYy9oaWJtY190dG0uYwppbmRleCBjYmU0MmE0ZjNmMDguLmNhMjhlZjkzNTdhOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY190dG0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX3R0bS5jCkBAIC0yMSwxMjUg KzIxLDIxIEBACiAKICNpbmNsdWRlICJoaWJtY19kcm1fZHJ2LmgiCiAKLXN0YXRpYyBpbmxpbmUg c3RydWN0IGhpYm1jX2RybV9wcml2YXRlICoKLWhpYm1jX2JkZXYoc3RydWN0IHR0bV9ib19kZXZp Y2UgKmJkKQotewotCXJldHVybiBjb250YWluZXJfb2YoYmQsIHN0cnVjdCBoaWJtY19kcm1fcHJp dmF0ZSwgYmRldik7Ci19Ci0KLXN0YXRpYyBpbnQKLWhpYm1jX2JvX2luaXRfbWVtX3R5cGUoc3Ry dWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHUzMiB0eXBlLAotCQkgICAgICAgc3RydWN0IHR0bV9t ZW1fdHlwZV9tYW5hZ2VyICptYW4pCi17Ci0Jc3dpdGNoICh0eXBlKSB7Ci0JY2FzZSBUVE1fUExf U1lTVEVNOgotCQltYW4tPmZsYWdzID0gVFRNX01FTVRZUEVfRkxBR19NQVBQQUJMRTsKLQkJbWFu LT5hdmFpbGFibGVfY2FjaGluZyA9IFRUTV9QTF9NQVNLX0NBQ0hJTkc7Ci0JCW1hbi0+ZGVmYXVs dF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfQ0FDSEVEOwotCQlicmVhazsKLQljYXNlIFRUTV9QTF9W UkFNOgotCQltYW4tPmZ1bmMgPSAmdHRtX2JvX21hbmFnZXJfZnVuYzsKLQkJbWFuLT5mbGFncyA9 IFRUTV9NRU1UWVBFX0ZMQUdfRklYRUQgfAotCQkJVFRNX01FTVRZUEVfRkxBR19NQVBQQUJMRTsK LQkJbWFuLT5hdmFpbGFibGVfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEIHwKLQkJCVRU TV9QTF9GTEFHX1dDOwotCQltYW4tPmRlZmF1bHRfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1dDOwot CQlicmVhazsKLQlkZWZhdWx0OgotCQlEUk1fRVJST1IoInVuc3VwcG9ydGVkIG1lbW9yeSB0eXBl ICV1XG4iLCB0eXBlKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCXJldHVybiAwOwotfQotCi1z dGF0aWMgaW50IGhpYm1jX3R0bV9pb19tZW1fcmVzZXJ2ZShzdHJ1Y3QgdHRtX2JvX2RldmljZSAq YmRldiwKLQkJCQkgICAgc3RydWN0IHR0bV9tZW1fcmVnICptZW0pCi17Ci0Jc3RydWN0IHR0bV9t ZW1fdHlwZV9tYW5hZ2VyICptYW4gPSAmYmRldi0+bWFuW21lbS0+bWVtX3R5cGVdOwotCXN0cnVj dCBoaWJtY19kcm1fcHJpdmF0ZSAqaGlibWMgPSBoaWJtY19iZGV2KGJkZXYpOwotCi0JbWVtLT5i dXMuYWRkciA9IE5VTEw7Ci0JbWVtLT5idXMub2Zmc2V0ID0gMDsKLQltZW0tPmJ1cy5zaXplID0g bWVtLT5udW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKLQltZW0tPmJ1cy5iYXNlID0gMDsKLQltZW0t PmJ1cy5pc19pb21lbSA9IGZhbHNlOwotCWlmICghKG1hbi0+ZmxhZ3MgJiBUVE1fTUVNVFlQRV9G TEFHX01BUFBBQkxFKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0Jc3dpdGNoIChtZW0tPm1lbV90eXBl KSB7Ci0JY2FzZSBUVE1fUExfU1lTVEVNOgotCQkvKiBzeXN0ZW0gbWVtb3J5ICovCi0JCXJldHVy biAwOwotCWNhc2UgVFRNX1BMX1ZSQU06Ci0JCW1lbS0+YnVzLm9mZnNldCA9IG1lbS0+c3RhcnQg PDwgUEFHRV9TSElGVDsKLQkJbWVtLT5idXMuYmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChoaWJt Yy0+ZGV2LT5wZGV2LCAwKTsKLQkJbWVtLT5idXMuaXNfaW9tZW0gPSB0cnVlOwotCQlicmVhazsK LQlkZWZhdWx0OgotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRp YyB2b2lkIGhpYm1jX3R0bV9iYWNrZW5kX2Rlc3Ryb3koc3RydWN0IHR0bV90dCAqdHQpCi17Ci0J dHRtX3R0X2ZpbmkodHQpOwotCWtmcmVlKHR0KTsKLX0KLQotc3RhdGljIHN0cnVjdCB0dG1fYmFj a2VuZF9mdW5jIGhpYm1jX3R0X2JhY2tlbmRfZnVuYyA9IHsKLQkuZGVzdHJveSA9ICZoaWJtY190 dG1fYmFja2VuZF9kZXN0cm95LAotfTsKLQotc3RhdGljIHN0cnVjdCB0dG1fdHQgKmhpYm1jX3R0 bV90dF9jcmVhdGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKLQkJCQkJICB1MzIgcGFn ZV9mbGFncykKLXsKLQlzdHJ1Y3QgdHRtX3R0ICp0dDsKLQlpbnQgcmV0OwotCi0JdHQgPSBremFs bG9jKHNpemVvZigqdHQpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXR0KSB7Ci0JCURSTV9FUlJPUigi ZmFpbGVkIHRvIGFsbG9jYXRlIHR0bV90dFxuIik7Ci0JCXJldHVybiBOVUxMOwotCX0KLQl0dC0+ ZnVuYyA9ICZoaWJtY190dF9iYWNrZW5kX2Z1bmM7Ci0JcmV0ID0gdHRtX3R0X2luaXQodHQsIGJv LCBwYWdlX2ZsYWdzKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXRp YWxpemUgdHRtX3R0OiAlZFxuIiwgcmV0KTsKLQkJa2ZyZWUodHQpOwotCQlyZXR1cm4gTlVMTDsK LQl9Ci0JcmV0dXJuIHR0OwotfQotCi1zdHJ1Y3QgdHRtX2JvX2RyaXZlciBoaWJtY19ib19kcml2 ZXIgPSB7Ci0JLnR0bV90dF9jcmVhdGUJCT0gaGlibWNfdHRtX3R0X2NyZWF0ZSwKLQkuaW5pdF9t ZW1fdHlwZQkJPSBoaWJtY19ib19pbml0X21lbV90eXBlLAotCS5ldmljdF9mbGFncwkJPSBkcm1f Z2VtX3R0bV9ib19kcml2ZXJfZXZpY3RfZmxhZ3MsCi0JLm1vdmUJCQk9IE5VTEwsCi0JLnZlcmlm eV9hY2Nlc3MJCT0gZHJtX2dlbV90dG1fYm9fZHJpdmVyX3ZlcmlmeV9hY2Nlc3MsCi0JLmlvX21l bV9yZXNlcnZlCQk9ICZoaWJtY190dG1faW9fbWVtX3Jlc2VydmUsCi0JLmlvX21lbV9mcmVlCQk9 IE5VTEwsCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9zaW1wbGVfdHRtX2Z1bmNzIGhpYm1jX3Np bXBsZV90dG1fZnVuY3MgPSB7CisJLmV2aWN0X2ZsYWdzID0gZHJtX2dlbV90dG1fYm9fZHJpdmVy X2V2aWN0X2ZsYWdzLAorCS52ZXJpZnlfYWNjZXNzID0gZHJtX2dlbV90dG1fYm9fZHJpdmVyX3Zl cmlmeV9hY2Nlc3MKIH07CiAKIGludCBoaWJtY19tbV9pbml0KHN0cnVjdCBoaWJtY19kcm1fcHJp dmF0ZSAqaGlibWMpCiB7CiAJaW50IHJldDsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaGli bWMtPmRldjsKLQlzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiA9ICZoaWJtYy0+YmRldjsKLQot CXJldCA9IHR0bV9ib19kZXZpY2VfaW5pdCgmaGlibWMtPmJkZXYsCi0JCQkJICZoaWJtY19ib19k cml2ZXIsCi0JCQkJIGRldi0+YW5vbl9pbm9kZS0+aV9tYXBwaW5nLAotCQkJCSB0cnVlKTsKLQlp ZiAocmV0KSB7Ci0JCURSTV9FUlJPUigiZXJyb3IgaW5pdGlhbGl6aW5nIGJvIGRyaXZlcjogJWRc biIsIHJldCk7Ci0JCXJldHVybiByZXQ7Ci0JfQogCi0JcmV0ID0gdHRtX2JvX2luaXRfbW0oYmRl diwgVFRNX1BMX1ZSQU0sCi0JCQkgICAgIGhpYm1jLT5mYl9zaXplID4+IFBBR0VfU0hJRlQpOwor CXJldCA9IGRybV9zaW1wbGVfdHRtX2luaXQoJmhpYm1jLT50dG0sIGRldiwKKwkJCQkgIHBjaV9y ZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDApLAorCQkJCSAgaGlibWMtPmZiX3NpemUsICZoaWJt Y19zaW1wbGVfdHRtX2Z1bmNzKTsKIAlpZiAocmV0KSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHR0 bSBWUkFNIGluaXQ6ICVkXG4iLCByZXQpOworCQlEUk1fRVJST1IoIkVycm9yIGluaXRpYWxpemlu ZyBTaW1wbGUgVFRNOyAlZFxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKQEAgLTE1Miw3 ICs0OCw3IEBAIHZvaWQgaGlibWNfbW1fZmluaShzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUgKmhp Ym1jKQogCWlmICghaGlibWMtPm1tX2luaXRlZCkKIAkJcmV0dXJuOwogCi0JdHRtX2JvX2Rldmlj ZV9yZWxlYXNlKCZoaWJtYy0+YmRldik7CisJZHJtX3NpbXBsZV90dG1fY2xlYW51cCgmaGlibWMt PnR0bSk7CiAJaGlibWMtPm1tX2luaXRlZCA9IGZhbHNlOwogfQogCkBAIC0xNjEsNyArNTcsNyBA QCBpbnQgaGlibWNfbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IHZtX2FyZWFfc3RydWN0 ICp2bWEpCiAJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYgPSBmaWxwLT5wcml2YXRlX2RhdGE7 CiAJc3RydWN0IGhpYm1jX2RybV9wcml2YXRlICpoaWJtYyA9IGZpbGVfcHJpdi0+bWlub3ItPmRl di0+ZGV2X3ByaXZhdGU7CiAKLQlyZXR1cm4gdHRtX2JvX21tYXAoZmlscCwgdm1hLCAmaGlibWMt PmJkZXYpOworCXJldHVybiB0dG1fYm9fbW1hcChmaWxwLCB2bWEsICZoaWJtYy0+dHRtLmJkZXYp OwogfQogCiBpbnQgaGlibWNfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIg c2l6ZSwgYm9vbCBpc2tlcm5lbCwKQEAgLTE3Nyw3ICs3Myw3IEBAIGludCBoaWJtY19nZW1fY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBzaXplLCBib29sIGlza2VybmVsLAogCWlm IChzaXplID09IDApCiAJCXJldHVybiAtRUlOVkFMOwogCi0JZ2JvID0gZHJtX2dlbV90dG1fY3Jl YXRlKGRldiwgJmhpYm1jLT5iZGV2LCBzaXplLCAwLCBmYWxzZSk7CisJZ2JvID0gZHJtX2dlbV90 dG1fY3JlYXRlKGRldiwgJmhpYm1jLT50dG0uYmRldiwgc2l6ZSwgMCwgZmFsc2UpOwogCWlmIChJ U19FUlIoZ2JvKSkgewogCQlyZXQgPSBQVFJfRVJSKGdibyk7CiAJCWlmIChyZXQgIT0gLUVSRVNU QVJUU1lTKQotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWw=