From mboxrd@z Thu Jan 1 00:00:00 1970 From: Puthikorn Voravootivat Subject: [PATCH v12 2/3] drm/i915: Add heuristic to determine better way to adjust brightness Date: Thu, 22 Jun 2017 12:03:38 -0700 Message-ID: <20170622190339.142671-3-puthik@chromium.org> References: <20170622190339.142671-1-puthik@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x236.google.com (mail-pg0-x236.google.com [IPv6:2607:f8b0:400e:c05::236]) by gabe.freedesktop.org (Postfix) with ESMTPS id A875E6E6BD for ; Thu, 22 Jun 2017 19:03:48 +0000 (UTC) Received: by mail-pg0-x236.google.com with SMTP id e187so11553978pgc.1 for ; Thu, 22 Jun 2017 12:03:48 -0700 (PDT) In-Reply-To: <20170622190339.142671-1-puthik@chromium.org> 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, Dhinakaran Pandiyan , Jani Nikula , Daniel Vetter Cc: Puthikorn Voravootivat , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QWRkIGhldXJpc3RpYyB0byBkZWNpZGUgdGhhdCBBVVggb3IgUFdNIHBpbiBzaG91bGQgdXNlIGZv cgpiYWNrbGlnaHQgYnJpZ2h0bmVzcyBhZGp1c3RtZW50IGFuZCBtb2RpZnkgaTkxNSBwYXJhbSBk ZXNjcmlwdGlvbgp0byBoYXZlIGF1dG8sIGZvcmNlIGRpc2FibGUsIGFuZCBmb3JjZSBlbmFibGUu CgpUaGUgaGV1cmlzdGljIHRvIGRldGVybWluZSB0aGF0IHVzaW5nIEFVWCBwaW4gaXMgYmV0dGVy IHRoYW4gdXNpbmcKUFdNIHBpbiBpcyB0aGF0IHRoZSBwYW5lbCBzdXBwb3J0IGFueSBvZiB0aGUg ZmVhdHVyZSBsaXN0IGhlcmUuCi0gUmVnaW9uYWwgYmFja2xpZ2h0IGJyaWdodG5lc3MgYWRqdXN0 bWVudAotIEJhY2tsaWdodCBQV00gZnJlcXVlbmN5IHNldAotIE1vcmUgdGhhbiA4IGJpdHMgcmVz b2x1dGlvbiBvZiBicmlnaHRuZXNzIGxldmVsCi0gQmFja2xpZ2h0IGVuYWJsZW1lbnQgdmlhIEFV WCBhbmQgbm90IGJ5IEJMX0VOQUJMRSBwaW4KClNpZ25lZC1vZmYtYnk6IFB1dGhpa29ybiBWb3Jh dm9vdGl2YXQgPHB1dGhpa0BjaHJvbWl1bS5vcmc+ClJldmlld2VkLWJ5OiBEaGluYWthcmFuIFBh bmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgICAgICAgICAgfCAgNyArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGFyYW1zLmggICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9hdXhfYmFja2xpZ2h0LmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysr KysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwppbmRleCAxNGUyYzJlNTdmOTYuLjViNWFiMTVk MTkxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCkBAIC02Myw3ICs2Myw3IEBAIHN0 cnVjdCBpOTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7CiAJLmh1Y19maXJtd2FyZV9w YXRoID0gTlVMTCwKIAkuZW5hYmxlX2RwX21zdCA9IHRydWUsCiAJLmluamVjdF9sb2FkX2ZhaWx1 cmUgPSAwLAotCS5lbmFibGVfZHBjZF9iYWNrbGlnaHQgPSBmYWxzZSwKKwkuZW5hYmxlX2RwY2Rf YmFja2xpZ2h0ID0gLTEsCiAJLmVuYWJsZV9ndnQgPSBmYWxzZSwKIH07CiAKQEAgLTI0Niw5ICsy NDYsMTAgQEAgTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfZHBfbXN0LAogbW9kdWxlX3BhcmFtX25h bWVkX3Vuc2FmZShpbmplY3RfbG9hZF9mYWlsdXJlLCBpOTE1LmluamVjdF9sb2FkX2ZhaWx1cmUs IHVpbnQsIDA0MDApOwogTU9EVUxFX1BBUk1fREVTQyhpbmplY3RfbG9hZF9mYWlsdXJlLAogCSJG b3JjZSBhbiBlcnJvciBhZnRlciBhIG51bWJlciBvZiBmYWlsdXJlIGNoZWNrIHBvaW50cyAoMDpk aXNhYmxlZCAoZGVmYXVsdCksIE46Zm9yY2UgZmFpbHVyZSBhdCB0aGUgTnRoIGZhaWx1cmUgY2hl Y2sgcG9pbnQpIik7Ci1tb2R1bGVfcGFyYW1fbmFtZWQoZW5hYmxlX2RwY2RfYmFja2xpZ2h0LCBp OTE1LmVuYWJsZV9kcGNkX2JhY2tsaWdodCwgYm9vbCwgMDYwMCk7Cittb2R1bGVfcGFyYW1fbmFt ZWRfdW5zYWZlKGVuYWJsZV9kcGNkX2JhY2tsaWdodCwgaTkxNS5lbmFibGVfZHBjZF9iYWNrbGln aHQsIGludCwgMDYwMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9kcGNkX2JhY2tsaWdodCwK LQkiRW5hYmxlIHN1cHBvcnQgZm9yIERQQ0QgYmFja2xpZ2h0IGNvbnRyb2wgKGRlZmF1bHQ6ZmFs c2UpIik7CisJIkVuYWJsZSBzdXBwb3J0IGZvciBEUENEIGJhY2tsaWdodCBjb250cm9sICIKKwki KC0xOmF1dG8gKGRlZmF1bHQpLCAwOmZvcmNlIGRpc2FibGUsIDE6Zm9yY2UgZW5hYmxlZCBpZiBz dXBwb3J0ZWQiKTsKIAogbW9kdWxlX3BhcmFtX25hbWVkKGVuYWJsZV9ndnQsIGk5MTUuZW5hYmxl X2d2dCwgYm9vbCwgMDQwMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9ndnQsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuaAppbmRleCBmZWJiZmRiZDMwYmQuLjBkNmNmOTEzOGRjNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCkBAIC01Myw2ICs1Myw3IEBACiAJZnVuYyhpbnQs IGVkcF92c3dpbmcpOyBcCiAJZnVuYyhpbnQsIHJlc2V0KTsgXAogCWZ1bmModW5zaWduZWQgaW50 LCBpbmplY3RfbG9hZF9mYWlsdXJlKTsgXAorCWZ1bmMoaW50LCBlbmFibGVfZHBjZF9iYWNrbGln aHQpOyBcCiAJLyogbGVhdmUgYm9vbHMgYXQgdGhlIGVuZCB0byBub3QgY3JlYXRlIGhvbGVzICov IFwKIAlmdW5jKGJvb2wsIGFscGhhX3N1cHBvcnQpOyBcCiAJZnVuYyhib29sLCBlbmFibGVfY21k X3BhcnNlcik7IFwKQEAgLTY2LDcgKzY3LDYgQEAKIAlmdW5jKGJvb2wsIHZlcmJvc2Vfc3RhdGVf Y2hlY2tzKTsgXAogCWZ1bmMoYm9vbCwgbnVjbGVhcl9wYWdlZmxpcCk7IFwKIAlmdW5jKGJvb2ws IGVuYWJsZV9kcF9tc3QpOyBcCi0JZnVuYyhib29sLCBlbmFibGVfZHBjZF9iYWNrbGlnaHQpOyBc CiAJZnVuYyhib29sLCBlbmFibGVfZ3Z0KQogCiAjZGVmaW5lIE1FTUJFUihULCBtZW1iZXIpIFQg bWVtYmVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9hdXhfYmFj a2xpZ2h0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9hdXhfYmFja2xpZ2h0LmMK aW5kZXggZDI4MzBiYTMxNjJlLi5mZWExNjE3MjdjNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9hdXhfYmFja2xpZ2h0LmMKQEAgLTI1MSwxNSArMjUxLDY2IEBAIGludGVs X2RwX2F1eF9kaXNwbGF5X2NvbnRyb2xfY2FwYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiAJLyogQ2hlY2sgdGhlIGVEUCBEaXNwbGF5IGNvbnRyb2wgY2FwYWJpbGl0aWVz IHJlZ2lzdGVycyB0byBkZXRlcm1pbmUgaWYKIAkgKiB0aGUgcGFuZWwgY2FuIHN1cHBvcnQgYmFj a2xpZ2h0IGNvbnRyb2wgb3ZlciB0aGUgYXV4IGNoYW5uZWwKIAkgKi8KLQlpZiAoaW50ZWxfZHAt PmVkcF9kcGNkWzFdICYgRFBfRURQX1RDT05fQkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQICYmCi0J ICAgIChpbnRlbF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1Nf QVVYX1NFVF9DQVApICYmCi0JICAgICEoaW50ZWxfZHAtPmVkcF9kcGNkWzJdICYgRFBfRURQX0JB Q0tMSUdIVF9CUklHSFRORVNTX1BXTV9QSU5fQ0FQKSkgeworCWlmICgoaW50ZWxfZHAtPmVkcF9k cGNkWzFdICYgRFBfRURQX1RDT05fQkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQKSAmJgorCSAgICAo aW50ZWxfZHAtPmVkcF9kcGNkWzJdICYgRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX0FVWF9T RVRfQ0FQKSkgewogCQlEUk1fREVCVUdfS01TKCJBVVggQmFja2xpZ2h0IENvbnRyb2wgU3VwcG9y dGVkIVxuIik7CiAJCXJldHVybiB0cnVlOwogCX0KIAlyZXR1cm4gZmFsc2U7CiB9CiAKKy8qCisg KiBIZXVyaXN0aWMgZnVuY3Rpb24gd2hldGhlciB3ZSBzaG91bGQgdXNlIEFVWCBmb3IgYmFja2xp Z2h0IGFkanVzdG1lbnQgb3Igbm90LgorICoKKyAqIFdlIHNob3VsZCB1c2UgQVVYIGZvciBiYWNr bGlnaHQgYnJpZ2h0bmVzcyBhZGp1c3RtZW50IGlmIHBhbmVsIGRvZXNuJ3QgdGhpcworICogdmlh IFBXTSBwaW4gb3IgdXNpbmcgQVVYIGlzIGJldHRlciB0aGFuIHVzaW5nIFBXTSBwaW4uCisgKgor ICogVGhlIGhldXJpc3RpYyB0byBkZXRlcm1pbmUgdGhhdCB1c2luZyBBVVggcGluIGlzIGJldHRl ciB0aGFuIHVzaW5nIFBXTSBwaW4gaXMKKyAqIHRoYXQgdGhlIHBhbmVsIHN1cHBvcnQgYW55IG9m IHRoZSBmZWF0dXJlIGxpc3QgaGVyZS4KKyAqIC0gUmVnaW9uYWwgYmFja2xpZ2h0IGJyaWdodG5l c3MgYWRqdXN0bWVudAorICogLSBCYWNrbGlnaHQgUFdNIGZyZXF1ZW5jeSBzZXQKKyAqIC0gTW9y ZSB0aGFuIDggYml0cyByZXNvbHV0aW9uIG9mIGJyaWdodG5lc3MgbGV2ZWwKKyAqIC0gQmFja2xp Z2h0IGVuYWJsZW1lbnQgdmlhIEFVWCBhbmQgbm90IGJ5IEJMX0VOQUJMRSBwaW4KKyAqCisgKiBJ ZiBhbGwgYWJvdmUgYXJlIG5vdCB0cnVlLCBhc3N1bWUgdGhhdCB1c2luZyBQV00gcGluIGlzIGJl dHRlci4KKyAqLworc3RhdGljIGJvb2wKK2ludGVsX2RwX2F1eF9kaXNwbGF5X2NvbnRyb2xfaGV1 cmlzdGljKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZjb25uZWN0b3ItPmVuY29kZXItPmJh c2UpOworCXVpbnQ4X3QgcmVnX3ZhbDsKKworCS8qIFBhbmVsIGRvZXNuJ3Qgc3VwcG9ydCBhZGp1 c3RpbmcgYmFja2xpZ2h0IGJyaWdodG5lc3MgdmlhIFBXTiBwaW4gKi8KKwlpZiAoIShpbnRlbF9k cC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1NfUFdNX1BJTl9DQVAp KQorCQlyZXR1cm4gdHJ1ZTsKKworCS8qIFBhbmVsIHN1cHBvcnRzIHJlZ2lvbmFsIGJhY2tsaWdo dCBicmlnaHRuZXNzIGFkanVzdG1lbnQgKi8KKwlpZiAoZHJtX2RwX2RwY2RfcmVhZGIoJmludGVs X2RwLT5hdXgsIERQX0VEUF9HRU5FUkFMX0NBUF8zLAorCQkJICAgICAgJnJlZ192YWwpICE9IDEp IHsKKwkJRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIHJlYWQgRFBDRCByZWdpc3RlciAweCV4XG4i LAorCQkJICAgICAgIERQX0VEUF9HRU5FUkFMX0NBUF8zKTsKKwkJcmV0dXJuIGZhbHNlOworCX0K KwlpZiAocmVnX3ZhbCA+IDApCisJCXJldHVybiB0cnVlOworCisJLyogUGFuZWwgc3VwcG9ydHMg YmFja2xpZ2h0IFBXTSBmcmVxdWVuY3kgc2V0ICovCisJaWYgKGludGVsX2RwLT5lZHBfZHBjZFsy XSAmIERQX0VEUF9CQUNLTElHSFRfRlJFUV9BVVhfU0VUX0NBUCkKKwkJcmV0dXJuIHRydWU7CisK KwkvKiBQYW5lbCBzdXBwb3J0cyBtb3JlIHRoYW4gOCBiaXRzIHJlc29sdXRpb24gb2YgYnJpZ2h0 bmVzcyBsZXZlbCAqLworCWlmIChpbnRlbF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJ R0hUX0JSSUdIVE5FU1NfQllURV9DT1VOVCkKKwkJcmV0dXJuIHRydWU7CisKKwkvKiBQYW5lbCBz dXBwb3J0cyBlbmFibGluZyBiYWNrbGlnaHQgdmlhIEFVWCBidXQgbm90IGJ5IEJMX0VOQUJMRSBw aW4gKi8KKwlpZiAoKGludGVsX2RwLT5lZHBfZHBjZFsxXSAmIERQX0VEUF9CQUNLTElHSFRfQVVY X0VOQUJMRV9DQVApICYmCisJICAgICEoaW50ZWxfZHAtPmVkcF9kcGNkWzFdICYgRFBfRURQX0JB Q0tMSUdIVF9QSU5fRU5BQkxFX0NBUCkpCisJCXJldHVybiB0cnVlOworCisJcmV0dXJuIGZhbHNl OworCit9CisKIGludCBpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQogewogCXN0cnVjdCBpbnRlbF9wYW5lbCAq cGFuZWwgPSAmaW50ZWxfY29ubmVjdG9yLT5wYW5lbDsKQEAgLTI3MCw2ICszMjEsMTAgQEAgaW50 IGludGVsX2RwX2F1eF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICppbnRlbF9jb25uZWN0b3IpCiAJaWYgKCFpbnRlbF9kcF9hdXhfZGlzcGxheV9jb250cm9sX2Nh cGFibGUoaW50ZWxfY29ubmVjdG9yKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlpZiAoaTkxNS5l bmFibGVfZHBjZF9iYWNrbGlnaHQgPT0gLTEgJiYKKwkgICAgIWludGVsX2RwX2F1eF9kaXNwbGF5 X2NvbnRyb2xfaGV1cmlzdGljKGludGVsX2Nvbm5lY3RvcikpCisJCXJldHVybiAtRU5PREVWOwor CiAJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGludGVsX2RwX2F1eF9zZXR1cF9iYWNrbGlnaHQ7 CiAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBpbnRlbF9kcF9hdXhfZW5hYmxlX2JhY2tsaWdo dDsKIAlwYW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBpbnRlbF9kcF9hdXhfZGlzYWJsZV9iYWNr bGlnaHQ7Ci0tIAoyLjEzLjEuNjExLmc3ZTNiMTFhZTEtZ29vZwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==