From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 1/2] drm/vc4: Set up the AVI and SPD infoframes. Date: Thu, 29 Sep 2016 15:34:43 -0700 Message-ID: <20160929223444.29030-1-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 1C1B66E93C for ; Thu, 29 Sep 2016 22:35:07 +0000 (UTC) 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: linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org Rml4ZXMgYSBwdXJwbGUgYmFyIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHNjcmVlbiB3aXRoIG15 IERlbGwKMjQwOFdGUC4gIEl0IHdpbGwgYWxzbyBiZSByZXF1aXJlZCBmb3Igc3VwcG9ydGluZyB0 aGUgZG91YmxlLWNsb2NrZWQKdmlkZW8gbW9kZXMuCgpTaWduZWQtb2ZmLWJ5OiBFcmljIEFuaG9s dCA8ZXJpY0BhbmhvbHQubmV0PgotLS0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyB8 IDEzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfcmVncy5oIHwgICA1ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwppbmRleCBkOTQx MDhjYTk2MWQuLmQ2YjU0YjkwNWJlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwpAQCAtNjIsNiAr NjIsOCBAQCBzdHJ1Y3QgdmM0X2hkbWkgewogc3RydWN0IHZjNF9oZG1pX2VuY29kZXIgewogCXN0 cnVjdCB2YzRfZW5jb2RlciBiYXNlOwogCWJvb2wgaGRtaV9tb25pdG9yOworCWJvb2wgbGltaXRl ZF9yZ2JfcmFuZ2U7CisJYm9vbCByZ2JfcmFuZ2Vfc2VsZWN0YWJsZTsKIH07CiAKIHN0YXRpYyBp bmxpbmUgc3RydWN0IHZjNF9oZG1pX2VuY29kZXIgKgpAQCAtMjA1LDYgKzIwNywxMiBAQCBzdGF0 aWMgaW50IHZjNF9oZG1pX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAl2YzRfZW5jb2Rlci0+aGRtaV9tb25p dG9yID0gZHJtX2RldGVjdF9oZG1pX21vbml0b3IoZWRpZCk7CisKKwlpZiAoZWRpZCAmJiBlZGlk LT5pbnB1dCAmIERSTV9FRElEX0lOUFVUX0RJR0lUQUwpIHsKKwkJdmM0X2VuY29kZXItPnJnYl9y YW5nZV9zZWxlY3RhYmxlID0KKwkJCWRybV9yZ2JfcXVhbnRfcmFuZ2Vfc2VsZWN0YWJsZShlZGlk KTsKKwl9CisKIAlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVj dG9yLCBlZGlkKTsKIAlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsK IApAQCAtMjcyLDYgKzI4MCwxMTcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9m dW5jcyB2YzRfaGRtaV9lbmNvZGVyX2Z1bmNzID0gewogCS5kZXN0cm95ID0gdmM0X2hkbWlfZW5j b2Rlcl9kZXN0cm95LAogfTsKIAorc3RhdGljIGludCB2YzRfaGRtaV9zdG9wX3BhY2tldChzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJCQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5 cGUpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKKwlzdHJ1Y3Qg dmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihkZXYpOworCXUzMiBwYWNrZXRfaWQgPSB0eXBlIC0g MHg4MDsKKworCUhETUlfV1JJVEUoVkM0X0hETUlfUkFNX1BBQ0tFVF9DT05GSUcsCisJCSAgIEhE TUlfUkVBRChWQzRfSERNSV9SQU1fUEFDS0VUX0NPTkZJRykgJiB+QklUKHBhY2tldF9pZCkpOwor CisJcmV0dXJuIHdhaXRfZm9yKCEoSERNSV9SRUFEKFZDNF9IRE1JX1JBTV9QQUNLRVRfU1RBVFVT KSAmCisJCQkgIEJJVChwYWNrZXRfaWQpKSwgMTAwKTsKK30KKworc3RhdGljIHZvaWQgdmM0X2hk bWlfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgICAg IHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpmcmFtZSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gZW5jb2Rlci0+ZGV2OworCXN0cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7 CisJdTMyIHBhY2tldF9pZCA9IGZyYW1lLT5hbnkudHlwZSAtIDB4ODA7CisJdTMyIHBhY2tldF9y ZWcgPSBWQzRfSERNSV9HQ1BfMCArIFZDNF9IRE1JX1BBQ0tFVF9TVFJJREUgKiBwYWNrZXRfaWQ7 CisJdWludDhfdCBidWZmZXJbVkM0X0hETUlfUEFDS0VUX1NUUklERV07CisJc3NpemVfdCBsZW4s IGk7CisJaW50IHJldDsKKworCVdBUk5fT05DRSghKEhETUlfUkVBRChWQzRfSERNSV9SQU1fUEFD S0VUX0NPTkZJRykgJgorCQkgICAgVkM0X0hETUlfUkFNX1BBQ0tFVF9FTkFCTEUpLAorCQkgICJQ YWNrZXQgUkFNIGhhcyB0byBiZSBvbiB0byBzdG9yZSB0aGUgcGFja2V0LiIpOworCisJbGVuID0g aGRtaV9pbmZvZnJhbWVfcGFjayhmcmFtZSwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisJaWYg KGxlbiA8IDApCisJCXJldHVybjsKKworCXJldCA9IHZjNF9oZG1pX3N0b3BfcGFja2V0KGVuY29k ZXIsIGZyYW1lLT5hbnkudHlwZSk7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0 byB3YWl0IGZvciBpbmZvZnJhbWUgdG8gZ28gaWRsZTogJWRcbiIsIHJldCk7CisJCXJldHVybjsK Kwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDcpIHsKKwkJSERNSV9XUklURShwYWNr ZXRfcmVnLAorCQkJICAgYnVmZmVyW2kgKyAwXSA8PCAwIHwKKwkJCSAgIGJ1ZmZlcltpICsgMV0g PDwgOCB8CisJCQkgICBidWZmZXJbaSArIDJdIDw8IDE2KTsKKwkJcGFja2V0X3JlZyArPSA0Owor CisJCUhETUlfV1JJVEUocGFja2V0X3JlZywKKwkJCSAgIGJ1ZmZlcltpICsgM10gPDwgMCB8CisJ CQkgICBidWZmZXJbaSArIDRdIDw8IDggfAorCQkJICAgYnVmZmVyW2kgKyA1XSA8PCAxNiB8CisJ CQkgICBidWZmZXJbaSArIDZdIDw8IDI0KTsKKwkJcGFja2V0X3JlZyArPSA0OworCX0KKworCUhE TUlfV1JJVEUoVkM0X0hETUlfUkFNX1BBQ0tFVF9DT05GSUcsCisJCSAgIEhETUlfUkVBRChWQzRf SERNSV9SQU1fUEFDS0VUX0NPTkZJRykgfCBCSVQocGFja2V0X2lkKSk7CisJcmV0ID0gd2FpdF9m b3IoKEhETUlfUkVBRChWQzRfSERNSV9SQU1fUEFDS0VUX1NUQVRVUykgJgorCQkJQklUKHBhY2tl dF9pZCkpLCAxMDApOworCWlmIChyZXQpCisJCURSTV9FUlJPUigiRmFpbGVkIHRvIHdhaXQgZm9y IGluZm9mcmFtZSB0byBzdGFydDogJWRcbiIsIHJldCk7Cit9CisKK3N0YXRpYyB2b2lkIHZjNF9o ZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKK3sKKwlz dHJ1Y3QgdmM0X2hkbWlfZW5jb2RlciAqdmM0X2VuY29kZXIgPSB0b192YzRfaGRtaV9lbmNvZGVy KGVuY29kZXIpOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGVuY29kZXItPmNydGM7CisJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVk X21vZGU7CisJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CisJaW50IHJldDsKKworCXJldCA9 IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9k ZSk7CisJaWYgKHJldCA8IDApIHsKKwkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZv ZnJhbWVcbiIpOworCQlyZXR1cm47CisJfQorCisJaWYgKHZjNF9lbmNvZGVyLT5yZ2JfcmFuZ2Vf c2VsZWN0YWJsZSkgeworCQlpZiAodmM0X2VuY29kZXItPmxpbWl0ZWRfcmdiX3JhbmdlKSB7CisJ CQlmcmFtZS5hdmkucXVhbnRpemF0aW9uX3JhbmdlID0KKwkJCQlIRE1JX1FVQU5USVpBVElPTl9S QU5HRV9MSU1JVEVEOworCQl9IGVsc2UgeworCQkJZnJhbWUuYXZpLnF1YW50aXphdGlvbl9yYW5n ZSA9CisJCQkJSERNSV9RVUFOVElaQVRJT05fUkFOR0VfRlVMTDsKKwkJfQorCX0KKworCXZjNF9o ZG1pX3dyaXRlX2luZm9mcmFtZShlbmNvZGVyLCAmZnJhbWUpOworfQorCitzdGF0aWMgdm9pZCB2 YzRfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCit7 CisJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CisJaW50IHJldDsKKworCXJldCA9IGhkbWlf c3BkX2luZm9mcmFtZV9pbml0KCZmcmFtZS5zcGQsICJCcm9hZGNvbSIsICJWaWRlb2NvcmUiKTsK KwlpZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgU1BEIGluZm9mcmFt ZVxuIik7CisJCXJldHVybjsKKwl9CisKKwlmcmFtZS5zcGQuc2RpID0gSERNSV9TUERfU0RJX1BD OworCisJdmM0X2hkbWlfd3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsICZmcmFtZSk7Cit9CisKK3N0 YXRpYyB2b2lkIHZjNF9oZG1pX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlcikKK3sKKwl2YzRfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyKTsKKwl2YzRfaGRt aV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyKTsKK30KKwogc3RhdGljIHZvaWQgdmM0X2hkbWlf ZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnVuYWRqdXN0ZWRfbW9kZSwKIAkJCQkgICAgICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKQEAgLTM0MCw4ICs0NTksOSBAQCBzdGF0aWMgdm9p ZCB2YzRfaGRtaV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK IAogCWlmICh2YzRfZW5jb2Rlci0+aGRtaV9tb25pdG9yICYmIGRybV9tYXRjaF9jZWFfbW9kZSht b2RlKSA+IDEpIHsKIAkJLyogQ0VBIFZJQ3Mgb3RoZXIgdGhhbiAjMSByZXF1cmUgbGltaXRlZCBy YW5nZSBSR0IKLQkJICogb3V0cHV0LiAgQXBwbHkgYSBjb2xvcnNwYWNlIGNvbnZlcnNpb24gdG8g c3F1YXNoCi0JCSAqIDAtMjU1IGRvd24gdG8gMTYtMjM1LiAgVGhlIG1hdHJpeCBoZXJlIGlzOgor CQkgKiBvdXRwdXQgdW5sZXNzIG92ZXJyaWRkZW4gYnkgYW4gQVZJIGluZm9mcmFtZS4KKwkJICog QXBwbHkgYSBjb2xvcnNwYWNlIGNvbnZlcnNpb24gdG8gc3F1YXNoIDAtMjU1IGRvd24KKwkJICog dG8gMTYtMjM1LiAgVGhlIG1hdHJpeCBoZXJlIGlzOgogCQkgKgogCQkgKiBbIDAgICAgICAwICAg ICAgMC44NTk0IDE2XQogCQkgKiBbIDAgICAgICAwLjg1OTQgMCAgICAgIDE2XQpAQCAtMzU5LDYg KzQ3OSw5IEBAIHN0YXRpYyB2b2lkIHZjNF9oZG1pX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLAogCQlIRF9XUklURShWQzRfSERfQ1NDXzI0XzIzLCAoMHgxMDAg PDwgMTYpIHwgMHgwMDApOwogCQlIRF9XUklURShWQzRfSERfQ1NDXzMyXzMxLCAoMHgwMDAgPDwg MTYpIHwgMHg2ZTApOwogCQlIRF9XUklURShWQzRfSERfQ1NDXzM0XzMzLCAoMHgxMDAgPDwgMTYp IHwgMHgwMDApOworCQl2YzRfZW5jb2Rlci0+bGltaXRlZF9yZ2JfcmFuZ2UgPSB0cnVlOworCX0g ZWxzZSB7CisJCXZjNF9lbmNvZGVyLT5saW1pdGVkX3JnYl9yYW5nZSA9IGZhbHNlOwogCX0KIAog CS8qIFRoZSBSR0Igb3JkZXIgYXBwbGllcyBldmVuIHdoZW4gQ1NDIGlzIGRpc2FibGVkLiAqLwpA QCAtMzc3LDYgKzUwMCw4IEBAIHN0YXRpYyB2b2lkIHZjNF9oZG1pX2VuY29kZXJfZGlzYWJsZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVu Y29kZXItPmRldjsKIAlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihkZXYpOwogCisJ SERNSV9XUklURShWQzRfSERNSV9SQU1fUEFDS0VUX0NPTkZJRywgMCk7CisKIAlIRE1JX1dSSVRF KFZDNF9IRE1JX1RYX1BIWV9SRVNFVF9DVEwsIDB4ZiA8PCAxNik7CiAJSERfV1JJVEUoVkM0X0hE X1ZJRF9DVEwsCiAJCSBIRF9SRUFEKFZDNF9IRF9WSURfQ1RMKSAmIH5WQzRfSERfVklEX0NUTF9F TkFCTEUpOwpAQCAtNDI5LDkgKzU1NCwxMCBAQCBzdGF0aWMgdm9pZCB2YzRfaGRtaV9lbmNvZGVy X2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCQkgICBIRE1JX1JFQUQoVkM0 X0hETUlfU0NIRURVTEVSX0NPTlRST0wpIHwKIAkJCSAgIFZDNF9IRE1JX1NDSEVEVUxFUl9DT05U Uk9MX1ZFUlRfQUxXQVlTX0tFRVBPVVQpOwogCi0JCS8qIFhYWDogU2V0IEhETUlfUkFNX1BBQ0tF VF9DT05GSUcgKDEgPDwgMTYpIGFuZCBzZXQKLQkJICogdXAgdGhlIGluZm9mcmFtZS4KLQkJICov CisJCUhETUlfV1JJVEUoVkM0X0hETUlfUkFNX1BBQ0tFVF9DT05GSUcsCisJCQkgICBWQzRfSERN SV9SQU1fUEFDS0VUX0VOQUJMRSk7CisKKwkJdmM0X2hkbWlfc2V0X2luZm9mcmFtZXMoZW5jb2Rl cik7CiAKIAkJZHJpZnQgPSBIRE1JX1JFQUQoVkM0X0hETUlfRklGT19DVEwpOwogCQlkcmlmdCAm PSBWQzRfSERNSV9GSUZPX1ZBTElEX1dSSVRFX01BU0s7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9yZWdzLmggYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9yZWdzLmgKaW5k ZXggYzVhNDIzZWFkODZmLi4wYjg2OGFhZmE4ZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X3JlZ3MuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9yZWdzLmgKQEAg LTQ0MSw2ICs0NDEsOCBAQAogI2RlZmluZSBWQzRfSERNSV9SQU1fUEFDS0VUX0NPTkZJRwkJMHgw YTAKICMgZGVmaW5lIFZDNF9IRE1JX1JBTV9QQUNLRVRfRU5BQkxFCQlCSVQoMTYpCiAKKyNkZWZp bmUgVkM0X0hETUlfUkFNX1BBQ0tFVF9TVEFUVVMJCTB4MGE0CisKICNkZWZpbmUgVkM0X0hETUlf SE9SWkEJCQkJMHgwYzQKICMgZGVmaW5lIFZDNF9IRE1JX0hPUlpBX1ZQT1MJCQlCSVQoMTQpCiAj IGRlZmluZSBWQzRfSERNSV9IT1JaQV9IUE9TCQkJQklUKDEzKQpAQCAtNTAyLDYgKzUwNCw5IEBA CiAKICNkZWZpbmUgVkM0X0hETUlfVFhfUEhZX1JFU0VUX0NUTAkJMHgyYzAKIAorI2RlZmluZSBW QzRfSERNSV9HQ1BfMAkJCQkweDQwMAorI2RlZmluZSBWQzRfSERNSV9QQUNLRVRfU1RSSURFCQkJ MHgyNAorCiAjZGVmaW5lIFZDNF9IRF9NX0NUTAkJCQkweDAwYwogIyBkZWZpbmUgVkM0X0hEX01f UkVHSVNURVJfRklMRV9TVEFOREJZCQkoMyA8PCA2KQogIyBkZWZpbmUgVkM0X0hEX01fUkFNX1NU QU5EQlkJCQkoMyA8PCA0KQotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=