From mboxrd@z Thu Jan 1 00:00:00 1970 From: vikas.korjani@intel.com Subject: [RFC 4/8] drm/i915/bxt: MIPI DSI Register Programming for DSC Date: Wed, 12 Aug 2015 15:23:49 +0530 Message-ID: <1439373233-8188-5-git-send-email-vikas.korjani@intel.com> References: <1439373233-8188-1-git-send-email-vikas.korjani@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 22B806E71E for ; Wed, 12 Aug 2015 02:26:56 -0700 (PDT) In-Reply-To: <1439373233-8188-1-git-send-email-vikas.korjani@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 RnJvbTogdmtvcmphbmkgPHZpa2FzLmtvcmphbmlAaW50ZWwuY29tPgoKRm9yIGNvbXByZXNzaW9u IGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gYWN0aXZlCnJlZ2lvbiBjYW5ub3QgYmUg Y2FsY3VsYXRlZCBqdXN0IGJ5IG11bHRpcGx5aW5nIG51bWJlcgpvZiBwaXhlbHMgYW5kIGJpdHMg cGVyIHBpeGVsLCBmb3JtdWxhIGluIEhMRCBpcwoKY2VpbCgoY2VpbChwaXhlbHMvbnVtX3NsaWNl KSAqIGJwcCkgLyA4KSAqIG51bV9zbGljZQoKaGVuY2UgbW9kaWZ5aW5nIHR4Ynl0ZWNsa2hzKCkg dG8gYWNjb21tb2RhdGUgY2FsY3VsYXRpb24KZm9yIERTQyBFbmFibGUvRGlzYWJsZSAgYW5kIGNy ZWF0ZWQgYSBzZXBhcmF0ZQpmdW5jdGlvbiBwaXhlbF90b19ieXRlcygpLgoKVXNpbmcgbW9kaWZp ZWQgdHhieXRlY2xraHMgdG8gY2FsY3VsYXRlIE1JUElfSFNfVFhfVElNRU9VVApBcyBwZXIgSExE IGZvciBjb21wdXRpbmcgTUlQSV9IU19UWF9USU1FT1VUIHBlciBsaW5lLAoxKSBjYWxjdWxhdGUg bnVtYmVyIG9mIGJ5dGVzIGluIGFjdGl2ZSByZWdpb24KMikgY2FsY3VsYXRlIG51bWJlciBvZiBi eXRlcyBpbiBibGFua2luZyByZWdpb24KQWRkIGFib3ZlIHR3byBhbmQgY29tcHV0ZSBieXRlY2xr aHMuCnNpbWlsYXJseSBmb3IgTUlQSV9IWF9UWF9USU1FT1VUIHBlciBmcmFtZSwgQWRkIGJ5dGVz IGluCmFjdGl2ZSBhbmQgYmxhbmtpbmcgcmVnaW9uIHNob3VsZCBiZSBjYWxjdWxhdGVkIHNlcGFy YXRlbHkuCgpTaWduZWQtb2ZmLWJ5OiB2a29yamFuaSA8dmlrYXMua29yamFuaUBpbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFlvZ2VzaCBNb2hhbiBNYXJpbXV0aHUgPHlvZ2VzaC5tb2hhbi5tYXJp bXV0aHVAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIHwg ICA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDU5IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMKaW5kZXggMzZmY2I4Ni4uZTU2Njc1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMK QEAgLTc2MCwxMiArNzYwLDQ4IEBAIHN0YXRpYyB1MTYgdHhjbGtlc2ModTMyIGRpdmlkZXIsIHVu c2lnbmVkIGludCB1cykKIAl9CiB9CiAKK3N0YXRpYyBpbnQgY29tcHV0ZV9udW1fc2xpY2Uoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQoreworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2Rz aSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CisKKwlyZXR1cm4gRElWX1JPVU5EX1VQKGlu dGVsX2RzaS0+cHBzX2RhdGEucGljX2hlaWdodCoKKwkJCWludGVsX2RzaS0+cHBzX2RhdGEucGlj X3dpZHRoLAorCQkJaW50ZWxfZHNpLT5wcHNfZGF0YS5zbGljZV9oZWlnaHQqCisJCQlpbnRlbF9k c2ktPnBwc19kYXRhLnNsaWNlX3dpZHRoKTsKK30KKworc3RhdGljIHUzMiBwaXhlbF90b19ieXRl cyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHUxNiBwaXhlbHMsIGludCBicHApCit7CisK KwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIp OworCWludCBudW1fc2xpY2U7CisKKwlpZiAoaW50ZWxfZHNpLT5kc2NfZW5hYmxlKSB7CisJCW51 bV9zbGljZSA9IGNvbXB1dGVfbnVtX3NsaWNlKGVuY29kZXIpOworCQlpZiAobnVtX3NsaWNlIDw9 IDApCisJCQludW1fc2xpY2UgPSAxOworCQlicHAgPSAgaW50ZWxfZHNpLT5wcHNfZGF0YS5iaXRz X3Blcl9waXhlbCAvIDE2OworCQlyZXR1cm4gRElWX1JPVU5EX1VQKChESVZfUk9VTkRfVVAocGl4 ZWxzLCBudW1fc2xpY2UpKSAqIGJwcCwgOCkKKwkJCSogbnVtX3NsaWNlOworCX0gZWxzZQorCQly ZXR1cm4gRElWX1JPVU5EX1VQKChwaXhlbHMgKiBicHApLCA4KTsKK30KKworCiAvKiByZXR1cm4g cGl4ZWxzIGluIHRlcm1zIG9mIHR4Ynl0ZWNsa2hzICovCi1zdGF0aWMgdTE2IHR4Ynl0ZWNsa2hz KHUxNiBwaXhlbHMsIGludCBicHAsIGludCBsYW5lX2NvdW50LAotCQkgICAgICAgdTE2IGJ1cnN0 X21vZGVfcmF0aW8pCitzdGF0aWMgdTE2IHR4Ynl0ZWNsa2hzKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwgdTE2IHBpeGVscywgaW50IGJwcCwKKwkJaW50IGxhbmVfY291bnQsIHUxNiBidXJz dF9tb2RlX3JhdGlvLCBib29sIGRzY19jYWxjKQogewotCXJldHVybiBESVZfUk9VTkRfVVAoRElW X1JPVU5EX1VQKHBpeGVscyAqIGJwcCAqIGJ1cnN0X21vZGVfcmF0aW8sCi0JCQkJCSA4ICogMTAw KSwgbGFuZV9jb3VudCk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2lu dGVsX2RzaShlbmNvZGVyKTsKKwl1MzIgcGl4ZWxfYnl0ZXM7CisKKwlpZiAoaW50ZWxfZHNpLT5k c2NfZW5hYmxlICYmIGRzY19jYWxjKSB7CisJCXBpeGVsX2J5dGVzID0gcGl4ZWxfdG9fYnl0ZXMo ZW5jb2RlciwgcGl4ZWxzLCBicHApOworCQlyZXR1cm4gRElWX1JPVU5EX1VQKERJVl9ST1VORF9V UChwaXhlbF9ieXRlcyAqCisJCQkJCWJ1cnN0X21vZGVfcmF0aW8sIDEwMCksIGxhbmVfY291bnQp OworCX0gZWxzZQorCQlyZXR1cm4gRElWX1JPVU5EX1VQKERJVl9ST1VORF9VUChwaXhlbHMgKiBi cHAgKgorCQkJYnVyc3RfbW9kZV9yYXRpbywgOCAqIDEwMCksIGxhbmVfY291bnQpOwogfQogCiBz dGF0aWMgdm9pZCBzZXRfZHNpX3RpbWluZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLApA QCAtODAwLDEyICs4MzYsMTQgQEAgc3RhdGljIHZvaWQgc2V0X2RzaV90aW1pbmdzKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAl2YnAgPSBtb2RlLT52dG90YWwgLSBtb2RlLT52c3luY19l bmQ7CiAKIAkvKiBob3Jpem9udGFsIHZhbHVlcyBhcmUgaW4gdGVybXMgb2YgaGlnaCBzcGVlZCBi eXRlIGNsb2NrICovCi0JaGFjdGl2ZSA9IHR4Ynl0ZWNsa2hzKGhhY3RpdmUsIGJwcCwgbGFuZV9j b3VudCwKLQkJCSAgICAgIGludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbyk7Ci0JaGZwID0gdHhi eXRlY2xraHMoaGZwLCBicHAsIGxhbmVfY291bnQsIGludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRp byk7Ci0JaHN5bmMgPSB0eGJ5dGVjbGtocyhoc3luYywgYnBwLCBsYW5lX2NvdW50LAotCQkJICAg IGludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbyk7Ci0JaGJwID0gdHhieXRlY2xraHMoaGJwLCBi cHAsIGxhbmVfY291bnQsIGludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbyk7CisJaGFjdGl2ZSA9 IHR4Ynl0ZWNsa2hzKGVuY29kZXIsIGhhY3RpdmUsIGJwcCwgbGFuZV9jb3VudCwKKwkJCSAgICAg IGludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbywgdHJ1ZSk7CisJaGZwID0gdHhieXRlY2xraHMo ZW5jb2RlciwgaGZwLCBicHAsIGxhbmVfY291bnQsCisJCQkJaW50ZWxfZHNpLT5idXJzdF9tb2Rl X3JhdGlvLCB0cnVlKTsKKwloc3luYyA9IHR4Ynl0ZWNsa2hzKGVuY29kZXIsIGhzeW5jLCBicHAs IGxhbmVfY291bnQsCisJCQkgICAgaW50ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlvLCB0cnVlKTsK KwloYnAgPSB0eGJ5dGVjbGtocyhlbmNvZGVyLCBoYnAsIGJwcCwgbGFuZV9jb3VudCwKKwkJCQlp bnRlbF9kc2ktPmJ1cnN0X21vZGVfcmF0aW8sIHRydWUpOwogCiAJZm9yX2VhY2hfZHNpX3BvcnQo cG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewogCQlpZiAoSVNfQlJPWFRPTihkZXYpKSB7CkBAIC04 NTEsNiArODg5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZXBhcmUoc3RydWN0IGludGVs X2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJdW5zaWduZWQgaW50IGJwcCA9IGludGVsX2NydGMt PmNvbmZpZy0+cGlwZV9icHA7CiAJdTMyIHZhbCwgdG1wOwogCXUxNiBtb2RlX2hkaXNwbGF5Owor CXUzMiBoYWN0aXZlLCBoYmxhbms7CiAKIAlEUk1fREVCVUdfS01TKCJwaXBlICVjXG4iLCBwaXBl X25hbWUoaW50ZWxfY3J0Yy0+cGlwZSkpOwogCkBAIC05NDMsMTggKzk4MiwyMyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kc2lfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rl cikKIAkJICogc2FpZCB2YWx1ZSBpcyByZWNvbW1lbmRlZC4KIAkJICovCiAKKwkJaGFjdGl2ZSA9 IHBpeGVsX3RvX2J5dGVzKGVuY29kZXIsIGFkanVzdGVkX21vZGUtPmhkaXNwbGF5LCBicHApOwor CQloYmxhbmsgPSBwaXhlbF90b19ieXRlcyhlbmNvZGVyLCAoYWRqdXN0ZWRfbW9kZS0+aHRvdGFs IC0KKwkJCQkJYWRqdXN0ZWRfbW9kZS0+aHN5bmNfZW5kKSwgYnBwKTsKKwogCQlpZiAoaXNfdmlk X21vZGUoaW50ZWxfZHNpKSAmJgogCQkJaW50ZWxfZHNpLT52aWRlb19tb2RlX2Zvcm1hdCA9PSBW SURFT19NT0RFX0JVUlNUKSB7CiAJCQlJOTE1X1dSSVRFKE1JUElfSFNfVFhfVElNRU9VVChwb3J0 KSwKLQkJCQl0eGJ5dGVjbGtocyhhZGp1c3RlZF9tb2RlLT5odG90YWwsIGJwcCwKKwkJCQl0eGJ5 dGVjbGtocyhlbmNvZGVyLCAoaGFjdGl2ZSArIGhibGFuayksIGJwcCwKIAkJCQkJaW50ZWxfZHNp LT5sYW5lX2NvdW50LAotCQkJCQlpbnRlbF9kc2ktPmJ1cnN0X21vZGVfcmF0aW8pICsgMSk7CisJ CQkJCWludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbywgdHJ1ZSkgKyAxKTsKIAkJfSBlbHNlIHsK IAkJCUk5MTVfV1JJVEUoTUlQSV9IU19UWF9USU1FT1VUKHBvcnQpLAotCQkJCXR4Ynl0ZWNsa2hz KGFkanVzdGVkX21vZGUtPnZ0b3RhbCAqCi0JCQkJCWFkanVzdGVkX21vZGUtPmh0b3RhbCwKKwkJ CQl0eGJ5dGVjbGtocyhlbmNvZGVyLCBhZGp1c3RlZF9tb2RlLT52dG90YWwgKgorCQkJCQkoaGFj dGl2ZSArIGhibGFuayksCiAJCQkJCWJwcCwgaW50ZWxfZHNpLT5sYW5lX2NvdW50LAotCQkJCQlp bnRlbF9kc2ktPmJ1cnN0X21vZGVfcmF0aW8pICsgMSk7CisJCQkJCWludGVsX2RzaS0+YnVyc3Rf bW9kZV9yYXRpbywgZmFsc2UpICsKKwkJCQkJMSk7CiAJCX0KIAkJSTkxNV9XUklURShNSVBJX0xQ X1JYX1RJTUVPVVQocG9ydCksIGludGVsX2RzaS0+bHBfcnhfdGltZW91dCk7CiAJCUk5MTVfV1JJ VEUoTUlQSV9UVVJOX0FST1VORF9USU1FT1VUKHBvcnQpLAotLSAKMS43LjkuNQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK