From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: [PATCH v12 15/18] drm: bridge: analogix/dp: add edid modes parse in get_modes method Date: Wed, 23 Dec 2015 20:49:00 +0800 Message-ID: <1450874940-19573-1-git-send-email-ykk@rock-chips.com> References: <1450873538-18304-1-git-send-email-ykk@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1450873538-18304-1-git-send-email-ykk@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae , Mark Yao , Jingoo Han , Heiko Stuebner Cc: devicetree@vger.kernel.org, Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, Russell King , linux-rockchip@lists.infradead.org, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Kishon Vijay Abraham I , javier@osg.samsung.com, Rob Herring , Andy Yan , Thierry Reding , Gustavo Padovan , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org RGlzcGxheSBQb3J0IG1vbml0b3IgY291bGQgc3VwcG9ydCBraW5kcyBvZiBtb2RlIHdoaWNoIGlu ZGljYXRlCmluIG1vbml0b3IgZWRpZCwgbm90IGp1c3Qgb25lIHNpbmdsZSBkaXNwbGF5IHJlc29s dXRpb24gd2hpY2gKZGVmaW5lZCBpbiBwYW5lbCBvciBkZXZpdmV0cmVlIHByb3BlcnR5IGRpc3Bs YXkgdGltaW5nLgoKTm90ZTogR3VzdGF2byBQYWRvdmFuIHRyeSB0byByZW1vdmUgdGhlIGNvbnRy b2xsZXIgYW5kIHBoeQpwb3dlciBvbiBmdW5jdGlvbiBpbiBiaW5kIHRpbWUgYXQgYmVsbG93IGNv bW1pdDoKCWRybS9leHlub3M6IGRvIG5vdCBzdGFydCBlbmFibGluZyBEUCBhdCBiaW5kKCkgcGhh c2UKCkJ1dCBmb3Igbm93IGRyaXZlciBuZWVkIHRvIHJlYWQgZWRpZCBtZXNzYWdlIGluIC5nZXRf bW9kZXMoKQpmdW5jdGlvbiwgc28gY29udHJvbGxlciBtdXN0IGJlIGluaXRlZCBpbiBiaW5kIHRp bWUsIHNvIHdlCm5lZWQgdG8gYWRkIGNvbnRyb2xsZXIgaW5pdCBiYWNrLgoKU2lnbmVkLW9mZi1i eTogWWFraXIgWWFuZyA8eWtrQHJvY2stY2hpcHMuY29tPgpUZXN0ZWQtYnk6IEphdmllciBNYXJ0 aW5leiBDYW5pbGxhcyA8amF2aWVyQG9zZy5zYW1zdW5nLmNvbT4KLS0tCkNoYW5nZXMgaW4gdjEy OiBOb25lCkNoYW5nZXMgaW4gdjExOiBOb25lCkNoYW5nZXMgaW4gdjEwOiBOb25lCkNoYW5nZXMg aW4gdjk6IE5vbmUKQ2hhbmdlcyBpbiB2ODogTm9uZQpDaGFuZ2VzIGluIHY3OiBOb25lCkNoYW5n ZXMgaW4gdjY6IE5vbmUKQ2hhbmdlcyBpbiB2NTogTm9uZQpDaGFuZ2VzIGluIHY0OgotIENhbGwg ZHJtX3BhbmVsX3ByZXBhcmUoKSBpbiAuZ2V0X21vZGVzIGZ1bmN0aW9uLCBlbnN1cmUgcGFuZWwg c2hvdWxkCiAgcG93ZXIgb24gYmVmb3JlIGRyaXZlciB0cnkgdG8gcmVhZCBlZGlkIG1lc3NhZ2Uu CgpDaGFuZ2VzIGluIHYzOgotIEFkZCBlZGlkIG1vZGVzIHBhcnNlIHN1cHBvcnQKCkNoYW5nZXMg aW4gdjI6IE5vbmUKCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2Rw X2NvcmUuYyB8IDE3ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2Fu YWxvZ2l4X2RwX2NvcmUuaCB8IDQ2ICsrKysrKysrKysrLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwppbmRleCAxZmYyZDhl ZS4uYTg2YTI4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9h bmFsb2dpeF9kcF9jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9h bmFsb2dpeF9kcF9jb3JlLmMKQEAgLTExMCw3ICsxMTAsNyBAQCBzdGF0aWMgdW5zaWduZWQgY2hh ciBhbmFsb2dpeF9kcF9jYWxjX2VkaWRfY2hlY2tfc3VtKHVuc2lnbmVkIGNoYXIgKmVkaWRfZGF0 YSkKIAogc3RhdGljIGludCBhbmFsb2dpeF9kcF9yZWFkX2VkaWQoc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHApCiB7Ci0JdW5zaWduZWQgY2hhciBlZGlkW0VESURfQkxPQ0tfTEVOR1RIICog Ml07CisJdW5zaWduZWQgY2hhciAqZWRpZCA9IGRwLT5lZGlkOwogCXVuc2lnbmVkIGludCBleHRl bmRfYmxvY2sgPSAwOwogCXVuc2lnbmVkIGNoYXIgc3VtOwogCXVuc2lnbmVkIGNoYXIgdGVzdF92 ZWN0b3I7CkBAIC05MDQsMTIgKzkwNCw2IEBAIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2NvbW1p dChzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkKIAkJCURSTV9FUlJPUigiZmFpbGVkIHRv IGRpc2FibGUgdGhlIHBhbmVsXG4iKTsKIAl9CiAKLQlyZXQgPSBhbmFsb2dpeF9kcF9oYW5kbGVf ZWRpZChkcCk7Ci0JaWYgKHJldCkgewotCQlkZXZfZXJyKGRwLT5kZXYsICJ1bmFibGUgdG8gaGFu ZGxlIGVkaWRcbiIpOwotCQlyZXR1cm47Ci0JfQotCiAJcmV0ID0gYW5hbG9naXhfZHBfc2V0X2xp bmtfdHJhaW4oZHAsIGRwLT52aWRlb19pbmZvLm1heF9sYW5lX2NvdW50LAogCQkJCQkgZHAtPnZp ZGVvX2luZm8ubWF4X2xpbmtfcmF0ZSk7CiAJaWYgKHJldCkgewpAQCAtOTM5LDggKzkzMywxNCBA QCBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9jb21taXQoc3RydWN0IGFuYWxvZ2l4X2RwX2Rldmlj ZSAqZHApCiBpbnQgYW5hbG9naXhfZHBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCiB7CiAJc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAgPSB0b19kcChjb25u ZWN0b3IpOworCXN0cnVjdCBlZGlkICplZGlkID0gKHN0cnVjdCBlZGlkICopZHAtPmVkaWQ7CiAJ aW50IG51bV9tb2RlcyA9IDA7CiAKKwlpZiAoYW5hbG9naXhfZHBfaGFuZGxlX2VkaWQoZHApID09 IDApIHsKKwkJZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KCZkcC0+Y29u bmVjdG9yLCBlZGlkKTsKKwkJbnVtX21vZGVzICs9IGRybV9hZGRfZWRpZF9tb2RlcygmZHAtPmNv bm5lY3RvciwgZWRpZCk7CisJfQorCiAJaWYgKGRwLT5wbGF0X2RhdGEtPnBhbmVsKQogCQludW1f bW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2RlcyhkcC0+cGxhdF9kYXRhLT5wYW5lbCk7CiAKQEAg LTk3OCw2ICs5NzgsNyBAQCBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9jb25uZWN0b3JfZGVzdHJv eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCWRybV9jb25uZWN0b3JfdW5y ZWdpc3Rlcihjb25uZWN0b3IpOwogCWRybV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwor CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBhbmFsb2dpeF9kcF9jb25u ZWN0b3JfZnVuY3MgPSB7CkBAIC0xMzQ4LDYgKzEzNDksOCBAQCBpbnQgYW5hbG9naXhfZHBfYmlu ZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAogCQl9CiAJ fQogCisJYW5hbG9naXhfZHBfaW5pdF9kcChkcCk7CisKIAlyZXQgPSBkZXZtX3JlcXVlc3RfaXJx KCZwZGV2LT5kZXYsIGRwLT5pcnEsIGFuYWxvZ2l4X2RwX2lycV9oYW5kbGVyLAogCQkJICAgICAg IGlycV9mbGFncywgImFuYWxvZ2l4LWRwIiwgZHApOwogCWlmIChyZXQpIHsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5oIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmgKaW5kZXggYThj YmE2NC4uNDBhMDc1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC9hbmFsb2dpeF9kcF9jb3JlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC9hbmFsb2dpeF9kcF9jb3JlLmgKQEAgLTIwLDYgKzIwLDI4IEBACiAjZGVmaW5lIE1BWF9DUl9M T09QCQkJNQogI2RlZmluZSBNQVhfRVFfTE9PUAkJCTUKIAorLyogSTJDIEVESUQgQ2hpcCBJRCwg U2xhdmUgQWRkcmVzcyAqLworI2RlZmluZSBJMkNfRURJRF9ERVZJQ0VfQUREUgkJCTB4NTAKKyNk ZWZpbmUgSTJDX0VfRURJRF9ERVZJQ0VfQUREUgkJCTB4MzAKKworI2RlZmluZSBFRElEX0JMT0NL X0xFTkdUSAkJCTB4ODAKKyNkZWZpbmUgRURJRF9IRUFERVJfUEFUVEVSTgkJCTB4MDAKKyNkZWZp bmUgRURJRF9FWFRFTlNJT05fRkxBRwkJCTB4N2UKKyNkZWZpbmUgRURJRF9DSEVDS1NVTQkJCQkw eDdmCisKKy8qIERQX01BWF9MQU5FX0NPVU5UICovCisjZGVmaW5lIERQQ0RfRU5IQU5DRURfRlJB TUVfQ0FQKHgpCQkoKCh4KSA+PiA3KSAmIDB4MSkKKyNkZWZpbmUgRFBDRF9NQVhfTEFORV9DT1VO VCh4KQkJCSgoeCkgJiAweDFmKQorCisvKiBEUF9MQU5FX0NPVU5UX1NFVCAqLworI2RlZmluZSBE UENEX0xBTkVfQ09VTlRfU0VUKHgpCQkJKCh4KSAmIDB4MWYpCisKKy8qIERQX1RSQUlOSU5HX0xB TkUwX1NFVCAqLworI2RlZmluZSBEUENEX1BSRV9FTVBIQVNJU19TRVQoeCkJCSgoKHgpICYgMHgz KSA8PCAzKQorI2RlZmluZSBEUENEX1BSRV9FTVBIQVNJU19HRVQoeCkJCSgoKHgpID4+IDMpICYg MHgzKQorI2RlZmluZSBEUENEX1ZPTFRBR0VfU1dJTkdfU0VUKHgpCQkoKCh4KSAmIDB4MykgPDwg MCkKKyNkZWZpbmUgRFBDRF9WT0xUQUdFX1NXSU5HX0dFVCh4KQkJKCgoeCkgPj4gMCkgJiAweDMp CisKIGVudW0gbGlua19sYW5lX2NvdW50X3R5cGUgewogCUxBTkVfQ09VTlQxID0gMSwKIAlMQU5F X0NPVU5UMiA9IDIsCkBAIC0xNTUsNiArMTc3LDcgQEAgc3RydWN0IGFuYWxvZ2l4X2RwX2Rldmlj ZSB7CiAJaW50CQkJZHBtc19tb2RlOwogCWludAkJCWhwZF9ncGlvOwogCWJvb2wgICAgICAgICAg ICAgICAgICAgIGZvcmNlX2hwZDsKKwl1bnNpZ25lZCBjaGFyICAgICAgICAgICBlZGlkW0VESURf QkxPQ0tfTEVOR1RIICogMl07CiAKIAlzdHJ1Y3QgYW5hbG9naXhfZHBfcGxhdF9kYXRhICpwbGF0 X2RhdGE7CiB9OwpAQCAtMjU0LDI3ICsyNzcsNCBAQCBpbnQgYW5hbG9naXhfZHBfaXNfdmlkZW9f c3RyZWFtX29uKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKTsKIHZvaWQgYW5hbG9naXhf ZHBfY29uZmlnX3ZpZGVvX3NsYXZlX21vZGUoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAp Owogdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfc2NyYW1ibGluZyhzdHJ1Y3QgYW5hbG9naXhfZHBf ZGV2aWNlICpkcCk7CiB2b2lkIGFuYWxvZ2l4X2RwX2Rpc2FibGVfc2NyYW1ibGluZyhzdHJ1Y3Qg YW5hbG9naXhfZHBfZGV2aWNlICpkcCk7Ci0KLS8qIEkyQyBFRElEIENoaXAgSUQsIFNsYXZlIEFk ZHJlc3MgKi8KLSNkZWZpbmUgSTJDX0VESURfREVWSUNFX0FERFIJCQkweDUwCi0jZGVmaW5lIEky Q19FX0VESURfREVWSUNFX0FERFIJCQkweDMwCi0KLSNkZWZpbmUgRURJRF9CTE9DS19MRU5HVEgJ CQkweDgwCi0jZGVmaW5lIEVESURfSEVBREVSX1BBVFRFUk4JCQkweDAwCi0jZGVmaW5lIEVESURf RVhURU5TSU9OX0ZMQUcJCQkweDdlCi0jZGVmaW5lIEVESURfQ0hFQ0tTVU0JCQkJMHg3ZgotCi0v KiBEUF9NQVhfTEFORV9DT1VOVCAqLwotI2RlZmluZSBEUENEX0VOSEFOQ0VEX0ZSQU1FX0NBUCh4 KQkJKCgoeCkgPj4gNykgJiAweDEpCi0jZGVmaW5lIERQQ0RfTUFYX0xBTkVfQ09VTlQoeCkJCQko KHgpICYgMHgxZikKLQotLyogRFBfTEFORV9DT1VOVF9TRVQgKi8KLSNkZWZpbmUgRFBDRF9MQU5F X0NPVU5UX1NFVCh4KQkJCSgoeCkgJiAweDFmKQotCi0vKiBEUF9UUkFJTklOR19MQU5FMF9TRVQg Ki8KLSNkZWZpbmUgRFBDRF9QUkVfRU1QSEFTSVNfU0VUKHgpCQkoKCh4KSAmIDB4MykgPDwgMykK LSNkZWZpbmUgRFBDRF9QUkVfRU1QSEFTSVNfR0VUKHgpCQkoKCh4KSA+PiAzKSAmIDB4MykKLSNk ZWZpbmUgRFBDRF9WT0xUQUdFX1NXSU5HX1NFVCh4KQkJKCgoeCkgJiAweDMpIDw8IDApCi0jZGVm aW5lIERQQ0RfVk9MVEFHRV9TV0lOR19HRVQoeCkJCSgoKHgpID4+IDApICYgMHgzKQotCiAjZW5k aWYgLyogX0FOQUxPR0lYX0RQX0NPUkVfSCAqLwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=