From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Behling Subject: [PATCH v2] drm/msm/display: negative x/y in cursor move Date: Tue, 17 Jul 2018 01:03:11 +0200 Message-ID: <20180716230314.3527-1-carsten.behling@gmail.com> References: <201807170504.KBRX6Bew%fengguang.wu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201807170504.KBRX6Bew%fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" Cc: Archit Taneja , Carsten Behling , Steve Kowalik , David Airlie , Daniel Vetter , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Maarten Lankhorst , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Rob Clark , Sean Paul , Viresh Kumar , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org bW9kZXNldHRpbmcgWDExIGRyaXZlciBtYXkgcHJvdmlkZSBuZWdhdGl2ZSB4L3kgY29yZGluYXRl cyBpbgptZHA1X2NydGNfY3Vyc29yX21vdmUgY2FsbCB3aGVuIHJvdGF0aW9uIGlzIGVuYWJsZWQu CgpDdXJzb3IgYnVmZmVyIGNhbiBvdmVybGFwIGRvd24gdG8gaXRzIG5lZ2F0aXZlIHdpZHRoL2hl aWdodC4KClJPSSBoYXMgdG8gYmUgcmVjYWxjdWxhdGVkIGZvciBuZWdhdGl2ZSB4L3kgaW5kaWNh dGluZyB1c2luZyB0aGUKbG93ZXIvcmlnaHQgY29ybmVyIG9mIHRoZSBjdXJzb3IgYnVmZmVyIGFu ZCBob3RzcG90IG11c3QgYmUgc2V0CmluIE1EUDVfTE1fQ1VSU09SX1hZX1NSQ19ZIE1EUDVfTE1f Q1VSU09SX1hZX1NSQ19YLgoKU2lnbmVkLW9mZi1ieTogQ2Fyc3RlbiBCZWhsaW5nIDxjYXJzdGVu LmJlaGxpbmdAZ21haWwuY29tPgotLS0KQ2hhbmdlcyBpbiB2MjoKLSBmaXhlZCBmb3JtYXQgc3Bl Y2lmaWVyIGluIGRlYnVnIG1lc3NhZ2UKCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9t ZHA1X2NydGMuYyB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL21kcDUvbWRwNV9jcnRjLmMKaW5kZXggMTAyNzEzNTk3ODllLi5hN2Y0YTY2ODhm ZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jCkBAIC02NSw3 ICs2NSw3IEBAIHN0cnVjdCBtZHA1X2NydGMgewogCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnNj YW5vdXRfYm87CiAJCXVpbnQ2NF90IGlvdmE7CiAJCXVpbnQzMl90IHdpZHRoLCBoZWlnaHQ7Ci0J CXVpbnQzMl90IHgsIHk7CisJCWludCB4LCB5OwogCX0gY3Vyc29yOwogfTsKICNkZWZpbmUgdG9f bWRwNV9jcnRjKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgbWRwNV9jcnRjLCBiYXNlKQpAQCAt NzYwLDIwICs3NjAsMzEgQEAgc3RhdGljIHZvaWQgZ2V0X3JvaShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsIHVpbnQzMl90ICpyb2lfdywgdWludDMyX3QgKnJvaV9oKQogCSAqIEN1cnNvciBSZWdpb24g T2YgSW50ZXJlc3QgKFJPSSkgaXMgYSBwbGFuZSByZWFkIGZyb20gY3Vyc29yCiAJICogYnVmZmVy IHRvIHJlbmRlci4gVGhlIFJPSSByZWdpb24gaXMgZGV0ZXJtaW5lZCBieSB0aGUgdmlzaWJpbGl0 eSBvZgogCSAqIHRoZSBjdXJzb3IgcG9pbnQuIEluIHRoZSBkZWZhdWx0IEN1cnNvciBpbWFnZSB0 aGUgY3Vyc29yIHBvaW50IHdpbGwKLQkgKiBiZSBhdCB0aGUgdG9wIGxlZnQgb2YgdGhlIGN1cnNv ciBpbWFnZSwgdW5sZXNzIGl0IGlzIHNwZWNpZmllZAotCSAqIG90aGVyd2lzZSB1c2luZyBob3Rz cG90IGZlYXR1cmUuCisJICogYmUgYXQgdGhlIHRvcCBsZWZ0IG9mIHRoZSBjdXJzb3IgaW1hZ2Uu CiAJICoKKwkgKiBXaXRob3V0IHJvdGF0aW9uOgogCSAqIElmIHRoZSBjdXJzb3IgcG9pbnQgcmVh Y2hlcyB0aGUgcmlnaHQgKHhyZXMgLSB4IDwgY3Vyc29yLndpZHRoKSBvcgogCSAqIGJvdHRvbSAo eXJlcyAtIHkgPCBjdXJzb3IuaGVpZ2h0KSBib3VuZGFyeSBvZiB0aGUgc2NyZWVuLCB0aGVuIFJP SQogCSAqIHdpZHRoIGFuZCBST0kgaGVpZ2h0IG5lZWQgdG8gYmUgZXZhbHVhdGVkIHRvIGNyb3Ag dGhlIGN1cnNvciBpbWFnZQogCSAqIGFjY29yZGluZ2x5LgogCSAqICh4cmVzLXgpIHdpbGwgYmUg bmV3IGN1cnNvciB3aWR0aCB3aGVuIHggPiAoeHJlcyAtIGN1cnNvci53aWR0aCkKIAkgKiAoeXJl cy15KSB3aWxsIGJlIG5ldyBjdXJzb3IgaGVpZ2h0IHdoZW4geSA+ICh5cmVzIC0gY3Vyc29yLmhl aWdodCkKKwkgKgorCSAqIFdpdGggcm90YXRpb246CisJICogV2UgZ2V0IG5lZ2F0aXZlIHggYW5k L29yIHkgY29vcmRpbmF0ZXMuCisJICogKGN1cnNvci53aWR0aCAtIGFicyh4KSkgd2lsbCBiZSBu ZXcgY3Vyc29yIHdpZHRoIHdoZW4geCA8IDAKKwkgKiAoY3Vyc29yLmhlaWdodCAtIGFicyh5KSkg d2lsbCBiZSBuZXcgY3Vyc29yIHdpZHRoIHdoZW4geSA8IDAKIAkgKi8KLQkqcm9pX3cgPSBtaW4o bWRwNV9jcnRjLT5jdXJzb3Iud2lkdGgsIHhyZXMgLQorCWlmIChtZHA1X2NydGMtPmN1cnNvci54 ID49IDApCisJCSpyb2lfdyA9IG1pbihtZHA1X2NydGMtPmN1cnNvci53aWR0aCwgeHJlcyAtCiAJ CQltZHA1X2NydGMtPmN1cnNvci54KTsKLQkqcm9pX2ggPSBtaW4obWRwNV9jcnRjLT5jdXJzb3Iu aGVpZ2h0LCB5cmVzIC0KKwllbHNlCisJCSpyb2lfdyA9IG1kcDVfY3J0Yy0+Y3Vyc29yLndpZHRo IC0gYWJzKG1kcDVfY3J0Yy0+Y3Vyc29yLngpOworCWlmIChtZHA1X2NydGMtPmN1cnNvci55ID49 IDApCisJCSpyb2lfaCA9IG1pbihtZHA1X2NydGMtPmN1cnNvci5oZWlnaHQsIHlyZXMgLQogCQkJ bWRwNV9jcnRjLT5jdXJzb3IueSk7CisJZWxzZQorCQkqcm9pX2ggPSBtZHA1X2NydGMtPmN1cnNv ci5oZWlnaHQgLSBhYnMobWRwNV9jcnRjLT5jdXJzb3IueSk7CiB9CiAKIHN0YXRpYyB2b2lkIG1k cDVfY3J0Y19yZXN0b3JlX2N1cnNvcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCkBAIC03ODMsNyAr Nzk0LDcgQEAgc3RhdGljIHZvaWQgbWRwNV9jcnRjX3Jlc3RvcmVfY3Vyc29yKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2ttcyhjcnRjKTsK IAljb25zdCBlbnVtIG1kcDVfY3Vyc29yX2FscGhhIGN1cl9hbHBoYSA9IENVUlNPUl9BTFBIQV9Q RVJfUElYRUw7CiAJdWludDMyX3QgYmxlbmRjZmcsIHN0cmlkZTsKLQl1aW50MzJfdCB4LCB5LCB3 aWR0aCwgaGVpZ2h0OworCXVpbnQzMl90IHgsIHksIHNyY194LCBzcmNfeSwgd2lkdGgsIGhlaWdo dDsKIAl1aW50MzJfdCByb2lfdywgcm9pX2g7CiAJaW50IGxtOwogCkBAIC04MDAsNiArODExLDI2 IEBAIHN0YXRpYyB2b2lkIG1kcDVfY3J0Y19yZXN0b3JlX2N1cnNvcihzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiAKIAlnZXRfcm9pKGNydGMsICZyb2lfdywgJnJvaV9oKTsKIAorCS8qIElmIGN1c3Jv ciBidWZmZXIgb3ZlcmxhcHMgZHVlIHRvIHJvdGF0aW9uIG9uIHRoZQorCSAqIHVwcGVyIG9yIGxl ZnQgc2NyZWVuIGJvcmRlciB0aGUgcGl4ZWwgb2Zmc2V0IGluc2lkZQorCSAqIHRoZSBjdXJzb3Ig YnVmZmVyIG9mIHRoZSBST0kgaXMgdGhlIHBvc2l0aXZlIG92ZXJsYXAKKwkgKiBkaXN0YW5jZS4K KwkgKi8KKwlpZiAobWRwNV9jcnRjLT5jdXJzb3IueCA8IDApIHsKKwkJc3JjX3ggPSBhYnMobWRw NV9jcnRjLT5jdXJzb3IueCk7CisJCXggPSAwOworCX0gZWxzZSB7CisJCXNyY194ID0gMDsKKwl9 CisJaWYgKG1kcDVfY3J0Yy0+Y3Vyc29yLnkgPCAwKSB7CisJCXNyY195ID0gYWJzKG1kcDVfY3J0 Yy0+Y3Vyc29yLnkpOworCQl5ID0gMDsKKwl9IGVsc2UgeworCQlzcmNfeSA9IDA7CisJfQorCURC RygiJXM6IHg9JXUsIHk9JXUgcm9pX3c9JXUgcm9pX2g9JXUgc3JjX3g9JXUgc3JjX3k9JXUiLAor CQljcnRjLT5uYW1lLCB4LCB5LCByb2lfdywgcm9pX2gsIHNyY194LCBzcmNfeSk7CisKIAltZHA1 X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9MTV9DVVJTT1JfU1RSSURFKGxtKSwgc3RyaWRlKTsK IAltZHA1X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9MTV9DVVJTT1JfRk9STUFUKGxtKSwKIAkJ CU1EUDVfTE1fQ1VSU09SX0ZPUk1BVF9GT1JNQVQoQ1VSU09SX0ZNVF9BUkdCODg4OCkpOwpAQCAt ODEyLDYgKzg0Myw5IEBAIHN0YXRpYyB2b2lkIG1kcDVfY3J0Y19yZXN0b3JlX2N1cnNvcihzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAJbWRwNV93cml0ZShtZHA1X2ttcywgUkVHX01EUDVfTE1fQ1VS U09SX1NUQVJUX1hZKGxtKSwKIAkJCU1EUDVfTE1fQ1VSU09SX1NUQVJUX1hZX1lfU1RBUlQoeSkg fAogCQkJTURQNV9MTV9DVVJTT1JfU1RBUlRfWFlfWF9TVEFSVCh4KSk7CisJbWRwNV93cml0ZSht ZHA1X2ttcywgUkVHX01EUDVfTE1fQ1VSU09SX1hZKGxtKSwKKwkJCU1EUDVfTE1fQ1VSU09SX1hZ X1NSQ19ZKHNyY195KSB8CisJCQlNRFA1X0xNX0NVUlNPUl9YWV9TUkNfWChzcmNfeCkpOwogCW1k cDVfd3JpdGUobWRwNV9rbXMsIFJFR19NRFA1X0xNX0NVUlNPUl9CQVNFX0FERFIobG0pLAogCQkJ bWRwNV9jcnRjLT5jdXJzb3IuaW92YSk7CiAKQEAgLTkzMiw4ICs5NjYsOSBAQCBzdGF0aWMgaW50 IG1kcDVfY3J0Y19jdXJzb3JfbW92ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB4LCBpbnQg eSkKIAlpZiAodW5saWtlbHkoIWNydGMtPnN0YXRlLT5lbmFibGUpKQogCQlyZXR1cm4gMDsKIAot CW1kcDVfY3J0Yy0+Y3Vyc29yLnggPSB4ID0gbWF4KHgsIDApOwotCW1kcDVfY3J0Yy0+Y3Vyc29y LnkgPSB5ID0gbWF4KHksIDApOworCS8qIGFjY2VwdCBuZWdhdGl2ZSB4L3kgY29vcmRpbmF0ZXMg dXAgdG8gbWF4aW11bSBjdXJzb3Igb3ZlcmxhcCAqLworCW1kcDVfY3J0Yy0+Y3Vyc29yLnggPSB4 ID0gbWF4KHgsIC0oaW50KW1kcDVfY3J0Yy0+Y3Vyc29yLndpZHRoKTsKKwltZHA1X2NydGMtPmN1 cnNvci55ID0geSA9IG1heCh5LCAtKGludCltZHA1X2NydGMtPmN1cnNvci5oZWlnaHQpOwogCiAJ Z2V0X3JvaShjcnRjLCAmcm9pX3csICZyb2lfaCk7CiAKLS0gCjIuMTQuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlz dApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==