From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandra Konduru Subject: [PATCH 08/21 v2] drm/i915: Add helper function to update scaler_users in crtc_state Date: Fri, 20 Mar 2015 17:04:29 -0700 Message-ID: <1426896282-23215-9-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 59CB68A565 for ; Fri, 20 Mar 2015 17:05:25 -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 VGhpcyBoZWxwZXIgZnVuY3Rpb24gc3RhZ2VzIGEgc2NhbGVyIHJlcXVlc3QgZm9yIGEgcGxhbmUv Y3J0YyBpbnRvCmNydGNfc3RhdGUtPnNjYWxlcl91c2VycyAod2hpY2ggaXMgYSBiaXQgZmllbGQp LiBJdCBhbHNvIHBlcmZvcm1zCnJlcXVpcmVkIGNoZWNrcyBiZWZvcmUgc3RhZ2luZyBhbnkgY2hh bmdlIGludG8gc2NhbGVyX3N0YXRlLgoKdjI6Ci11cGRhdGVzIHRvIHVzZSBzaW5nbGUgY29weSBv ZiBzY2FsZXIgbGltaXRzIChNYXR0KQotYWRkZWQgZm9yY2UgZGV0YWNoIHBhcmFtZXRlciBmb3Ig cGZpdCBkaXNhYmxlIHB1cnBvc2UgKG1lKQoKU2lnbmVkLW9mZi1ieTogQ2hhbmRyYSBLb25kdXJ1 IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyB8ICAxNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICAgMyArCiAyIGZpbGVzIGNo YW5nZWQsIDE0NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CmluZGV4IDg5MGQzNzIuLjk3NmJmYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTEyMzg3LDYgKzEyMzg3LDE0OSBAQCBpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCX0KIH0KIAorLyoKKyAqIFVwZGF0ZSBjcnRjX3N0YXRlLT5z Y2FsZXJfdXNlcnMgZm9yIHJlcXVlc3RlZCBwbGFuZSBvciBjcnRjIGJhc2VkIG9uIHN0YXRlLgor ICoKKyAqIHBsYW5lIChpbikKKyAqICAgICBOVUxMIC0gZm9yIGNydGMKKyAqICAgICBub3QgTlVM TCAtIGZvciBwbGFuZQorICogZm9yY2VfZGV0YWNoIChpbikKKyAqICAgICB1bmNvbmRpdGlvbmFs bHkgc2NhbGVyIHdpbGwgYmUgc3RhZ2VkIGZvciBkZXRhY2htZW50IGZyb20gY3J0Yy9wbGFuZQor ICogUmV0dXJuCisgKiAgICAgMCAtIHNjYWxlcl91c2FnZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseQor ICogICAgZXJyb3IgLSByZXF1ZXN0ZWQgc2NhbGluZyBjYW5ub3QgYmUgc3VwcG9ydGVkIG9yIG90 aGVyIGVycm9yIGNvbmRpdGlvbgorICovCitpbnQKK3NrbF91cGRhdGVfc2NhbGVyX3VzZXJzKAor CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lLCBzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAorCWludCBmb3JjZV9kZXRhY2gpCit7CisJaW50 IG5lZWRfc2NhbGluZzsKKwlpbnQgaWR4OworCWludCBzcmNfdywgc3JjX2gsIGRzdF93LCBkc3Rf aDsKKwlpbnQgc2NhbGVyX2lkOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOworCXN0cnVj dCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YXRlOworCisJaWYgKCFpbnRlbF9j cnRjIHx8ICFjcnRjX3N0YXRlIHx8CisJCShpbnRlbF9wbGFuZSAmJiBpbnRlbF9wbGFuZS0+YmFz ZS50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikpCisJCXJldHVybiAwOworCisJc2NhbGVy X3N0YXRlID0gJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKKworCWlmICghc2NhbGVyX3N0YXRl LT5udW1fc2NhbGVycykgeworCQlEUk1fREVCVUdfS01TKCJjcnRjX3N0YXRlID0gJXAsIG51bV9z Y2FsZXJzID0gJWRcbiIsIGNydGNfc3RhdGUsCisJCQlzY2FsZXJfc3RhdGUtPm51bV9zY2FsZXJz KTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWR4ID0gaW50ZWxfcGxhbmUgPyBkcm1fcGxhbmVfaW5k ZXgoJmludGVsX3BsYW5lLT5iYXNlKSA6IFNLTF9DUlRDX0lOREVYOworCWZiID0gaW50ZWxfcGxh bmUgPyBwbGFuZV9zdGF0ZS0+YmFzZS5mYiA6IE5VTEw7CisKKwlpZiAoaW50ZWxfcGxhbmUpIHsK KwkJc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPnNyYykgPj4gMTY7CisJCXNy Y19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsKKwkJZHN0X3cg PSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmRzdCk7CisJCWRzdF9oID0gZHJtX3JlY3Rf aGVpZ2h0KCZwbGFuZV9zdGF0ZS0+ZHN0KTsKKwkJc2NhbGVyX2lkID0gcGxhbmVfc3RhdGUtPnNj YWxlcl9pZDsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9CisJCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOworCQlzcmNfdyA9IGNy dGNfc3RhdGUtPnBpcGVfc3JjX3c7CisJCXNyY19oID0gY3J0Y19zdGF0ZS0+cGlwZV9zcmNfaDsK KwkJZHN0X3cgPSBhZGp1c3RlZF9tb2RlLT5oZGlzcGxheTsKKwkJZHN0X2ggPSBhZGp1c3RlZF9t b2RlLT52ZGlzcGxheTsKKwkJc2NhbGVyX2lkID0gc2NhbGVyX3N0YXRlLT5zY2FsZXJfaWQ7CisJ fQorCW5lZWRfc2NhbGluZyA9IChzcmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaCk7CisK KwkvKgorCSAqIGlmIHBsYW5lIGlzIGJlaW5nIGRpc2FibGVkIG9yIHNjYWxlciBpcyBubyBtb3Jl IHJlcXVpcmVkIG9yIGZvcmNlIGRldGFjaAorCSAqICAtIGZyZWUgc2NhbGVyIGJpbmRlZCB0byB0 aGlzIHBsYW5lL2NydGMKKwkgKiAgLSBpbiBvcmRlciB0byBkbyB0aGlzLCB1cGRhdGUgY3J0Yy0+ c2NhbGVyX3VzYWdlCisJICoKKwkgKiBIZXJlIHNjYWxlciBzdGF0ZSBpbiBjcnRjX3N0YXRlIGlz IHNldCBmcmVlIHNvIHRoYXQKKwkgKiBzY2FsZXIgY2FuIGJlIGFzc2lnbmVkIHRvIG90aGVyIHVz ZXIuIEFjdHVhbCByZWdpc3RlcgorCSAqIHVwZGF0ZSB0byBmcmVlIHRoZSBzY2FsZXIgaXMgZG9u ZSBpbiBwbGFuZS9wYW5lbC1maXQgcHJvZ3JhbW1pbmcuCisJICogRm9yIHRoaXMgcHVycG9zZSBj cnRjL3BsYW5lX3N0YXRlLT5zY2FsZXJfaWQgaXNuJ3QgcmVzZXQgaGVyZS4KKwkgKi8KKwlpZiAo Zm9yY2VfZGV0YWNoIHx8ICFuZWVkX3NjYWxpbmcgfHwgKGludGVsX3BsYW5lICYmCisJCSghZmIg fHwgIXBsYW5lX3N0YXRlLT52aXNpYmxlKSkpIHsKKwkJaWYgKHNjYWxlcl9pZCA+PSAwKSB7CisJ CQlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2VycyAmPSB+KDEgPDwgaWR4KTsKKwkJCXNjYWxlcl9z dGF0ZS0+c2NhbGVyc1tzY2FsZXJfaWRdLmluX3VzZSA9IDA7CisKKwkJCURSTV9ERUJVR19LTVMo IlN0YWdlZCBmcmVlaW5nIHNjYWxlciBpZCAldS4ldSBmcm9tICVzOiVkICIKKwkJCQkiY3J0Y19z dGF0ZSA9ICVwIHNjYWxlcl91c2VycyA9IDB4JXhcbiIsCisJCQkJaW50ZWxfY3J0Yy0+cGlwZSwg c2NhbGVyX2lkLCBpbnRlbF9wbGFuZSA/ICJQTEFORSIgOiAiQ1JUQyIsCisJCQkJaW50ZWxfcGxh bmUgPyBpbnRlbF9wbGFuZS0+YmFzZS5iYXNlLmlkIDoKKwkJCQlpbnRlbF9jcnRjLT5iYXNlLmJh c2UuaWQsIGNydGNfc3RhdGUsCisJCQkJc2NhbGVyX3N0YXRlLT5zY2FsZXJfdXNlcnMpOworCQl9 CisJCXJldHVybiAwOworCX0KKworCS8qCisJICogY2hlY2sgZm9yIHJlY3Qgc2l6ZToKKwkgKiAg ICAgbWluIHNpemVzIGluIGNhc2Ugb2Ygc2NhbGluZyBpbnZvbHZlZAorCSAqICAgICBtYXggc2l6 ZXMgaW4gYWxsIGNhc2VzCisJICovCisJaWYgKChuZWVkX3NjYWxpbmcgJiYKKwkJKHNyY193IDwg c2NhbGVyX3N0YXRlLT5taW5fc3JjX3cgfHwgc3JjX2ggPCBzY2FsZXJfc3RhdGUtPm1pbl9zcmNf aCB8fAorCQkgZHN0X3cgPCBzY2FsZXJfc3RhdGUtPm1pbl9kc3RfdyB8fCBkc3RfaCA8IHNjYWxl cl9zdGF0ZS0+bWluX2RzdF9oKSkgfHwKKworCQkgc3JjX3cgPiBzY2FsZXJfc3RhdGUtPm1heF9z cmNfdyB8fCBzcmNfaCA+IHNjYWxlcl9zdGF0ZS0+bWF4X3NyY19oIHx8CisJCSBkc3RfdyA+IHNj YWxlcl9zdGF0ZS0+bWF4X2RzdF93IHx8IGRzdF9oID4gc2NhbGVyX3N0YXRlLT5tYXhfZHN0X2gp IHsKKwkJRFJNX0RFQlVHX0tNUygiJXM6JWQgc2NhbGVyX3VzZXIgaW5kZXggJXUuJXU6IHNyYyAl dXgldSBkc3QgJXV4JXUgIgorCQkJInNpemUgaXMgb3V0IG9mIHNjYWxlciByYW5nZVxuIiwKKwkJ CWludGVsX3BsYW5lID8gIlBMQU5FIiA6ICJDUlRDIiwKKwkJCWludGVsX3BsYW5lID8gaW50ZWxf cGxhbmUtPmJhc2UuYmFzZS5pZCA6IGludGVsX2NydGMtPmJhc2UuYmFzZS5pZCwKKwkJCWludGVs X2NydGMtPnBpcGUsIGlkeCwgc3JjX3csIHNyY19oLCBkc3RfdywgZHN0X2gpOworCQlyZXR1cm4g LUVJTlZBTDsKKwl9CisKKwkvKiBjaGVjayBjb2xvcmtleSAqLworCWlmIChpbnRlbF9wbGFuZSAm JiBuZWVkX3NjYWxpbmcgJiYgaW50ZWxfY29sb3JrZXlfZW5hYmxlZChpbnRlbF9wbGFuZSkpIHsK KwkJRFJNX0RFQlVHX0tNUygiUExBTkU6JWQgc2NhbGluZyB3aXRoIGNvbG9yIGtleSBub3QgYWxs b3dlZCIsCisJCQlpbnRlbF9wbGFuZS0+YmFzZS5iYXNlLmlkKTsKKwkJcmV0dXJuIC1FSU5WQUw7 CisJfQorCisJLyogQ2hlY2sgc3JjIGZvcm1hdCAqLworCWlmIChpbnRlbF9wbGFuZSAmJiBuZWVk X3NjYWxpbmcpIHsKKwkJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7CisJCWNhc2UgRFJNX0ZP Uk1BVF9SR0I1NjU6CisJCWNhc2UgRFJNX0ZPUk1BVF9YQkdSODg4ODoKKwkJY2FzZSBEUk1fRk9S TUFUX1hSR0I4ODg4OgorCQljYXNlIERSTV9GT1JNQVRfQUJHUjg4ODg6CisJCWNhc2UgRFJNX0ZP Uk1BVF9BUkdCODg4ODoKKwkJY2FzZSBEUk1fRk9STUFUX1hSR0IyMTAxMDEwOgorCQljYXNlIERS TV9GT1JNQVRfQVJHQjIxMDEwMTA6CisJCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMDoKKwkJ Y2FzZSBEUk1fRk9STUFUX0FCR1IyMTAxMDEwOgorCQljYXNlIERSTV9GT1JNQVRfWVVZVjoKKwkJ Y2FzZSBEUk1fRk9STUFUX1lWWVU6CisJCWNhc2UgRFJNX0ZPUk1BVF9VWVZZOgorCQljYXNlIERS TV9GT1JNQVRfVllVWToKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJRFJNX0RFQlVHX0tNUygi UExBTkU6JWQgRkI6JWQgZm9ybWF0IDB4JXggbm90IHN1cHBvcnRlZFxuIiwKKwkJCQlpbnRlbF9w bGFuZS0+YmFzZS5iYXNlLmlkLCBmYi0+YmFzZS5pZCwgZmItPnBpeGVsX2Zvcm1hdCk7CisJCQly ZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKworCS8qIG1hcmsgdGhpcyBwbGFuZSBhcyBhIHNjYWxl ciB1c2VyIGluIGNydGNfc3RhdGUgKi8KKwlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2VycyB8PSAo MSA8PCBpZHgpOworCURSTV9ERUJVR19LTVMoIiVzOiVkIHN0YWdlZCBzY2FsaW5nIHJlcXVlc3Qg Zm9yICV1eCV1LT4ldXgldSAiCisJCSJjcnRjX3N0YXRlID0gJXAgc2NhbGVyX3VzZXJzID0gMHgl eFxuIiwKKwkJaW50ZWxfcGxhbmUgPyAiUExBTkUiIDogIkNSVEMiLAorCQlpbnRlbF9wbGFuZSA/ IGludGVsX3BsYW5lLT5iYXNlLmJhc2UuaWQgOiBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsCisJ CXNyY193LCBzcmNfaCwgZHN0X3csIGRzdF9oLCBjcnRjX3N0YXRlLCBzY2FsZXJfc3RhdGUtPnNj YWxlcl91c2Vycyk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQKIGludGVsX2NoZWNrX3By aW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgIHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqc3RhdGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDFkYTUwODcu LmY1ZDUzYzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xMTM4LDYgKzExMzgsOSBA QCB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKIAkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKIHZv aWQgaW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5kaW5nX2ZsaXBzKHN0cnVjdCBkcm1fY3J0YyAqY3J0 Yyk7CiB2b2lkIGludGVsX21vZGVzZXRfcHJlY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9maWxlICpmaWxlKTsKK2ludCBza2xfdXBkYXRlX3NjYWxlcl91c2VycyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwgc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSwKKwlzdHJ1Y3QgaW50ZWxf cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLCBpbnQgZm9yY2VfZGV0YWNoKTsKIAogLyogaW50ZWxf ZHAuYyAqLwogdm9pZCBpbnRlbF9kcF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBv dXRwdXRfcmVnLCBlbnVtIHBvcnQgcG9ydCk7Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=