From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandra Konduru Subject: [PATCH 09/21 v2] drm/i915: Add atomic function to setup scalers scalers for a crtc. Date: Fri, 20 Mar 2015 17:04:30 -0700 Message-ID: <1426896282-23215-10-git-send-email-chandra.konduru@intel.com> References: <1426896282-23215-1-git-send-email-chandra.konduru@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 91C418A565 for ; Fri, 20 Mar 2015 17:05:29 -0700 (PDT) In-Reply-To: <1426896282-23215-1-git-send-email-chandra.konduru@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: ander.conselvan.de.oliveira@intel.com, daniel.vetter@intel.com List-Id: intel-gfx@lists.freedesktop.org aW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMgc2V0cyB1cCBzY2FsZXJzIGJhc2VkIG9uIHN0YWdl ZCBzY2FsaW5nCnJlcXVlc3RzIGNvbWluZyBmcm9tIGEgY3J0YyBhbmQgaXRzIHBsYW5lcy4gVGhp cyBmdW5jdGlvbiBzaG91bGQgYmUKY2FsbGVkIGZyb20gY3J0YyBsZXZlbCBjaGVjayBwYXRoLgoK SWYgc3RhZ2VkIHJlcXVlc3RzIGFyZSBzdXBwb3J0YWJsZSwgZnVuY3Rpb24gYXNzaWducyBzY2Fs ZXJzIHRvCnJlcXVlc3RlZCBwbGFuZXMgYW5kIGNydGMuIFRoaXMgZnVuY3Rpb24gYWxzbyB0YWtl cyBpbnRvIGFjY291bnQKdGhlIGN1cnJlbnQgcGxhbmVzIHVzaW5nIHNjYWxlcnMgYnV0IG5vdCBi ZWluZyBwYXJ0IG9mIHRoaXMKYXRvbWljIHN0YXRlIGZvciBvcHRpbWFsIG9wZXJhdGlvbiBvZiBz Y2FsZXJzLiBOb3RlIHRoYXQgdGhlIHNjYWxlcgphc3NpZ25lbWVudCBpdHNlbGYgaXMgc3RhZ2Vk IGludG8gY3J0Y19zdGF0ZSBhbmQgcmVzcGVjdGl2ZQpwbGFuZV9zdGF0ZXMgZm9yIGxhdGVyIGNv bW1pdCBhZnRlciBhbGwgY2hlY2tzIGhhdmUgYmVlbiBkb25lLgoKb3ZlcmFsbCBoaWdoIGxldmVs IGZsb3c6CiAtIHNjYWxlciByZXF1ZXN0cyBhcmUgc3RhZ2VkIGludG8gY3J0Y19zdGF0ZSBieSBw bGFuZXMvY3J0YwogLSBjaGVjayB3aGV0aGVyIHN0YWdlZCBzY2FsaW5nIHJlcXVlc3RzIGNhbiBi ZSBzdXBwb3J0ZWQKIC0gYWRkIHBsYW5lcyB1c2luZyBzY2FsZXJzIHRoYXQgYXJlbid0IGluIGN1 cnJlbnQgdHJhbnNhY3Rpb24KIC0gYXNzaWduIHNjYWxlcnMgdG8gcmVxdWVzdGVkIHVzZXJzCiAt IGFzIHBhcnQgb2YgcGxhbmUgY29tbWl0LCBzY2FsZXJzIHdpbGwgYmUgY29tbWl0dGVkCiAgIChp LmUuLCBlaXRoZXIgYXR0YWNoZWQgb3IgZGV0YWNoZWQpIHRvIHJlc3BlY3RpdmUgcGxhbmVzIGlu IGh3CiAtIGFzIHBhcnQgb2YgY3J0Y19jb21taXQsIHNjYWxlciB3aWxsIGJlIGVpdGhlciBhdHRh Y2hlZCBvciBkZXRhY2hlZAogICB0byBjcnRjIGluIGh3Cgp2MjoKLXJlbW92ZWQgYSBsb2cgbWVz c2FnZSAobWUpCi1jaGFuZ2VkIGlucHV0IHBhcmFtZXRlciB0byBjcnRjX3N0YXRlIChtZSkKClNp Z25lZC1vZmYtYnk6IENoYW5kcmEgS29uZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyB8ICAxMzggKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oICAgIHwgICAgMyArCiAyIGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwppbmRleCAzOTAzYjkwLi40MDc1MTZhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwpAQCAtMjQxLDMgKzI0MSwxNDEgQEAgaW50ZWxfY3J0 Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIHsKIAlkcm1fYXRvbWljX2hl bHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0Yywgc3RhdGUpOwogfQorCisvKioKKyAqIGludGVs X2F0b21pY19zZXR1cF9zY2FsZXJzKCkgLSBzZXR1cCBzY2FsZXJzIGZvciBjcnRjIHBlciBzdGFn ZWQgcmVxdWVzdHMKKyAqIEBkZXY6IERSTSBkZXZpY2UKKyAqIEBjcnRjOiBpbnRlbCBjcnRjCisg KiBAY3J0Y19zdGF0ZTogaW5jb21pbmcgY3J0Y19zdGF0ZSB0byB2YWxpZGF0ZSBhbmQgc2V0dXAg c2NhbGVycworICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0dXBzIHVwIHNjYWxlcnMgYmFzZWQgb24g c3RhZ2VkIHNjYWxpbmcgcmVxdWVzdHMgZm9yCisgKiBhIEBjcnRjIGFuZCBpdHMgcGxhbmVzLiBJ dCBpcyBjYWxsZWQgZnJvbSBjcnRjIGxldmVsIGNoZWNrIHBhdGguIElmIHJlcXVlc3QKKyAqIGlz IGEgc3VwcG9ydGFibGUgcmVxdWVzdCwgaXQgYXR0YWNoZXMgc2NhbGVycyB0byByZXF1ZXN0ZWQg cGxhbmVzIGFuZCBjcnRjLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgaW50byBhY2NvdW50 IHRoZSBjdXJyZW50IHNjYWxlcihzKSBpbiB1c2UgYnkgYW55IHBsYW5lcworICogbm90IGJlaW5n IHBhcnQgb2YgdGhpcyBhdG9taWMgc3RhdGUKKyAqCisgKiAgUmV0dXJuczoKKyAqICAgICAgICAg MCAtIHNjYWxlcnMgd2VyZSBzZXR1cCBzdWNjZXNmdWxseQorICogICAgICAgICBlcnJvciBjb2Rl IC0gb3RoZXJ3aXNlCisgKi8KK2ludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAorCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAorCXN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lID0gTlVMTDsKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lOworCXN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSBOVUxMOworCXN0cnVjdCBpbnRlbF9jcnRj X3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YXRlOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpk cm1fc3RhdGU7CisJaW50IG51bV9zY2FsZXJzX25lZWQ7CisJaW50IGksIGo7CisKKwlpZiAoSU5U RUxfSU5GTyhkZXYpLT5nZW4gPCA5IHx8ICFpbnRlbF9jcnRjIHx8ICFjcnRjX3N0YXRlKQorCQly ZXR1cm4gMDsKKworCXNjYWxlcl9zdGF0ZSA9ICZjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7CisJ ZHJtX3N0YXRlID0gY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKKworCW51bV9zY2FsZXJzX25lZWQg PSBod2VpZ2h0MzIoc2NhbGVyX3N0YXRlLT5zY2FsZXJfdXNlcnMpOworCURSTV9ERUJVR19LTVMo ImNydGNfc3RhdGUgPSAlcCBuZWVkID0gJWQgYXZhaWwgPSAlZCBzY2FsZXJfdXNlcnMgPSAweCV4 XG4iLAorCQljcnRjX3N0YXRlLCBudW1fc2NhbGVyc19uZWVkLCBzY2FsZXJfc3RhdGUtPm51bV9z Y2FsZXJzLAorCQlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2Vycyk7CisKKwkvKiBpZiB0aGVyZSBp cyBubyBjaGFuZ2UgaW4gc2NhbGVyIGNvbmZpZ3VyYXRpb24sIHJldHVybiAqLworCWlmIChzY2Fs ZXJfc3RhdGUtPnNjYWxlcl91c2VycyA9PQorCQlpbnRlbF9jcnRjLT5jb25maWctPnNjYWxlcl9z dGF0ZS5zY2FsZXJfdXNlcnMpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBIaWdoIGxldmVsIGZs b3c6CisJICogLSBzdGFnZWQgc2NhbGVyIHJlcXVlc3RzIGFyZSBhbHJlYWR5IGluIHNjYWxlcl9z dGF0ZS0+c2NhbGVyX3VzZXJzCisJICogLSBjaGVjayB3aGV0aGVyIHN0YWdlZCBzY2FsaW5nIHJl cXVlc3RzIGNhbiBiZSBzdXBwb3J0ZWQKKwkgKiAtIGFkZCBwbGFuZXMgdXNpbmcgc2NhbGVycyB0 aGF0IGFyZW4ndCBpbiBjdXJyZW50IHRyYW5zYWN0aW9uCisJICogLSBhc3NpZ24gc2NhbGVycyB0 byByZXF1ZXN0ZWQgdXNlcnMKKwkgKiAtIGFzIHBhcnQgb2YgcGxhbmUgY29tbWl0LCBzY2FsZXJz IHdpbGwgYmUgY29tbWl0dGVkCisJICogICAoaS5lLiwgZWl0aGVyIGF0dGFjaGVkIG9yIGRldGFj aGVkKSB0byByZXNwZWN0aXZlIHBsYW5lcyBpbiBodworCSAqIC0gYXMgcGFydCBvZiBjcnRjX2Nv bW1pdCwgc2NhbGVyIHdpbGwgYmUgZWl0aGVyIGF0dGFjaGVkIG9yIGRldGFjaGVkCisJICogICB0 byBjcnRjIGluIGh3CisJICovCisKKwkvKiBmYWlsIGlmIHJlcXVpcmVkIHNjYWxlcnMgPiBhdmFp bGFibGUgc2NhbGVycyAqLworCWlmIChudW1fc2NhbGVyc19uZWVkID4gc2NhbGVyX3N0YXRlLT5u dW1fc2NhbGVycyl7CisJCURSTV9ERUJVR19LTVMoIlRvbyBtYW55IHNjYWxpbmcgcmVxdWVzdHMg JWQgPiAlZFxuIiwKKwkJCW51bV9zY2FsZXJzX25lZWQsIHNjYWxlcl9zdGF0ZS0+bnVtX3NjYWxl cnMpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiB3YWxrdGhyb3VnaCBzY2FsZXJfdXNl cnMgYml0cyBhbmQgc3RhcnQgYXNzaWduaW5nIHNjYWxlcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwg c2l6ZW9mKHNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzKSAqIDg7IGkrKykgeworCQlpbnQgKnNj YWxlcl9pZDsKKworCQkvKiBza2lwIGlmIHNjYWxlciBub3QgcmVxdWlyZWQgKi8KKwkJaWYgKCEo c2NhbGVyX3N0YXRlLT5zY2FsZXJfdXNlcnMgJiAoMSA8PCBpKSkpCisJCQljb250aW51ZTsKKwor CQlpZiAoaSA9PSBTS0xfQ1JUQ19JTkRFWCkgeworCQkJLyogcGFuZWwgZml0dGVyIGNhc2U6IGFz c2lnbiBhcyBhIGNydGMgc2NhbGVyICovCisJCQlzY2FsZXJfaWQgPSAmc2NhbGVyX3N0YXRlLT5z Y2FsZXJfaWQ7CisJCX0gZWxzZSB7CisJCQlpZiAoIWRybV9zdGF0ZSkKKwkJCQljb250aW51ZTsK KworCQkJLyogcGxhbmUgc2NhbGVyIGNhc2U6IGFzc2lnbiBhcyBhIHBsYW5lIHNjYWxlciAqLwor CQkJLyogZmluZCB0aGUgcGxhbmUgdGhhdCBzZXQgdGhlIGJpdCBhcyBzY2FsZXJfdXNlciAqLwor CQkJcGxhbmUgPSBkcm1fc3RhdGUtPnBsYW5lc1tpXTsKKworCQkJLyoKKwkJCSAqIHRvIGVuYWJs ZS9kaXNhYmxlIGhxIG1vZGUsIGFkZCBwbGFuZXMgdGhhdCBhcmUgdXNpbmcgc2NhbGVyCisJCQkg KiBpbnRvIHRoaXMgdHJhbnNhY3Rpb24KKwkJCSAqLworCQkJaWYgKCFwbGFuZSkgeworCQkJCXBs YW5lID0gZHJtX3BsYW5lX2Zyb21faW5kZXgoZGV2LCBpKTsKKwkJCQlkcm1fc3RhdGUtPnBsYW5l c1tpXSA9IHBsYW5lOworCQkJCWRybV9zdGF0ZS0+cGxhbmVfc3RhdGVzW2ldID0KKwkJCQkJZHJt X2F0b21pY19nZXRfcGxhbmVfc3RhdGUoZHJtX3N0YXRlLCBwbGFuZSk7CisJCQl9CisKKwkJCWlu dGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOworCisJCQkvKiBwbGFuZSBvbiBkaWZm ZXJlbnQgY3J0YyBjYW5ub3QgYmUgYSBzY2FsZXIgdXNlciBvZiB0aGlzIGNydGMgKi8KKwkJCWlm IChXQVJOX09OKGludGVsX3BsYW5lLT5waXBlICE9IGludGVsX2NydGMtPnBpcGUpKSB7CisJCQkJ Y29udGludWU7CisJCQl9CisKKwkJCXBsYW5lX3N0YXRlID0gdG9faW50ZWxfcGxhbmVfc3RhdGUo ZHJtX3N0YXRlLT5wbGFuZV9zdGF0ZXNbaV0pOworCQkJc2NhbGVyX2lkID0gJnBsYW5lX3N0YXRl LT5zY2FsZXJfaWQ7CisJCX0KKworCQlpZiAoKnNjYWxlcl9pZCA8IDApIHsKKwkJCS8qIGZpbmQg YSBmcmVlIHNjYWxlciAqLworCQkJZm9yIChqID0gMDsgaiA8IHNjYWxlcl9zdGF0ZS0+bnVtX3Nj YWxlcnM7IGorKykgeworCQkJCWlmICghc2NhbGVyX3N0YXRlLT5zY2FsZXJzW2pdLmluX3VzZSkg eworCQkJCQlzY2FsZXJfc3RhdGUtPnNjYWxlcnNbal0uaW5fdXNlID0gMTsKKwkJCQkJKnNjYWxl cl9pZCA9IHNjYWxlcl9zdGF0ZS0+c2NhbGVyc1tqXS5pZDsKKwkJCQkJRFJNX0RFQlVHX0tNUygi QXR0YWNoZWQgc2NhbGVyIGlkICV1LiV1IHRvICVzOiVkXG4iLAorCQkJCQkJaW50ZWxfY3J0Yy0+ cGlwZSwKKwkJCQkJCWkgPT0gU0tMX0NSVENfSU5ERVggPyBzY2FsZXJfc3RhdGUtPnNjYWxlcl9p ZCA6CisJCQkJCQkJcGxhbmVfc3RhdGUtPnNjYWxlcl9pZCwKKwkJCQkJCWkgPT0gU0tMX0NSVENf SU5ERVggPyAiQ1JUQyIgOiAiUExBTkUiLAorCQkJCQkJaSA9PSBTS0xfQ1JUQ19JTkRFWCA/ICBp bnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQgOgorCQkJCQkJcGxhbmUtPmJhc2UuaWQpOworCQkJCQli cmVhazsKKwkJCQl9CisJCQl9CisJCX0KKworCQlpZiAoV0FSTl9PTigqc2NhbGVyX2lkIDwgMCkp IHsKKwkJCURSTV9ERUJVR19LTVMoIkNhbm5vdCBmaW5kIHNjYWxlciBmb3IgJXM6JWRcbiIsCisJ CQkJaSA9PSBTS0xfQ1JUQ19JTkRFWCA/ICJDUlRDIiA6ICJQTEFORSIsCisJCQkJaSA9PSBTS0xf Q1JUQ19JTkRFWCA/IGludGVsX2NydGMtPmJhc2UuYmFzZS5pZDpwbGFuZS0+YmFzZS5pZCk7CisJ CQljb250aW51ZTsKKwkJfQorCisJCS8qIHNldCBzY2FsZXIgbW9kZSAqLworCQlzY2FsZXJfc3Rh dGUtPnNjYWxlcnNbKnNjYWxlcl9pZF0ubW9kZSA9IChudW1fc2NhbGVyc19uZWVkID09IDEpID8K KwkJCVBTX1NDQUxFUl9NT0RFX0hRIDogUFNfU0NBTEVSX01PREVfRFlOOworCX0KKworCXJldHVy biAwOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBmNWQ1M2M5Li5hOWQ3ODdkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTQwMSw2ICsxNDAxLDkgQEAgaW50ZWxfYXRv bWljX2dldF9jcnRjX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCXJl dHVybiB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpOwogfQoraW50IGludGVsX2F0b21p Y19zZXR1cF9zY2FsZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMsCisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwog CiAvKiBpbnRlbF9hdG9taWNfcGxhbmUuYyAqLwogc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpp bnRlbF9jcmVhdGVfcGxhbmVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwotLSAKMS43 LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK