From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 11/15] drm/mgag200: Convert mgag200 driver to Simple TTM Date: Mon, 8 Apr 2019 11:21:40 +0200 Message-ID: <20190408092144.4548-12-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 B971C897E7 for ; Mon, 8 Apr 2019 09:21:56 +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 LQogZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvS2NvbmZpZyAgICAgICB8ICAgMSArCiBkcml2ZXJz L2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2Rydi5oIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0v bWdhZzIwMC9tZ2FnMjAwX3R0bS5jIHwgMTIwICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDExNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJt L21nYWcyMDAvS2NvbmZpZwppbmRleCBiNWVlZDRlMGU0NTIuLjZkMmM0NTE0N2NhYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9k cm0vbWdhZzIwMC9LY29uZmlnCkBAIC00LDYgKzQsNyBAQCBjb25maWcgRFJNX01HQUcyMDAKIAlz ZWxlY3QgRFJNX0tNU19IRUxQRVIKIAlzZWxlY3QgRFJNX1RUTQogCXNlbGVjdCBEUk1fR0VNX1RU TV9IRUxQRVIKKwlzZWxlY3QgRFJNX1NJTVBMRV9UVE1fSEVMUEVSCiAJaGVscAogCSBUaGlzIGlz IGEgS01TIGRyaXZlciBmb3IgdGhlIE1HQSBHMjAwIHNlcnZlciBjaGlwcywgaXQKICAgICAgICAg IGRvZXMgbm90IHN1cHBvcnQgdGhlIG9yaWdpbmFsIE1HQSBHMjAwIG9yIGFueSBvZiB0aGUgZGVz a3RvcApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZHJ2LmgKaW5kZXggYTMxMTBhMDA2NmI5 Li4yMjhjNDMzZmQxNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcy MDBfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuaApAQCAt MjYsNiArMjYsOCBAQAogI2luY2x1ZGUgPGRybS9kcm1fZ2VtLmg+CiAjaW5jbHVkZSA8ZHJtL2Ry bV9nZW1fdHRtX2hlbHBlci5oPgogCisjaW5jbHVkZSA8ZHJtL2RybV9zaW1wbGVfdHRtX2hlbHBl ci5oPgorCiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWFsZ28t Yml0Lmg+CiAKQEAgLTIxMiw5ICsyMTQsNyBAQCBzdHJ1Y3QgbWdhX2RldmljZSB7CiAKIAlpbnQg ZmJfbXRycjsKIAotCXN0cnVjdCB7Ci0JCXN0cnVjdCB0dG1fYm9fZGV2aWNlIGJkZXY7Ci0JfSB0 dG07CisJc3RydWN0IGRybV9zaW1wbGVfdHRtIHR0bTsKIAogCS8qIFNFIG1vZGVsIG51bWJlciBz dG9yZWQgaW4gcmVnIDB4MWUyNCAqLwogCXUzMiB1bmlxdWVfcmV2X2lkOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9t Z2FnMjAwL21nYWcyMDBfdHRtLmMKaW5kZXggMzRhNWM1OGJkZTY4Li5mZmIyYzM0MGY2ZjggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfdHRtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF90dG0uYwpAQCAtMzAsMTI2ICszMCwyMiBAQAog CiAjaW5jbHVkZSAibWdhZzIwMF9kcnYuaCIKIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgbWdhX2Rl dmljZSAqCi1tZ2FnMjAwX2JkZXYoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkKQotewotCXJldHVy biBjb250YWluZXJfb2YoYmQsIHN0cnVjdCBtZ2FfZGV2aWNlLCB0dG0uYmRldik7Ci19Ci0KLXN0 YXRpYyBpbnQKLW1nYWcyMDBfYm9faW5pdF9tZW1fdHlwZShzdHJ1Y3QgdHRtX2JvX2RldmljZSAq YmRldiwgdWludDMyX3QgdHlwZSwKLQkJICAgICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIg Km1hbikKLXsKLQlzd2l0Y2ggKHR5cGUpIHsKLQljYXNlIFRUTV9QTF9TWVNURU06Ci0JCW1hbi0+ ZmxhZ3MgPSBUVE1fTUVNVFlQRV9GTEFHX01BUFBBQkxFOwotCQltYW4tPmF2YWlsYWJsZV9jYWNo aW5nID0gVFRNX1BMX01BU0tfQ0FDSElORzsKLQkJbWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1f UExfRkxBR19DQUNIRUQ7Ci0JCWJyZWFrOwotCWNhc2UgVFRNX1BMX1ZSQU06Ci0JCW1hbi0+ZnVu YyA9ICZ0dG1fYm9fbWFuYWdlcl9mdW5jOwotCQltYW4tPmZsYWdzID0gVFRNX01FTVRZUEVfRkxB R19GSVhFRCB8Ci0JCQlUVE1fTUVNVFlQRV9GTEFHX01BUFBBQkxFOwotCQltYW4tPmF2YWlsYWJs ZV9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfAotCQkJVFRNX1BMX0ZMQUdfV0M7Ci0J CW1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfV0M7Ci0JCWJyZWFrOwotCWRlZmF1 bHQ6Ci0JCURSTV9FUlJPUigiVW5zdXBwb3J0ZWQgbWVtb3J5IHR5cGUgJXVcbiIsICh1bnNpZ25l ZCl0eXBlKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMg aW50IG1nYWcyMDBfdHRtX2lvX21lbV9yZXNlcnZlKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2 LAotCQkJCSAgc3RydWN0IHR0bV9tZW1fcmVnICptZW0pCi17Ci0Jc3RydWN0IHR0bV9tZW1fdHlw ZV9tYW5hZ2VyICptYW4gPSAmYmRldi0+bWFuW21lbS0+bWVtX3R5cGVdOwotCXN0cnVjdCBtZ2Ff ZGV2aWNlICptZGV2ID0gbWdhZzIwMF9iZGV2KGJkZXYpOwotCi0JbWVtLT5idXMuYWRkciA9IE5V TEw7Ci0JbWVtLT5idXMub2Zmc2V0ID0gMDsKLQltZW0tPmJ1cy5zaXplID0gbWVtLT5udW1fcGFn ZXMgPDwgUEFHRV9TSElGVDsKLQltZW0tPmJ1cy5iYXNlID0gMDsKLQltZW0tPmJ1cy5pc19pb21l bSA9IGZhbHNlOwotCWlmICghKG1hbi0+ZmxhZ3MgJiBUVE1fTUVNVFlQRV9GTEFHX01BUFBBQkxF KSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0Jc3dpdGNoIChtZW0tPm1lbV90eXBlKSB7Ci0JY2FzZSBU VE1fUExfU1lTVEVNOgotCQkvKiBzeXN0ZW0gbWVtb3J5ICovCi0JCXJldHVybiAwOwotCWNhc2Ug VFRNX1BMX1ZSQU06Ci0JCW1lbS0+YnVzLm9mZnNldCA9IG1lbS0+c3RhcnQgPDwgUEFHRV9TSElG VDsKLQkJbWVtLT5idXMuYmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChtZGV2LT5kZXYtPnBkZXYs IDApOwotCQltZW0tPmJ1cy5pc19pb21lbSA9IHRydWU7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0J CXJldHVybiAtRUlOVkFMOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2 b2lkIG1nYWcyMDBfdHRtX2lvX21lbV9mcmVlKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LCBz dHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSkKLXsKLX0KLQotc3RhdGljIHZvaWQgbWdhZzIwMF90dG1f YmFja2VuZF9kZXN0cm95KHN0cnVjdCB0dG1fdHQgKnR0KQotewotCXR0bV90dF9maW5pKHR0KTsK LQlrZnJlZSh0dCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgdHRtX2JhY2tlbmRfZnVuYyBtZ2FnMjAw X3R0X2JhY2tlbmRfZnVuYyA9IHsKLQkuZGVzdHJveSA9ICZtZ2FnMjAwX3R0bV9iYWNrZW5kX2Rl c3Ryb3ksCi19OwotCi0KLXN0YXRpYyBzdHJ1Y3QgdHRtX3R0ICptZ2FnMjAwX3R0bV90dF9jcmVh dGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKLQkJCQkJICAgIHVpbnQzMl90IHBhZ2Vf ZmxhZ3MpCi17Ci0Jc3RydWN0IHR0bV90dCAqdHQ7Ci0KLQl0dCA9IGt6YWxsb2Moc2l6ZW9mKHN0 cnVjdCB0dG1fdHQpLCBHRlBfS0VSTkVMKTsKLQlpZiAodHQgPT0gTlVMTCkKLQkJcmV0dXJuIE5V TEw7Ci0JdHQtPmZ1bmMgPSAmbWdhZzIwMF90dF9iYWNrZW5kX2Z1bmM7Ci0JaWYgKHR0bV90dF9p bml0KHR0LCBibywgcGFnZV9mbGFncykpIHsKLQkJa2ZyZWUodHQpOwotCQlyZXR1cm4gTlVMTDsK LQl9Ci0JcmV0dXJuIHR0OwotfQotCi1zdHJ1Y3QgdHRtX2JvX2RyaXZlciBtZ2FnMjAwX2JvX2Ry aXZlciA9IHsKLQkudHRtX3R0X2NyZWF0ZSA9IG1nYWcyMDBfdHRtX3R0X2NyZWF0ZSwKLQkuaW5p dF9tZW1fdHlwZSA9IG1nYWcyMDBfYm9faW5pdF9tZW1fdHlwZSwKLQkuZXZpY3Rpb25fdmFsdWFi bGUgPSB0dG1fYm9fZXZpY3Rpb25fdmFsdWFibGUsCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9z aW1wbGVfdHRtX2Z1bmNzIG1nYWcyMDBfc2ltcGxlX3R0bV9mdW5jcyA9IHsKIAkuZXZpY3RfZmxh Z3MgPSBkcm1fZ2VtX3R0bV9ib19kcml2ZXJfZXZpY3RfZmxhZ3MsCi0JLm1vdmUgPSBOVUxMLAot CS52ZXJpZnlfYWNjZXNzID0gZHJtX2dlbV90dG1fYm9fZHJpdmVyX3ZlcmlmeV9hY2Nlc3MsCi0J LmlvX21lbV9yZXNlcnZlID0gJm1nYWcyMDBfdHRtX2lvX21lbV9yZXNlcnZlLAotCS5pb19tZW1f ZnJlZSA9ICZtZ2FnMjAwX3R0bV9pb19tZW1fZnJlZSwKKwkudmVyaWZ5X2FjY2VzcyA9IGRybV9n ZW1fdHRtX2JvX2RyaXZlcl92ZXJpZnlfYWNjZXNzCiB9OwogCiBpbnQgbWdhZzIwMF9tbV9pbml0 KHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2KQogewogCWludCByZXQ7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IG1kZXYtPmRldjsKLQlzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiA9ICZtZGV2 LT50dG0uYmRldjsKLQotCXJldCA9IHR0bV9ib19kZXZpY2VfaW5pdCgmbWRldi0+dHRtLmJkZXYs Ci0JCQkJICZtZ2FnMjAwX2JvX2RyaXZlciwKLQkJCQkgZGV2LT5hbm9uX2lub2RlLT5pX21hcHBp bmcsCi0JCQkJIHRydWUpOwotCWlmIChyZXQpIHsKLQkJRFJNX0VSUk9SKCJFcnJvciBpbml0aWFs aXNpbmcgYm8gZHJpdmVyOyAlZFxuIiwgcmV0KTsKLQkJcmV0dXJuIHJldDsKLQl9CiAKLQlyZXQg PSB0dG1fYm9faW5pdF9tbShiZGV2LCBUVE1fUExfVlJBTSwgbWRldi0+bWMudnJhbV9zaXplID4+ IFBBR0VfU0hJRlQpOworCXJldCA9IGRybV9zaW1wbGVfdHRtX2luaXQoJm1kZXYtPnR0bSwgZGV2 LAorCQkJCSAgcGNpX3Jlc291cmNlX3N0YXJ0KGRldi0+cGRldiwgMCksCisJCQkJICBtZGV2LT5t Yy52cmFtX3NpemUsCisJCQkJICAmbWdhZzIwMF9zaW1wbGVfdHRtX2Z1bmNzKTsKIAlpZiAocmV0 KSB7Ci0JCURSTV9FUlJPUigiRmFpbGVkIHR0bSBWUkFNIGluaXQ6ICVkXG4iLCByZXQpOworCQlE Uk1fRVJST1IoIkVycm9yIGluaXRpYWxpemluZyBTaW1wbGUgVFRNOyAlZFxuIiwgcmV0KTsKIAkJ cmV0dXJuIHJldDsKIAl9CiAKQEAgLTE2Niw3ICs2Miw3IEBAIHZvaWQgbWdhZzIwMF9tbV9maW5p KHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBt ZGV2LT5kZXY7CiAKLQl0dG1fYm9fZGV2aWNlX3JlbGVhc2UoJm1kZXYtPnR0bS5iZGV2KTsKKwlk cm1fc2ltcGxlX3R0bV9jbGVhbnVwKCZtZGV2LT50dG0pOwogCiAJYXJjaF9pb19mcmVlX21lbXR5 cGVfd2MocGNpX3Jlc291cmNlX3N0YXJ0KGRldi0+cGRldiwgMCksCiAJCQkJcGNpX3Jlc291cmNl X2xlbihkZXYtPnBkZXYsIDApKTsKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVs