From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v2 8/8] HACK: drm/msm/mdp5: Add support for legacy cursor updates Date: Tue, 17 Jan 2017 10:15:12 +0530 Message-ID: <20170117044512.22934-9-architt@codeaurora.org> References: <1482149338-586-1-git-send-email-architt@codeaurora.org> <20170117044512.22934-1-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170117044512.22934-1-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 IGV2ZW4gd2hlbiB0aGUgZmIgY2hhbmdlcywgYW5kIHdoZW4gdGhlcmUgaXMKY3VycmVudGx5IG5v IGZiIHRpZWQgdG8gdGhlIHBsYW5lLiBUaGlzIHNob3VsZCBob3BlZnVsbHkgZW5zdXJlIHRoYXQg d2UKYWx3YXlzIHRha2UgYSBzbG93IHBhdGggZm9yIGV2ZXJ5IG5ldyBmYi4gVGhpcyBpbiB0dXJu IHNob3VsZCBlbnN1cmUgdGhhdAp0aGUgZmIgaXMgcGlubmVkL3ByZXBhcmVkLgoKU2lnbmVkLW9m Zi1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jICB8ICAgNyArKwogZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgfCAxMTAgKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCiAzIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jCmluZGV4IDg0ZmNiNmUzYTE3 Ni4uZDBjOGIzOGI5NmNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRj LmMKQEAgLTc3OCw2ICs3NzgsMTMgQEAgdm9pZCBtZHA1X2NydGNfc2V0X3BpcGVsaW5lKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAltZHA1X2N0bF9zZXRfcGlwZWxpbmUoY3RsLCBpbnRmLCBsbSk7 CiB9CiAKK3N0cnVjdCBtZHA1X2N0bCAqbWRwNV9jcnRjX2dldF9jdGwoc3RydWN0IGRybV9jcnRj ICpjcnRjKQoreworCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0YyA9IHRvX21kcDVfY3J0Yyhj cnRjKTsKKworCXJldHVybiBtZHA1X2NydGMtPmN0bDsKK30KKwogaW50IG1kcDVfY3J0Y19nZXRf bG0oc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0 YyA9IHRvX21kcDVfY3J0YyhjcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDUvbWRwNV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9r bXMuaAppbmRleCAwMzk2ZThhZGI2OTMuLjlkZTQ3MTE5MWViYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9rbXMuaApAQCAtMjQ2LDYgKzI0Niw3IEBAIGVudW0gbWRwNV9waXBl IG1kcDVfcGxhbmVfcGlwZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7CiBzdHJ1Y3QgZHJtX3Bs YW5lICptZHA1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIGVudW0g ZHJtX3BsYW5lX3R5cGUgdHlwZSk7CiAKK3N0cnVjdCBtZHA1X2N0bCAqbWRwNV9jcnRjX2dldF9j dGwoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHVpbnQzMl90IG1kcDVfY3J0Y192Ymxhbmsoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKIAogaW50IG1kcDVfY3J0Y19nZXRfbG0oc3RydWN0IGRybV9j cnRjICpjcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKaW5k ZXggNTA0MjAxYjcxMGQ5Li4wZmZiOGFmZmVmMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9wbGFuZS5jCkBAIC0zMSw2ICszMSwxNCBAQCBzdGF0aWMgaW50IG1kcDVfcGxh bmVfbW9kZV9zZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCXN0cnVjdCBkcm1fY3J0YyAq Y3J0Yywgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCXN0cnVjdCBkcm1fcmVjdCAqc3Jj LCBzdHJ1Y3QgZHJtX3JlY3QgKmRlc3QpOwogCitzdGF0aWMgaW50IG1kcDVfdXBkYXRlX2N1cnNv cl9wbGFuZV9sZWdhY3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKKwkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCisJCWludCBjcnRjX3gsIGlu dCBjcnRjX3ksCisJCXVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRjX2gsCisJ CXVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKKwkJdWludDMyX3Qgc3JjX3csIHVpbnQz Ml90IHNyY19oKTsKKwogc3RhdGljIHZvaWQgc2V0X3NjYW5vdXRfbG9ja2VkKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7CiAKQEAgLTI0Myw2 ICsyNTEsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgbWRwNV9wbGFu ZV9mdW5jcyA9IHsKIAkJLmF0b21pY19wcmludF9zdGF0ZSA9IG1kcDVfcGxhbmVfYXRvbWljX3By aW50X3N0YXRlLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgbWRw NV9jdXJzb3JfcGxhbmVfZnVuY3MgPSB7CisJCS51cGRhdGVfcGxhbmUgPSBtZHA1X3VwZGF0ZV9j dXJzb3JfcGxhbmVfbGVnYWN5LAorCQkuZGlzYWJsZV9wbGFuZSA9IGRybV9hdG9taWNfaGVscGVy X2Rpc2FibGVfcGxhbmUsCisJCS5kZXN0cm95ID0gbWRwNV9wbGFuZV9kZXN0cm95LAorCQkuc2V0 X3Byb3BlcnR5ID0gZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfc2V0X3Byb3BlcnR5LAorCQkuYXRv bWljX3NldF9wcm9wZXJ0eSA9IG1kcDVfcGxhbmVfYXRvbWljX3NldF9wcm9wZXJ0eSwKKwkJLmF0 b21pY19nZXRfcHJvcGVydHkgPSBtZHA1X3BsYW5lX2F0b21pY19nZXRfcHJvcGVydHksCisJCS5y ZXNldCA9IG1kcDVfcGxhbmVfcmVzZXQsCisJCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gbWRw NV9wbGFuZV9kdXBsaWNhdGVfc3RhdGUsCisJCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IG1kcDVf cGxhbmVfZGVzdHJveV9zdGF0ZSwKKwkJLmF0b21pY19wcmludF9zdGF0ZSA9IG1kcDVfcGxhbmVf YXRvbWljX3ByaW50X3N0YXRlLAorfTsKKwogc3RhdGljIGludCBtZHA1X3BsYW5lX3ByZXBhcmVf ZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg Km5ld19zdGF0ZSkKIHsKQEAgLTg2MCw2ICs4ODEsODIgQEAgc3RhdGljIGludCBtZHA1X3BsYW5l X21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXJldHVybiByZXQ7CiB9CiAKK3N0 YXRpYyBpbnQgbWRwNV91cGRhdGVfY3Vyc29yX3BsYW5lX2xlZ2FjeShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKKwkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIsCisJCQlpbnQgY3J0Y194LCBpbnQgY3J0Y195LAorCQkJdW5zaWduZWQgaW50IGNydGNf dywgdW5zaWduZWQgaW50IGNydGNfaCwKKwkJCXVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNf eSwKKwkJCXVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCkKK3sKKwlzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwgKm5ld19wbGFuZV9zdGF0ZTsKKwlzdHJ1Y3QgbWRwNV9w bGFuZV9zdGF0ZSAqbWRwNV9wc3RhdGU7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlID0gY3J0Yy0+c3RhdGU7CisJaW50IHJldDsKKworCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZl IHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQorCQlnb3RvIHNs b3c7CisKKwlwbGFuZV9zdGF0ZSA9IHBsYW5lLT5zdGF0ZTsKKwltZHA1X3BzdGF0ZSA9IHRvX21k cDVfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpOworCisJLyogZG9uJ3QgdXNlIGZhc3QgcGF0aCBp ZiB3ZSBkb24ndCBoYXZlIGEgaHdwaXBlIGFsbG9jYXRlZCB5ZXQgKi8KKwlpZiAoIW1kcDVfcHN0 YXRlLT5od3BpcGUpCisJCWdvdG8gc2xvdzsKKworCS8qIG9ubHkgYWxsb3cgY2hhbmdpbmcgb2Yg cG9zaXRpb24oY3J0YyB4L3kgb3Igc3JjIHgveSkgaW4gZmFzdCBwYXRoICovCisJaWYgKHBsYW5l X3N0YXRlLT5jcnRjICE9IGNydGMgfHwKKwkgICAgcGxhbmVfc3RhdGUtPnNyY193ICE9IHNyY193 IHx8CisJICAgIHBsYW5lX3N0YXRlLT5zcmNfaCAhPSBzcmNfaCB8fAorCSAgICBwbGFuZV9zdGF0 ZS0+Y3J0Y193ICE9IGNydGNfdyB8fAorCSAgICBwbGFuZV9zdGF0ZS0+Y3J0Y19oICE9IGNydGNf aCB8fAorCSAgICAhcGxhbmVfc3RhdGUtPmZiIHx8CisJICAgIHBsYW5lX3N0YXRlLT5mYiAhPSBm YikKKwkJZ290byBzbG93OworCisJbmV3X3BsYW5lX3N0YXRlID0gbWRwNV9wbGFuZV9kdXBsaWNh dGVfc3RhdGUocGxhbmUpOworCWlmICghbmV3X3BsYW5lX3N0YXRlKQorCQlyZXR1cm4gLUVOT01F TTsKKworCW5ld19wbGFuZV9zdGF0ZS0+c3JjX3ggPSBzcmNfeDsKKwluZXdfcGxhbmVfc3RhdGUt PnNyY195ID0gc3JjX3k7CisJbmV3X3BsYW5lX3N0YXRlLT5zcmNfdyA9IHNyY193OworCW5ld19w bGFuZV9zdGF0ZS0+c3JjX2ggPSBzcmNfaDsKKwluZXdfcGxhbmVfc3RhdGUtPmNydGNfeCA9IGNy dGNfeDsKKwluZXdfcGxhbmVfc3RhdGUtPmNydGNfeSA9IGNydGNfeTsKKwluZXdfcGxhbmVfc3Rh dGUtPmNydGNfdyA9IGNydGNfdzsKKwluZXdfcGxhbmVfc3RhdGUtPmNydGNfaCA9IGNydGNfaDsK KworCXJldCA9IG1kcDVfcGxhbmVfYXRvbWljX2NoZWNrX3dpdGhfc3RhdGUoY3J0Y19zdGF0ZSwg bmV3X3BsYW5lX3N0YXRlKTsKKwlpZiAocmV0KQorCQlnb3RvIHNsb3dfZnJlZTsKKworCWlmIChu ZXdfcGxhbmVfc3RhdGUtPnZpc2libGUpIHsKKwkJc3RydWN0IG1kcDVfY3RsICpjdGw7CisKKwkJ cmV0ID0gbWRwNV9wbGFuZV9tb2RlX3NldChwbGFuZSwgY3J0YywgZmIsCisJCQkJCSAgJm5ld19w bGFuZV9zdGF0ZS0+c3JjLAorCQkJCQkgICZuZXdfcGxhbmVfc3RhdGUtPmRzdCk7CisJCVdBUk5f T04ocmV0IDwgMCk7CisKKwkJY3RsID0gbWRwNV9jcnRjX2dldF9jdGwoY3J0Yyk7CisKKwkJbWRw NV9jdGxfY29tbWl0KGN0bCwgbWRwNV9wbGFuZV9nZXRfZmx1c2gocGxhbmUpKTsKKwl9CisKKwkq dG9fbWRwNV9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSkgPQorCQkqdG9fbWRwNV9wbGFuZV9zdGF0 ZShuZXdfcGxhbmVfc3RhdGUpOworCisJbWRwNV9wbGFuZV9kZXN0cm95X3N0YXRlKHBsYW5lLCBu ZXdfcGxhbmVfc3RhdGUpOworCisJcmV0dXJuIDA7CitzbG93X2ZyZWU6CisJbWRwNV9wbGFuZV9k ZXN0cm95X3N0YXRlKHBsYW5lLCBuZXdfcGxhbmVfc3RhdGUpOworc2xvdzoKKwlyZXR1cm4gZHJt X2F0b21pY19oZWxwZXJfdXBkYXRlX3BsYW5lKHBsYW5lLCBjcnRjLCBmYiwKKwkJCQkJICAgICAg Y3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAorCQkJCQkgICAgICBzcmNfeCwgc3JjX3ks IHNyY193LCBzcmNfaCk7Cit9CisKIGVudW0gbWRwNV9waXBlIG1kcDVfcGxhbmVfcGlwZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKIAlzdHJ1Y3QgbWRwNV9wbGFuZV9zdGF0ZSAqcHN0YXRl ID0gdG9fbWRwNV9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOwpAQCAtODk5LDkgKzk5NiwxNiBA QCBzdHJ1Y3QgZHJtX3BsYW5lICptZHA1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAltZHA1X3BsYW5lLT5uZm9ybWF0cyA9IG1kcF9nZXRfZm9ybWF0cyhtZHA1X3BsYW5lLT5m b3JtYXRzLAogCQlBUlJBWV9TSVpFKG1kcDVfcGxhbmUtPmZvcm1hdHMpLCBmYWxzZSk7CiAKLQly ZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwgJm1kcDVfcGxh bmVfZnVuY3MsCi0JCQkJIG1kcDVfcGxhbmUtPmZvcm1hdHMsIG1kcDVfcGxhbmUtPm5mb3JtYXRz LAotCQkJCSB0eXBlLCBOVUxMKTsKKwlpZiAodHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1Ip CisJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZmLAorCQkJ CSZtZHA1X2N1cnNvcl9wbGFuZV9mdW5jcywKKwkJCQltZHA1X3BsYW5lLT5mb3JtYXRzLCBtZHA1 X3BsYW5lLT5uZm9ybWF0cywKKwkJCQl0eXBlLCBOVUxMKTsKKwllbHNlCisJCXJldCA9IGRybV91 bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZmLAorCQkJCSZtZHA1X3BsYW5lX2Z1 bmNzLAorCQkJCW1kcDVfcGxhbmUtPmZvcm1hdHMsIG1kcDVfcGxhbmUtPm5mb3JtYXRzLAorCQkJ CXR5cGUsIE5VTEwpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIAotLSAKVGhlIFF1YWxjb21t IElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBG b3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK