From mboxrd@z Thu Jan 1 00:00:00 1970 From: Puthikorn Voravootivat Subject: [PATCH RESEND v11 2/3] drm/i915: Add heuristic to determine better way to adjust brightness Date: Mon, 5 Jun 2017 14:56:06 -0700 Message-ID: <20170605215607.27766-3-puthik@chromium.org> References: <20170605215607.27766-1-puthik@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170605215607.27766-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: dri-devel@lists.freedesktop.org QWRkIGhldXJpc3RpYyB0byBkZWNpZGUgdGhhdCBBVVggb3IgUFdNIHBpbiBzaG91bGQgdXNlIGZv cgpiYWNrbGlnaHQgYnJpZ2h0bmVzcyBhZGp1c3RtZW50IGFuZCBtb2RpZnkgaTkxNSBwYXJhbSBk ZXNjcmlwdGlvbgp0byBoYXZlIGF1dG8sIGZvcmNlIGRpc2FibGUsIGFuZCBmb3JjZSBlbmFibGUu CgpUaGUgaGV1cmlzdGljIHRvIGRldGVybWluZSB0aGF0IHVzaW5nIEFVWCBwaW4gaXMgYmV0dGVy IHRoYW4gdXNpbmcKUFdNIHBpbiBpcyB0aGF0IHRoZSBwYW5lbCBzdXBwb3J0IGFueSBvZiB0aGUg ZmVhdHVyZSBsaXN0IGhlcmUuCi0gUmVnaW9uYWwgYmFja2xpZ2h0IGJyaWdodG5lc3MgYWRqdXN0 bWVudAotIEJhY2tsaWdodCBQV00gZnJlcXVlbmN5IHNldAotIE1vcmUgdGhhbiA4IGJpdHMgcmVz b2x1dGlvbiBvZiBicmlnaHRuZXNzIGxldmVsCi0gQmFja2xpZ2h0IGVuYWJsZW1lbnQgdmlhIEFV WCBhbmQgbm90IGJ5IEJMX0VOQUJMRSBwaW4KClNpZ25lZC1vZmYtYnk6IFB1dGhpa29ybiBWb3Jh dm9vdGl2YXQgPHB1dGhpa0BjaHJvbWl1bS5vcmc+ClJldmlld2VkLWJ5OiBEaGluYWthcmFuIFBh bmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgICAgICAgICAgfCAgNyArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGFyYW1zLmggICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9hdXhfYmFja2xpZ2h0LmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysr KysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwppbmRleCBiNmE3ZTM2M2QwNzYuLjM3NThhZTFm MTFiNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCkBAIC02Myw3ICs2Myw3IEBAIHN0 cnVjdCBpOTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7CiAJLmh1Y19maXJtd2FyZV9w YXRoID0gTlVMTCwKIAkuZW5hYmxlX2RwX21zdCA9IHRydWUsCiAJLmluamVjdF9sb2FkX2ZhaWx1 cmUgPSAwLAotCS5lbmFibGVfZHBjZF9iYWNrbGlnaHQgPSBmYWxzZSwKKwkuZW5hYmxlX2RwY2Rf YmFja2xpZ2h0ID0gLTEsCiAJLmVuYWJsZV9ndnQgPSBmYWxzZSwKIH07CiAKQEAgLTI0Niw5ICsy NDYsMTAgQEAgTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfZHBfbXN0LAogbW9kdWxlX3BhcmFtX25h bWVkX3Vuc2FmZShpbmplY3RfbG9hZF9mYWlsdXJlLCBpOTE1LmluamVjdF9sb2FkX2ZhaWx1cmUs IHVpbnQsIDA0MDApOwogTU9EVUxFX1BBUk1fREVTQyhpbmplY3RfbG9hZF9mYWlsdXJlLAogCSJG b3JjZSBhbiBlcnJvciBhZnRlciBhIG51bWJlciBvZiBmYWlsdXJlIGNoZWNrIHBvaW50cyAoMDpk aXNhYmxlZCAoZGVmYXVsdCksIE46Zm9yY2UgZmFpbHVyZSBhdCB0aGUgTnRoIGZhaWx1cmUgY2hl Y2sgcG9pbnQpIik7Ci1tb2R1bGVfcGFyYW1fbmFtZWQoZW5hYmxlX2RwY2RfYmFja2xpZ2h0LCBp OTE1LmVuYWJsZV9kcGNkX2JhY2tsaWdodCwgYm9vbCwgMDYwMCk7Cittb2R1bGVfcGFyYW1fbmFt ZWRfdW5zYWZlKGVuYWJsZV9kcGNkX2JhY2tsaWdodCwgaTkxNS5lbmFibGVfZHBjZF9iYWNrbGln aHQsIGludCwgMDYwMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9kcGNkX2JhY2tsaWdodCwK LQkiRW5hYmxlIHN1cHBvcnQgZm9yIERQQ0QgYmFja2xpZ2h0IGNvbnRyb2wgKGRlZmF1bHQ6ZmFs c2UpIik7CisJIkVuYWJsZSBzdXBwb3J0IGZvciBEUENEIGJhY2tsaWdodCBjb250cm9sICIKKwki KC0xOmF1dG8gKGRlZmF1bHQpLCAwOmZvcmNlIGRpc2FibGUsIDE6Zm9yY2UgZW5hYmxlZCBpZiBz dXBwb3J0ZWQiKTsKIAogbW9kdWxlX3BhcmFtX25hbWVkKGVuYWJsZV9ndnQsIGk5MTUuZW5hYmxl X2d2dCwgYm9vbCwgMDQwMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9ndnQsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuaAppbmRleCAzNDE0OGNjODYzN2MuLjY0M2RmYWY0MWMxZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCkBAIC01Miw2ICs1Miw3IEBACiAJZnVuYyhpbnQs IG1taW9fZGVidWcpOyBcCiAJZnVuYyhpbnQsIGVkcF92c3dpbmcpOyBcCiAJZnVuYyh1bnNpZ25l ZCBpbnQsIGluamVjdF9sb2FkX2ZhaWx1cmUpOyBcCisJZnVuYyhpbnQsIGVuYWJsZV9kcGNkX2Jh Y2tsaWdodCk7IFwKIAkvKiBsZWF2ZSBib29scyBhdCB0aGUgZW5kIHRvIG5vdCBjcmVhdGUgaG9s ZXMgKi8gXAogCWZ1bmMoYm9vbCwgYWxwaGFfc3VwcG9ydCk7IFwKIAlmdW5jKGJvb2wsIGVuYWJs ZV9jbWRfcGFyc2VyKTsgXApAQCAtNjYsNyArNjcsNiBAQAogCWZ1bmMoYm9vbCwgdmVyYm9zZV9z dGF0ZV9jaGVja3MpOyBcCiAJZnVuYyhib29sLCBudWNsZWFyX3BhZ2VmbGlwKTsgXAogCWZ1bmMo Ym9vbCwgZW5hYmxlX2RwX21zdCk7IFwKLQlmdW5jKGJvb2wsIGVuYWJsZV9kcGNkX2JhY2tsaWdo dCk7IFwKIAlmdW5jKGJvb2wsIGVuYWJsZV9ndnQpCiAKICNkZWZpbmUgTUVNQkVSKFQsIG1lbWJl cikgVCBtZW1iZXIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2F1 eF9iYWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2F1eF9iYWNrbGln aHQuYwppbmRleCA2YzY0ZTFmNzVjNGUuLmI3M2IzZDQzMWE4MiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQuYwpAQCAtMjUwLDE1ICsyNTAsNjYgQEAg aW50ZWxfZHBfYXV4X2Rpc3BsYXlfY29udHJvbF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIAkvKiBDaGVjayB0aGUgIGVEUCBEaXNwbGF5IGNvbnRyb2wgY2FwYWJp bGl0aWVzIHJlZ2lzdGVycyB0byBkZXRlcm1pbmUgaWYKIAkgKiB0aGUgcGFuZWwgY2FuIHN1cHBv cnQgYmFja2xpZ2h0IGNvbnRyb2wgb3ZlciB0aGUgYXV4IGNoYW5uZWwKIAkgKi8KLQlpZiAoaW50 ZWxfZHAtPmVkcF9kcGNkWzFdICYgRFBfRURQX1RDT05fQkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQ ICYmCi0JICAgIChpbnRlbF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdI VE5FU1NfQVVYX1NFVF9DQVApICYmCi0JICAgICEoaW50ZWxfZHAtPmVkcF9kcGNkWzJdICYgRFBf RURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX1BXTV9QSU5fQ0FQKSkgeworCWlmICgoaW50ZWxfZHAt PmVkcF9kcGNkWzFdICYgRFBfRURQX1RDT05fQkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQKSAmJgor CSAgICAoaW50ZWxfZHAtPmVkcF9kcGNkWzJdICYgRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNT X0FVWF9TRVRfQ0FQKSkgewogCQlEUk1fREVCVUdfS01TKCJBVVggQmFja2xpZ2h0IENvbnRyb2wg U3VwcG9ydGVkIVxuIik7CiAJCXJldHVybiB0cnVlOwogCX0KIAlyZXR1cm4gZmFsc2U7CiB9CiAK Ky8qCisgKiBIZXVyaXN0aWMgZnVuY3Rpb24gd2hldGhlciB3ZSBzaG91bGQgdXNlIEFVWCBmb3Ig YmFja2xpZ2h0IGFkanVzdG1lbnQgb3Igbm90LgorICoKKyAqIFdlIHNob3VsZCB1c2UgQVVYIGZv ciBiYWNrbGlnaHQgYnJpZ2h0bmVzcyBhZGp1c3RtZW50IGlmIHBhbmVsIGRvZXNuJ3QgdGhpcwor ICogdmlhIFBXTSBwaW4gb3IgdXNpbmcgQVVYIGlzIGJldHRlciB0aGFuIHVzaW5nIFBXTSBwaW4u CisgKgorICogVGhlIGhldXJpc3RpYyB0byBkZXRlcm1pbmUgdGhhdCB1c2luZyBBVVggcGluIGlz IGJldHRlciB0aGFuIHVzaW5nIFBXTSBwaW4gaXMKKyAqIHRoYXQgdGhlIHBhbmVsIHN1cHBvcnQg YW55IG9mIHRoZSBmZWF0dXJlIGxpc3QgaGVyZS4KKyAqIC0gUmVnaW9uYWwgYmFja2xpZ2h0IGJy aWdodG5lc3MgYWRqdXN0bWVudAorICogLSBCYWNrbGlnaHQgUFdNIGZyZXF1ZW5jeSBzZXQKKyAq IC0gTW9yZSB0aGFuIDggYml0cyByZXNvbHV0aW9uIG9mIGJyaWdodG5lc3MgbGV2ZWwKKyAqIC0g QmFja2xpZ2h0IGVuYWJsZW1lbnQgdmlhIEFVWCBhbmQgbm90IGJ5IEJMX0VOQUJMRSBwaW4KKyAq CisgKiBJZiBhbGwgYWJvdmUgYXJlIG5vdCB0cnVlLCBhc3N1bWUgdGhhdCB1c2luZyBQV00gcGlu IGlzIGJldHRlci4KKyAqLworc3RhdGljIGJvb2wKK2ludGVsX2RwX2F1eF9kaXNwbGF5X2NvbnRy b2xfaGV1cmlzdGljKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZjb25uZWN0b3ItPmVuY29k ZXItPmJhc2UpOworCXVpbnQ4X3QgcmVnX3ZhbDsKKworCS8qIFBhbmVsIGRvZXNuJ3Qgc3VwcG9y dCBhZGp1c3RpbmcgYmFja2xpZ2h0IGJyaWdodG5lc3MgdmlhIFBXTiBwaW4gKi8KKwlpZiAoIShp bnRlbF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1NfUFdNX1BJ Tl9DQVApKQorCQlyZXR1cm4gdHJ1ZTsKKworCS8qIFBhbmVsIHN1cHBvcnRzIHJlZ2lvbmFsIGJh Y2tsaWdodCBicmlnaHRuZXNzIGFkanVzdG1lbnQgKi8KKwlpZiAoZHJtX2RwX2RwY2RfcmVhZGIo JmludGVsX2RwLT5hdXgsIERQX0VEUF9HRU5FUkFMX0NBUF8zLAorCQkJICAgICAgJnJlZ192YWwp ICE9IDEpIHsKKwkJRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIHJlYWQgRFBDRCByZWdpc3RlciAw eCV4XG4iLAorCQkJICAgICAgIERQX0VEUF9HRU5FUkFMX0NBUF8zKTsKKwkJcmV0dXJuIGZhbHNl OworCX0KKwlpZiAocmVnX3ZhbCA+IDApCisJCXJldHVybiB0cnVlOworCisJLyogUGFuZWwgc3Vw cG9ydHMgYmFja2xpZ2h0IFBXTSBmcmVxdWVuY3kgc2V0ICovCisJaWYgKGludGVsX2RwLT5lZHBf ZHBjZFsyXSAmIERQX0VEUF9CQUNLTElHSFRfRlJFUV9BVVhfU0VUX0NBUCkKKwkJcmV0dXJuIHRy dWU7CisKKwkvKiBQYW5lbCBzdXBwb3J0cyBtb3JlIHRoYW4gOCBiaXRzIHJlc29sdXRpb24gb2Yg YnJpZ2h0bmVzcyBsZXZlbCAqLworCWlmIChpbnRlbF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBf QkFDS0xJR0hUX0JSSUdIVE5FU1NfQllURV9DT1VOVCkKKwkJcmV0dXJuIHRydWU7CisKKwkvKiBQ YW5lbCBzdXBwb3J0cyBlbmFibGluZyBiYWNrbGlnaHQgdmlhIEFVWCBidXQgbm90IGJ5IEJMX0VO QUJMRSBwaW4gKi8KKwlpZiAoKGludGVsX2RwLT5lZHBfZHBjZFsxXSAmIERQX0VEUF9CQUNLTElH SFRfQVVYX0VOQUJMRV9DQVApICYmCisJICAgICEoaW50ZWxfZHAtPmVkcF9kcGNkWzFdICYgRFBf RURQX0JBQ0tMSUdIVF9QSU5fRU5BQkxFX0NBUCkpCisJCXJldHVybiB0cnVlOworCisJcmV0dXJu IGZhbHNlOworCit9CisKIGludCBpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQogewogCXN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwgPSAmaW50ZWxfY29ubmVjdG9yLT5wYW5lbDsKQEAgLTI2OSw2ICszMjAsMTAg QEAgaW50IGludGVsX2RwX2F1eF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICppbnRlbF9jb25uZWN0b3IpCiAJaWYgKCFpbnRlbF9kcF9hdXhfZGlzcGxheV9jb250 cm9sX2NhcGFibGUoaW50ZWxfY29ubmVjdG9yKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlpZiAo aTkxNS5lbmFibGVfZHBjZF9iYWNrbGlnaHQgPT0gLTEgJiYKKwkgICAgIWludGVsX2RwX2F1eF9k aXNwbGF5X2NvbnRyb2xfaGV1cmlzdGljKGludGVsX2Nvbm5lY3RvcikpCisJCXJldHVybiAtRU5P REVWOworCiAJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGludGVsX2RwX2F1eF9zZXR1cF9iYWNr bGlnaHQ7CiAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBpbnRlbF9kcF9hdXhfZW5hYmxlX2Jh Y2tsaWdodDsKIAlwYW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBpbnRlbF9kcF9hdXhfZGlzYWJs ZV9iYWNrbGlnaHQ7Ci0tIAoyLjEzLjAuNTA2LmcyN2Q1ZmUwY2QtZ29vZwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==