From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Lespiau Subject: [PATCH 12/22] drm: Factor out common CRTC viewport checking code Date: Wed, 25 Sep 2013 16:45:30 +0100 Message-ID: <1380123940-14340-13-git-send-email-damien.lespiau@intel.com> References: <1380123940-14340-1-git-send-email-damien.lespiau@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1380123940-14340-1-git-send-email-damien.lespiau@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: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Qm90aCBzZXRjcnRjIGFuZCBwYWdlX2ZsaXAgYXJlIGNoZWNraW5nIHRoYXQgdGhlIGZyYW1lYnVm ZmVyIGlzIGJpZwplbm91Z2ggZm9yIHRoZSBkZWZpbmVkIGNydGMgdmlld3BvcnQgKHgsIHksIGhk aXNwbGF5LCB2ZGlzcGxheSkuIEZhY3Rvcgp0aGF0IGNvZGUgb3V0IGluIGEgc2luZ2xlIGZ1bmN0 aW9uLgoKUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgfCA3MCArKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzcg aW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwppbmRleCAwOTA0MTVm Li5kYjA1ODY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtMjA2Myw2ICsyMDYzLDM3IEBAIGludCBkcm1f bW9kZV9zZXRfY29uZmlnX2ludGVybmFsKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKIH0KIEVY UE9SVF9TWU1CT0woZHJtX21vZGVfc2V0X2NvbmZpZ19pbnRlcm5hbCk7CiAKKy8qCisgKiBDaGVj a3MgdGhhdCB0aGUgZnJhbWVidWZmZXIgaXMgYmlnIGVub3VnaCBmb3IgdGhlIENSVEMgdmlld3Bv cnQKKyAqICh4LCB5LCBoZGlzcGxheSwgdmRpc3BsYXkpCisgKi8KK3N0YXRpYyBpbnQgZHJtX2Ny dGNfY2hlY2tfdmlld3BvcnQoY29uc3Qgc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJCSAgIGlu dCB4LCBpbnQgeSwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwK KwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKKworeworCWludCBoZGlz cGxheSwgdmRpc3BsYXk7CisKKwloZGlzcGxheSA9IG1vZGUtPmhkaXNwbGF5OworCXZkaXNwbGF5 ID0gbW9kZS0+dmRpc3BsYXk7CisKKwlpZiAoY3J0Yy0+aW52ZXJ0X2RpbWVuc2lvbnMpCisJCXN3 YXAoaGRpc3BsYXksIHZkaXNwbGF5KTsKKworCWlmIChoZGlzcGxheSA+IGZiLT53aWR0aCB8fAor CSAgICB2ZGlzcGxheSA+IGZiLT5oZWlnaHQgfHwKKwkgICAgeCA+IGZiLT53aWR0aCAtIGhkaXNw bGF5IHx8CisJICAgIHkgPiBmYi0+aGVpZ2h0IC0gdmRpc3BsYXkpIHsKKwkJRFJNX0RFQlVHX0tN UygiSW52YWxpZCBmYiBzaXplICV1eCV1IGZvciBDUlRDIHZpZXdwb3J0ICV1eCV1KyVkKyVkJXMu XG4iLAorCQkJICAgICAgZmItPndpZHRoLCBmYi0+aGVpZ2h0LCBoZGlzcGxheSwgdmRpc3BsYXks IHgsIHksCisJCQkgICAgICBjcnRjLT5pbnZlcnRfZGltZW5zaW9ucyA/ICIgKGludmVydGVkKSIg OiAiIik7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAq IGRybV9tb2RlX3NldGNydGMgLSBzZXQgQ1JUQyBjb25maWd1cmF0aW9uCiAgKiBAZGV2OiBkcm0g ZGV2aWNlIGZvciB0aGUgaW9jdGwKQEAgLTIxMTAsNyArMjE0MSw2IEBAIGludCBkcm1fbW9kZV9z ZXRjcnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJRFJNX0RFQlVHX0tN UygiW0NSVEM6JWRdXG4iLCBjcnRjLT5iYXNlLmlkKTsKIAogCWlmIChjcnRjX3JlcS0+bW9kZV92 YWxpZCkgewotCQlpbnQgaGRpc3BsYXksIHZkaXNwbGF5OwogCQkvKiBJZiB3ZSBoYXZlIGEgbW9k ZSB3ZSBuZWVkIGEgZnJhbWVidWZmZXIuICovCiAJCS8qIElmIHdlIHBhc3MgLTEsIHNldCB0aGUg bW9kZSB3aXRoIHRoZSBjdXJyZW50bHkgYm91bmQgZmIgKi8KIAkJaWYgKGNydGNfcmVxLT5mYl9p ZCA9PSAtMSkgewpAQCAtMjE0NiwyMyArMjE3NiwxMSBAQCBpbnQgZHJtX21vZGVfc2V0Y3J0Yyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCiAJCWRybV9tb2RlX3NldF9jcnRj aW5mbyhtb2RlLCBDUlRDX0lOVEVSTEFDRV9IQUxWRV9WKTsKIAotCQloZGlzcGxheSA9IG1vZGUt PmhkaXNwbGF5OwotCQl2ZGlzcGxheSA9IG1vZGUtPnZkaXNwbGF5OwotCi0JCWlmIChjcnRjLT5p bnZlcnRfZGltZW5zaW9ucykKLQkJCXN3YXAoaGRpc3BsYXksIHZkaXNwbGF5KTsKLQotCQlpZiAo aGRpc3BsYXkgPiBmYi0+d2lkdGggfHwKLQkJICAgIHZkaXNwbGF5ID4gZmItPmhlaWdodCB8fAot CQkgICAgY3J0Y19yZXEtPnggPiBmYi0+d2lkdGggLSBoZGlzcGxheSB8fAotCQkgICAgY3J0Y19y ZXEtPnkgPiBmYi0+aGVpZ2h0IC0gdmRpc3BsYXkpIHsKLQkJCURSTV9ERUJVR19LTVMoIkludmFs aWQgZmIgc2l6ZSAldXgldSBmb3IgQ1JUQyB2aWV3cG9ydCAldXgldSslZCslZCVzLlxuIiwKLQkJ CQkgICAgICBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsCi0JCQkJICAgICAgaGRpc3BsYXksIHZkaXNw bGF5LCBjcnRjX3JlcS0+eCwgY3J0Y19yZXEtPnksCi0JCQkJICAgICAgY3J0Yy0+aW52ZXJ0X2Rp bWVuc2lvbnMgPyAiIChpbnZlcnRlZCkiIDogIiIpOwotCQkJcmV0ID0gLUVOT1NQQzsKKwkJcmV0 ID0gZHJtX2NydGNfY2hlY2tfdmlld3BvcnQoY3J0YywgY3J0Y19yZXEtPngsIGNydGNfcmVxLT55 LAorCQkJCQkgICAgICBtb2RlLCBmYik7CisJCWlmIChyZXQpCiAJCQlnb3RvIG91dDsKLQkJfQor CiAJfQogCiAJaWYgKGNydGNfcmVxLT5jb3VudF9jb25uZWN0b3JzID09IDAgJiYgbW9kZSkgewpA QCAtMzU3OSw3ICszNTk3LDYgQEAgaW50IGRybV9tb2RlX3BhZ2VfZmxpcF9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gTlVMTCwgKm9s ZF9mYiA9IE5VTEw7CiAJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZSA9IE5VTEw7 CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgaGRpc3BsYXksIHZkaXNwbGF5OwogCWludCBy ZXQgPSAtRUlOVkFMOwogCiAJaWYgKHBhZ2VfZmxpcC0+ZmxhZ3MgJiB+RFJNX01PREVfUEFHRV9G TElQX0ZMQUdTIHx8CkBAIC0zNjExLDIyICszNjI4LDkgQEAgaW50IGRybV9tb2RlX3BhZ2VfZmxp cF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWlmICghZmIpCiAJCWdvdG8gb3V0Owog Ci0JaGRpc3BsYXkgPSBjcnRjLT5tb2RlLmhkaXNwbGF5OwotCXZkaXNwbGF5ID0gY3J0Yy0+bW9k ZS52ZGlzcGxheTsKLQotCWlmIChjcnRjLT5pbnZlcnRfZGltZW5zaW9ucykKLQkJc3dhcChoZGlz cGxheSwgdmRpc3BsYXkpOwotCi0JaWYgKGhkaXNwbGF5ID4gZmItPndpZHRoIHx8Ci0JICAgIHZk aXNwbGF5ID4gZmItPmhlaWdodCB8fAotCSAgICBjcnRjLT54ID4gZmItPndpZHRoIC0gaGRpc3Bs YXkgfHwKLQkgICAgY3J0Yy0+eSA+IGZiLT5oZWlnaHQgLSB2ZGlzcGxheSkgewotCQlEUk1fREVC VUdfS01TKCJJbnZhbGlkIGZiIHNpemUgJXV4JXUgZm9yIENSVEMgdmlld3BvcnQgJXV4JXUrJWQr JWQlcy5cbiIsCi0JCQkgICAgICBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsIGhkaXNwbGF5LCB2ZGlz cGxheSwgY3J0Yy0+eCwgY3J0Yy0+eSwKLQkJCSAgICAgIGNydGMtPmludmVydF9kaW1lbnNpb25z ID8gIiAoaW52ZXJ0ZWQpIiA6ICIiKTsKLQkJcmV0ID0gLUVOT1NQQzsKKwlyZXQgPSBkcm1fY3J0 Y19jaGVja192aWV3cG9ydChjcnRjLCBjcnRjLT54LCBjcnRjLT55LCAmY3J0Yy0+bW9kZSwgZmIp OworCWlmIChyZXQpCiAJCWdvdG8gb3V0OwotCX0KIAogCWlmIChjcnRjLT5mYi0+cGl4ZWxfZm9y bWF0ICE9IGZiLT5waXhlbF9mb3JtYXQpIHsKIAkJRFJNX0RFQlVHX0tNUygiUGFnZSBmbGlwIGlz IG5vdCBhbGxvd2VkIHRvIGNoYW5nZSBmcmFtZSBidWZmZXIgZm9ybWF0LlxuIik7Ci0tIAoxLjgu My4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=