From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 2/2] drm/vc4: Add support for interlaced modes on HDMI. Date: Wed, 28 Sep 2016 19:20:45 -0700 Message-ID: <20160929022045.24813-2-eric@anholt.net> References: <20160929022045.24813-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 4A79E6E050 for ; Thu, 29 Sep 2016 02:21:09 +0000 (UTC) In-Reply-To: <20160929022045.24813-1-eric@anholt.net> 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 V2UganVzdCBuZWVkZWQgdG8gaW5pdGlhbGl6ZSBhIGZldyBtb3JlIGZpZWxkcy4KClNpZ25lZC1v ZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfY3J0Yy5jIHwgMTcgKysrKysrKysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2hkbWkuYyB8IDEyICsrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf cmVncy5oIHwgIDMgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCmluZGV4IDhmYzJiNzMxYjU5YS4uZDU3NWY4 YWEzMjczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCkBAIC00MjgsMTMgKzQyOCwyNCBAQCBzdGF0 aWMgdm9pZCB2YzRfY3J0Y19tb2RlX3NldF9ub2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJ CSAgIFZDNF9TRVRfRklFTEQobW9kZS0+dnN5bmNfc3RhcnQgLSBtb2RlLT52ZGlzcGxheSwKIAkJ CQkJIFBWX1ZFUlRCX1ZGUCkgfAogCQkJICAgVkM0X1NFVF9GSUVMRCh2YWN0aXZlLCBQVl9WRVJU Ql9WQUNUSVZFKSk7CisKKwkJLyogV2Ugc2V0IHVwIGZpcnN0IGZpZWxkIGV2ZW4gbW9kZSBmb3Ig SERNSS4gIFZFQydzCisJCSAqIE5UU0MgbW9kZSB3b3VsZCB3YW50IGZpcnN0IGZpZWxkIG9kZCBp bnN0ZWFkLCBvbmNlCisJCSAqIHdlIHN1cHBvcnQgaXQgKHRvIGRvIHNvLCBzZXQgT0REX0ZJUlNU IGFuZCBwdXQgdGhlCisJCSAqIGRlbGF5IGluIFZTWU5DRF9FVkVOIGluc3RlYWQpLgorCQkgKi8K KwkJQ1JUQ19XUklURShQVl9WX0NPTlRST0wsCisJCQkgICBQVl9WQ09OVFJPTF9DT05USU5VT1VT IHwKKwkJCSAgIFBWX1ZDT05UUk9MX0lOVEVSTEFDRSB8CisJCQkgICBWQzRfU0VUX0ZJRUxEKG1v ZGUtPmh0b3RhbCAvIDIsCisJCQkJCSBQVl9WQ09OVFJPTF9PRERfREVMQVkpKTsKKwkJQ1JUQ19X UklURShQVl9WU1lOQ0RfRVZFTiwgMCk7CisJfSBlbHNlIHsKKwkJQ1JUQ19XUklURShQVl9WX0NP TlRST0wsIFBWX1ZDT05UUk9MX0NPTlRJTlVPVVMpOwogCX0KIAogCUNSVENfV1JJVEUoUFZfSEFD VF9BQ1QsIG1vZGUtPmhkaXNwbGF5KTsKIAotCUNSVENfV1JJVEUoUFZfVl9DT05UUk9MLAotCQkg ICBQVl9WQ09OVFJPTF9DT05USU5VT1VTIHwKLQkJICAgKGludGVybGFjZSA/IFBWX1ZDT05UUk9M X0lOVEVSTEFDRSA6IDApKTsKIAogCUNSVENfV1JJVEUoUFZfQ09OVFJPTCwKIAkJICAgVkM0X1NF VF9GSUVMRChmb3JtYXQsIFBWX0NPTlRST0xfRk9STUFUKSB8CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMK aW5kZXggNTc3MGQ2NzA0ZjRiLi42MDk1ZTQ4ZmNmNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMK QEAgLTI0Niw3ICsyNDYsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3IgKnZjNF9oZG1p X2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJY29ubmVjdG9yLT5wb2xs ZWQgPSAoRFJNX0NPTk5FQ1RPUl9QT0xMX0NPTk5FQ1QgfAogCQkJICAgICBEUk1fQ09OTkVDVE9S X1BPTExfRElTQ09OTkVDVCk7CiAKLQljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gMDsK Kwljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gdHJ1ZTsKIAljb25uZWN0b3ItPmRvdWJs ZXNjYW5fYWxsb3dlZCA9IDA7CiAKIAlkcm1fbW9kZV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIo Y29ubmVjdG9yLCBlbmNvZGVyKTsKQEAgLTI3OCw4ICsyNzgsOCBAQCBzdGF0aWMgdm9pZCB2YzRf aGRtaV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlib29s IGRlYnVnX2R1bXBfcmVncyA9IGZhbHNlOwogCWJvb2wgaHN5bmNfcG9zID0gbW9kZS0+ZmxhZ3Mg JiBEUk1fTU9ERV9GTEFHX1BIU1lOQzsKIAlib29sIHZzeW5jX3BvcyA9IG1vZGUtPmZsYWdzICYg RFJNX01PREVfRkxBR19QVlNZTkM7Ci0JdTMyIHZhY3RpdmUgPSAobW9kZS0+dmRpc3BsYXkgPj4K LQkJICAgICAgICgobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSkgPyAxIDog MCkpOworCWJvb2wgaW50ZXJsYWNlZCA9IG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRF UkxBQ0U7CisJdTMyIHZhY3RpdmUgPSBtb2RlLT52ZGlzcGxheSA+PiBpbnRlcmxhY2VkOwogCXUz MiB2ZXJ0YSA9IChWQzRfU0VUX0ZJRUxEKG1vZGUtPnZzeW5jX2VuZCAtIG1vZGUtPnZzeW5jX3N0 YXJ0LAogCQkJCSAgIFZDNF9IRE1JX1ZFUlRBX1ZTUCkgfAogCQkgICAgIFZDNF9TRVRfRklFTEQo bW9kZS0+dnN5bmNfc3RhcnQgLSBtb2RlLT52ZGlzcGxheSwKQEAgLTI4OCw2ICsyODgsMTAgQEAg c3RhdGljIHZvaWQgdmM0X2hkbWlfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsCiAJdTMyIHZlcnRiID0gKFZDNF9TRVRfRklFTEQoMCwgVkM0X0hETUlfVkVSVEJf VlNQTykgfAogCQkgICAgIFZDNF9TRVRfRklFTEQobW9kZS0+dnRvdGFsIC0gbW9kZS0+dnN5bmNf ZW5kLAogCQkJCSAgIFZDNF9IRE1JX1ZFUlRCX1ZCUCkpOworCXUzMiB2ZXJ0Yl9ldmVuID0gKFZD NF9TRVRfRklFTEQoMCwgVkM0X0hETUlfVkVSVEJfVlNQTykgfAorCQkJICBWQzRfU0VUX0ZJRUxE KG1vZGUtPnZ0b3RhbCAtIG1vZGUtPnZzeW5jX2VuZCAtCisJCQkJCWludGVybGFjZWQsCisJCQkJ CVZDNF9IRE1JX1ZFUlRCX1ZCUCkpOwogCiAJaWYgKGRlYnVnX2R1bXBfcmVncykgewogCQlEUk1f SU5GTygiSERNSSByZWdzIGJlZm9yZTpcbiIpOwpAQCAtMzE5LDcgKzMyMyw3IEBAIHN0YXRpYyB2 b2lkIHZjNF9oZG1pX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAogCUhETUlfV1JJVEUoVkM0X0hETUlfVkVSVEEwLCB2ZXJ0YSk7CiAJSERNSV9XUklURShWQzRf SERNSV9WRVJUQTEsIHZlcnRhKTsKIAotCUhETUlfV1JJVEUoVkM0X0hETUlfVkVSVEIwLCB2ZXJ0 Yik7CisJSERNSV9XUklURShWQzRfSERNSV9WRVJUQjAsIHZlcnRiX2V2ZW4pOwogCUhETUlfV1JJ VEUoVkM0X0hETUlfVkVSVEIxLCB2ZXJ0Yik7CiAKIAlIRF9XUklURShWQzRfSERfVklEX0NUTCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaCBiL2RyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X3JlZ3MuaAppbmRleCAxNjA5NDJhOTE4MGUuLmZlYzdiNWVmMDU4YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcmVncy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X3JlZ3MuaApAQCAtMTgzLDYgKzE4Myw5IEBACiAjIGRlZmluZSBQVl9DT05U Uk9MX0VOCQkJCUJJVCgwKQogCiAjZGVmaW5lIFBWX1ZfQ09OVFJPTAkJCQkweDA0CisjIGRlZmlu ZSBQVl9WQ09OVFJPTF9PRERfREVMQVlfTUFTSwkJVkM0X01BU0soMjIsIDYpCisjIGRlZmluZSBQ Vl9WQ09OVFJPTF9PRERfREVMQVlfU0hJRlQJCTYKKyMgZGVmaW5lIFBWX1ZDT05UUk9MX09ERF9G SVJTVAkJCUJJVCg1KQogIyBkZWZpbmUgUFZfVkNPTlRST0xfSU5URVJMQUNFCQkJQklUKDQpCiAj IGRlZmluZSBQVl9WQ09OVFJPTF9DT05USU5VT1VTCQkJQklUKDEpCiAjIGRlZmluZSBQVl9WQ09O VFJPTF9WSURFTgkJCUJJVCgwKQotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=