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: Fri, 2 Jun 2017 13:06:42 -0700 Message-ID: <1496434004-29812-4-git-send-email-rodrigo.vivi@intel.com> References: <1496434004-29812-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 729376E3C8 for ; Fri, 2 Jun 2017 20:06:33 +0000 (UTC) In-Reply-To: <1496434004-29812-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 List-Id: intel-gfx@lists.freedesktop.org U3BsaXQgb3V0IEJYVCBhbmQgQ05QJ3Mgc2V0dXBfYmFja2xpZ2h0KCksZW5hYmxlX2JhY2tsaWdo dCgpLApkaXNhYmxlX2JhY2tsaWdodCgpIGFuZCBoel90b19wd20oKSBpbnRvCnR3byBzZXBhcmF0 ZSBmdW5jdGlvbnMgaW5zdGVhZCBvZiByZXVzaW5nIEJYVCBmdW5jdGlvbi4KClJldXNlIHNldF9i YWNrbGlnaHQoKSBhbmQgZ2V0X2JhY2tsaWdodCgpIHNpbmNlIHRoZXkgaGF2ZQpubyByZWZlcmVu Y2UgdG8gdGhlIHV0aWxpdHkgcGluLgoKdjI6IFJldXNlIEJYVCBmdW5jdGlvbnMgd2l0aCBjb250 cm9sbGVyIDAgaW5zdGVhZCBvZgogICAgcmVkZWZpbmluZyBpdC4gKEphbmkpLgogICAgVXNlIGRl dl9wcml2LT5yYXdjbGtfZnJlcSBpbnN0ZWFkIG9mIGdldHRpbmcgdGhlIHZhbHVlCiAgICBmcm9t IFNGVVNFX1NUUkFQLgp2MzogQXZvaWQgc2V0dXAgYmFja2xpZ2ggY29udHJvbGxlciBhbG9uZyB3 aXRoIGhvb2tzIGFuZAogICAgZnVsbHkgcmV1c2UgaG9va3Mgc2V0dXAgYXMgc3VnZ2VzdGVkIGJ5 IEphbmkuCnY0OiBDbGVhbiB1cCBjb21taXQgbWVzc2FnZS4KdjU6IEltcGxlbWVudCBwZXIgUENI IGluc3RlYWQgcGVyIHBsYXRmb3JtLgoKdjY6IEludHJvZHVjZSBhIG5ldyBmdW5jdGlvbiBmb3Ig Q05QLihKYW5pIGFuZCBWaWxsZSkKCnY3OiBTcXVhc2ggdGhlIGFsbCBDTlAgQmFja2xpZ2h0IHN1 cHBvcnQgcGF0Y2hlcyBpbnRvIGEKc2luZ2xlIHBhdGNoLiAoSmFuaSkKCnY4OiBDb3JyZWN0IGlu ZGVudGF0aW9uLCByZW1vdmUgdW5uZWVkZWQgYmxhbmsgbGluZXMgYW5kCmNvcnJlY3QgbWFpbCBh ZGRyZXNzIChKYW5pKS4KCnY5OiBSZW1vdmUgdW51c2VkIGVudW0gcGlwZS4gKGJ5IENJKQoKdjEw OiBSZW1vdmUgY29tbWVudCBtZW50aW9uaW5nIFNGVVNFX1NUUkFQIGluIGEgcGFydCBvZgogICAg IHRoZSBjb2RlIHRoYXQgd2UgZG9uJ3QgdXNlIGl0LiAoSmFuaSkKICAgICBNYWtlIGNvbnRyb2xs ZXIgPSAwIHNpbmNlIGN1cnJlbnQgQ05QIGhhcyBvbmx5IG9uZQogICAgIGNvbnRyb2xsZXIgYW5k IHB1dCBhIGNvbW1lbnQgbWVudGlvbmluZyB3aHkgd2UKICAgICByZXVzZSB0aGUgQlhUIGRlZmlu aXRpb25zIGFuZCBhcmUga2VlcGluZyB0aGUKICAgICBjb250cm9sbGVyID0gMC4gKERLKQp2MTE6 IFJlbW92ZSBzcHVyaW91cyBsaW5lLiAoREspCgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGludGVsLmNvbT4KU3VnZ2VzdGVkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1 bGFAaW50ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFA aW50ZWwuY29tPgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYt Ynk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BhbmVsLmMKaW5kZXggYzgxMDNmOC4uNDExNGNiMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wYW5lbC5jCkBAIC03OTYsNiArNzk2LDE5IEBAIHN0YXRpYyB2b2lkIGJ4dF9kaXNh YmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJfQogfQog CitzdGF0aWMgdm9pZCBjbnBfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9 ICZjb25uZWN0b3ItPnBhbmVsOworCXUzMiB0bXA7CisKKwlpbnRlbF9wYW5lbF9hY3R1YWxseV9z ZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgMCk7CisKKwl0bXAgPSBJOTE1X1JFQUQoQlhUX0JMQ19Q V01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikpOworCUk5MTVfV1JJVEUoQlhUX0JM Q19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksCisJCSAgIHRtcCAmIH5CWFRf QkxDX1BXTV9FTkFCTEUpOworfQorCiBzdGF0aWMgdm9pZCBwd21fZGlzYWJsZV9iYWNrbGlnaHQo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBpbnRlbF9wYW5l bCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKQEAgLTEwODYsNiArMTA5OSwzNSBAQCBzdGF0 aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJCQlwd21fY3RsIHwgQlhUX0JMQ19QV01fRU5BQkxFKTsKIH0KIAorc3RhdGljIHZv aWQgY25wX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVj dG9yLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3It PnBhbmVsOworCXUzMiBwd21fY3RsOworCisJcHdtX2N0bCA9IEk5MTVfUkVBRChCWFRfQkxDX1BX TV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisJaWYgKHB3bV9jdGwgJiBCWFRf QkxDX1BXTV9FTkFCTEUpIHsKKwkJRFJNX0RFQlVHX0tNUygiYmFja2xpZ2h0IGFscmVhZHkgZW5h YmxlZFxuIik7CisJCXB3bV9jdGwgJj0gfkJYVF9CTENfUFdNX0VOQUJMRTsKKwkJSTkxNV9XUklU RShCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJCSAgIHB3 bV9jdGwpOworCX0KKworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRlJFUShwYW5lbC0+YmFja2xp Z2h0LmNvbnRyb2xsZXIpLAorCQkgICBwYW5lbC0+YmFja2xpZ2h0Lm1heCk7CisKKwlpbnRlbF9w YW5lbF9hY3R1YWxseV9zZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgcGFuZWwtPmJhY2tsaWdodC5s ZXZlbCk7CisKKwlwd21fY3RsID0gMDsKKwlpZiAocGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93 X3B3bSkKKwkJcHdtX2N0bCB8PSBCWFRfQkxDX1BXTV9QT0xBUklUWTsKKworCUk5MTVfV1JJVEUo QlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksIHB3bV9jdGwpOwor CVBPU1RJTkdfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVy KSk7CisJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9s bGVyKSwKKwkJICAgcHdtX2N0bCB8IEJYVF9CTENfUFdNX0VOQUJMRSk7Cit9CisKIHN0YXRpYyB2 b2lkIHB3bV9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIHsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CkBA IC0xMjUwLDYgKzEyOTIsMTcgQEAgdm9pZCBpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0 ZXIoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogI2VuZGlmIC8qIENPTkZJR19C QUNLTElHSFRfQ0xBU1NfREVWSUNFICovCiAKIC8qCisgKiBDTlA6IFBXTSBjbG9jayBmcmVxdWVu Y3kgaXMgMTkuMiBNSHogb3IgMjQgTUh6LgorICogICAgICBQV00gaW5jcmVtZW50ID0gMQorICov CitzdGF0aWMgdTMyIGNucF9oel90b19wd20oc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yLCB1MzIgcHdtX2ZyZXFfaHopCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKKworCXJldHVybiBESVZfUk9VTkRf Q0xPU0VTVChLSHooZGV2X3ByaXYtPnJhd2Nsa19mcmVxKSwgcHdtX2ZyZXFfaHopOworfQorCisv KgogICogQlhUOiBQV00gY2xvY2sgZnJlcXVlbmN5ID0gMTkuMiBNSHouCiAgKi8KIHN0YXRpYyB1 MzIgYnh0X2h6X3RvX3B3bShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBw d21fZnJlcV9oeikKQEAgLTE2NDQsNiArMTY5Nyw0MiBAQCBzdGF0aWMgaW50IHZsdl9zZXR1cF9i YWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgcGlw ZQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50CitjbnBfc2V0dXBfYmFja2xpZ2h0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHVudXNlZCkKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOworCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKKwl1 MzIgcHdtX2N0bCwgdmFsOworCisJLyoKKwkgKiBDTlAgaGFzIHRoZSBCWFQgaW1wbGVtZW50YXRp b24gb2YgYmFja2xpZ2h0LCBidXQgd2l0aCBvbmx5CisJICogb25lIGNvbnRyb2xsZXIuIEZ1dHVy ZSBwbGF0Zm9ybXMgY291bGQgaGF2ZSBtdWx0aXBsZSBjb250cm9sbGVycworCSAqIHNvIGxldCdz IG1ha2UgdGhpcyBleHRlbnNpYmxlIGFuZCBwcmVwYXJlZCBmb3IgdGhlIGZ1dHVyZS4KKwkgKi8K KwlwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSAwOworCisJcHdtX2N0bCA9IEk5MTVfUkVB RChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisKKwlwYW5l bC0+YmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtID0gcHdtX2N0bCAmIEJYVF9CTENfUFdNX1BPTEFS SVRZOworCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0KKwkJSTkxNV9SRUFEKEJYVF9CTENfUFdNX0ZS RVEocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisKKwlpZiAoIXBhbmVsLT5iYWNrbGln aHQubWF4KQorCQlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9IGdldF9iYWNrbGlnaHRfbWF4X3ZidChj b25uZWN0b3IpOworCisJaWYgKCFwYW5lbC0+YmFja2xpZ2h0Lm1heCkKKwkJcmV0dXJuIC1FTk9E RVY7CisKKwl2YWwgPSBieHRfZ2V0X2JhY2tsaWdodChjb25uZWN0b3IpOworCXZhbCA9IGludGVs X3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcyhjb25uZWN0b3IsIHZhbCk7CisJcGFuZWwtPmJhY2ts aWdodC5sZXZlbCA9IGNsYW1wKHZhbCwgcGFuZWwtPmJhY2tsaWdodC5taW4sCisJCQkJICAgICAg IHBhbmVsLT5iYWNrbGlnaHQubWF4KTsKKworCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlZCA9IHB3 bV9jdGwgJiBCWFRfQkxDX1BXTV9FTkFCTEU7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlu dCBwd21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCSAgICAgICBlbnVtIHBpcGUgcGlwZSkKIHsKQEAgLTE3NjAsNiArMTg0OSwxMyBAQCB2b2lk IGludGVsX3BhbmVsX2Rlc3Ryb3lfYmFja2xpZ2h0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJCXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gYnh0X3NldF9iYWNrbGlnaHQ7CiAJCXBh bmVsLT5iYWNrbGlnaHQuZ2V0ID0gYnh0X2dldF9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGln aHQuaHpfdG9fcHdtID0gYnh0X2h6X3RvX3B3bTsKKwl9IGVsc2UgaWYgKEhBU19QQ0hfQ05QKGRl dl9wcml2KSkgeworCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gY25wX3NldHVwX2JhY2tsaWdo dDsKKwkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBjbnBfZW5hYmxlX2JhY2tsaWdodDsKKwkJ cGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gY25wX2Rpc2FibGVfYmFja2xpZ2h0OworCQlwYW5l bC0+YmFja2xpZ2h0LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0 LmdldCA9IGJ4dF9nZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9 IGNucF9oel90b19wd207CiAJfSBlbHNlIGlmIChIQVNfUENIX0xQVChkZXZfcHJpdikgfHwgSEFT X1BDSF9TUFQoZGV2X3ByaXYpIHx8CiAJCSAgIEhBU19QQ0hfS0JQKGRldl9wcml2KSkgewogCQlw YW5lbC0+YmFja2xpZ2h0LnNldHVwID0gbHB0X3NldHVwX2JhY2tsaWdodDsKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK