From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 66ACF892D6 for ; Fri, 26 Apr 2019 16:21:15 +0000 (UTC) From: Simon Ser Date: Fri, 26 Apr 2019 19:21:05 +0300 Message-Id: <20190426162110.1768-3-simon.ser@intel.com> In-Reply-To: <20190426162110.1768-1-simon.ser@intel.com> References: <20190426162110.1768-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/7] lib/igt_edid: add support for Vendor Specific Data blocks List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Martin Peres List-ID: Rm9yIHNvbWUgcmVhc29uIEhETUkgYXVkaW8gd29uJ3Qgd29yayB1bmxlc3MgeW91IGNhc3QgYSBt YWdpYyBJRUVFIFJlZ2lzdHJhdGlvbgpJZGVudGlmaWVyIGFsb25nc2lkZSB3aXRoIGl0cyBhcHBy b3ByaWF0ZSBDb21wb25lbnRzIG9mIFNvdXJjZSBQaHlzaWNhbApBZGRyZXNzLiBUaGUgZWFzaWVz dCB3YXkgdG8gZG8gdGhpcyBpcyB0byBjYXB0dXJlIGEgd2lsZCBIRE1JIEVESUQsIHN0dWR5IGl0 LAphbmQgYmxpbmRseSBjb3B5IGJ5dGVzIGJlY2F1c2UgeW91IGRvbid0IHVuZGVyc3RhbmQgYW55 dGhpbmcgYWJvdXQgdGhlaXIKcG9zc2libGUgbWVhbmluZyAoaWYgYW55KS4KClRoaXMgY29tbWl0 IGFsc28gY2hhbmdlcyB0aGUgU0FEIEFQSSBleHBvc2VkIGJ5IGlndF9lZGlkLCB0byBhbGxvdyBm b3IgYm90aCBhClNBRCBibG9jayBhbmQgYSBWU0QgYmxvY2sgdG8gYmUgaW5jbHVkZWQgaW4gdGhl IHNhbWUgQ0VBIGJsb2NrLgoKU2lnbmVkLW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50 ZWwuY29tPgotLS0KIGxpYi9pZ3RfZWRpZC5jIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGxpYi9pZ3RfZWRpZC5oIHwgMjMgKysrKysrKysr KysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2VkaWQuYyBiL2xpYi9pZ3RfZWRpZC5jCmluZGV4IGQw MWRlZmIwLi5mYmRiMGMwNiAxMDA2NDQKLS0tIGEvbGliL2lndF9lZGlkLmMKKysrIGIvbGliL2ln dF9lZGlkLmMKQEAgLTI5MiwzMCArMjkyLDcyIEBAIHZvaWQgY2VhX3NhZF9pbml0X3BjbShzdHJ1 Y3QgY2VhX3NhZCAqc2FkLCBpbnQgY2hhbm5lbHMsCiB9CiAKIC8qKgotICogZWRpZF9leHRfc2V0 X2NlYV9zYWQ6IHNldCBhbiBleHRlbnNpb24gYmxvY2sgdG8gYmUgQ0VBIFNBRAorICogY2VhX3Zz ZF9nZXRfaGRtaV9kZWZhdWx0OgorICoKKyAqIFJldHVybnMgdGhlIGRlZmF1bHQgVmVuZG9yIFNw ZWNpZmljIERhdGEgYmxvY2sgZm9yIEhETUkuCiAgKi8KLXZvaWQgZWRpZF9leHRfc2V0X2NlYV9z YWQoc3RydWN0IGVkaWRfZXh0ICpleHQsIGNvbnN0IHN0cnVjdCBjZWFfc2FkICpzYWRzLAotCQkJ ICBzaXplX3Qgc2Fkc19sZW4pCitjb25zdCBzdHJ1Y3QgY2VhX3ZzZCAqY2VhX3ZzZF9nZXRfaGRt aV9kZWZhdWx0KHNpemVfdCAqc2l6ZSkKIHsKLQlzdHJ1Y3QgZWRpZF9jZWEgKmNlYSA9ICZleHQt PmRhdGEuY2VhOwotCXN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICpkYXRhX2Jsb2NrOwotCXNp emVfdCBzYWRzX3NpemUsIGRhdGFfYmxvY2tfc2l6ZTsKKwlzdGF0aWMgY2hhciByYXdbc2l6ZW9m KHN0cnVjdCBjZWFfdnNkKSArIDRdID0gezB9OworCXN0cnVjdCBjZWFfdnNkICp2c2Q7CisKKwkq c2l6ZSA9IHNpemVvZihyYXcpOworCisJLyogTWFnaWMgaW5jYW50YXRpb24uIFdvcmtzIGJldHRl ciBpZiB5b3Ugb3JpZW50IHlvdXIgc2NyZWVuIGluIHRoZQorCSAqIGRpcmVjdGlvbiBvZiB0aGUg VkVTQSBoZWFkcXVhcnRlcnMuICovCisJdnNkID0gKHN0cnVjdCBjZWFfdnNkICopIHJhdzsKKwl2 c2QtPmllZWVfb3VpWzBdID0gMHgwMzsKKwl2c2QtPmllZWVfb3VpWzFdID0gMHgwQzsKKwl2c2Qt PmllZWVfb3VpWzJdID0gMHgwMDsKKwl2c2QtPmRhdGFbMF0gPSAweDEwOworCXZzZC0+ZGF0YVsx XSA9IDB4MDA7CisJdnNkLT5kYXRhWzJdID0gMHgzODsKKwl2c2QtPmRhdGFbM10gPSAweDJEOwor CisJcmV0dXJuIHZzZDsKK30KKworc3RhdGljIHZvaWQgZWRpZF9jZWFfZGF0YV9ibG9ja19pbml0 KHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICpibG9jaywKKwkJCQkgICAgIGVudW0gZWRpZF9j ZWFfZGF0YV90eXBlIHR5cGUsIHNpemVfdCBzaXplKQoreworCWFzc2VydChzaXplIDw9IDB4RkYp OworCWJsb2NrLT50eXBlX2xlbiA9IHR5cGUgPDwgNSB8IHNpemU7Cit9CiAKLQltZW1zZXQoZXh0 LCAwLCBzaXplb2Yoc3RydWN0IGVkaWRfZXh0KSk7CitzaXplX3QgZWRpZF9jZWFfZGF0YV9ibG9j a19zZXRfc2FkKHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICpibG9jaywKKwkJCQkgICBjb25z dCBzdHJ1Y3QgY2VhX3NhZCAqc2Fkcywgc2l6ZV90IHNhZHNfbGVuKQoreworCXNpemVfdCBzYWRz X3NpemU7CiAKIAlzYWRzX3NpemUgPSBzaXplb2Yoc3RydWN0IGNlYV9zYWQpICogc2Fkc19sZW47 Ci0JZGF0YV9ibG9ja19zaXplID0gc2l6ZW9mKHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrKSAr IHNhZHNfc2l6ZTsKKwllZGlkX2NlYV9kYXRhX2Jsb2NrX2luaXQoYmxvY2ssIEVESURfQ0VBX0RB VEFfQVVESU8sIHNhZHNfc2l6ZSk7CisKKwltZW1jcHkoYmxvY2stPmRhdGEuc2Fkcywgc2Fkcywg c2Fkc19zaXplKTsKKworCXJldHVybiBzaXplb2Yoc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxvY2sp ICsgc2Fkc19zaXplOworfQorCitzaXplX3QgZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfdnNkKHN0 cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICpibG9jaywKKwkJCQkgICBjb25zdCBzdHJ1Y3QgY2Vh X3ZzZCAqdnNkLCBzaXplX3QgdnNkX3NpemUpCit7CisJZWRpZF9jZWFfZGF0YV9ibG9ja19pbml0 KGJsb2NrLCBFRElEX0NFQV9EQVRBX1ZFTkRPUl9TUEVDSUZJQywKKwkJCQkgdnNkX3NpemUpOwor CisJbWVtY3B5KGJsb2NrLT5kYXRhLnZzZHMsIHZzZCwgdnNkX3NpemUpOworCisJcmV0dXJuIHNp emVvZihzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jaykgKyB2c2Rfc2l6ZTsKK30KKwordm9pZCBl ZGlkX2V4dF9zZXRfY2VhKHN0cnVjdCBlZGlkX2V4dCAqZXh0LCBzaXplX3QgZGF0YV9ibG9ja3Nf c2l6ZSwKKwkJICAgICAgdWludDhfdCBmbGFncykKK3sKKwlzdHJ1Y3QgZWRpZF9jZWEgKmNlYSA9 ICZleHQtPmRhdGEuY2VhOwogCiAJZXh0LT50YWcgPSBFRElEX0VYVF9DRUE7CiAKIAljZWEtPnJl dmlzaW9uID0gMzsKLQljZWEtPmR0ZF9zdGFydCA9IDQgKyBkYXRhX2Jsb2NrX3NpemU7Ci0JY2Vh LT5taXNjID0gMSA8PCA2OyAvKiBiYXNpYyBhdWRpbywgbm8gRFREICovCi0KLQlhc3NlcnQoc2Fk c19zaXplIDw9IDB4RkYpOwotCWRhdGFfYmxvY2sgPSAoc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxv Y2sgKikgY2VhLT5kYXRhOwotCWRhdGFfYmxvY2stPnR5cGVfbGVuID0gRURJRF9DRUFfREFUQV9B VURJTyA8PCA1IHwgc2Fkc19zaXplOwotCW1lbWNweShkYXRhX2Jsb2NrLT5kYXRhLnNhZHMsIHNh ZHMsIHNhZHNfc2l6ZSk7CisJY2VhLT5kdGRfc3RhcnQgPSA0ICsgZGF0YV9ibG9ja3Nfc2l6ZTsK KwljZWEtPm1pc2MgPSBmbGFnczsgLyoganVzdCBmbGFncywgbm8gRFREICovCiB9CiAKIHZvaWQg ZWRpZF9leHRfdXBkYXRlX2NlYV9jaGVja3N1bShzdHJ1Y3QgZWRpZF9leHQgKmV4dCkKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfZWRpZC5oIGIvbGliL2lndF9lZGlkLmgKaW5kZXggODYwZWQ5MjkuLjc5 MGQxOTg0IDEwMDY0NAotLS0gYS9saWIvaWd0X2VkaWQuaAorKysgYi9saWIvaWd0X2VkaWQuaApA QCAtMTg5LDYgKzE4OSwxMiBAQCBzdHJ1Y3QgY2VhX3NhZCB7CiAJdWludDhfdCBiaXRyYXRlOwog fSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAorLyogVmVuZG9yIFNwZWNpZmljIERhdGEgKi8K K3N0cnVjdCBjZWFfdnNkIHsKKwl1aW50OF90IGllZWVfb3VpWzNdOworCWNoYXIgZGF0YVtdOwor fTsKKwogZW51bSBlZGlkX2NlYV9kYXRhX3R5cGUgewogCUVESURfQ0VBX0RBVEFfQVVESU8gPSAx LAogCUVESURfQ0VBX0RBVEFfVklERU8gPSAyLApAQCAtMjAwLDkgKzIwNiwxNyBAQCBzdHJ1Y3Qg ZWRpZF9jZWFfZGF0YV9ibG9jayB7CiAJdWludDhfdCB0eXBlX2xlbjsgLyogdHlwZSBpcyBmcm9t IGVudW0gZWRpZF9jZWFfZGF0YV90eXBlICovCiAJdW5pb24gewogCQlzdHJ1Y3QgY2VhX3NhZCBz YWRzWzBdOworCQlzdHJ1Y3QgY2VhX3ZzZCB2c2RzWzBdOwogCX0gZGF0YTsKIH0gX19hdHRyaWJ1 dGVfXygocGFja2VkKSk7CiAKK2VudW0gZWRpZF9jZWFfZmxhZyB7CisJRURJRF9DRUFfWUNCQ1I0 MjIgPSAxIDw8IDQsCisJRURJRF9DRUFfWUNCQ1I0NDQgPSAxIDw8IDUsCisJRURJRF9DRUFfQkFT SUNfQVVESU8gPSAxIDw8IDYsCisJRURJRF9DRUFfVU5ERVJTQ0FOID0gMSA8PCA3LAorfTsKKwog c3RydWN0IGVkaWRfY2VhIHsKIAl1aW50OF90IHJldmlzaW9uOwogCXVpbnQ4X3QgZHRkX3N0YXJ0 OwpAQCAtMjc1LDggKzI4OSwxMyBAQCB2b2lkIGRldGFpbGVkX3RpbWluZ19zZXRfc3RyaW5nKHN0 cnVjdCBkZXRhaWxlZF90aW1pbmcgKmR0LAogCiB2b2lkIGNlYV9zYWRfaW5pdF9wY20oc3RydWN0 IGNlYV9zYWQgKnNhZCwgaW50IGNoYW5uZWxzLAogCQkgICAgICB1aW50OF90IHNhbXBsaW5nX3Jh dGVzLCB1aW50OF90IHNhbXBsZV9zaXplcyk7Ci12b2lkIGVkaWRfZXh0X3NldF9jZWFfc2FkKHN0 cnVjdCBlZGlkX2V4dCAqZXh0LCBjb25zdCBzdHJ1Y3QgY2VhX3NhZCAqc2FkcywKLQkJCSAgc2l6 ZV90IHNhZHNfbGVuKTsKIHZvaWQgZWRpZF9leHRfdXBkYXRlX2NlYV9jaGVja3N1bShzdHJ1Y3Qg ZWRpZF9leHQgKmV4dCk7Citjb25zdCBzdHJ1Y3QgY2VhX3ZzZCAqY2VhX3ZzZF9nZXRfaGRtaV9k ZWZhdWx0KHNpemVfdCAqc2l6ZSk7CitzaXplX3QgZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfc2Fk KHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICpibG9jaywKKwkJCQkgICBjb25zdCBzdHJ1Y3Qg Y2VhX3NhZCAqc2Fkcywgc2l6ZV90IHNhZHNfbGVuKTsKK3NpemVfdCBlZGlkX2NlYV9kYXRhX2Js b2NrX3NldF92c2Qoc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxvY2sgKmJsb2NrLAorCQkJCSAgIGNv bnN0IHN0cnVjdCBjZWFfdnNkICp2c2QsIHNpemVfdCB2c2Rfc2l6ZSk7Cit2b2lkIGVkaWRfZXh0 X3NldF9jZWEoc3RydWN0IGVkaWRfZXh0ICpleHQsIHNpemVfdCBkYXRhX2Jsb2Nrc19zaXplLAor CQkgICAgICB1aW50OF90IGZsYWdzKTsKIAogI2VuZGlmCi0tIAoyLjIxLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==