From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika.jindal@intel.com Subject: [v2 05/11] drm: Add drm_rect rotation functions Date: Fri, 4 Jul 2014 15:13:57 +0530 Message-ID: <1404467043-5072-6-git-send-email-sonika.jindal@intel.com> References: <1404467043-5072-1-git-send-email-sonika.jindal@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1404467043-5072-1-git-send-email-sonika.jindal@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhIGF0IGxpbnV4LmludGVsLmNvbT4K CkFkZCBzb21lIGhlbHBlciBmdW5jdGlvbnMgdG8gbW92ZSBkcm1fcmVjdHMgYmV0d2VlbiBkaWZm ZXJlbnQgcm90YXRlZApjb29yZGluYXRlIHNwYWNlcy4gT25lIGZ1bmN0aW9uIGRvZXMgdGhlIGZv cndhcmQgdHJhbnNmb3JtIGFuZAphbm90aGVyIGRvZXMgdGhlIGludmVyc2UuCgpDYzogZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogSW1yZSBEZWFrIDxp bXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5jIHwgIDE0 MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9k cm0vZHJtX3JlY3QuaCAgICAgfCAgICA2ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDE0NiBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9yZWN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX3JlY3QuYwppbmRleCA3MDQ3Y2EwLi42MzFmNWFmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX3JlY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3JlY3Qu YwpAQCAtMjkzLDMgKzI5MywxNDMgQEAgdm9pZCBkcm1fcmVjdF9kZWJ1Z19wcmludChjb25zdCBz dHJ1Y3QgZHJtX3JlY3QgKnIsIGJvb2wgZml4ZWRfcG9pbnQpCiAJCURSTV9ERUJVR19LTVMoIiVk eCVkJStkJStkXG4iLCB3LCBoLCByLT54MSwgci0+eTEpOwogfQogRVhQT1JUX1NZTUJPTChkcm1f cmVjdF9kZWJ1Z19wcmludCk7CisKKy8qKgorICogZHJtX3JlY3Rfcm90YXRlIC0gUm90YXRlIHRo ZSByZWN0YW5nbGUKKyAqIEByOiByZWN0YW5nbGUgdG8gYmUgcm90YXRlZAorICogQHdpZHRoOiBX aWR0aCBvZiB0aGUgY29vcmRpbmF0ZSBzcGFjZQorICogQGhlaWdodDogSGVpZ2h0IG9mIHRoZSBj b29yZGluYXRlIHNwYWNlCisgKiBAcm90YXRpb246IFRyYW5zZm9ybWF0aW9uIHRvIGJlIGFwcGxp ZWQKKyAqCisgKiBBcHBseSBAcm90YXRpb24gdG8gdGhlIGNvb3JkaW5hdGVzIG9mIHJlY3Rhbmds ZSBAci4KKyAqCisgKiBAd2lkdGggYW5kIEBoZWlnaHQgY29tYmluZWQgd2l0aCBAcm90YXRpb24g ZGVmaW5lCisgKiB0aGUgbG9jYXRpb24gb2YgdGhlIG5ldyBvcmlnaW4uCisgKgorICogQHdpZHRo IGNvcnJlY3Nwb25kcyB0byB0aGUgaG9yaXpvbnRhbCBhbmQgQGhlaWdodAorICogdG8gdGhlIHZl cnRpY2FsIGF4aXMgb2YgdGhlIHVudHJhbnNmb3JtZWQgY29vcmRpbmF0ZQorICogc3BhY2UuCisg Ki8KK3ZvaWQgZHJtX3JlY3Rfcm90YXRlKHN0cnVjdCBkcm1fcmVjdCAqciwKKwkJICAgICBpbnQg d2lkdGgsIGludCBoZWlnaHQsCisJCSAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9uKQoreworCXN0 cnVjdCBkcm1fcmVjdCB0bXA7CisKKwlpZiAocm90YXRpb24gJiAoQklUKERSTV9SRUZMRUNUX1gp IHwgQklUKERSTV9SRUZMRUNUX1kpKSkgeworCQl0bXAgPSAqcjsKKworCQlpZiAocm90YXRpb24g JiBCSVQoRFJNX1JFRkxFQ1RfWCkpIHsKKwkJCXItPngxID0gd2lkdGggLSB0bXAueDI7CisJCQly LT54MiA9IHdpZHRoIC0gdG1wLngxOworCQl9CisKKwkJaWYgKHJvdGF0aW9uICYgQklUKERSTV9S RUZMRUNUX1kpKSB7CisJCQlyLT55MSA9IGhlaWdodCAtIHRtcC55MjsKKwkJCXItPnkyID0gaGVp Z2h0IC0gdG1wLnkxOworCQl9CisJfQorCisJc3dpdGNoIChyb3RhdGlvbiAmIDB4ZikgeworCWNh c2UgQklUKERSTV9ST1RBVEVfMCk6CisJCWJyZWFrOworCWNhc2UgQklUKERSTV9ST1RBVEVfOTAp OgorCQl0bXAgPSAqcjsKKwkJci0+eDEgPSB0bXAueTE7CisJCXItPngyID0gdG1wLnkyOworCQly LT55MSA9IHdpZHRoIC0gdG1wLngyOworCQlyLT55MiA9IHdpZHRoIC0gdG1wLngxOworCQlicmVh azsKKwljYXNlIEJJVChEUk1fUk9UQVRFXzE4MCk6CisJCXRtcCA9ICpyOworCQlyLT54MSA9IHdp ZHRoIC0gdG1wLngyOworCQlyLT54MiA9IHdpZHRoIC0gdG1wLngxOworCQlyLT55MSA9IGhlaWdo dCAtIHRtcC55MjsKKwkJci0+eTIgPSBoZWlnaHQgLSB0bXAueTE7CisJCWJyZWFrOworCWNhc2Ug QklUKERSTV9ST1RBVEVfMjcwKToKKwkJdG1wID0gKnI7CisJCXItPngxID0gaGVpZ2h0IC0gdG1w LnkyOworCQlyLT54MiA9IGhlaWdodCAtIHRtcC55MTsKKwkJci0+eTEgPSB0bXAueDE7CisJCXIt PnkyID0gdG1wLngyOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9Cit9CitFWFBP UlRfU1lNQk9MKGRybV9yZWN0X3JvdGF0ZSk7CisKKy8qKgorICogZHJtX3JlY3Rfcm90YXRlX2lu diAtIEludmVyc2Ugcm90YXRlIHRoZSByZWN0YW5nbGUKKyAqIEByOiByZWN0YW5nbGUgdG8gYmUg cm90YXRlZAorICogQHdpZHRoOiBXaWR0aCBvZiB0aGUgY29vcmRpbmF0ZSBzcGFjZQorICogQGhl aWdodDogSGVpZ2h0IG9mIHRoZSBjb29yZGluYXRlIHNwYWNlCisgKiBAcm90YXRpb246IFRyYW5z Zm9ybWF0aW9uIHdob3NlIGludmVyc2UgaXMgdG8gYmUgYXBwbGllZAorICoKKyAqIEFwcGx5IHRo ZSBpbnZlcnNlIG9mIEByb3RhdGlvbiB0byB0aGUgY29vcmRpbmF0ZXMKKyAqIG9mIHJlY3Rhbmds ZSBAci4KKyAqCisgKiBAd2lkdGggYW5kIEBoZWlnaHQgY29tYmluZWQgd2l0aCBAcm90YXRpb24g ZGVmaW5lCisgKiB0aGUgbG9jYXRpb24gb2YgdGhlIG5ldyBvcmlnaW4uCisgKgorICogQHdpZHRo IGNvcnJlY3Nwb25kcyB0byB0aGUgaG9yaXpvbnRhbCBhbmQgQGhlaWdodAorICogdG8gdGhlIHZl cnRpY2FsIGF4aXMgb2YgdGhlIG9yaWdpbmFsIHVudHJhbnNmb3JtZWQKKyAqIGNvb3JkaW5hdGUg c3BhY2UsIHNvIHRoYXQgeW91IG5ldmVyIGhhdmUgdG8gZmxpcAorICogdGhlbSB3aGVuIGRvaW5n IGEgcm90YXRhdGlvbiBhbmQgaXRzIGludmVyc2UuCisgKiBUaGF0IGlzLCBpZiB5b3UgZG86Cisg KgorICogZHJtX3JvdGF0ZSgmciwgd2lkdGgsIGhlaWdodCwgcm90YXRpb24pOworICogZHJtX3Jv dGF0ZV9pbnYoJnIsIHdpZHRoLCBoZWlnaHQsIHJvdGF0aW9uKTsKKyAqCisgKiB5b3Ugd2lsbCBh bHdheXMgZ2V0IGJhY2sgdGhlIG9yaWdpbmFsIHJlY3RhbmdsZS4KKyAqLwordm9pZCBkcm1fcmVj dF9yb3RhdGVfaW52KHN0cnVjdCBkcm1fcmVjdCAqciwKKwkJCSBpbnQgd2lkdGgsIGludCBoZWln aHQsCisJCQkgdW5zaWduZWQgaW50IHJvdGF0aW9uKQoreworCXN0cnVjdCBkcm1fcmVjdCB0bXA7 CisKKwlzd2l0Y2ggKHJvdGF0aW9uICYgMHhmKSB7CisJY2FzZSBCSVQoRFJNX1JPVEFURV8wKToK KwkJYnJlYWs7CisJY2FzZSBCSVQoRFJNX1JPVEFURV85MCk6CisJCXRtcCA9ICpyOworCQlyLT54 MSA9IHdpZHRoIC0gdG1wLnkyOworCQlyLT54MiA9IHdpZHRoIC0gdG1wLnkxOworCQlyLT55MSA9 IHRtcC54MTsKKwkJci0+eTIgPSB0bXAueDI7CisJCWJyZWFrOworCWNhc2UgQklUKERSTV9ST1RB VEVfMTgwKToKKwkJdG1wID0gKnI7CisJCXItPngxID0gd2lkdGggLSB0bXAueDI7CisJCXItPngy ID0gd2lkdGggLSB0bXAueDE7CisJCXItPnkxID0gaGVpZ2h0IC0gdG1wLnkyOworCQlyLT55MiA9 IGhlaWdodCAtIHRtcC55MTsKKwkJYnJlYWs7CisJY2FzZSBCSVQoRFJNX1JPVEFURV8yNzApOgor CQl0bXAgPSAqcjsKKwkJci0+eDEgPSB0bXAueTE7CisJCXItPngyID0gdG1wLnkyOworCQlyLT55 MSA9IGhlaWdodCAtIHRtcC54MjsKKwkJci0+eTIgPSBoZWlnaHQgLSB0bXAueDE7CisJCWJyZWFr OworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCWlmIChyb3RhdGlvbiAmIChCSVQoRFJNX1JF RkxFQ1RfWCkgfCBCSVQoRFJNX1JFRkxFQ1RfWSkpKSB7CisJCXRtcCA9ICpyOworCisJCWlmIChy b3RhdGlvbiAmIEJJVChEUk1fUkVGTEVDVF9YKSkgeworCQkJci0+eDEgPSB3aWR0aCAtIHRtcC54 MjsKKwkJCXItPngyID0gd2lkdGggLSB0bXAueDE7CisJCX0KKworCQlpZiAocm90YXRpb24gJiBC SVQoRFJNX1JFRkxFQ1RfWSkpIHsKKwkJCXItPnkxID0gaGVpZ2h0IC0gdG1wLnkyOworCQkJci0+ eTIgPSBoZWlnaHQgLSB0bXAueTE7CisJCX0KKwl9Cit9CitFWFBPUlRfU1lNQk9MKGRybV9yZWN0 X3JvdGF0ZV9pbnYpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3JlY3QuaCBiL2luY2x1 ZGUvZHJtL2RybV9yZWN0LmgKaW5kZXggZDEyODYyOS4uMjZiYjU1ZSAxMDA2NDQKLS0tIGEvaW5j bHVkZS9kcm0vZHJtX3JlY3QuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fcmVjdC5oCkBAIC0xNjMs NSArMTYzLDExIEBAIGludCBkcm1fcmVjdF9jYWxjX3ZzY2FsZV9yZWxheGVkKHN0cnVjdCBkcm1f cmVjdCAqc3JjLAogCQkJCSBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCwKIAkJCQkgaW50IG1pbl92c2Nh bGUsIGludCBtYXhfdnNjYWxlKTsKIHZvaWQgZHJtX3JlY3RfZGVidWdfcHJpbnQoY29uc3Qgc3Ry dWN0IGRybV9yZWN0ICpyLCBib29sIGZpeGVkX3BvaW50KTsKK3ZvaWQgZHJtX3JlY3Rfcm90YXRl KHN0cnVjdCBkcm1fcmVjdCAqciwKKwkJICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQsCisJCSAg ICAgdW5zaWduZWQgaW50IHJvdGF0aW9uKTsKK3ZvaWQgZHJtX3JlY3Rfcm90YXRlX2ludihzdHJ1 Y3QgZHJtX3JlY3QgKnIsCisJCQkgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAorCQkJIHVuc2lnbmVk IGludCByb3RhdGlvbik7CiAKICNlbmRpZgotLSAKMS43LjEwLjQKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==