From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 66E05891D1 for ; Thu, 6 Jun 2019 11:48:51 +0000 (UTC) From: Simon Ser Date: Thu, 6 Jun 2019 14:48:50 +0300 Message-Id: <20190606114852.24053-2-simon.ser@intel.com> In-Reply-To: <20190606114852.24053-1-simon.ser@intel.com> References: <20190606114852.24053-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/3] 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 YW5kIHdpbGwgYWxsb3cgdXMgdG8gdGVzdCBkaWZmZXJlbnQKYXVkaW8gcGFyYW1ldGVycy4KCnYy OgotIFJlcGxhY2Uge0hETUksRFB9X0FVRElPX0VESURfTEVOR1RIIHdpdGggQVVESU9fRURJRF9M RU5HVEggKEFyZWspCi0gRG9uJ3QgaGFyZGNvZGUgRURJRHMgYXJyYXkgbGVuZ3RoIChBcmVrKQoK U2lnbmVkLW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29tPgotLS0KIGxpYi9p Z3Rfa21zLmMgICAgICAgICAgIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0KIGxpYi9pZ3Rfa21zLmggICAgICAgICAgIHwgIDMgKystCiB0ZXN0cy9rbXNfY2hh bWVsaXVtLmMgICB8IDEwICsrKysrKy0tLQogdGVzdHMva21zX2hkbWlfaW5qZWN0LmMgfCAgMiAr LQogNCBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwppbmRleCBkN2Q3MTFhNzJk MjcuLjAxMWIwNjQ1NzlhOCAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuYworKysgYi9saWIvaWd0 X2ttcy5jCkBAIC0xODMsOSArMTgzLDkgQEAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19n ZXRfYWx0X2VkaWQodm9pZCkKIH0KIAogc3RhdGljIHZvaWQKLWdlbmVyYXRlX2hkbWlfYXVkaW9f ZWRpZCh1bnNpZ25lZCBjaGFyIHJhd19lZGlkW3N0YXRpYyBIRE1JX0FVRElPX0VESURfTEVOR1RI XSwKLQkJCSBzdHJ1Y3QgY2VhX3NhZCAqc2FkLAotCQkJIHN0cnVjdCBjZWFfc3BlYWtlcl9hbGxv YyAqc3BlYWtlcl9hbGxvYykKK2dlbmVyYXRlX2F1ZGlvX2VkaWQodW5zaWduZWQgY2hhciByYXdf ZWRpZFtzdGF0aWMgQVVESU9fRURJRF9MRU5HVEhdLAorCQkgICAgYm9vbCB3aXRoX3ZzZCwgc3Ry dWN0IGNlYV9zYWQgKnNhZCwKKwkJICAgIHN0cnVjdCBjZWFfc3BlYWtlcl9hbGxvYyAqc3BlYWtl cl9hbGxvYykKIHsKIAlzdHJ1Y3QgZWRpZCAqZWRpZDsKIAlzdHJ1Y3QgZWRpZF9leHQgKmVkaWRf ZXh0OwpAQCAtMjEwLDEwICsyMTAsMTIgQEAgZ2VuZXJhdGVfaGRtaV9hdWRpb19lZGlkKHVuc2ln bmVkIGNoYXIgcmF3X2VkaWRbc3RhdGljIEhETUlfQVVESU9fRURJRF9MRU5HVEhdLAogCWNlYV9k YXRhX3NpemUgKz0gZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfc2FkKGJsb2NrLCBzYWQsIDEpOwog CiAJLyogQSBWZW5kb3IgU3BlY2lmaWMgRGF0YSBibG9jayBpcyBuZWVkZWQgZm9yIEhETUkgYXVk aW8gKi8KLQlibG9jayA9IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jayAqKSAmY2VhX2RhdGFb Y2VhX2RhdGFfc2l6ZV07Ci0JdnNkID0gY2VhX3ZzZF9nZXRfaGRtaV9kZWZhdWx0KCZ2c2Rfc2l6 ZSk7Ci0JY2VhX2RhdGFfc2l6ZSArPSBlZGlkX2NlYV9kYXRhX2Jsb2NrX3NldF92c2QoYmxvY2ss IHZzZCwKLQkJCQkJCSAgICAgdnNkX3NpemUpOworCWlmICh3aXRoX3ZzZCkgeworCQlibG9jayA9 IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jayAqKSAmY2VhX2RhdGFbY2VhX2RhdGFfc2l6ZV07 CisJCXZzZCA9IGNlYV92c2RfZ2V0X2hkbWlfZGVmYXVsdCgmdnNkX3NpemUpOworCQljZWFfZGF0 YV9zaXplICs9IGVkaWRfY2VhX2RhdGFfYmxvY2tfc2V0X3ZzZChibG9jaywgdnNkLAorCQkJCQkJ CSAgICAgdnNkX3NpemUpOworCX0KIAogCS8qIFNwZWFrZXIgQWxsb2NhdGlvbiBEYXRhIGJsb2Nr ICovCiAJYmxvY2sgPSAoc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxvY2sgKikgJmNlYV9kYXRhW2Nl YV9kYXRhX3NpemVdOwpAQCAtMjMzLDcgKzIzNSwzMyBAQCBjb25zdCB1bnNpZ25lZCBjaGFyICpp Z3Rfa21zX2dldF9oZG1pX2F1ZGlvX2VkaWQodm9pZCkKIHsKIAlpbnQgY2hhbm5lbHM7CiAJdWlu dDhfdCBzYW1wbGluZ19yYXRlcywgc2FtcGxlX3NpemVzOwotCXN0YXRpYyB1bnNpZ25lZCBjaGFy IHJhd19lZGlkW0hETUlfQVVESU9fRURJRF9MRU5HVEhdID0gezB9OworCXN0YXRpYyB1bnNpZ25l ZCBjaGFyIHJhd19lZGlkW0FVRElPX0VESURfTEVOR1RIXSA9IHswfTsKKwlzdHJ1Y3QgY2VhX3Nh ZCBzYWQgPSB7MH07CisJc3RydWN0IGNlYV9zcGVha2VyX2FsbG9jIHNwZWFrZXJfYWxsb2MgPSB7 MH07CisKKwkvKiBJbml0aWFsaXplIHRoZSBTaG9ydCBBdWRpbyBEZXNjcmlwdG9yIGZvciBQQ00g Ki8KKwljaGFubmVscyA9IDI7CisJc2FtcGxpbmdfcmF0ZXMgPSBDRUFfU0FEX1NBTVBMSU5HX1JB VEVfMzJLSFogfAorCQkJIENFQV9TQURfU0FNUExJTkdfUkFURV80NEtIWiB8CisJCQkgQ0VBX1NB RF9TQU1QTElOR19SQVRFXzQ4S0haOworCXNhbXBsZV9zaXplcyA9IENFQV9TQURfU0FNUExFX1NJ WkVfMTYgfAorCQkgICAgICAgQ0VBX1NBRF9TQU1QTEVfU0laRV8yMCB8CisJCSAgICAgICBDRUFf U0FEX1NBTVBMRV9TSVpFXzI0OworCWNlYV9zYWRfaW5pdF9wY20oJnNhZCwgY2hhbm5lbHMsIHNh bXBsaW5nX3JhdGVzLCBzYW1wbGVfc2l6ZXMpOworCisJLyogSW5pdGlhbGl6ZSB0aGUgU3BlYWtl ciBBbGxvY2F0aW9uIERhdGEgKi8KKwlzcGVha2VyX2FsbG9jLnNwZWFrZXJzID0gQ0VBX1NQRUFL RVJfRlJPTlRfTEVGVF9SSUdIVF9DRU5URVI7CisKKwlnZW5lcmF0ZV9hdWRpb19lZGlkKHJhd19l ZGlkLCB0cnVlLCAmc2FkLCAmc3BlYWtlcl9hbGxvYyk7CisKKwlyZXR1cm4gcmF3X2VkaWQ7Cit9 CisKK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2RwX2F1ZGlvX2VkaWQodm9pZCkK K3sKKwlpbnQgY2hhbm5lbHM7CisJdWludDhfdCBzYW1wbGluZ19yYXRlcywgc2FtcGxlX3NpemVz OworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIHJhd19lZGlkW0FVRElPX0VESURfTEVOR1RIXSA9IHsw fTsKIAlzdHJ1Y3QgY2VhX3NhZCBzYWQgPSB7MH07CiAJc3RydWN0IGNlYV9zcGVha2VyX2FsbG9j IHNwZWFrZXJfYWxsb2MgPSB7MH07CiAKQEAgLTI1MCw3ICsyNzgsNyBAQCBjb25zdCB1bnNpZ25l ZCBjaGFyICppZ3Rfa21zX2dldF9oZG1pX2F1ZGlvX2VkaWQodm9pZCkKIAkvKiBJbml0aWFsaXpl IHRoZSBTcGVha2VyIEFsbG9jYXRpb24gRGF0YSAqLwogCXNwZWFrZXJfYWxsb2Muc3BlYWtlcnMg PSBDRUFfU1BFQUtFUl9GUk9OVF9MRUZUX1JJR0hUX0NFTlRFUjsKIAotCWdlbmVyYXRlX2hkbWlf YXVkaW9fZWRpZChyYXdfZWRpZCwgJnNhZCwgJnNwZWFrZXJfYWxsb2MpOworCWdlbmVyYXRlX2F1 ZGlvX2VkaWQocmF3X2VkaWQsIGZhbHNlLCAmc2FkLCAmc3BlYWtlcl9hbGxvYyk7CiAKIAlyZXR1 cm4gcmF3X2VkaWQ7CiB9CmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMu aAppbmRleCA0YWMyODEzMWI2ZDkuLjVkZjlmMThjMGJkMSAxMDA2NDQKLS0tIGEvbGliL2lndF9r bXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC03NTcsMTAgKzc1NywxMSBAQCBzdHJ1Y3QgY2Vh X3NhZDsKIHN0cnVjdCBjZWFfc3BlYWtlcl9hbGxvYzsKIAogI2RlZmluZSBFRElEX0xFTkdUSCAx MjgKLSNkZWZpbmUgSERNSV9BVURJT19FRElEX0xFTkdUSCAoMiAqIEVESURfTEVOR1RIKQorI2Rl ZmluZSBBVURJT19FRElEX0xFTkdUSCAoMiAqIEVESURfTEVOR1RIKQogY29uc3QgdW5zaWduZWQg Y2hhciAqaWd0X2ttc19nZXRfYmFzZV9lZGlkKHZvaWQpOwogY29uc3QgdW5zaWduZWQgY2hhciAq aWd0X2ttc19nZXRfYWx0X2VkaWQodm9pZCk7CiBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21z X2dldF9oZG1pX2F1ZGlvX2VkaWQodm9pZCk7Citjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21z X2dldF9kcF9hdWRpb19lZGlkKHZvaWQpOwogCiBzdHJ1Y3QgdWRldl9tb25pdG9yICppZ3Rfd2F0 Y2hfaG90cGx1Zyh2b2lkKTsKIGJvb2wgaWd0X2hvdHBsdWdfZGV0ZWN0ZWQoc3RydWN0IHVkZXZf bW9uaXRvciAqbW9uLApkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NoYW1lbGl1bS5jIGIvdGVzdHMv a21zX2NoYW1lbGl1bS5jCmluZGV4IDUyZTNmMDk1MzYyMS4uM2JlZWEwYzYyM2JkIDEwMDY0NAot LS0gYS90ZXN0cy9rbXNfY2hhbWVsaXVtLmMKKysrIGIvdGVzdHMva21zX2NoYW1lbGl1bS5jCkBA IC0zOSw3ICszOSw5IEBAIGVudW0gdGVzdF9lZGlkIHsKIAlURVNUX0VESURfQkFTRSwKIAlURVNU X0VESURfQUxULAogCVRFU1RfRURJRF9IRE1JX0FVRElPLAorCVRFU1RfRURJRF9EUF9BVURJTywK IH07CisjZGVmaW5lIFRFU1RfRURJRF9DT1VOVCA1CiAKIHR5cGVkZWYgc3RydWN0IHsKIAlzdHJ1 Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW07CkBAIC00OSw3ICs1MSw3IEBAIHR5cGVkZWYgc3RydWN0 IHsKIAogCWludCBkcm1fZmQ7CiAKLQlpbnQgZWRpZHNbNF07CisJaW50IGVkaWRzW1RFU1RfRURJ RF9DT1VOVF07CiB9IGRhdGFfdDsKIAogI2RlZmluZSBIT1RQTFVHX1RJTUVPVVQgMjAgLyogc2Vj b25kcyAqLwpAQCAtMTk5Nyw2ICsxOTk5LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg KmdldF9lZGlkKGVudW0gdGVzdF9lZGlkIGVkaWQpCiAJCXJldHVybiBpZ3Rfa21zX2dldF9hbHRf ZWRpZCgpOwogCWNhc2UgVEVTVF9FRElEX0hETUlfQVVESU86CiAJCXJldHVybiBpZ3Rfa21zX2dl dF9oZG1pX2F1ZGlvX2VkaWQoKTsKKwljYXNlIFRFU1RfRURJRF9EUF9BVURJTzoKKwkJcmV0dXJu IGlndF9rbXNfZ2V0X2RwX2F1ZGlvX2VkaWQoKTsKIAl9CiAJYXNzZXJ0KDApOyAvKiB1bnJlYWNo YWJsZSAqLwogfQpAQCAtMjAzMSw3ICsyMDM1LDcgQEAgaWd0X21haW4KIAkJCQkJCSAmZGF0YS5w b3J0X2NvdW50KTsKIAogCQlkYXRhLmVkaWRzW1RFU1RfRURJRF9DSEFNRUxJVU1fREVGQVVMVF0g PSBDSEFNRUxJVU1fREVGQVVMVF9FRElEOwotCQlmb3IgKGkgPSAxOyBpIDwgc2l6ZW9mKGRhdGEu ZWRpZHMpIC8gc2l6ZW9mKGRhdGEuZWRpZHNbMF0pOyArK2kpIHsKKwkJZm9yIChpID0gMTsgaSA8 IFRFU1RfRURJRF9DT1VOVDsgKytpKSB7CiAJCQlkYXRhLmVkaWRzW2ldID0gY2hhbWVsaXVtX25l d19lZGlkKGRhdGEuY2hhbWVsaXVtLAogCQkJCQkJCSAgIGdldF9lZGlkKGkpKTsKIAkJfQpAQCAt MjExMyw3ICsyMTE3LDcgQEAgaWd0X21haW4KIAkJICogVXNlIHRoZSBDaGFtZWxpdW0ncyBkZWZh dWx0IEVESUQgZm9yIERQIGF1ZGlvLiAqLwogCQljb25uZWN0b3Jfc3VidGVzdCgiZHAtYXVkaW8i LCBEaXNwbGF5UG9ydCkKIAkJCXRlc3RfZGlzcGxheV9hdWRpbygmZGF0YSwgcG9ydCwgIkhETUki LAotCQkJCQkgICBURVNUX0VESURfQ0hBTUVMSVVNX0RFRkFVTFQpOworCQkJCQkgICBURVNUX0VE SURfRFBfQVVESU8pOwogCX0KIAogCWlndF9zdWJ0ZXN0X2dyb3VwIHsKZGlmZiAtLWdpdCBhL3Rl c3RzL2ttc19oZG1pX2luamVjdC5jIGIvdGVzdHMva21zX2hkbWlfaW5qZWN0LmMKaW5kZXggNzU0 YTc0MDdiNDQxLi44YzBkMTMzM2RiMTkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19oZG1pX2luamVj dC5jCisrKyBiL3Rlc3RzL2ttc19oZG1pX2luamVjdC5jCkBAIC0xNDksNyArMTQ5LDcgQEAgaGRt aV9pbmplY3RfYXVkaW8oaW50IGRybV9mZCwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yKQog CXN0cnVjdCBrbXN0ZXN0X2Nvbm5lY3Rvcl9jb25maWcgY29uZmlnOwogCiAJZWRpZCA9IGlndF9r bXNfZ2V0X2hkbWlfYXVkaW9fZWRpZCgpOwotCWxlbmd0aCA9IEhETUlfQVVESU9fRURJRF9MRU5H VEg7CisJbGVuZ3RoID0gQVVESU9fRURJRF9MRU5HVEg7CiAKIAlrbXN0ZXN0X2ZvcmNlX2VkaWQo ZHJtX2ZkLCBjb25uZWN0b3IsIGVkaWQsIGxlbmd0aCk7CiAKLS0gCjIuMjEuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxp c3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2