From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: Re: [PATCH 06/12] drm: bridge/dw_hdmi: clean up HDMI vs DVI mode handling Date: Wed, 07 Oct 2015 11:40:30 +0800 Message-ID: <5614942E.3010702@rock-chips.com> References: <20150808160251.GM7557@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Russell King , linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Fabio Estevam , Andy Yan List-Id: linux-rockchip.vger.kernel.org SGkgUnVzc2VsbCAmIEFuZHkKCk9uIDA4LzA5LzIwMTUgMTI6MDMgQU0sIFJ1c3NlbGwgS2luZyB3 cm90ZToKPiBUaGUgRlNMIGtlcm5lbCBkZXRlY3RzIHRoZSBIRE1JIHZlbmRvciBpZCwgYW5kIHVz ZXMgdGhpcyB0byBzZXQKPiBoZG1pLT5lZGlkX2NmZy5oZG1pX2NhcCwgd2hpY2ggaXMgdGhlbiB1 c2VkIHRvIHNldCBtZHZpIGFwcHJvcHJpYXRlbHksCj4gcmF0aGVyIHRoYW4gZGV0ZWN0aW5nIHdo ZXRoZXIgd2UgYXJlIG91dHB1dHRpbmcgYSBDRUEgbW9kZS4gIFVwZGF0ZQo+IHRoZSBkd19oZG1p IGNvZGUgdG8gdXNlIHRoaXMgbG9naWMsIGJ1dCBsZXRzIGVsaW1pbmF0ZSB0aGUgbWR2aQo+IHZh cmlhYmxlLCBwcmVmZXJpbmcgdGhlIG1vcmUgdmVyYm9zZSAiaGRtaS0+c2lua19pc19oZG1pIiBp bnN0ZWFkLgo+Cj4gVXNlIHRoZSBnZW5lcmljIGRybV9kZXRlY3RfaGRtaV9tb25pdG9yKCkgdG8g ZGV0ZWN0IGEgSERNSSBzaW5rLgo+Cj4gU2lnbmVkLW9mZi1ieTogUnVzc2VsbCBLaW5nIDxybWsr a2VybmVsQGFybS5saW51eC5vcmcudWs+CgpBY3R1YWxseSBJIGhhdmUgcG9zdGVkIHNpbWlsYXJs eSBjaGFuZ2VzIGJlZm9yZSwgZmVlbCBiZXR0ZXIgYWJvdXQKdGhpcyBvbmUsIGFuZCBJIGhhdmUg YmFja3BvcnQgdGhvc2UgMDYvMTIgJiAwNy8xMiB0byBjaHJvbWUtMy4xNAp0cmVlLCBhdWRpbyBz dGlsbCB3b3JrcyByaWdodGx5IHdoZW4gSSBjaGFuZ2luZyB0aGUgZGlzcGxheSByZXNvbHV0aW9u cy4KU28gSSB3b3VsZCBsaWtlIHRvIHNoYXJlOgoKVGVzdGVkLWJ5OiBZYWtpciBZYW5nIDx5a2tA cm9jay1jaGlwcy5jb20+CgpCZXNpZGVzLCBBbmR5LCB3b3VsZCB5b3UgbGlrZSB0byBzaGFyZSB5 b3VyIEFDSyBoZXJlIDopCgpCZXN0IHJlZ2FyZHMsCi0gWWFraXIKPiAtLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9icmlkZ2UvZHdfaGRtaS5jIHwgMjYgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0K PiAgIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2R3X2hkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvZHdfaGRtaS5jCj4gaW5kZXggMmUyMTFiODMzMWVkLi43Zjc2NDcxNmYz YzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9kd19oZG1pLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2R3X2hkbWkuYwo+IEBAIC04Miw3ICs4Miw2IEBAIHN0 YXRpYyBjb25zdCB1MTYgY3NjX2NvZWZmX3JnYl9pbl9laXR1NzA5WzNdWzRdID0gewo+ICAgfTsK PiAgIAo+ICAgc3RydWN0IGhkbWlfdm1vZGUgewo+IC0JYm9vbCBtZHZpOwo+ICAgCWJvb2wgbWRh dGFlbmFibGVwb2xhcml0eTsKPiAgIAo+ICAgCXVuc2lnbmVkIGludCBtcGl4ZWxjbG9jazsKPiBA QCAtMTIzLDYgKzEyMiw3IEBAIHN0cnVjdCBkd19oZG1pIHsKPiAgIAo+ICAgCXN0cnVjdCBpMmNf YWRhcHRlciAqZGRjOwo+ICAgCXZvaWQgX19pb21lbSAqcmVnczsKPiArCWJvb2wgc2lua19pc19o ZG1pOwo+ICAgCj4gICAJc3BpbmxvY2tfdCBhdWRpb19sb2NrOwo+ICAgCXN0cnVjdCBtdXRleCBh dWRpb19tdXRleDsKPiBAQCAtOTEzLDExICs5MTMsMTAgQEAgc3RhdGljIGludCBoZG1pX3BoeV9j b25maWd1cmUoc3RydWN0IGR3X2hkbWkgKmhkbWksIHVuc2lnbmVkIGNoYXIgcHJlcCwKPiAgIHN0 YXRpYyBpbnQgZHdfaGRtaV9waHlfaW5pdChzdHJ1Y3QgZHdfaGRtaSAqaGRtaSkKPiAgIHsKPiAg IAlpbnQgaSwgcmV0Owo+IC0JYm9vbCBjc2NvbiA9IGZhbHNlOwo+ICsJYm9vbCBjc2NvbjsKPiAg IAo+ICAgCS8qY2hlY2sgY3NjIHdoZXRoZXIgbmVlZGVkIGFjdGl2YXRlZCBpbiBIRE1JIG1vZGUg Ki8KPiAtCWNzY29uID0gKGlzX2NvbG9yX3NwYWNlX2NvbnZlcnNpb24oaGRtaSkgJiYKPiAtCQkJ IWhkbWktPmhkbWlfZGF0YS52aWRlb19tb2RlLm1kdmkpOwo+ICsJY3Njb24gPSBoZG1pLT5zaW5r X2lzX2hkbWkgJiYgaXNfY29sb3Jfc3BhY2VfY29udmVyc2lvbihoZG1pKTsKPiAgIAo+ICAgCS8q IEhETUkgUGh5IHNwZWMgc2F5cyB0byBkbyB0aGUgcGh5IGluaXRpYWxpemF0aW9uIHNlcXVlbmNl IHR3aWNlICovCj4gICAJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewo+IEBAIC0xMDk0LDkgKzEw OTMsOSBAQCBzdGF0aWMgdm9pZCBoZG1pX2F2X2NvbXBvc2VyKHN0cnVjdCBkd19oZG1pICpoZG1p LAo+ICAgCQlIRE1JX0ZDX0lOVklEQ09ORl9JTl9JX1BfSU5URVJMQUNFRCA6Cj4gICAJCUhETUlf RkNfSU5WSURDT05GX0lOX0lfUF9QUk9HUkVTU0lWRTsKPiAgIAo+IC0JaW52X3ZhbCB8PSAodm1v ZGUtPm1kdmkgPwo+IC0JCUhETUlfRkNfSU5WSURDT05GX0RWSV9NT0RFWl9EVklfTU9ERSA6Cj4g LQkJSERNSV9GQ19JTlZJRENPTkZfRFZJX01PREVaX0hETUlfTU9ERSk7Cj4gKwlpbnZfdmFsIHw9 IGhkbWktPnNpbmtfaXNfaGRtaSA/Cj4gKwkJSERNSV9GQ19JTlZJRENPTkZfRFZJX01PREVaX0hE TUlfTU9ERSA6Cj4gKwkJSERNSV9GQ19JTlZJRENPTkZfRFZJX01PREVaX0RWSV9NT0RFOwo+ICAg Cj4gICAJaGRtaV93cml0ZWIoaGRtaSwgaW52X3ZhbCwgSERNSV9GQ19JTlZJRENPTkYpOwo+ICAg Cj4gQEAgLTEyMzYsMTAgKzEyMzUsOCBAQCBzdGF0aWMgaW50IGR3X2hkbWlfc2V0dXAoc3RydWN0 IGR3X2hkbWkgKmhkbWksIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICAgCj4gICAJ aWYgKCFoZG1pLT52aWMpIHsKPiAgIAkJZGV2X2RiZyhoZG1pLT5kZXYsICJOb24tQ0VBIG1vZGUg dXNlZCBpbiBIRE1JXG4iKTsKPiAtCQloZG1pLT5oZG1pX2RhdGEudmlkZW9fbW9kZS5tZHZpID0g dHJ1ZTsKPiAgIAl9IGVsc2Ugewo+ICAgCQlkZXZfZGJnKGhkbWktPmRldiwgIkNFQSBtb2RlIHVz ZWQgdmljPSVkXG4iLCBoZG1pLT52aWMpOwo+IC0JCWhkbWktPmhkbWlfZGF0YS52aWRlb19tb2Rl Lm1kdmkgPSBmYWxzZTsKPiAgIAl9Cj4gICAKPiAgIAlpZiAoKGhkbWktPnZpYyA9PSA2KSB8fCAo aGRtaS0+dmljID09IDcpIHx8Cj4gQEAgLTEyNzUsMTAgKzEyNzIsOCBAQCBzdGF0aWMgaW50IGR3 X2hkbWlfc2V0dXAoc3RydWN0IGR3X2hkbWkgKmhkbWksIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+ICAgCWR3X2hkbWlfZW5hYmxlX3ZpZGVvX3BhdGgoaGRtaSk7Cj4gICAKPiAgIAkv KiBub3QgZm9yIERWSSBtb2RlICovCj4gLQlpZiAoaGRtaS0+aGRtaV9kYXRhLnZpZGVvX21vZGUu bWR2aSkgewo+IC0JCWRldl9kYmcoaGRtaS0+ZGV2LCAiJXMgRFZJIG1vZGVcbiIsIF9fZnVuY19f KTsKPiAtCX0gZWxzZSB7Cj4gLQkJZGV2X2RiZyhoZG1pLT5kZXYsICIlcyBDRUEgbW9kZVxuIiwg X19mdW5jX18pOwo+ICsJaWYgKGhkbWktPnNpbmtfaXNfaGRtaSkgewo+ICsJCWRldl9kYmcoaGRt aS0+ZGV2LCAiJXMgSERNSSBtb2RlXG4iLCBfX2Z1bmNfXyk7Cj4gICAKPiAgIAkJLyogSERNSSBJ bml0aWFsaXphdGlvbiBTdGVwIEUgLSBDb25maWd1cmUgYXVkaW8gKi8KPiAgIAkJaGRtaV9jbGtf cmVnZW5lcmF0b3JfdXBkYXRlX3BpeGVsX2Nsb2NrKGhkbWkpOwo+IEBAIC0xMjg2LDYgKzEyODEs OCBAQCBzdGF0aWMgaW50IGR3X2hkbWlfc2V0dXAoc3RydWN0IGR3X2hkbWkgKmhkbWksIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICAgCj4gICAJCS8qIEhETUkgSW5pdGlhbGl6YXRp b24gU3RlcCBGIC0gQ29uZmlndXJlIEFWSSBJbmZvRnJhbWUgKi8KPiAgIAkJaGRtaV9jb25maWdf QVZJKGhkbWksIG1vZGUpOwo+ICsJfSBlbHNlIHsKPiArCQlkZXZfZGJnKGhkbWktPmRldiwgIiVz IERWSSBtb2RlXG4iLCBfX2Z1bmNfXyk7Cj4gICAJfQo+ICAgCj4gICAJaGRtaV92aWRlb19wYWNr ZXRpemUoaGRtaSk7Cj4gQEAgLTEyOTQsNyArMTI5MSw3IEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9z ZXR1cChzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp Cj4gICAJaGRtaV90eF9oZGNwX2NvbmZpZyhoZG1pKTsKPiAgIAo+ICAgCWR3X2hkbWlfY2xlYXJf b3ZlcmZsb3coaGRtaSk7Cj4gLQlpZiAoaGRtaS0+Y2FibGVfcGx1Z2luICYmICFoZG1pLT5oZG1p X2RhdGEudmlkZW9fbW9kZS5tZHZpKQo+ICsJaWYgKGhkbWktPmNhYmxlX3BsdWdpbiAmJiBoZG1p LT5zaW5rX2lzX2hkbWkpCj4gICAJCWhkbWlfZW5hYmxlX292ZXJmbG93X2ludGVycnVwdHMoaGRt aSk7Cj4gICAKPiAgIAlyZXR1cm4gMDsKPiBAQCAtMTQ0NCw2ICsxNDQxLDcgQEAgc3RhdGljIGlu dCBkd19oZG1pX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPiAgIAkJZGV2X2RiZyhoZG1pLT5kZXYsICJnb3QgZWRpZDogd2lkdGhbJWRdIHggaGVp Z2h0WyVkXVxuIiwKPiAgIAkJCWVkaWQtPndpZHRoX2NtLCBlZGlkLT5oZWlnaHRfY20pOwo+ICAg Cj4gKwkJaGRtaS0+c2lua19pc19oZG1pID0gZHJtX2RldGVjdF9oZG1pX21vbml0b3IoZWRpZCk7 Cj4gICAJCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3Is IGVkaWQpOwo+ICAgCQlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsK PiAgIAkJa2ZyZWUoZWRpZCk7CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK