From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 4/6] drm/i915/cnp: Backlight support for CNP. Date: Tue, 30 May 2017 14:53:05 -0700 Message-ID: <1496181187-13514-4-git-send-email-rodrigo.vivi@intel.com> References: <1496181187-13514-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3D6C6E0FB for ; Tue, 30 May 2017 21:53:14 +0000 (UTC) In-Reply-To: <1496181187-13514-1-git-send-email-rodrigo.vivi@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: Jani Nikula , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org U3BsaXQgb3V0IEJYVCBhbmQgQ05QJ3Mgc2V0dXBfYmFja2xpZ2h0KCksZW5hYmxlX2JhY2tsaWdo dCgpLApkaXNhYmxlX2JhY2tsaWdodCgpIGFuZCBoel90b19wd20oKSBpbnRvCnR3byBzZXBhcmF0 ZSBmdW5jdGlvbnMgaW5zdGVhZCBvZiByZXVzaW5nIEJYVCBmdW5jdGlvbi4KClJldXNlIHNldF9i YWNrbGlnaHQoKSBhbmQgZ2V0X2JhY2tsaWdodCgpIHNpbmNlIHRoZXkgaGF2ZQpubyByZWZlcmVu Y2UgdG8gdGhlIHV0aWxpdHkgcGluLgoKdjI6IFJldXNlIEJYVCBmdW5jdGlvbnMgd2l0aCBjb250 cm9sbGVyIDAgaW5zdGVhZCBvZgogICAgcmVkZWZpbmluZyBpdC4gKEphbmkpLgogICAgVXNlIGRl dl9wcml2LT5yYXdjbGtfZnJlcSBpbnN0ZWFkIG9mIGdldHRpbmcgdGhlIHZhbHVlCiAgICBmcm9t IFNGVVNFX1NUUkFQLgp2MzogQXZvaWQgc2V0dXAgYmFja2xpZ2ggY29udHJvbGxlciBhbG9uZyB3 aXRoIGhvb2tzIGFuZAogICAgZnVsbHkgcmV1c2UgaG9va3Mgc2V0dXAgYXMgc3VnZ2VzdGVkIGJ5 IEphbmkuCnY0OiBDbGVhbiB1cCBjb21taXQgbWVzc2FnZS4KdjU6IEltcGxlbWVudCBwZXIgUENI IGluc3RlYWQgcGVyIHBsYXRmb3JtLgoKdjY6IEludHJvZHVjZSBhIG5ldyBmdW5jdGlvbiBmb3Ig Q05QLihKYW5pIGFuZCBWaWxsZSkKCnY3OiBTcXVhc2ggdGhlIGFsbCBDTlAgQmFja2xpZ2h0IHN1 cHBvcnQgcGF0Y2hlcyBpbnRvIGEKc2luZ2xlIHBhdGNoLiAoSmFuaSkKCnY4OiBDb3JyZWN0IGlu ZGVudGF0aW9uLCByZW1vdmUgdW5uZWVkZWQgYmxhbmsgbGluZXMgYW5kCmNvcnJlY3QgbWFpbCBh ZGRyZXNzIChKYW5pKS4KClJldmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50 ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ ClN1Z2dlc3RlZC1ieTogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+CkNj OiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IEphbmkg TmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFudXNoYSBTcml2 YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBW aXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BhbmVsLmMgfCA5NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog MSBmaWxlIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFu ZWwuYwppbmRleCBjODEwM2Y4Li40MjZlNWU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVs LmMKQEAgLTc5Niw2ICs3OTYsMTkgQEAgc3RhdGljIHZvaWQgYnh0X2Rpc2FibGVfYmFja2xpZ2h0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAl9CiB9CiAKK3N0YXRpYyB2b2lk IGNucF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip Cit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+ cGFuZWw7CisJdTMyIHRtcDsKKworCWludGVsX3BhbmVsX2FjdHVhbGx5X3NldF9iYWNrbGlnaHQo Y29ubmVjdG9yLCAwKTsKKworCXRtcCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwt PmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFu ZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJICAgdG1wICYgfkJYVF9CTENfUFdNX0VOQUJM RSk7Cit9CisKIHN0YXRpYyB2b2lkIHB3bV9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZj b25uZWN0b3ItPnBhbmVsOwpAQCAtMTA4Niw2ICsxMDk5LDM2IEBAIHN0YXRpYyB2b2lkIGJ4dF9l bmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJCXB3 bV9jdGwgfCBCWFRfQkxDX1BXTV9FTkFCTEUpOwogfQogCitzdGF0aWMgdm9pZCBjbnBfZW5hYmxl X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2 KTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJZW51 bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwor CXUzMiBwd21fY3RsOworCisJcHdtX2N0bCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFu ZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisJaWYgKHB3bV9jdGwgJiBCWFRfQkxDX1BXTV9F TkFCTEUpIHsKKwkJRFJNX0RFQlVHX0tNUygiYmFja2xpZ2h0IGFscmVhZHkgZW5hYmxlZFxuIik7 CisJCXB3bV9jdGwgJj0gfkJYVF9CTENfUFdNX0VOQUJMRTsKKwkJSTkxNV9XUklURShCWFRfQkxD X1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJCSAgIHB3bV9jdGwpOwor CX0KKworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRlJFUShwYW5lbC0+YmFja2xpZ2h0LmNvbnRy b2xsZXIpLAorCQkgICBwYW5lbC0+YmFja2xpZ2h0Lm1heCk7CisKKwlpbnRlbF9wYW5lbF9hY3R1 YWxseV9zZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgcGFuZWwtPmJhY2tsaWdodC5sZXZlbCk7CisK Kwlwd21fY3RsID0gMDsKKwlpZiAocGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSkKKwkJ cHdtX2N0bCB8PSBCWFRfQkxDX1BXTV9QT0xBUklUWTsKKworCUk5MTVfV1JJVEUoQlhUX0JMQ19Q V01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksIHB3bV9jdGwpOworCVBPU1RJTkdf UkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisJSTkx NV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJ ICAgcHdtX2N0bCB8IEJYVF9CTENfUFdNX0VOQUJMRSk7Cit9CisKIHN0YXRpYyB2b2lkIHB3bV9l bmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlz dHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CkBAIC0xMjUwLDYg KzEyOTMsMTggQEAgdm9pZCBpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0ZXIoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogI2VuZGlmIC8qIENPTkZJR19CQUNLTElHSFRf Q0xBU1NfREVWSUNFICovCiAKIC8qCisgKiBDTlA6IFBXTSBjbG9jayBmcmVxdWVuY3kgaXMgMTku MiBNSHogb3IgMjQgTUh6LgorICogICAgICBWYWx1ZSBpcyBmb3VuZCBpbiBTRlVTRV9TVFJBUC4K KyAqICAgICAgUFdNIGluY3JlbWVudCA9IDEKKyAqLworc3RhdGljIHUzMiBjbnBfaHpfdG9fcHdt KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQorewor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5i YXNlLmRldik7CisKKwlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoS0h6KGRldl9wcml2LT5yYXdj bGtfZnJlcSksIHB3bV9mcmVxX2h6KTsKK30KKworLyoKICAqIEJYVDogUFdNIGNsb2NrIGZyZXF1 ZW5jeSA9IDE5LjIgTUh6LgogICovCiBzdGF0aWMgdTMyIGJ4dF9oel90b19wd20oc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopCkBAIC0xNjQ0LDYgKzE2 OTksMzcgQEAgc3RhdGljIGludCB2bHZfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGlj IGludAorY25wX3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsIGVudW0gcGlwZSB1bnVzZWQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwg KnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJdTMyIHB3bV9jdGwsIHZhbDsKKworCXBhbmVs LT5iYWNrbGlnaHQuY29udHJvbGxlciA9IGRldl9wcml2LT52YnQuYmFja2xpZ2h0LmNvbnRyb2xs ZXI7CisKKwlwd21fY3RsID0gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xp Z2h0LmNvbnRyb2xsZXIpKTsKKworCXBhbmVsLT5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20gPSBw d21fY3RsICYgQlhUX0JMQ19QV01fUE9MQVJJVFk7CisJcGFuZWwtPmJhY2tsaWdodC5tYXggPQor CQlJOTE1X1JFQUQoQlhUX0JMQ19QV01fRlJFUShwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIp KTsKKworCWlmICghcGFuZWwtPmJhY2tsaWdodC5tYXgpCisJCXBhbmVsLT5iYWNrbGlnaHQubWF4 ID0gZ2V0X2JhY2tsaWdodF9tYXhfdmJ0KGNvbm5lY3Rvcik7CisKKwlpZiAoIXBhbmVsLT5iYWNr bGlnaHQubWF4KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXZhbCA9IGJ4dF9nZXRfYmFja2xpZ2h0 KGNvbm5lY3Rvcik7CisJdmFsID0gaW50ZWxfcGFuZWxfY29tcHV0ZV9icmlnaHRuZXNzKGNvbm5l Y3RvciwgdmFsKTsKKwlwYW5lbC0+YmFja2xpZ2h0LmxldmVsID0gY2xhbXAodmFsLCBwYW5lbC0+ YmFja2xpZ2h0Lm1pbiwKKwkJCQkgICAgICAgcGFuZWwtPmJhY2tsaWdodC5tYXgpOworCisJcGFu ZWwtPmJhY2tsaWdodC5lbmFibGVkID0gcHdtX2N0bCAmIEJYVF9CTENfUFdNX0VOQUJMRTsKKwor CXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHB3bV9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJICAgICAgIGVudW0gcGlwZSBwaXBlKQogewpA QCAtMTc2MCw2ICsxODQ2LDE0IEBAIHZvaWQgaW50ZWxfcGFuZWxfZGVzdHJveV9iYWNrbGlnaHQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJcGFuZWwtPmJhY2tsaWdodC5zZXQg PSBieHRfc2V0X2JhY2tsaWdodDsKIAkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBieHRfZ2V0X2Jh Y2tsaWdodDsKIAkJcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBieHRfaHpfdG9fcHdtOwor CQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IGJ4dF9oel90b19wd207CisJfSBlbHNlIGlm IChIQVNfUENIX0NOUChkZXZfcHJpdikpIHsKKwkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGNu cF9zZXR1cF9iYWNrbGlnaHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gY25wX2VuYWJs ZV9iYWNrbGlnaHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGNucF9kaXNhYmxlX2Jh Y2tsaWdodDsKKwkJcGFuZWwtPmJhY2tsaWdodC5zZXQgPSBieHRfc2V0X2JhY2tsaWdodDsKKwkJ cGFuZWwtPmJhY2tsaWdodC5nZXQgPSBieHRfZ2V0X2JhY2tsaWdodDsKKwkJcGFuZWwtPmJhY2ts aWdodC5oel90b19wd20gPSBjbnBfaHpfdG9fcHdtOwogCX0gZWxzZSBpZiAoSEFTX1BDSF9MUFQo ZGV2X3ByaXYpIHx8IEhBU19QQ0hfU1BUKGRldl9wcml2KSB8fAogCQkgICBIQVNfUENIX0tCUChk ZXZfcHJpdikpIHsKIAkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGxwdF9zZXR1cF9iYWNrbGln aHQ7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==