From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gabriel Krisman Bertazi Subject: [PATCH 2/3] drm: qxl: Open code probing sequence for qxl Date: Thu, 12 Jan 2017 14:16:09 -0200 Message-ID: <20170112161610.19924-2-krisman@collabora.co.uk> References: <20170112161610.19924-1-krisman@collabora.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5FA156EB4F for ; Thu, 12 Jan 2017 16:16:35 +0000 (UTC) In-Reply-To: <20170112161610.19924-1-krisman@collabora.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@redhat.com, daniel.vetter@ffwll.ch Cc: Gabriel Krisman Bertazi , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBhdm9pZHMgdXNpbmcgdGhlIGRlcHJlY2F0ZWQgZHJtX2dldF9wY2lfZGV2KCkgYW5kIGxv YWQoKSBob29rCmludGVyZmFjZXMgaW4gdGhlIHF4bCBkcml2ZXIuCgpUaGUgb25seSB0cmlja3kg cGFydCBpcyB0byBlbnN1cmUgVFRNIGRlYnVnZnMgaW5pdGlhbGl6YXRpb24KaGFwcGVucyBhZnRl ciB0aGUgZGVidWdmcyByb290IG5vZGUgaXMgY3JlYXRlZCwgd2hpY2ggaXMgZG9uZSBieSBtb3Zp bmcKdGhhdCBjb2RlIGludG8gdGhlIGRlYnVmc19pbml0KCkgaG9vay4gIFNpbmNlIHRoZSBob29r IGlzIGNhbGxlZCAzIHRpbWVzCmZvciBlYWNoIG1pbm9yIGZ1bmN0aW9uLCB3ZSBtYWtlIHN1cmUg aXQgaXMgb25seSBleGVjdXRlZCBmb3IgdGhlCnByaW1hcnkgbWlub3IuCgpUZXN0ZWQgb24gcWVt dSB3aXRoIGlndCBhbmQgcnVubmluZyBhIFdNIG9uIHRvcCBvZiBYLgoKU2lnbmVkLW9mZi1ieTog R2FicmllbCBLcmlzbWFuIEJlcnRhemkgPGtyaXNtYW5AY29sbGFib3JhLmNvLnVrPgpDQzogRGF2 ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KQ0M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+CkNDOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCi0tLQog ZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGVidWdmcy5jIHwgMTIgKysrKysrKysKIGRyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2Rydi5jICAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmggICAgIHwgIDcgKysr Ky0KIGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ttcy5jICAgICB8IDQwICsrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMgICAgIHwgIDggKy0t LS0tCiA1IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2RlYnVnZnMuYyBiL2RyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2RlYnVnZnMuYwppbmRleCAyNDFhZjkxMzFkYzguLjQxN2I1MzhiM2Vk OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGVidWdmcy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2RlYnVnZnMuYwpAQCAtODQsOCArODQsMjAgQEAgaW50CiBx eGxfZGVidWdmc19pbml0KHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQogewogI2lmIGRlZmluZWQo Q09ORklHX0RFQlVHX0ZTKQorCWludCByOworCXN0cnVjdCBxeGxfZGV2aWNlICpkZXYgPQorCQko c3RydWN0IHF4bF9kZXZpY2UgKikgbWlub3ItPmRldi0+ZGV2X3ByaXZhdGU7CisKIAlkcm1fZGVi dWdmc19jcmVhdGVfZmlsZXMocXhsX2RlYnVnZnNfbGlzdCwgUVhMX0RFQlVHRlNfRU5UUklFUywK IAkJCQkgbWlub3ItPmRlYnVnZnNfcm9vdCwgbWlub3IpOworCisJaWYgKG1pbm9yLT50eXBlID09 IERSTV9NSU5PUl9QUklNQVJZKSB7CisJCXIgPSBxeGxfdHRtX2RlYnVnZnNfaW5pdChkZXYpOwor CQlpZiAocikgeworCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdCBUVE0gZGVidWdmc1xuIik7 CisJCQlyZXR1cm4gcjsKKwkJfQorCX0KICNlbmRpZgogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4 bF9kcnYuYwppbmRleCA0NjBiYmNlYWUyOTcuLjdjYzI5MDI3YTYxMiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxf ZHJ2LmMKQEAgLTYyLDEyICs2Miw2NyBAQCBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgcXhsX3Bj aV9kcml2ZXI7CiBzdGF0aWMgaW50CiBxeGxfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2 LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQogeworCXN0cnVjdCBkcm1fZGV2aWNl ICpkcm07CisJc3RydWN0IHF4bF9kZXZpY2UgKnFkZXY7CisJaW50IHJldDsKKwogCWlmIChwZGV2 LT5yZXZpc2lvbiA8IDQpIHsKIAkJRFJNX0VSUk9SKCJxeGwgdG9vIG9sZCwgZG9lc24ndCBzdXBw b3J0IGNsaWVudF9tb25pdG9yc19jb25maWcsIgogCQkJICAiIHVzZSB4Zjg2LXZpZGVvLXF4bCBp biB1c2VyIG1vZGUiKTsKIAkJcmV0dXJuIC1FSU5WQUw7IC8qIFRPRE86IEVOT0RFViA/ICovCiAJ fQotCXJldHVybiBkcm1fZ2V0X3BjaV9kZXYocGRldiwgZW50LCAmcXhsX2RyaXZlcik7CisKKwlk cm0gPSBkcm1fZGV2X2FsbG9jKCZxeGxfZHJpdmVyLCAmcGRldi0+ZGV2KTsKKwlpZiAoSVNfRVJS KGRybSkpCisJCXJldHVybiAtRU5PTUVNOworCisJcWRldiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVj dCBxeGxfZGV2aWNlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFxZGV2KSB7CisJCXJldCA9IC1FTk9N RU07CisJCWdvdG8gZnJlZV9kcm1fZGV2aWNlOworCX0KKworCXJldCA9IHBjaV9lbmFibGVfZGV2 aWNlKHBkZXYpOworCWlmIChyZXQpCisJCWdvdG8gZnJlZV9kcm1fZGV2aWNlOworCisJZHJtLT5w ZGV2ID0gcGRldjsKKwlwY2lfc2V0X2RydmRhdGEocGRldiwgZHJtKTsKKwlkcm0tPmRldl9wcml2 YXRlID0gcWRldjsKKworCXJldCA9IHF4bF9kZXZpY2VfaW5pdChxZGV2LCBkcm0sIHBkZXYsIGVu dC0+ZHJpdmVyX2RhdGEpOworCWlmIChyZXQpCisJCWdvdG8gZGlzYWJsZV9wY2k7CisKKwlyZXQg PSBkcm1fdmJsYW5rX2luaXQoZHJtLCAxKTsKKwlpZiAocmV0KQorCQlnb3RvIHVubG9hZDsKKwor CXJldCA9IHF4bF9tb2Rlc2V0X2luaXQocWRldik7CisJaWYgKHJldCkKKwkJZ290byB2Ymxhbmtf Y2xlYW51cDsKKworCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChxZGV2LT5kZGV2KTsKKworCS8q IENvbXBsZXRlIGluaXRpYWxpemF0aW9uLiAqLworCXJldCA9IGRybV9kZXZfcmVnaXN0ZXIoZHJt LCBlbnQtPmRyaXZlcl9kYXRhKTsKKwlpZiAocmV0KQorCQlnb3RvIG1vZGVzZXRfY2xlYW51cDsK KworCXJldHVybiAwOworCittb2Rlc2V0X2NsZWFudXA6CisJcXhsX21vZGVzZXRfZmluaShxZGV2 KTsKK3ZibGFua19jbGVhbnVwOgorCWRybV92YmxhbmtfY2xlYW51cChkcm0pOwordW5sb2FkOgor CXF4bF9kZXZpY2VfZmluaShxZGV2KTsKK2Rpc2FibGVfcGNpOgorCXBjaV9kaXNhYmxlX2Rldmlj ZShwZGV2KTsKK2ZyZWVfZHJtX2RldmljZToKKwlrZnJlZShxZGV2KTsKKwlrZnJlZShkcm0pOwor CXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yMzAsNyArMjg1LDYgQEAgc3RhdGlj IHN0cnVjdCBwY2lfZHJpdmVyIHF4bF9wY2lfZHJpdmVyID0gewogc3RhdGljIHN0cnVjdCBkcm1f ZHJpdmVyIHF4bF9kcml2ZXIgPSB7CiAJLmRyaXZlcl9mZWF0dXJlcyA9IERSSVZFUl9HRU0gfCBE UklWRVJfTU9ERVNFVCB8IERSSVZFUl9QUklNRSB8CiAJCQkgICBEUklWRVJfSEFWRV9JUlEgfCBE UklWRVJfSVJRX1NIQVJFRCwKLQkubG9hZCA9IHF4bF9kcml2ZXJfbG9hZCwKIAkudW5sb2FkID0g cXhsX2RyaXZlcl91bmxvYWQsCiAJLmdldF92YmxhbmtfY291bnRlciA9IHF4bF9ub29wX2dldF92 YmxhbmtfY291bnRlciwKIAkuZW5hYmxlX3ZibGFuayA9IHF4bF9ub29wX2VuYWJsZV92Ymxhbmss CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2Rydi5oCmluZGV4IDg4M2Q4NjM5YzA0ZS4uZDBhZWQ5ZWQxMmQyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF9kcnYuaApAQCAtMzM2LDcgKzMzNiwxMCBAQCBfX3ByaW50ZigyLDMpIHZvaWQg cXhsX2lvX2xvZyhzdHJ1Y3QgcXhsX2RldmljZSAqcWRldiwgY29uc3QgY2hhciAqZm10LCAuLi4p OwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBxeGxfaW9jdGxzW107CiBleHRl cm4gaW50IHF4bF9tYXhfaW9jdGw7CiAKLWludCBxeGxfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncyk7CitpbnQgcXhsX2RldmljZV9pbml0KHN0 cnVjdCBxeGxfZGV2aWNlICpxZGV2LCBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwKKwkJICAgIHN0 cnVjdCBwY2lfZGV2ICpwZGV2LCAgdW5zaWduZWQgbG9uZyBmbGFncyk7Cit2b2lkIHF4bF9kZXZp Y2VfZmluaShzdHJ1Y3QgcXhsX2RldmljZSAqcWRldik7CisKIHZvaWQgcXhsX2RyaXZlcl91bmxv YWQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKIGludCBxeGxfbW9kZXNldF9pbml0KHN0cnVj dCBxeGxfZGV2aWNlICpxZGV2KTsKQEAgLTM0NSw2ICszNDgsOCBAQCB2b2lkIHF4bF9tb2Rlc2V0 X2Zpbmkoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpOwogaW50IHF4bF9ib19pbml0KHN0cnVjdCBx eGxfZGV2aWNlICpxZGV2KTsKIHZvaWQgcXhsX2JvX2Zpbmkoc3RydWN0IHF4bF9kZXZpY2UgKnFk ZXYpOwogCitpbnQgcXhsX3R0bV9kZWJ1Z2ZzX2luaXQoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYp OworCiB2b2lkIHF4bF9yZWluaXRfbWVtc2xvdHMoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpOwog aW50IHF4bF9zdXJmX2V2aWN0KHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2KTsKIGludCBxeGxfdnJh bV9ldmljdChzdHJ1Y3QgcXhsX2RldmljZSAqcWRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcXhsL3F4bF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ttcy5jCmluZGV4 IGIyNDkxNDA3YjYxNi4uNjg0ODA1N2QwOTE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cXhsL3F4bF9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9rbXMuYwpAQCAtMTE1 LDcgKzExNSw3IEBAIHN0YXRpYyB2b2lkIHF4bF9nY193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykKIAlxeGxfZ2FyYmFnZV9jb2xsZWN0KHFkZXYpOwogfQogCi1zdGF0aWMgaW50IHF4bF9k ZXZpY2VfaW5pdChzdHJ1Y3QgcXhsX2RldmljZSAqcWRldiwKK2ludCBxeGxfZGV2aWNlX2luaXQo c3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsCiAJCSAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwK IAkJICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncykK QEAgLTI2Myw3ICsyNjMsNyBAQCBzdGF0aWMgaW50IHF4bF9kZXZpY2VfaW5pdChzdHJ1Y3QgcXhs X2RldmljZSAqcWRldiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgcXhsX2RldmljZV9m aW5pKHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2KQordm9pZCBxeGxfZGV2aWNlX2Zpbmkoc3RydWN0 IHF4bF9kZXZpY2UgKnFkZXYpCiB7CiAJaWYgKHFkZXYtPmN1cnJlbnRfcmVsZWFzZV9ib1swXSkK IAkJcXhsX2JvX3VucmVmKCZxZGV2LT5jdXJyZW50X3JlbGVhc2VfYm9bMF0pOwpAQCAtMzAwLDM5 ICszMDAsMyBAQCB2b2lkIHF4bF9kcml2ZXJfdW5sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJa2ZyZWUocWRldik7CiAJZGV2LT5kZXZfcHJpdmF0ZSA9IE5VTEw7CiB9Ci0KLWludCBxeGxf ZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykK LXsKLQlzdHJ1Y3QgcXhsX2RldmljZSAqcWRldjsKLQlpbnQgcjsKLQotCXFkZXYgPSBremFsbG9j KHNpemVvZihzdHJ1Y3QgcXhsX2RldmljZSksIEdGUF9LRVJORUwpOwotCWlmIChxZGV2ID09IE5V TEwpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JZGV2LT5kZXZfcHJpdmF0ZSA9IHFkZXY7Ci0KLQly ID0gcXhsX2RldmljZV9pbml0KHFkZXYsIGRldiwgZGV2LT5wZGV2LCBmbGFncyk7Ci0JaWYgKHIp Ci0JCWdvdG8gb3V0OwotCi0JciA9IGRybV92YmxhbmtfaW5pdChkZXYsIDEpOwotCWlmIChyKQot CQlnb3RvIHVubG9hZDsKLQotCXIgPSBxeGxfbW9kZXNldF9pbml0KHFkZXYpOwotCWlmIChyKQot CQlnb3RvIHVubG9hZDsKLQotCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChxZGV2LT5kZGV2KTsK LQotCXJldHVybiAwOwotdW5sb2FkOgotCXF4bF9kcml2ZXJfdW5sb2FkKGRldik7Ci0KLW91dDoK LQlrZnJlZShxZGV2KTsKLQlyZXR1cm4gcjsKLX0KLQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcXhsL3F4bF90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCmluZGV4 IDFiMDk2YzUyNTJhZC4uYmMxYzg5NmJjNWUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cXhsL3F4bF90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYwpAQCAtMzUs NyArMzUsNiBAQAogI2luY2x1ZGUgInF4bF9vYmplY3QuaCIKIAogI2luY2x1ZGUgPGxpbnV4L2Rl bGF5Lmg+Ci1zdGF0aWMgaW50IHF4bF90dG1fZGVidWdmc19pbml0KHN0cnVjdCBxeGxfZGV2aWNl ICpxZGV2KTsKIAogc3RhdGljIHN0cnVjdCBxeGxfZGV2aWNlICpxeGxfZ2V0X3FkZXYoc3RydWN0 IHR0bV9ib19kZXZpY2UgKmJkZXYpCiB7CkBAIC00MzYsMTEgKzQzNSw2IEBAIGludCBxeGxfdHRt X2luaXQoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCiAJCSAoKHVuc2lnbmVkKW51bV9pb19wYWdl cyAqIFBBR0VfU0laRSkgLyAoMTAyNCAqIDEwMjQpKTsKIAlEUk1fSU5GTygicXhsOiAldU0gb2Yg U3VyZmFjZSBtZW1vcnkgc2l6ZVxuIiwKIAkJICh1bnNpZ25lZClxZGV2LT5zdXJmYWNlcmFtX3Np emUgLyAoMTAyNCAqIDEwMjQpKTsKLQlyID0gcXhsX3R0bV9kZWJ1Z2ZzX2luaXQocWRldik7Ci0J aWYgKHIpIHsKLQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdCBkZWJ1Z2ZzXG4iKTsKLQkJcmV0 dXJuIHI7Ci0JfQogCXJldHVybiAwOwogfQogCkBAIC00NzMsNyArNDY3LDcgQEAgc3RhdGljIGlu dCBxeGxfbW1fZHVtcF90YWJsZShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiB9CiAj ZW5kaWYKIAotc3RhdGljIGludCBxeGxfdHRtX2RlYnVnZnNfaW5pdChzdHJ1Y3QgcXhsX2Rldmlj ZSAqcWRldikKK2ludCBxeGxfdHRtX2RlYnVnZnNfaW5pdChzdHJ1Y3QgcXhsX2RldmljZSAqcWRl dikKIHsKICNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykKIAlzdGF0aWMgc3RydWN0IGRybV9p bmZvX2xpc3QgcXhsX21lbV90eXBlc19saXN0W1FYTF9ERUJVR0ZTX01FTV9UWVBFU107Ci0tIAoy LjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=