From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB4F6897DC for ; Tue, 4 Jun 2019 12:19:20 +0000 (UTC) From: Simon Ser Date: Tue, 4 Jun 2019 15:19:23 +0300 Message-Id: <20190604121923.9298-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] lib/igt_kms: generate an EDID suitable for DP audio 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@intel.com List-ID: UHJpb3IgdG8gdGhpcyBjb21taXQsIHdlIHdlcmUgdXNpbmcgdGhlIENoYW1lbGl1bSdzIGRlZmF1 bHQgRURJRCBmb3IgRFAgYXVkaW8uClRoaXMgcmVsaWVzIG9uIHRoZSBmYWN0IHRoYXQgdGhpcyBF RElEIHN1cHBvcnRzIGF1ZGlvIGFuZCBoYXMgY29ycmVjdCBhdWRpbwpwYXJlbWV0ZXJzIGZvciBv dXIgdGVzdGluZy4KCkdlbmVyYXRpbmcgb3VyIG93biBFRElEIGlzIGxlc3MgZXJyb3ItcHJvbmUg YW5kIHdpbGwgYWxsb3cgdXMgdG8gdGVzdCBkaWZmZXJlbnQKYXVkaW8gcGFyYW1ldGVycy4KClNp Z25lZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24uc2VyQGludGVsLmNvbT4KLS0tCiBsaWIvaWd0 X2ttcy5jICAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tCiBsaWIvaWd0X2ttcy5oICAgICAgICAgfCAgMiArKwogdGVzdHMva21zX2NoYW1lbGl1 bS5jIHwgIDcgKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAxMCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwpp bmRleCBkN2Q3MTFhNzJkMjcuLjU1YzQ4YTM3NzZmMiAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMu YworKysgYi9saWIvaWd0X2ttcy5jCkBAIC0xODMsOSArMTgzLDkgQEAgY29uc3QgdW5zaWduZWQg Y2hhciAqaWd0X2ttc19nZXRfYWx0X2VkaWQodm9pZCkKIH0KCiBzdGF0aWMgdm9pZAotZ2VuZXJh dGVfaGRtaV9hdWRpb19lZGlkKHVuc2lnbmVkIGNoYXIgcmF3X2VkaWRbc3RhdGljIEhETUlfQVVE SU9fRURJRF9MRU5HVEhdLAotCQkJIHN0cnVjdCBjZWFfc2FkICpzYWQsCi0JCQkgc3RydWN0IGNl YV9zcGVha2VyX2FsbG9jICpzcGVha2VyX2FsbG9jKQorZ2VuZXJhdGVfYXVkaW9fZWRpZCh1bnNp Z25lZCBjaGFyIHJhd19lZGlkW3N0YXRpYyBIRE1JX0FVRElPX0VESURfTEVOR1RIXSwKKwkJICAg IGJvb2wgd2l0aF92c2QsIHN0cnVjdCBjZWFfc2FkICpzYWQsCisJCSAgICBzdHJ1Y3QgY2VhX3Nw ZWFrZXJfYWxsb2MgKnNwZWFrZXJfYWxsb2MpCiB7CiAJc3RydWN0IGVkaWQgKmVkaWQ7CiAJc3Ry dWN0IGVkaWRfZXh0ICplZGlkX2V4dDsKQEAgLTIxMCwxMCArMjEwLDEyIEBAIGdlbmVyYXRlX2hk bWlfYXVkaW9fZWRpZCh1bnNpZ25lZCBjaGFyIHJhd19lZGlkW3N0YXRpYyBIRE1JX0FVRElPX0VE SURfTEVOR1RIXSwKIAljZWFfZGF0YV9zaXplICs9IGVkaWRfY2VhX2RhdGFfYmxvY2tfc2V0X3Nh ZChibG9jaywgc2FkLCAxKTsKCiAJLyogQSBWZW5kb3IgU3BlY2lmaWMgRGF0YSBibG9jayBpcyBu ZWVkZWQgZm9yIEhETUkgYXVkaW8gKi8KLQlibG9jayA9IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9i bG9jayAqKSAmY2VhX2RhdGFbY2VhX2RhdGFfc2l6ZV07Ci0JdnNkID0gY2VhX3ZzZF9nZXRfaGRt aV9kZWZhdWx0KCZ2c2Rfc2l6ZSk7Ci0JY2VhX2RhdGFfc2l6ZSArPSBlZGlkX2NlYV9kYXRhX2Js b2NrX3NldF92c2QoYmxvY2ssIHZzZCwKLQkJCQkJCSAgICAgdnNkX3NpemUpOworCWlmICh3aXRo X3ZzZCkgeworCQlibG9jayA9IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jayAqKSAmY2VhX2Rh dGFbY2VhX2RhdGFfc2l6ZV07CisJCXZzZCA9IGNlYV92c2RfZ2V0X2hkbWlfZGVmYXVsdCgmdnNk X3NpemUpOworCQljZWFfZGF0YV9zaXplICs9IGVkaWRfY2VhX2RhdGFfYmxvY2tfc2V0X3ZzZChi bG9jaywgdnNkLAorCQkJCQkJCSAgICAgdnNkX3NpemUpOworCX0KCiAJLyogU3BlYWtlciBBbGxv Y2F0aW9uIERhdGEgYmxvY2sgKi8KIAlibG9jayA9IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9j ayAqKSAmY2VhX2RhdGFbY2VhX2RhdGFfc2l6ZV07CkBAIC0yNTAsNyArMjUyLDMzIEBAIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2hkbWlfYXVkaW9fZWRpZCh2b2lkKQogCS8qIElu aXRpYWxpemUgdGhlIFNwZWFrZXIgQWxsb2NhdGlvbiBEYXRhICovCiAJc3BlYWtlcl9hbGxvYy5z cGVha2VycyA9IENFQV9TUEVBS0VSX0ZST05UX0xFRlRfUklHSFRfQ0VOVEVSOwoKLQlnZW5lcmF0 ZV9oZG1pX2F1ZGlvX2VkaWQocmF3X2VkaWQsICZzYWQsICZzcGVha2VyX2FsbG9jKTsKKwlnZW5l cmF0ZV9hdWRpb19lZGlkKHJhd19lZGlkLCB0cnVlLCAmc2FkLCAmc3BlYWtlcl9hbGxvYyk7CisK KwlyZXR1cm4gcmF3X2VkaWQ7Cit9CisKK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0 X2RwX2F1ZGlvX2VkaWQodm9pZCkKK3sKKwlpbnQgY2hhbm5lbHM7CisJdWludDhfdCBzYW1wbGlu Z19yYXRlcywgc2FtcGxlX3NpemVzOworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIHJhd19lZGlkW0RQ X0FVRElPX0VESURfTEVOR1RIXSA9IHswfTsKKwlzdHJ1Y3QgY2VhX3NhZCBzYWQgPSB7MH07CisJ c3RydWN0IGNlYV9zcGVha2VyX2FsbG9jIHNwZWFrZXJfYWxsb2MgPSB7MH07CisKKwkvKiBJbml0 aWFsaXplIHRoZSBTaG9ydCBBdWRpbyBEZXNjcmlwdG9yIGZvciBQQ00gKi8KKwljaGFubmVscyA9 IDI7CisJc2FtcGxpbmdfcmF0ZXMgPSBDRUFfU0FEX1NBTVBMSU5HX1JBVEVfMzJLSFogfAorCQkJ IENFQV9TQURfU0FNUExJTkdfUkFURV80NEtIWiB8CisJCQkgQ0VBX1NBRF9TQU1QTElOR19SQVRF XzQ4S0haOworCXNhbXBsZV9zaXplcyA9IENFQV9TQURfU0FNUExFX1NJWkVfMTYgfAorCQkgICAg ICAgQ0VBX1NBRF9TQU1QTEVfU0laRV8yMCB8CisJCSAgICAgICBDRUFfU0FEX1NBTVBMRV9TSVpF XzI0OworCWNlYV9zYWRfaW5pdF9wY20oJnNhZCwgY2hhbm5lbHMsIHNhbXBsaW5nX3JhdGVzLCBz YW1wbGVfc2l6ZXMpOworCisJLyogSW5pdGlhbGl6ZSB0aGUgU3BlYWtlciBBbGxvY2F0aW9uIERh dGEgKi8KKwlzcGVha2VyX2FsbG9jLnNwZWFrZXJzID0gQ0VBX1NQRUFLRVJfRlJPTlRfTEVGVF9S SUdIVF9DRU5URVI7CisKKwlnZW5lcmF0ZV9hdWRpb19lZGlkKHJhd19lZGlkLCBmYWxzZSwgJnNh ZCwgJnNwZWFrZXJfYWxsb2MpOwoKIAlyZXR1cm4gcmF3X2VkaWQ7CiB9CmRpZmYgLS1naXQgYS9s aWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCA0YWMyODEzMWI2ZDkuLjEyNWQ3NDNm ZTdmNSAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC03 NTgsOSArNzU4LDExIEBAIHN0cnVjdCBjZWFfc3BlYWtlcl9hbGxvYzsKCiAjZGVmaW5lIEVESURf TEVOR1RIIDEyOAogI2RlZmluZSBIRE1JX0FVRElPX0VESURfTEVOR1RIICgyICogRURJRF9MRU5H VEgpCisjZGVmaW5lIERQX0FVRElPX0VESURfTEVOR1RIICgyICogRURJRF9MRU5HVEgpCiBjb25z dCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9iYXNlX2VkaWQodm9pZCk7CiBjb25zdCB1bnNp Z25lZCBjaGFyICppZ3Rfa21zX2dldF9hbHRfZWRpZCh2b2lkKTsKIGNvbnN0IHVuc2lnbmVkIGNo YXIgKmlndF9rbXNfZ2V0X2hkbWlfYXVkaW9fZWRpZCh2b2lkKTsKK2NvbnN0IHVuc2lnbmVkIGNo YXIgKmlndF9rbXNfZ2V0X2RwX2F1ZGlvX2VkaWQodm9pZCk7Cgogc3RydWN0IHVkZXZfbW9uaXRv ciAqaWd0X3dhdGNoX2hvdHBsdWcodm9pZCk7CiBib29sIGlndF9ob3RwbHVnX2RldGVjdGVkKHN0 cnVjdCB1ZGV2X21vbml0b3IgKm1vbiwKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jaGFtZWxpdW0u YyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwppbmRleCA1MmUzZjA5NTM2MjEuLjE4ZmEzYmU2MDYx NyAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NoYW1lbGl1bS5jCisrKyBiL3Rlc3RzL2ttc19jaGFt ZWxpdW0uYwpAQCAtMzksNiArMzksNyBAQCBlbnVtIHRlc3RfZWRpZCB7CiAJVEVTVF9FRElEX0JB U0UsCiAJVEVTVF9FRElEX0FMVCwKIAlURVNUX0VESURfSERNSV9BVURJTywKKwlURVNUX0VESURf RFBfQVVESU8sCiB9OwoKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTQ5LDcgKzUwLDcgQEAgdHlwZWRl ZiBzdHJ1Y3QgewoKIAlpbnQgZHJtX2ZkOwoKLQlpbnQgZWRpZHNbNF07CisJaW50IGVkaWRzWzVd OwogfSBkYXRhX3Q7CgogI2RlZmluZSBIT1RQTFVHX1RJTUVPVVQgMjAgLyogc2Vjb25kcyAqLwpA QCAtMTk5Nyw2ICsxOTk4LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmdldF9lZGlk KGVudW0gdGVzdF9lZGlkIGVkaWQpCiAJCXJldHVybiBpZ3Rfa21zX2dldF9hbHRfZWRpZCgpOwog CWNhc2UgVEVTVF9FRElEX0hETUlfQVVESU86CiAJCXJldHVybiBpZ3Rfa21zX2dldF9oZG1pX2F1 ZGlvX2VkaWQoKTsKKwljYXNlIFRFU1RfRURJRF9EUF9BVURJTzoKKwkJcmV0dXJuIGlndF9rbXNf Z2V0X2RwX2F1ZGlvX2VkaWQoKTsKIAl9CiAJYXNzZXJ0KDApOyAvKiB1bnJlYWNoYWJsZSAqLwog fQpAQCAtMjExMyw3ICsyMTE2LDcgQEAgaWd0X21haW4KIAkJICogVXNlIHRoZSBDaGFtZWxpdW0n cyBkZWZhdWx0IEVESUQgZm9yIERQIGF1ZGlvLiAqLwogCQljb25uZWN0b3Jfc3VidGVzdCgiZHAt YXVkaW8iLCBEaXNwbGF5UG9ydCkKIAkJCXRlc3RfZGlzcGxheV9hdWRpbygmZGF0YSwgcG9ydCwg IkhETUkiLAotCQkJCQkgICBURVNUX0VESURfQ0hBTUVMSVVNX0RFRkFVTFQpOworCQkJCQkgICBU RVNUX0VESURfRFBfQVVESU8pOwogCX0KCiAJaWd0X3N1YnRlc3RfZ3JvdXAgewotLQoyLjIxLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYg bWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==