From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v4 2/6] drm: Add drm_rect_calc_{hscale, vscale}() utility functions Date: Wed, 24 Apr 2013 18:52:35 +0300 Message-ID: <1366818759-8707-3-git-send-email-ville.syrjala@linux.intel.com> References: <1366818759-8707-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1366818759-8707-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZXNlIGZ1bmN0aW9ucyBjYWxjdWxhdGUgdGhlIHNjYWxpbmcgZmFjdG9yIGJhc2VkIG9uIHRoZSBz b3VyY2UgYW5kCmRlc3RpbmF0aW9uIHJlY3RhbmdsZXMuCgpUaGVyZSBhcmUgdHdvIHZlcnNpb24g b2YgdGhlIGZ1bmN0aW9ucywgdGhlIHN0cmljdCBvbmVzIHRoYXQgd2lsbApyZXR1cm4gYW4gZXJy b3IgaWYgdGhlIG1pbi9tYXggc2NhbGluZyBmYWN0b3IgaXMgZXhjZWVkZWQsIGFuZCB0aGUKcmVs YXhlZCB2ZXJzaW9ucyB0aGF0IHdpbGwgYWRqdXN0IHRoZSBzcmMvZHN0IHJlY3RhbmdsZXMgaW4g b3JkZXIgdG8Ka2VlcCB0aGUgc2NhbGluZyBmYWN0b3Igd2l0aGluZyB0aGUgbGltaXRzLgoKdjI6 IFJldHVybiBlcnJvciBpbnN0ZWFkIG9mIGFkanVzdGluZyByZWdpb25zLCByZWZhY3RvciBjb21t b24gcGFydHMKICAgIGludG8gb25lIGZ1bmN0aW9uLCBhbmQgc3BsaXQgaW50byBzdHJpY3QgYW5k IHJlbGF4ZWQgdmVyc2lvbnMuCnYzOiBSZW5hbWVkIGRybV9yZWdpb24gdG8gZHJtX3JlY3QsIGFk ZCAiX3JlY3RfIiB0byB0aGUgZnVuY3Rpb24KICAgIG5hbWVzLgp2NDogRml4ICJjYWxjdWxjYXRl IiB0eXBvcwoKUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5jIHwgMTc3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX3Jl Y3QuaCAgICAgfCAgMTIgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE4OSBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9yZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3JlY3QuYwppbmRleCAyMjA5MWVjLi5kYzExYTI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3JlY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3JlY3QuYwpAQCAtOTQs MyArOTQsMTgwIEBAIGJvb2wgZHJtX3JlY3RfY2xpcF9zY2FsZWQoc3RydWN0IGRybV9yZWN0ICpz cmMsIHN0cnVjdCBkcm1fcmVjdCAqZHN0LAogCXJldHVybiBkcm1fcmVjdF9pbnRlcnNlY3QoZHN0 LCBjbGlwKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3JlY3RfY2xpcF9zY2FsZWQpOworCitzdGF0 aWMgaW50IGRybV9jYWxjX3NjYWxlKGludCBzcmMsIGludCBkc3QpCit7CisJaW50IHNjYWxlID0g MDsKKworCWlmIChzcmMgPCAwIHx8IGRzdCA8IDApCisJCXJldHVybiAtRUlOVkFMOworCisJaWYg KGRzdCA9PSAwKQorCQlyZXR1cm4gMDsKKworCXNjYWxlID0gc3JjIC8gZHN0OworCisJcmV0dXJu IHNjYWxlOworfQorCisvKioKKyAqIGRybV9yZWN0X2NhbGNfaHNjYWxlIC0gY2FsY3VsYXRlIHRo ZSBob3Jpem9udGFsIHNjYWxpbmcgZmFjdG9yCisgKiBAc3JjOiBzb3VyY2Ugd2luZG93IHJlY3Rh bmdsZQorICogQGRzdDogZGVzdGluYXRpb24gd2luZG93IHJlY3RhbmdsZQorICogQG1pbl9oc2Nh bGU6IG1pbmltdW0gYWxsb3dlZCBob3Jpem9udGFsIHNjYWxpbmcgZmFjdG9yCisgKiBAbWF4X2hz Y2FsZTogbWF4aW11bSBhbGxvd2VkIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IKKyAqCisgKiBD YWxjdWxhdGUgdGhlIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IgYXMKKyAqIChAc3JjIHdpZHRo KSAvIChAZHN0IHdpZHRoKS4KKyAqCisgKiBSRVRVUk5TOgorICogVGhlIGhvcml6b250YWwgc2Nh bGluZyBmYWN0b3IsIG9yIGVycm5vIG9mIG91dCBvZiBsaW1pdHMuCisgKi8KK2ludCBkcm1fcmVj dF9jYWxjX2hzY2FsZShjb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKnNyYywKKwkJCSBjb25zdCBzdHJ1 Y3QgZHJtX3JlY3QgKmRzdCwKKwkJCSBpbnQgbWluX2hzY2FsZSwgaW50IG1heF9oc2NhbGUpCit7 CisJaW50IHNyY193ID0gZHJtX3JlY3Rfd2lkdGgoc3JjKTsKKwlpbnQgZHN0X3cgPSBkcm1fcmVj dF93aWR0aChkc3QpOworCWludCBoc2NhbGUgPSBkcm1fY2FsY19zY2FsZShzcmNfdywgZHN0X3cp OworCisJaWYgKGhzY2FsZSA8IDAgfHwgZHN0X3cgPT0gMCkKKwkJcmV0dXJuIGhzY2FsZTsKKwor CWlmIChoc2NhbGUgPCBtaW5faHNjYWxlIHx8IGhzY2FsZSA+IG1heF9oc2NhbGUpCisJCXJldHVy biAtRVJBTkdFOworCisJcmV0dXJuIGhzY2FsZTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3JlY3Rf Y2FsY19oc2NhbGUpOworCisvKioKKyAqIGRybV9yZWN0X2NhbGNfdnNjYWxlIC0gY2FsY3VsYXRl IHRoZSB2ZXJ0aWNhbCBzY2FsaW5nIGZhY3RvcgorICogQHNyYzogc291cmNlIHdpbmRvdyByZWN0 YW5nbGUKKyAqIEBkc3Q6IGRlc3RpbmF0aW9uIHdpbmRvdyByZWN0YW5nbGUKKyAqIEBtaW5fdnNj YWxlOiBtaW5pbXVtIGFsbG93ZWQgdmVydGljYWwgc2NhbGluZyBmYWN0b3IKKyAqIEBtYXhfdnNj YWxlOiBtYXhpbXVtIGFsbG93ZWQgdmVydGljYWwgc2NhbGluZyBmYWN0b3IKKyAqCisgKiBDYWxj dWxhdGUgdGhlIHZlcnRpY2FsIHNjYWxpbmcgZmFjdG9yIGFzCisgKiAoQHNyYyBoZWlnaHQpIC8g KEBkc3QgaGVpZ2h0KS4KKyAqCisgKiBSRVRVUk5TOgorICogVGhlIHZlcnRpY2FsIHNjYWxpbmcg ZmFjdG9yLCBvciBlcnJubyBvZiBvdXQgb2YgbGltaXRzLgorICovCitpbnQgZHJtX3JlY3RfY2Fs Y192c2NhbGUoY29uc3Qgc3RydWN0IGRybV9yZWN0ICpzcmMsCisJCQkgY29uc3Qgc3RydWN0IGRy bV9yZWN0ICpkc3QsCisJCQkgaW50IG1pbl92c2NhbGUsIGludCBtYXhfdnNjYWxlKQoreworCWlu dCBzcmNfaCA9IGRybV9yZWN0X2hlaWdodChzcmMpOworCWludCBkc3RfaCA9IGRybV9yZWN0X2hl aWdodChkc3QpOworCWludCB2c2NhbGUgPSBkcm1fY2FsY19zY2FsZShzcmNfaCwgZHN0X2gpOwor CisJaWYgKHZzY2FsZSA8IDAgfHwgZHN0X2ggPT0gMCkKKwkJcmV0dXJuIHZzY2FsZTsKKworCWlm ICh2c2NhbGUgPCBtaW5fdnNjYWxlIHx8IHZzY2FsZSA+IG1heF92c2NhbGUpCisJCXJldHVybiAt RVJBTkdFOworCisJcmV0dXJuIHZzY2FsZTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3JlY3RfY2Fs Y192c2NhbGUpOworCisvKioKKyAqIGRybV9jYWxjX2hzY2FsZV9yZWxheGVkIC0gY2FsY3VsYXRl IHRoZSBob3Jpem9udGFsIHNjYWxpbmcgZmFjdG9yCisgKiBAc3JjOiBzb3VyY2Ugd2luZG93IHJl Y3RhbmdsZQorICogQGRzdDogZGVzdGluYXRpb24gd2luZG93IHJlY3RhbmdsZQorICogQG1pbl9o c2NhbGU6IG1pbmltdW0gYWxsb3dlZCBob3Jpem9udGFsIHNjYWxpbmcgZmFjdG9yCisgKiBAbWF4 X2hzY2FsZTogbWF4aW11bSBhbGxvd2VkIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IKKyAqCisg KiBDYWxjdWxhdGUgdGhlIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IgYXMKKyAqIChAc3JjIHdp ZHRoKSAvIChAZHN0IHdpZHRoKS4KKyAqCisgKiBJZiB0aGUgY2FsY3VsYXRlZCBzY2FsaW5nIGZh Y3RvciBpcyBiZWxvdyBAbWluX3ZzY2FsZSwKKyAqIGRlY3JlYXNlIHRoZSBoZWlnaHQgb2YgcmVj dGFuZ2xlIEBkc3QgdG8gY29tcGVuc2F0ZS4KKyAqCisgKiBJZiB0aGUgY2FsY3VsYXRlZCBzY2Fs aW5nIGZhY3RvciBpcyBhYm92ZSBAbWF4X3ZzY2FsZSwKKyAqIGRlY3JlYXNlIHRoZSBoZWlnaHQg b2YgcmVjdGFuZ2xlIEBzcmMgdG8gY29tcGVuc2F0ZS4KKyAqCisgKiBSRVRVUk5TOgorICogVGhl IGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IuCisgKi8KK2ludCBkcm1fcmVjdF9jYWxjX2hzY2Fs ZV9yZWxheGVkKHN0cnVjdCBkcm1fcmVjdCAqc3JjLAorCQkJCSBzdHJ1Y3QgZHJtX3JlY3QgKmRz dCwKKwkJCQkgaW50IG1pbl9oc2NhbGUsIGludCBtYXhfaHNjYWxlKQoreworCWludCBzcmNfdyA9 IGRybV9yZWN0X3dpZHRoKHNyYyk7CisJaW50IGRzdF93ID0gZHJtX3JlY3Rfd2lkdGgoZHN0KTsK KwlpbnQgaHNjYWxlID0gZHJtX2NhbGNfc2NhbGUoc3JjX3csIGRzdF93KTsKKworCWlmIChoc2Nh bGUgPCAwIHx8IGRzdF93ID09IDApCisJCXJldHVybiBoc2NhbGU7CisKKwlpZiAoaHNjYWxlIDwg bWluX2hzY2FsZSkgeworCQlpbnQgbWF4X2RzdF93ID0gc3JjX3cgLyBtaW5faHNjYWxlOworCisJ CWRybV9yZWN0X2FkanVzdF9zaXplKGRzdCwgbWF4X2RzdF93IC0gZHN0X3csIDApOworCisJCXJl dHVybiBtaW5faHNjYWxlOworCX0KKworCWlmIChoc2NhbGUgPiBtYXhfaHNjYWxlKSB7CisJCWlu dCBtYXhfc3JjX3cgPSBkc3RfdyAqIG1heF9oc2NhbGU7CisKKwkJZHJtX3JlY3RfYWRqdXN0X3Np emUoc3JjLCBtYXhfc3JjX3cgLSBzcmNfdywgMCk7CisKKwkJcmV0dXJuIG1heF9oc2NhbGU7CisJ fQorCisJcmV0dXJuIGhzY2FsZTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3JlY3RfY2FsY19oc2Nh bGVfcmVsYXhlZCk7CisKKy8qKgorICogZHJtX3JlY3RfY2FsY192c2NhbGVfcmVsYXhlZCAtIGNh bGN1bGF0ZSB0aGUgdmVydGljYWwgc2NhbGluZyBmYWN0b3IKKyAqIEBzcmM6IHNvdXJjZSB3aW5k b3cgcmVjdGFuZ2xlCisgKiBAZHN0OiBkZXN0aW5hdGlvbiB3aW5kb3cgcmVjdGFuZ2xlCisgKiBA bWluX3ZzY2FsZTogbWluaW11bSBhbGxvd2VkIHZlcnRpY2FsIHNjYWxpbmcgZmFjdG9yCisgKiBA bWF4X3ZzY2FsZTogbWF4aW11bSBhbGxvd2VkIHZlcnRpY2FsIHNjYWxpbmcgZmFjdG9yCisgKgor ICogQ2FsY3VsYXRlIHRoZSB2ZXJ0aWNhbCBzY2FsaW5nIGZhY3RvciBhcworICogKEBzcmMgaGVp Z2h0KSAvIChAZHN0IGhlaWdodCkuCisgKgorICogSWYgdGhlIGNhbGN1bGF0ZWQgc2NhbGluZyBm YWN0b3IgaXMgYmVsb3cgQG1pbl92c2NhbGUsCisgKiBkZWNyZWFzZSB0aGUgaGVpZ2h0IG9mIHJl Y3RhbmdsZSBAZHN0IHRvIGNvbXBlbnNhdGUuCisgKgorICogSWYgdGhlIGNhbGN1bGF0ZWQgc2Nh bGluZyBmYWN0b3IgaXMgYWJvdmUgQG1heF92c2NhbGUsCisgKiBkZWNyZWFzZSB0aGUgaGVpZ2h0 IG9mIHJlY3RhbmdsZSBAc3JjIHRvIGNvbXBlbnNhdGUuCisgKgorICogUkVUVVJOUzoKKyAqIFRo ZSB2ZXJ0aWNhbCBzY2FsaW5nIGZhY3Rvci4KKyAqLworaW50IGRybV9yZWN0X2NhbGNfdnNjYWxl X3JlbGF4ZWQoc3RydWN0IGRybV9yZWN0ICpzcmMsCisJCQkJIHN0cnVjdCBkcm1fcmVjdCAqZHN0 LAorCQkJCSBpbnQgbWluX3ZzY2FsZSwgaW50IG1heF92c2NhbGUpCit7CisJaW50IHNyY19oID0g ZHJtX3JlY3RfaGVpZ2h0KHNyYyk7CisJaW50IGRzdF9oID0gZHJtX3JlY3RfaGVpZ2h0KGRzdCk7 CisJaW50IHZzY2FsZSA9IGRybV9jYWxjX3NjYWxlKHNyY19oLCBkc3RfaCk7CisKKwlpZiAodnNj YWxlIDwgMCB8fCBkc3RfaCA9PSAwKQorCQlyZXR1cm4gdnNjYWxlOworCisJaWYgKHZzY2FsZSA8 IG1pbl92c2NhbGUpIHsKKwkJaW50IG1heF9kc3RfaCA9IHNyY19oIC8gbWluX3ZzY2FsZTsKKwor CQlkcm1fcmVjdF9hZGp1c3Rfc2l6ZShkc3QsIDAsIG1heF9kc3RfaCAtIGRzdF9oKTsKKworCQly ZXR1cm4gbWluX3ZzY2FsZTsKKwl9CisKKwlpZiAodnNjYWxlID4gbWF4X3ZzY2FsZSkgeworCQlp bnQgbWF4X3NyY19oID0gZHN0X2ggKiBtYXhfdnNjYWxlOworCisJCWRybV9yZWN0X2FkanVzdF9z aXplKHNyYywgMCwgbWF4X3NyY19oIC0gc3JjX2gpOworCisJCXJldHVybiBtYXhfdnNjYWxlOwor CX0KKworCXJldHVybiB2c2NhbGU7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9yZWN0X2NhbGNfdnNj YWxlX3JlbGF4ZWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3JlY3QuaCBiL2luY2x1 ZGUvZHJtL2RybV9yZWN0LmgKaW5kZXggMmI3Mjc4Yy4uZGUyNGYxNiAxMDA2NDQKLS0tIGEvaW5j bHVkZS9kcm0vZHJtX3JlY3QuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fcmVjdC5oCkBAIC0xMjgs NSArMTI4LDE3IEBAIGJvb2wgZHJtX3JlY3RfaW50ZXJzZWN0KHN0cnVjdCBkcm1fcmVjdCAqciwg Y29uc3Qgc3RydWN0IGRybV9yZWN0ICpjbGlwKTsKIGJvb2wgZHJtX3JlY3RfY2xpcF9zY2FsZWQo c3RydWN0IGRybV9yZWN0ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZHN0LAogCQkJICBjb25zdCBz dHJ1Y3QgZHJtX3JlY3QgKmNsaXAsCiAJCQkgIGludCBoc2NhbGUsIGludCB2c2NhbGUpOworaW50 IGRybV9yZWN0X2NhbGNfaHNjYWxlKGNvbnN0IHN0cnVjdCBkcm1fcmVjdCAqc3JjLAorCQkJIGNv bnN0IHN0cnVjdCBkcm1fcmVjdCAqZHN0LAorCQkJIGludCBtaW5faHNjYWxlLCBpbnQgbWF4X2hz Y2FsZSk7CitpbnQgZHJtX3JlY3RfY2FsY192c2NhbGUoY29uc3Qgc3RydWN0IGRybV9yZWN0ICpz cmMsCisJCQkgY29uc3Qgc3RydWN0IGRybV9yZWN0ICpkc3QsCisJCQkgaW50IG1pbl92c2NhbGUs IGludCBtYXhfdnNjYWxlKTsKK2ludCBkcm1fcmVjdF9jYWxjX2hzY2FsZV9yZWxheGVkKHN0cnVj dCBkcm1fcmVjdCAqc3JjLAorCQkJCSBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCwKKwkJCQkgaW50IG1p bl9oc2NhbGUsIGludCBtYXhfaHNjYWxlKTsKK2ludCBkcm1fcmVjdF9jYWxjX3ZzY2FsZV9yZWxh eGVkKHN0cnVjdCBkcm1fcmVjdCAqc3JjLAorCQkJCSBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCwKKwkJ CQkgaW50IG1pbl92c2NhbGUsIGludCBtYXhfdnNjYWxlKTsKIAogI2VuZGlmCi0tIAoxLjguMS41 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=