From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 15/18] drm/i915/sdvo: Precompute HDMI infoframes Date: Thu, 20 Sep 2018 21:51:42 +0300 Message-ID: <20180920185145.1912-16-ville.syrjala@linux.intel.com> References: <20180920185145.1912-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180920185145.1912-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFz IHdpdGggcmVndWxhciBIRE1JIGVuY29kZXJzLCBsZXQncyBwcmVjb21wdXRlIHRoZSBpbmZvZnJh bWVzCihhY3R1YWxseSBqdXN0IEFWSSBpbmZvZnJhbWUgZm9yIHRoZSB0aW1lIGJlaW5nKSB3aXRo IFNEVk8gSERNSQplbmNvZGVycy4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2R2by5jIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc2R2by5jCmluZGV4IDcwMTM3MmU1MTJhOC4uZDhjNzhhZWJhZjAxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCkBAIC05ODEsMzMgKzk4MSw1NyBAQCBzdGF0aWMgYm9v bCBpbnRlbF9zZHZvX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2 bywKIAkJCQkgICAgJnR4X3JhdGUsIDEpOwogfQogCi1zdGF0aWMgYm9vbCBpbnRlbF9zZHZvX3Nl dF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAotCQkJCQkgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQorc3RhdGljIGJvb2wgaW50 ZWxfc2R2b19jb21wdXRlX2F2aV9pbmZvZnJhbWUoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nk dm8sCisJCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkJ CSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7Ci0JdWludDhf dCBzZHZvX2RhdGFbSERNSV9JTkZPRlJBTUVfU0laRShBVkkpXTsKLQl1bmlvbiBoZG1pX2luZm9m cmFtZSBmcmFtZTsKKwlzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSA9ICZjcnRjX3N0 YXRlLT5pbmZvZnJhbWVzLmF2aS5hdmk7CiAJaW50IHJldDsKLQlzc2l6ZV90IGxlbjsKIAotCXJl dCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwK LQkJCQkJCSAgICAgICAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSwKKwlpZiAoIWNy dGNfc3RhdGUtPmhhc19oZG1pX3NpbmspCisJCXJldHVybiB0cnVlOworCisJY3J0Y19zdGF0ZS0+ aW5mb2ZyYW1lcy5lbmFibGUgfD0KKwkJaW50ZWxfaGRtaV9pbmZvZnJhbWVfZW5hYmxlKEhETUlf SU5GT0ZSQU1FX1RZUEVfQVZJKTsKKworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoZnJhbWUsCisJCQkJCQkgICAgICAgJmNydGNfc3RhdGUtPmJhc2UuYWRq dXN0ZWRfbW9kZSwKIAkJCQkJCSAgICAgICBmYWxzZSk7Ci0JaWYgKHJldCA8IDApIHsKLQkJRFJN X0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOworCWlmIChXQVJOX09OKHJl dCkpCiAJCXJldHVybiBmYWxzZTsKLQl9CiAKIAlpZiAoaW50ZWxfc2R2by0+cmdiX3F1YW50X3Jh bmdlX3NlbGVjdGFibGUpIHsKLQkJaWYgKHBpcGVfY29uZmlnLT5saW1pdGVkX2NvbG9yX3Jhbmdl KQotCQkJZnJhbWUuYXZpLnF1YW50aXphdGlvbl9yYW5nZSA9CisJCWlmIChjcnRjX3N0YXRlLT5s aW1pdGVkX2NvbG9yX3JhbmdlKQorCQkJZnJhbWUtPnF1YW50aXphdGlvbl9yYW5nZSA9CiAJCQkJ SERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElNSVRFRDsKIAkJZWxzZQotCQkJZnJhbWUuYXZpLnF1 YW50aXphdGlvbl9yYW5nZSA9CisJCQlmcmFtZS0+cXVhbnRpemF0aW9uX3JhbmdlID0KIAkJCQlI RE1JX1FVQU5USVpBVElPTl9SQU5HRV9GVUxMOwogCX0KIAotCWxlbiA9IGhkbWlfaW5mb2ZyYW1l X3BhY2soJmZyYW1lLCBzZHZvX2RhdGEsIHNpemVvZihzZHZvX2RhdGEpKTsKLQlpZiAobGVuIDwg MCkKKwlyZXQgPSBoZG1pX2F2aV9pbmZvZnJhbWVfY2hlY2soZnJhbWUpOworCWlmIChXQVJOX09O KHJldCkpCisJCXJldHVybiBmYWxzZTsKKworCXJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9v bCBpbnRlbF9zZHZvX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9z ZHZvLAorCQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCit7 CisJdTggc2R2b19kYXRhW0hETUlfSU5GT0ZSQU1FX1NJWkUoQVZJKV07CisJY29uc3QgdW5pb24g aGRtaV9pbmZvZnJhbWUgKmZyYW1lID0gJmNydGNfc3RhdGUtPmluZm9mcmFtZXMuYXZpOworCXNz aXplX3QgbGVuOworCisJaWYgKChjcnRjX3N0YXRlLT5pbmZvZnJhbWVzLmVuYWJsZSAmCisJICAg ICBpbnRlbF9oZG1pX2luZm9mcmFtZV9lbmFibGUoSERNSV9JTkZPRlJBTUVfVFlQRV9BVkkpKSA9 PSAwKQorCQlyZXR1cm4gdHJ1ZTsKKworCWlmIChXQVJOX09OKGZyYW1lLT5hbnkudHlwZSAhPSBI RE1JX0lORk9GUkFNRV9UWVBFX0FWSSkpCisJCXJldHVybiBmYWxzZTsKKworCWxlbiA9IGhkbWlf aW5mb2ZyYW1lX3BhY2tfb25seShmcmFtZSwgc2R2b19kYXRhLCBzaXplb2Yoc2R2b19kYXRhKSk7 CisJaWYgKFdBUk5fT04obGVuIDwgMCkpCiAJCXJldHVybiBmYWxzZTsKIAogCXJldHVybiBpbnRl bF9zZHZvX3dyaXRlX2luZm9mcmFtZShpbnRlbF9zZHZvLCBTRFZPX0hCVUZfSU5ERVhfQVZJX0lG LApAQCAtMTE5NCw2ICsxMjE4LDEwIEBAIHN0YXRpYyBib29sIGludGVsX3Nkdm9fY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKGludGVsX3Nkdm9fY29u bmVjdG9yLT5pc19oZG1pKQogCQlhZGp1c3RlZF9tb2RlLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9 IGNvbm5fc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwogCisJaWYgKCFpbnRlbF9zZHZvX2Nv bXB1dGVfYXZpX2luZm9mcmFtZShpbnRlbF9zZHZvLAorCQkJCQkgICAgICBwaXBlX2NvbmZpZywg Y29ubl9zdGF0ZSkpCisJCXJldHVybiBmYWxzZTsKKwogCXJldHVybiB0cnVlOwogfQogCi0tIAoy LjE2LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=