From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anusha Srivatsa Subject: [PATCH 4/6] drm/i915/cnp: Backlight support for CNP. Date: Mon, 8 May 2017 16:45:02 -0700 Message-ID: <1494287104-13109-5-git-send-email-anusha.srivatsa@intel.com> References: <1494287104-13109-1-git-send-email-anusha.srivatsa@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 736D06E2E5 for ; Mon, 8 May 2017 23:45:57 +0000 (UTC) In-Reply-To: <1494287104-13109-1-git-send-email-anusha.srivatsa@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 RnJvbTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgoKU3BsaXQgb3V0IEJY VCBhbmQgQ05QJ3Mgc2V0dXBfYmFja2xpZ2h0KCksZW5hYmxlX2JhY2tsaWdodCgpLApkaXNhYmxl X2JhY2tsaWdodCgpIGFuZCBoel90b19wd20oKSBpbnRvCnR3byBzZXBhcmF0ZSBmdW5jdGlvbnMg aW5zdGVhZCBvZiByZXVzaW5nIEJYVCBmdW5jdGlvbi4KClJldXNlIHNldF9iYWNrbGlnaHQoKSBh bmQgZ2V0X2JhY2tsaWdodCgpIHNpbmNlIHRoZXkgaGF2ZQpubyByZWZlcmVuY2UgdG8gdGhlIHV0 aWxpdHkgcGluLgoKdjI6IFJldXNlIEJYVCBmdW5jdGlvbnMgd2l0aCBjb250cm9sbGVyIDAgaW5z dGVhZCBvZgogICAgcmVkZWZpbmluZyBpdC4gKEphbmkpLgogICAgVXNlIGRldl9wcml2LT5yYXdj bGtfZnJlcSBpbnN0ZWFkIG9mIGdldHRpbmcgdGhlIHZhbHVlCiAgICBmcm9tIFNGVVNFX1NUUkFQ Lgp2MzogQXZvaWQgc2V0dXAgYmFja2xpZ2ggY29udHJvbGxlciBhbG9uZyB3aXRoIGhvb2tzIGFu ZAogICAgZnVsbHkgcmV1c2UgaG9va3Mgc2V0dXAgYXMgc3VnZ2VzdGVkIGJ5IEphbmkuCnY0OiBD bGVhbiB1cCBjb21taXQgbWVzc2FnZS4KdjU6IEltcGxlbWVudCBwZXIgUENIIGluc3RlYWQgcGVy IHBsYXRmb3JtLgoKdjY6IEludHJvZHVjZSBhIG5ldyBmdW5jdGlvbiBmb3IgQ05QLihKYW5pIGFu ZCBWaWxsZSkKCnY3OiBTcXVhc2ggdGhlIGFsbCBDTlAgQmFja2xpZ2h0IHN1cHBvcnQgcGF0Y2hl cyBpbnRvIGEKc2luZ2xlIHBhdGNoLiAoSmFuaSkKCnY4OiBDb3JyZWN0IGluZGVudGF0aW9uLCBy ZW1vdmUgdW5uZWVkZWQgYmxhbmsgbGluZXMgYW5kCmNvcnJlY3QgbWFpbCBhZGRyZXNzIChKYW5p KS4KClJldmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpTdWdn ZXN0ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ClN1Z2dlc3RlZC1i eTogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJq YWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51c2hh LnNyaXZhdHNhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdv LnZpdmlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMg fCA5NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5n ZWQsIDk0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwppbmRleCBj YjUwYzUyLi4yMmRhMWUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w YW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKQEAgLTc5Niw2 ICs3OTYsMTkgQEAgc3RhdGljIHZvaWQgYnh0X2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIGNucF9kaXNhYmxl X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2 KTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJdTMy IHRtcDsKKworCWludGVsX3BhbmVsX2FjdHVhbGx5X3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCAw KTsKKworCXRtcCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5j b250cm9sbGVyKSk7CisJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdo dC5jb250cm9sbGVyKSwKKwkJICAgdG1wICYgfkJYVF9CTENfUFdNX0VOQUJMRSk7Cit9CisKIHN0 YXRpYyB2b2lkIHB3bV9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiB7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBh bmVsOwpAQCAtMTA3Niw2ICsxMDg5LDM2IEBAIHN0YXRpYyB2b2lkIGJ4dF9lbmFibGVfYmFja2xp Z2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJCXB3bV9jdGwgfCBCWFRf QkxDX1BXTV9FTkFCTEUpOwogfQogCitzdGF0aWMgdm9pZCBjbnBfZW5hYmxlX2JhY2tsaWdodChz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKKwlzdHJ1Y3Qg aW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJZW51bSBwaXBlIHBpcGUg PSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3Rvcihjb25uZWN0b3IpOworCXUzMiBwd21fY3Rs OworCisJcHdtX2N0bCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdo dC5jb250cm9sbGVyKSk7CisJaWYgKHB3bV9jdGwgJiBCWFRfQkxDX1BXTV9FTkFCTEUpIHsKKwkJ RFJNX0RFQlVHX0tNUygiYmFja2xpZ2h0IGFscmVhZHkgZW5hYmxlZFxuIik7CisJCXB3bV9jdGwg Jj0gfkJYVF9CTENfUFdNX0VOQUJMRTsKKwkJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFu ZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJCSAgIHB3bV9jdGwpOworCX0KKworCUk5MTVf V1JJVEUoQlhUX0JMQ19QV01fRlJFUShwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLAorCQkg ICBwYW5lbC0+YmFja2xpZ2h0Lm1heCk7CisKKwlpbnRlbF9wYW5lbF9hY3R1YWxseV9zZXRfYmFj a2xpZ2h0KGNvbm5lY3RvciwgcGFuZWwtPmJhY2tsaWdodC5sZXZlbCk7CisKKwlwd21fY3RsID0g MDsKKwlpZiAocGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSkKKwkJcHdtX2N0bCB8PSBC WFRfQkxDX1BXTV9QT0xBUklUWTsKKworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMKHBhbmVs LT5iYWNrbGlnaHQuY29udHJvbGxlciksIHB3bV9jdGwpOworCVBPU1RJTkdfUkVBRChCWFRfQkxD X1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisJSTkxNV9XUklURShCWFRf QkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJICAgcHdtX2N0bCB8 IEJYVF9CTENfUFdNX0VOQUJMRSk7Cit9CisKIHN0YXRpYyB2b2lkIHB3bV9lbmFibGVfYmFja2xp Z2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgaW50ZWxf cGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CkBAIC0xMjM5LDYgKzEyODIsMTggQEAg dm9pZCBpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0ZXIoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogI2VuZGlmIC8qIENPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNF ICovCiAKIC8qCisgKiBDTlA6IFBXTSBjbG9jayBmcmVxdWVuY3kgaXMgMTkuMiBNSHogb3IgMjQg TUh6LgorICogICAgICBWYWx1ZSBpcyBmb3VuZCBpbiBTRlVTRV9TVFJBUC4KKyAqICAgICAgUFdN IGluY3JlbWVudCA9IDEKKyAqLworc3RhdGljIHUzMiBjbnBfaHpfdG9fcHdtKHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQoreworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CisK KwlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoS0h6KGRldl9wcml2LT5yYXdjbGtfZnJlcSksIHB3 bV9mcmVxX2h6KTsKK30KKworLyoKICAqIEJYVDogUFdNIGNsb2NrIGZyZXF1ZW5jeSA9IDE5LjIg TUh6LgogICovCiBzdGF0aWMgdTMyIGJ4dF9oel90b19wd20oc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopCkBAIC0xNjMzLDYgKzE2ODgsMzcgQEAgYnh0 X3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0g cGlwZSB1bnVzZWQpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK2NucF9zZXR1cF9iYWNr bGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgdW51c2Vk KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVj dG9yLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3It PnBhbmVsOworCXUzMiBwd21fY3RsLCB2YWw7CisKKwlwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xs ZXIgPSBkZXZfcHJpdi0+dmJ0LmJhY2tsaWdodC5jb250cm9sbGVyOworCisJcHdtX2N0bCA9IEk5 MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisK KwlwYW5lbC0+YmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtID0gcHdtX2N0bCAmIEJYVF9CTENfUFdN X1BPTEFSSVRZOworCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0KKwkJSTkxNV9SRUFEKEJYVF9CTENf UFdNX0ZSRVEocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisKKwlpZiAoIXBhbmVsLT5i YWNrbGlnaHQubWF4KQorCQlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9IGdldF9iYWNrbGlnaHRfbWF4 X3ZidChjb25uZWN0b3IpOworCisJaWYgKCFwYW5lbC0+YmFja2xpZ2h0Lm1heCkKKwkJcmV0dXJu IC1FTk9ERVY7CisKKwl2YWwgPSBieHRfZ2V0X2JhY2tsaWdodChjb25uZWN0b3IpOworCXZhbCA9 IGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcyhjb25uZWN0b3IsIHZhbCk7CisJcGFuZWwt PmJhY2tsaWdodC5sZXZlbCA9IGNsYW1wKHZhbCwgcGFuZWwtPmJhY2tsaWdodC5taW4sCisJCQkJ ICAgICAgIHBhbmVsLT5iYWNrbGlnaHQubWF4KTsKKworCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxl ZCA9IHB3bV9jdGwgJiBCWFRfQkxDX1BXTV9FTkFCTEU7CisKKwlyZXR1cm4gMDsKK30KKwogc3Rh dGljIGludCBwd21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAkJCSAgICAgICBlbnVtIHBpcGUgcGlwZSkKIHsKQEAgLTE3NDksNiArMTgzNSwxNCBA QCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsKQogCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0OwogCQlwYW5l bC0+YmFja2xpZ2h0LmdldCA9IGJ4dF9nZXRfYmFja2xpZ2h0OwogCQlwYW5lbC0+YmFja2xpZ2h0 Lmh6X3RvX3B3bSA9IGJ4dF9oel90b19wd207CisJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdt ID0gYnh0X2h6X3RvX3B3bTsKKwl9IGVsc2UgaWYgKEhBU19QQ0hfQ05QKGRldl9wcml2KSkgewor CQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gY25wX3NldHVwX2JhY2tsaWdodDsKKwkJcGFuZWwt PmJhY2tsaWdodC5lbmFibGUgPSBjbnBfZW5hYmxlX2JhY2tsaWdodDsKKwkJcGFuZWwtPmJhY2ts aWdodC5kaXNhYmxlID0gY25wX2Rpc2FibGVfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0 LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LmdldCA9IGJ4dF9n ZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IGNucF9oel90b19w d207CiAJfSBlbHNlIGlmIChIQVNfUENIX0xQVChkZXZfcHJpdikgfHwgSEFTX1BDSF9TUFQoZGV2 X3ByaXYpIHx8CiAJCSAgIEhBU19QQ0hfS0JQKGRldl9wcml2KSkgewogCQlwYW5lbC0+YmFja2xp Z2h0LnNldHVwID0gbHB0X3NldHVwX2JhY2tsaWdodDsKLS0gCjIuNy40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK