From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [RFC 8/9] HACK: drm/msm/mdp5: Add support for legacy cursor updates Date: Mon, 19 Dec 2016 17:38:57 +0530 Message-ID: <1482149338-586-9-git-send-email-architt@codeaurora.org> References: <1482149338-586-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1482149338-586-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org VGhpcyBjb2RlIGhhcyBiZWVuIG1vcmUgb3IgbGVzcyBwaWNrZWQgdXAgZnJvbSB0aGUgdmM0IGFu ZCBpbnRlbAppbXBsZW1lbnRhdGlvbnMgb2YgdXBkYXRlX3BsYW5lKCkgZnVuY3MgZm9yIGN1cnNv ciBwbGFuZXMuCgpUaGUgdXBkYXRlX3BsYW5lKCkgZnVuYyBpcyB1c3VhbGx5IHRoZSBkcm1fYXRv bWljX2hlbHBlcl91cGRhdGVfcGxhbmUKZnVuYyB0aGF0IHdpbGwgaXNzdWUgYW4gYXRvbWljIGNv bW1pdCB3aXRoIHRoZSBwbGFuZSB1cGRhdGVzLiBTdWNoCmNvbW1pdHMgYXJlIG5vdCBpbnRlbmRl ZCB0byBiZSBkb25lIGZhc3RlciB0aGFuIHRoZSB2c3luYyByYXRlLgoKVGhlIGxlZ2FjeSBjdXJz b3IgdXNlcnNwYWNlIEFQSSwgb24gdGhlIG90aGVyIGhhbmQsIGV4cGVjdHMgdGhlIGtlcm5lbAp0 byBoYW5kbGUgY3Vyc29yIHVwZGF0ZXMgaW1tZWRpYXRlbHkuCgpDcmVhdGUgYSBmYXN0IHBhdGgg aW4gdXBkYXRlX3BsYW5lLCB3aGljaCB1cGRhdGVzIHRoZSBjdXJzb3IgcmVnaXN0ZXJzCmFuZCBm bHVzaGVzIHRoZSBjb25maWd1cmF0aW9uLiBUaGUgZmFzdCBwYXRoIGlzIHRha2VuIHdoZW4gdGhl cmUgaXMgb25seQphIGNoYW5nZSBpbiB0aGUgY3Vyc29yJ3MgcG9zaXRpb24gaW4gdGhlIGNydGMs IG9yIGEgY2hhbmdlIGluIHRoZQpjdXJzb3IncyBjcm9wIGNvLW9yZGluYXRlcy4gRm9yIGFueXRo aW5nIGVsc2UsIHdlIGdvIHZpYSB0aGUgc2xvdyBwYXRoLgoKV2UgdGFrZSB0aGUgc2xvdyBwYXRo IGV2ZW4gd2hlbmV2ZXIgdGhlIGZiIGNoYW5nZXMsIGFuZCBldmVuIHdoZW4gdGhlcmUKaXMgY3Vy cmVudGx5IG5vIGZiIHRpZWQgdG8gdGhlIHBsYW5lLiBUaGlzIHNob3VsZCBob3BlZnVsbHkgZW5z dXJlIHRoYXQKd2UgYWx3YXlzIHRha2UgYSBzbG93IHBhdGggZm9yIGV2ZXJ5IG5ldyBmYi4gVGhl IHNsb3cgcGF0aCB3aWxsIGVuc3VyZQp0aGF0IHRoZSBmYiBpcyBwcmVwYXJlZC9waW5uZWQgZXRj LgoKQ2M6IApTaWduZWQtb2ZmLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEu b3JnPgotLS0KLSBEb24ndCBrbm93IHdoYXQgdG8gZG8gZm9yIGxvY2tpbmcgaGVyZSA6LwoKIGRy aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMgIHwgICA3ICsrCiBkcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmggICB8ICAgMSArCiBkcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYyB8IDEwOSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTE0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKaW5kZXggODRmY2I2 ZS4uZDBjOGIzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jCkBA IC03NzgsNiArNzc4LDEzIEBAIHZvaWQgbWRwNV9jcnRjX3NldF9waXBlbGluZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJbWRwNV9jdGxfc2V0X3BpcGVsaW5lKGN0bCwgaW50ZiwgbG0pOwogfQog CitzdHJ1Y3QgbWRwNV9jdGwgKm1kcDVfY3J0Y19nZXRfY3RsKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKK3sKKwlzdHJ1Y3QgbWRwNV9jcnRjICptZHA1X2NydGMgPSB0b19tZHA1X2NydGMoY3J0Yyk7 CisKKwlyZXR1cm4gbWRwNV9jcnRjLT5jdGw7Cit9CisKIGludCBtZHA1X2NydGNfZ2V0X2xtKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgbWRwNV9jcnRjICptZHA1X2NydGMgPSB0 b19tZHA1X2NydGMoY3J0Yyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmgK aW5kZXggNWJlNTBjNy4uZDNiNzI4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwNS9tZHA1X2ttcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9rbXMuaApAQCAtMjUwLDYgKzI1MCw3IEBAIHZvaWQgbWRwNV9wbGFuZV9jb21wbGV0ZV9jb21t aXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiBzdHJ1Y3QgZHJtX3BsYW5lICptZHA1X3BsYW5l X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIGVudW0gZHJtX3BsYW5lX3R5cGUg dHlwZSk7CiAKK3N0cnVjdCBtZHA1X2N0bCAqbWRwNV9jcnRjX2dldF9jdGwoc3RydWN0IGRybV9j cnRjICpjcnRjKTsKIHVpbnQzMl90IG1kcDVfY3J0Y192Ymxhbmsoc3RydWN0IGRybV9jcnRjICpj cnRjKTsKIAogaW50IG1kcDVfY3J0Y19nZXRfbG0oc3RydWN0IGRybV9jcnRjICpjcnRjKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKaW5kZXggMTA3YmIzYS4uNzI4 ZGFkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5l LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKQEAgLTMx LDYgKzMxLDE0IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwKIAkJc3RydWN0IGRybV9yZWN0ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZGVzdCk7 CiAKK3N0YXRpYyBpbnQgbWRwNV91cGRhdGVfY3Vyc29yX3BsYW5lX2xlZ2FjeShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKKwkJc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQlzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiwKKwkJaW50IGNydGNfeCwgaW50IGNydGNfeSwKKwkJdW5zaWduZWQgaW50 IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKKwkJdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90 IHNyY195LAorCQl1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpOworCiBzdGF0aWMgdm9p ZCBzZXRfc2Nhbm91dF9sb2NrZWQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiKTsKIApAQCAtMjQ2LDYgKzI1NCwxOSBAQCBzdGF0aWMgdm9pZCBt ZHA1X3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCS5hdG9t aWNfcHJpbnRfc3RhdGUgPSBtZHA1X3BsYW5lX2F0b21pY19wcmludF9zdGF0ZSwKIH07CiAKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIG1kcDVfY3Vyc29yX3BsYW5lX2Z1bmNz ID0geworCQkudXBkYXRlX3BsYW5lID0gbWRwNV91cGRhdGVfY3Vyc29yX3BsYW5lX2xlZ2FjeSwK KwkJLmRpc2FibGVfcGxhbmUgPSBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX3BsYW5lLAorCQku ZGVzdHJveSA9IG1kcDVfcGxhbmVfZGVzdHJveSwKKwkJLnNldF9wcm9wZXJ0eSA9IGRybV9hdG9t aWNfaGVscGVyX3BsYW5lX3NldF9wcm9wZXJ0eSwKKwkJLmF0b21pY19zZXRfcHJvcGVydHkgPSBt ZHA1X3BsYW5lX2F0b21pY19zZXRfcHJvcGVydHksCisJCS5hdG9taWNfZ2V0X3Byb3BlcnR5ID0g bWRwNV9wbGFuZV9hdG9taWNfZ2V0X3Byb3BlcnR5LAorCQkucmVzZXQgPSBtZHA1X3BsYW5lX3Jl c2V0LAorCQkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IG1kcDVfcGxhbmVfZHVwbGljYXRlX3N0 YXRlLAorCQkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBtZHA1X3BsYW5lX2Rlc3Ryb3lfc3RhdGUs CisJCS5hdG9taWNfcHJpbnRfc3RhdGUgPSBtZHA1X3BsYW5lX2F0b21pY19wcmludF9zdGF0ZSwK K307CisKIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAogCQkJCSBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCiB7CkBAIC04 NzMsNiArODk0LDgxIEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IG1kcDVfdXBkYXRl X2N1cnNvcl9wbGFuZV9sZWdhY3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJaW50IGNydGNf eCwgaW50IGNydGNfeSwKKwkJCXVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRj X2gsCisJCQl1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCisJCQl1aW50MzJfdCBzcmNf dywgdWludDMyX3Qgc3JjX2gpCit7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUsICpuZXdfcGxhbmVfc3RhdGU7CisJc3RydWN0IG1kcDVfcGxhbmVfc3RhdGUgKm1kcDVfcHN0 YXRlOworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IGNydGMtPnN0YXRlOwor CWludCByZXQ7CisKKwlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSB8fCBkcm1fYXRvbWljX2NydGNf bmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkKKwkJZ290byBzbG93OworCisJcGxhbmVfc3RhdGUg PSBwbGFuZS0+c3RhdGU7CisJbWRwNV9wc3RhdGUgPSB0b19tZHA1X3BsYW5lX3N0YXRlKHBsYW5l X3N0YXRlKTsKKworCS8qIGRvbid0IHVzZSBmYXN0IHBhdGggaWYgd2UgZG9uJ3QgaGF2ZSBhIGh3 cGlwZSBhbGxvY2F0ZWQgeWV0ICovCisJaWYgKCFtZHA1X3BzdGF0ZS0+aHdwaXBlKQorCQlnb3Rv IHNsb3c7CisKKwkvKiBvbmx5IGFsbG93IGNoYW5naW5nIG9mIHBvc2l0aW9uKGNydGMgeC95IG9y IHNyYyB4L3kpIGluIGZhc3QgcGF0aCAqLworCWlmIChwbGFuZV9zdGF0ZS0+Y3J0YyAhPSBjcnRj IHx8CisJICAgIHBsYW5lX3N0YXRlLT5zcmNfdyAhPSBzcmNfdyB8fAorCSAgICBwbGFuZV9zdGF0 ZS0+c3JjX2ggIT0gc3JjX2ggfHwKKwkgICAgcGxhbmVfc3RhdGUtPmNydGNfdyAhPSBjcnRjX3cg fHwKKwkgICAgcGxhbmVfc3RhdGUtPmNydGNfaCAhPSBjcnRjX2ggfHwKKwkgICAgIXBsYW5lX3N0 YXRlLT5mYiB8fAorCSAgICBwbGFuZV9zdGF0ZS0+ZmIgIT0gZmIpCisJCWdvdG8gc2xvdzsKKwor CW5ld19wbGFuZV9zdGF0ZSA9IG1kcDVfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHBsYW5lKTsKKwlp ZiAoIW5ld19wbGFuZV9zdGF0ZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwluZXdfcGxhbmVfc3Rh dGUtPnNyY194ID0gc3JjX3g7CisJbmV3X3BsYW5lX3N0YXRlLT5zcmNfeSA9IHNyY195OworCW5l d19wbGFuZV9zdGF0ZS0+c3JjX3cgPSBzcmNfdzsKKwluZXdfcGxhbmVfc3RhdGUtPnNyY19oID0g c3JjX2g7CisJbmV3X3BsYW5lX3N0YXRlLT5jcnRjX3ggPSBjcnRjX3g7CisJbmV3X3BsYW5lX3N0 YXRlLT5jcnRjX3kgPSBjcnRjX3k7CisJbmV3X3BsYW5lX3N0YXRlLT5jcnRjX3cgPSBjcnRjX3c7 CisJbmV3X3BsYW5lX3N0YXRlLT5jcnRjX2ggPSBjcnRjX2g7CisKKwlyZXQgPSBtZHA1X3BsYW5l X2F0b21pY19jaGVja193aXRoX3N0YXRlKGNydGNfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7CisJ aWYgKHJldCkKKwkJZ290byBzbG93X2ZyZWU7CisKKwlpZiAobmV3X3BsYW5lX3N0YXRlLT52aXNp YmxlKSB7CisJCXN0cnVjdCBtZHA1X2N0bCAqY3RsOworCisJCXJldCA9IG1kcDVfcGxhbmVfbW9k ZV9zZXQocGxhbmUsIGNydGMsIGZiLAorCQkJCQkgICZuZXdfcGxhbmVfc3RhdGUtPnNyYywKKwkJ CQkJICAmbmV3X3BsYW5lX3N0YXRlLT5kc3QpOworCQlXQVJOX09OKHJldCA8IDApOworCisJCWN0 bCA9IG1kcDVfY3J0Y19nZXRfY3RsKGNydGMpOworCisJCW1kcDVfY3RsX2NvbW1pdChjdGwsIG1k cDVfcGxhbmVfZ2V0X2ZsdXNoKHBsYW5lKSk7CisJfQorCisJKnRvX21kcDVfcGxhbmVfc3RhdGUo cGxhbmVfc3RhdGUpID0gKnRvX21kcDVfcGxhbmVfc3RhdGUobmV3X3BsYW5lX3N0YXRlKTsKKwor CW1kcDVfcGxhbmVfZGVzdHJveV9zdGF0ZShwbGFuZSwgbmV3X3BsYW5lX3N0YXRlKTsKKworCXJl dHVybiAwOworc2xvd19mcmVlOgorCW1kcDVfcGxhbmVfZGVzdHJveV9zdGF0ZShwbGFuZSwgbmV3 X3BsYW5lX3N0YXRlKTsKK3Nsb3c6CisJcmV0dXJuIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9w bGFuZShwbGFuZSwgY3J0YywgZmIsCisJCQkJCSAgICAgIGNydGNfeCwgY3J0Y195LCBjcnRjX3cs IGNydGNfaCwKKwkJCQkJICAgICAgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gpOworfQorCiBl bnVtIG1kcDVfcGlwZSBtZHA1X3BsYW5lX3BpcGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7 CiAJc3RydWN0IG1kcDVfcGxhbmVfc3RhdGUgKnBzdGF0ZSA9IHRvX21kcDVfcGxhbmVfc3RhdGUo cGxhbmUtPnN0YXRlKTsKQEAgLTkyMCw5ICsxMDE2LDE2IEBAIHN0cnVjdCBkcm1fcGxhbmUgKm1k cDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIGRybV9wbGFuZV90eXBl IHR5CiAJbWRwNV9wbGFuZS0+bmZvcm1hdHMgPSBtZHBfZ2V0X2Zvcm1hdHMobWRwNV9wbGFuZS0+ Zm9ybWF0cywKIAkJQVJSQVlfU0laRShtZHA1X3BsYW5lLT5mb3JtYXRzKSwgZmFsc2UpOwogCi0J cmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIDB4ZmYsICZtZHA1X3Bs YW5lX2Z1bmNzLAotCQkJCSBtZHA1X3BsYW5lLT5mb3JtYXRzLCBtZHA1X3BsYW5lLT5uZm9ybWF0 cywKLQkJCQkgdHlwZSwgTlVMTCk7CisJaWYgKHR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09S KQorCQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwKKwkJ CQkmbWRwNV9jdXJzb3JfcGxhbmVfZnVuY3MsCisJCQkJbWRwNV9wbGFuZS0+Zm9ybWF0cywgbWRw NV9wbGFuZS0+bmZvcm1hdHMsCisJCQkJdHlwZSwgTlVMTCk7CisJZWxzZQorCQlyZXQgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwKKwkJCQkmbWRwNV9wbGFuZV9m dW5jcywKKwkJCQltZHA1X3BsYW5lLT5mb3JtYXRzLCBtZHA1X3BsYW5lLT5uZm9ybWF0cywKKwkJ CQl0eXBlLCBOVUxMKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAKLS0gClRoZSBRdWFsY29t bSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEg Rm9ydW0sCmhvc3RlZCBieSBUaGUgTGludXggRm91bmRhdGlvbgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==