From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 16/18] drm/i915/sdvo: Read out HDMI infoframes Date: Thu, 20 Sep 2018 21:51:43 +0300 Message-ID: <20180920185145.1912-17-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl YWQgdGhlIEhETUkgaW5mb2ZyYW1lcyBmcm9tIHRoZSBoYnVmIGFuZCB1bnBhY2sgdGhlbSBpbnRv CnRoZSBjcnRjIHN0YXRlLgoKV2VsbCwgYWN0dWFsbHkganVzdCBBVkkgaW5mb2ZyYW1lIGZvciBu b3cgYnV0IGxldCdzIHdyaXRlIHRoZQppbmZvZnJhbWUgcmVhZG91dCBjb2RlIGluIGEgbW9yZSBn ZW5lcmljIGZhc2hpb24gaW4gY2FzZSB3ZQpleHBhbmQgdGhpcyBsYXRlci4KClNpZ25lZC1vZmYt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIHwgOTIgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z ZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKaW5kZXggZDhjNzhhZWJh ZjAxLi40ZDc4N2M4NmRmNmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKQEAgLTk4MSw2 ICs5ODEsNTggQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b193cml0ZV9pbmZvZnJhbWUoc3RydWN0 IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCiAJCQkJICAgICZ0eF9yYXRlLCAxKTsKIH0KIAorc3Rh dGljIHNzaXplX3QgaW50ZWxfc2R2b19yZWFkX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAq aW50ZWxfc2R2bywKKwkJCQkJIHVuc2lnbmVkIGludCBpZl9pbmRleCwKKwkJCQkJIHU4ICpkYXRh LCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQoreworCXU4IHNldF9idWZfaW5kZXhbMl0gPSB7IGlmX2lu ZGV4LCAwIH07CisJdTggaGJ1Zl9zaXplLCB0eF9yYXRlLCBhdl9zcGxpdDsKKwlpbnQgaTsKKwor CWlmICghaW50ZWxfc2R2b19nZXRfdmFsdWUoaW50ZWxfc2R2bywKKwkJCQkgIFNEVk9fQ01EX0dF VF9IQlVGX0FWX1NQTElULAorCQkJCSAgJmF2X3NwbGl0LCAxKSkKKwkJcmV0dXJuIC1FTlhJTzsK KworCWlmIChhdl9zcGxpdCA8IGlmX2luZGV4KQorCQlyZXR1cm4gMDsKKworCWlmICghaW50ZWxf c2R2b19nZXRfdmFsdWUoaW50ZWxfc2R2bywKKwkJCQkgIFNEVk9fQ01EX0dFVF9IQlVGX1RYUkFU RSwKKwkJCQkgICZ0eF9yYXRlLCAxKSkKKwkJcmV0dXJuIC1FTlhJTzsKKworCWlmICh0eF9yYXRl ID09IFNEVk9fSEJVRl9UWF9ESVNBQkxFRCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIWludGVsX3Nk dm9fc2V0X3ZhbHVlKGludGVsX3Nkdm8sCisJCQkJICBTRFZPX0NNRF9TRVRfSEJVRl9JTkRFWCwK KwkJCQkgIHNldF9idWZfaW5kZXgsIDIpKQorCQlyZXR1cm4gLUVOWElPOworCisJaWYgKCFpbnRl bF9zZHZvX2dldF92YWx1ZShpbnRlbF9zZHZvLCBTRFZPX0NNRF9HRVRfSEJVRl9JTkZPLAorCQkJ CSAgJmhidWZfc2l6ZSwgMSkpCisJCXJldHVybiAtRU5YSU87CisKKwkvKiBCdWZmZXIgc2l6ZSBp cyAwIGJhc2VkLCBob29yYXkhICovCisJaGJ1Zl9zaXplKys7CisKKwlEUk1fREVCVUdfS01TKCJy ZWFkaW5nIHNkdm8gaGJ1ZjogJWksIGhidWZfc2l6ZSAlaSwgaGJ1Zl9zaXplOiAlaVxuIiwKKwkJ ICAgICAgaWZfaW5kZXgsIGxlbmd0aCwgaGJ1Zl9zaXplKTsKKworCWhidWZfc2l6ZSA9IG1pbl90 KHVuc2lnbmVkIGludCwgbGVuZ3RoLCBoYnVmX3NpemUpOworCisJZm9yIChpID0gMDsgaSA8IGhi dWZfc2l6ZTsgaSArPSA4KSB7CisJCWlmICghaW50ZWxfc2R2b193cml0ZV9jbWQoaW50ZWxfc2R2 bywgU0RWT19DTURfR0VUX0hCVUZfREFUQSwgTlVMTCwgMCkpCisJCQlyZXR1cm4gLUVOWElPOwor CQlpZiAoIWludGVsX3Nkdm9fcmVhZF9yZXNwb25zZShpbnRlbF9zZHZvLCAmZGF0YVtpXSwKKwkJ CQkJICAgICAgbWluX3QodW5zaWduZWQgaW50LCA4LCBoYnVmX3NpemUgLSBpKSkpCisJCQlyZXR1 cm4gLUVOWElPOworCX0KKworCXJldHVybiBoYnVmX3NpemU7Cit9CisKIHN0YXRpYyBib29sIGlu dGVsX3Nkdm9fY29tcHV0ZV9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9z ZHZvLAogCQkJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJ CQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQpAQCAtMTAzOSw2 ICsxMDkxLDM3IEBAIHN0YXRpYyBib29sIGludGVsX3Nkdm9fc2V0X2F2aV9pbmZvZnJhbWUoc3Ry dWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCiAJCQkJCSAgc2R2b19kYXRhLCBzaXplb2Yoc2R2 b19kYXRhKSk7CiB9CiAKK3N0YXRpYyBib29sIGludGVsX3Nkdm9fZ2V0X2F2aV9pbmZvZnJhbWUo c3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCisJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwl1OCBzZHZvX2RhdGFbSERNSV9JTkZPRlJBTUVfU0laRShB VkkpXTsKKwl1bmlvbiBoZG1pX2luZm9mcmFtZSAqZnJhbWUgPSAmY3J0Y19zdGF0ZS0+aW5mb2Zy YW1lcy5hdmk7CisJc3NpemVfdCBsZW47CisJaW50IHJldDsKKworCWlmICghY3J0Y19zdGF0ZS0+ aGFzX2hkbWlfc2luaykKKwkJcmV0dXJuIHRydWU7CisKKwlsZW4gPSBpbnRlbF9zZHZvX3JlYWRf aW5mb2ZyYW1lKGludGVsX3Nkdm8sIFNEVk9fSEJVRl9JTkRFWF9BVklfSUYsCisJCQkJCXNkdm9f ZGF0YSwgc2l6ZW9mKHNkdm9fZGF0YSkpOworCWlmIChsZW4gPCAwKQorCQlyZXR1cm4gZmFsc2U7 CisJZWxzZSBpZiAobGVuID09IDApCisJCXJldHVybiB0cnVlOworCisJY3J0Y19zdGF0ZS0+aW5m b2ZyYW1lcy5lbmFibGUgfD0KKwkJaW50ZWxfaGRtaV9pbmZvZnJhbWVfZW5hYmxlKEhETUlfSU5G T0ZSQU1FX1RZUEVfQVZJKTsKKworCXJldCA9IGhkbWlfaW5mb2ZyYW1lX3VucGFjayhmcmFtZSwg c2R2b19kYXRhLCBzaXplb2Yoc2R2b19kYXRhKSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIGZhbHNl OworCisJaWYgKGZyYW1lLT5hbnkudHlwZSAhPSBIRE1JX0lORk9GUkFNRV9UWVBFX0FWSSkKKwkJ cmV0dXJuIGZhbHNlOworCisJcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBib29sIGludGVsX3Nk dm9fc2V0X3R2X2Zvcm1hdChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKIAkJCQkgICAg IGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewpAQCAtMTUz NSw2ICsxNjE4LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fZ2V0X2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJfQogCX0KIAorCVdBUk4oZW5jb2Rlcl9waXhlbF9t dWx0aXBsaWVyICE9IHBpcGVfY29uZmlnLT5waXhlbF9tdWx0aXBsaWVyLAorCSAgICAgIlNEVk8g cGl4ZWwgbXVsdGlwbGllciBtaXNtYXRjaCwgcG9ydDogJWksIGVuY29kZXI6ICVpXG4iLAorCSAg ICAgcGlwZV9jb25maWctPnBpeGVsX211bHRpcGxpZXIsIGVuY29kZXJfcGl4ZWxfbXVsdGlwbGll cik7CisKIAlpZiAoc2R2b3ggJiBIRE1JX0NPTE9SX1JBTkdFXzE2XzIzNSkKIAkJcGlwZV9jb25m aWctPmxpbWl0ZWRfY29sb3JfcmFuZ2UgPSB0cnVlOwogCkBAIC0xNTQ3LDkgKzE2MzQsOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF9zZHZvX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQlwaXBlX2NvbmZpZy0+aGFzX2hkbWlfc2luayA9IHRydWU7CiAJfQogCi0JV0FS TihlbmNvZGVyX3BpeGVsX211bHRpcGxpZXIgIT0gcGlwZV9jb25maWctPnBpeGVsX211bHRpcGxp ZXIsCi0JICAgICAiU0RWTyBwaXhlbCBtdWx0aXBsaWVyIG1pc21hdGNoLCBwb3J0OiAlaSwgZW5j b2RlcjogJWlcbiIsCi0JICAgICBwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllciwgZW5jb2Rl cl9waXhlbF9tdWx0aXBsaWVyKTsKKwlpZiAoIWludGVsX3Nkdm9fZ2V0X2F2aV9pbmZvZnJhbWUo aW50ZWxfc2R2bywgcGlwZV9jb25maWcpKQorCQlEUk1fRVJST1IoImZhaWxlZCB0byByZWFkIEFW SSBpbmZvZnJhbWVcbiIpOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3Nkdm8oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCi0tIAoyLjE2LjQKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=