From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v10 7/8] drm/i915: Write AVI infoframes for Parade LSPCON Date: Tue, 14 Aug 2018 15:23:25 +0530 Message-ID: <1534240406-10534-8-git-send-email-shashank.sharma@intel.com> References: <1534240406-10534-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A02D6E0B4 for ; Tue, 14 Aug 2018 09:46:06 +0000 (UTC) In-Reply-To: <1534240406-10534-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RGlmZmVyZW50IExTUENPTiB2ZW5kb3JzIHNwZWNpZnkgdGhlaXIgY3VzdG9tIG1ldGhvZHMgdG8g cGFzcwpBVkkgaW5mb2ZyYW1lcyB0byB0aGUgTFNQQ09OIGNoaXAsIHNvIGRvZXMgUGFyYWRlIHRl Y2guCgpUaGlzIHBhdGNoIGFkZHMgZnVuY3Rpb25zIHRvIGFycmFuZ2UgYW5kIHdyaXRlIEFWSSBp bmZvZnJhbWVzCmludG8gUGFyYWRlIExTUENPTiBjaGlwcy4KClYyOiByZWJhc2UKVjM6IEFkZGVk IHItYiBmcm9tIE1hYXJ0ZW4KVjQ6IHJlYmFzZQpWNTogcmViYXNlClY2OiByZWJhc2UKVjc6IEZp eGVkIGNoZWNrcGF0Y2ggd2FybmluZ3MgZm9yIGFsaWdubWVudApWODogUmViYXNlClY5OiBSZWJh c2UKVjEwOiBSZWJhc2UKCkNjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+CkNjOiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogTWFhcnRl biBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyB8IDExNyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMTYgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKaW5k ZXggODBiOWFmYS4uOGUwNDc3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHNwY29uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKQEAg LTM3LDYgKzM3LDEyIEBACiAjZGVmaW5lICBMU1BDT05fTUNBX0FWSV9JRl9LSUNLT0ZGICgxIDw8 IDApCiAjZGVmaW5lICBMU1BDT05fTUNBX0FWSV9JRl9IQU5ETEVEICgxIDw8IDEpCiAKKy8qIEFV WCBhZGRyZXNzZXMgdG8gd3JpdGUgUGFyYWRlIEFWSSBJRiAqLworI2RlZmluZSBMU1BDT05fUEFS QURFX0FWSV9JRl9XUklURV9PRkZTRVQgMHg1MTYKKyNkZWZpbmUgTFNQQ09OX1BBUkFERV9BVklf SUZfQ1RSTCAweDUxRQorI2RlZmluZSAgTFNQQ09OX1BBUkFERV9BVklfSUZfS0lDS09GRiAoMSA8 PCA3KQorI2RlZmluZSBMU1BDT05fUEFSQURFX0FWSV9JRl9EQVRBX1NJWkUgMzIKKwogc3RhdGlj IHN0cnVjdCBpbnRlbF9kcCAqbHNwY29uX3RvX2ludGVsX2RwKHN0cnVjdCBpbnRlbF9sc3Bjb24g KmxzcGNvbikKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9CkBAIC0y NDAsNiArMjQ2LDExMSBAQCBzdGF0aWMgdm9pZCBsc3Bjb25fcmVzdW1lX2luX3Bjb25fd2Eoc3Ry dWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQogCURSTV9ERUJVR19LTVMoIkxTUENPTiBEUCBkZXNj cmlwdG9yIG1pc21hdGNoIGFmdGVyIHJlc3VtZVxuIik7CiB9CiAKK3N0YXRpYyBib29sIGxzcGNv bl9wYXJhZGVfZndfcmVhZHkoc3RydWN0IGRybV9kcF9hdXggKmF1eCkKK3sKKwl1OCBhdmlfaWZf Y3RybDsKKwl1OCByZXRyeTsKKwlzc2l6ZV90IHJldDsKKworCS8qIENoZWNrIGlmIExTUENPTiBG VyBpcyByZWFkeSBmb3IgZGF0YSAqLworCWZvciAocmV0cnkgPSAwOyByZXRyeSA8IDU7IHJldHJ5 KyspIHsKKwkJaWYgKHJldHJ5KQorCQkJdXNsZWVwX3JhbmdlKDIwMCwgMzAwKTsKKworCQlyZXQg PSBkcm1fZHBfZHBjZF9yZWFkKGF1eCwgTFNQQ09OX1BBUkFERV9BVklfSUZfQ1RSTCwKKwkJCQkg ICAgICAgJmF2aV9pZl9jdHJsLCAxKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCURSTV9FUlJPUigi RmFpbGVkIHRvIHJlYWQgQVZJIElGIGNvbnRyb2xcbiIpOworCQkJcmV0dXJuIGZhbHNlOworCQl9 CisKKwkJaWYgKChhdmlfaWZfY3RybCAmIExTUENPTl9QQVJBREVfQVZJX0lGX0tJQ0tPRkYpID09 IDApCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CisKKwlEUk1fRVJST1IoIlBhcmFkZSBGVyBub3QgcmVh ZHkgdG8gYWNjZXB0IEFWSSBJRlxuIik7CisJcmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgYm9v bCBfbHNwY29uX3BhcmFkZV93cml0ZV9pbmZvZnJhbWVfYmxvY2tzKHN0cnVjdCBkcm1fZHBfYXV4 ICphdXgsCisJCQkJCQkgIHVpbnQ4X3QgKmF2aV9idWYpCit7CisJdTggYXZpX2lmX2N0cmw7CisJ dTggYmxvY2tfY291bnQgPSAwOworCXU4ICpkYXRhOworCXVpbnQxNl90IHJlZzsKKwlzc2l6ZV90 IHJldDsKKworCXdoaWxlIChibG9ja19jb3VudCA8IDQpIHsKKwkJaWYgKCFsc3Bjb25fcGFyYWRl X2Z3X3JlYWR5KGF1eCkpIHsKKwkJCURSTV9ERUJVR19LTVMoIkxTUENPTiBGVyBub3QgcmVhZHks IGJsb2NrICVkXG4iLAorCQkJCSAgICAgIGJsb2NrX2NvdW50KTsKKwkJCXJldHVybiBmYWxzZTsK KwkJfQorCisJCXJlZyA9IExTUENPTl9QQVJBREVfQVZJX0lGX1dSSVRFX09GRlNFVDsKKwkJZGF0 YSA9IGF2aV9idWYgKyBibG9ja19jb3VudCAqIDg7CisJCXJldCA9IGRybV9kcF9kcGNkX3dyaXRl KGF1eCwgcmVnLCBkYXRhLCA4KTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCURSTV9FUlJPUigiRmFp bGVkIHRvIHdyaXRlIEFWSSBJRiBibG9jayAlZFxuIiwKKwkJCQkgIGJsb2NrX2NvdW50KTsKKwkJ CXJldHVybiBmYWxzZTsKKwkJfQorCisJCS8qCisJCSAqIE9uY2UgYSBibG9jayBvZiBkYXRhIGlz IHdyaXR0ZW4sIHdlIGhhdmUgdG8gaW5mb3JtIHRoZSBGVworCQkgKiBhYm91dCB0aGlzIGJ5IHdy aXRpbmcgaW50byBhdmkgaW5mb2ZyYW1lIGNvbnRyb2wgcmVnaXN0ZXI6CisJCSAqIC0gc2V0IHRo ZSBraWNrb2ZmIGJpdFs3XSB0byAxCisJCSAqIC0gd3JpdGUgdGhlIGJsb2NrIG5vLiB0byBiaXRz WzE6MF0KKwkJICovCisJCXJlZyA9IExTUENPTl9QQVJBREVfQVZJX0lGX0NUUkw7CisJCWF2aV9p Zl9jdHJsID0gTFNQQ09OX1BBUkFERV9BVklfSUZfS0lDS09GRiB8IGJsb2NrX2NvdW50OworCQly ZXQgPSBkcm1fZHBfZHBjZF93cml0ZShhdXgsIHJlZywgJmF2aV9pZl9jdHJsLCAxKTsKKwkJaWYg KHJldCA8IDApIHsKKwkJCURSTV9FUlJPUigiRmFpbGVkIHRvIHVwZGF0ZSAoMHgleCksIGJsb2Nr ICVkXG4iLAorCQkJCSAgcmVnLCBibG9ja19jb3VudCk7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0K KworCQlibG9ja19jb3VudCsrOworCX0KKworCURSTV9ERUJVR19LTVMoIldyb3RlIEFWSSBJRiBi bG9ja3Mgc3VjY2Vzc2Z1bGx5XG4iKTsKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGJvb2wg X2xzcGNvbl93cml0ZV9hdmlfaW5mb2ZyYW1lX3BhcmFkZShzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4 LAorCQkJCQkgICAgICAgY29uc3QgdWludDhfdCAqZnJhbWUsCisJCQkJCSAgICAgICBzc2l6ZV90 IGxlbikKK3sKKwl1aW50OF90IGF2aV9pZltMU1BDT05fUEFSQURFX0FWSV9JRl9EQVRBX1NJWkVd ID0gezEsIH07CisKKwkvKgorCSAqIFBhcmFkZSdzIGZyYW1lcyBjb250YWlucyAzMiBieXRlcyBv ZiBkYXRhLCBkaXZpZGVkCisJICogaW50byA0IGZyYW1lczoKKwkgKglUb2tlbiBieXRlIChmaXJz dCBieXRlIG9mIGZpcnN0IGZyYW1lLCBtdXN0IGJlIG5vbi16ZXJvKQorCSAqCUhCMCB0byBIQjIJ IGZyb20gQVZJIElGICgzIGJ5dGVzIGhlYWRlcikKKwkgKglQQjAgdG8gUEIyNyBmcm9tIEFWSSBJ RiAoMjggYnl0ZXMgZGF0YSkKKwkgKiBTbyBpdCBzaG91bGQgbG9vayBsaWtlIHRoaXMKKwkgKglm aXJzdCBibG9jazogfCA8dG9rZW4+IDxIQjAtSEIyPiA8REIwLURCMz4gfAorCSAqCW5leHQgMyBi bG9ja3M6IHw8REI0LURCMTE+fDxEQjEyLURCMTk+fDxEQjIwLURCMjg+fAorCSAqLworCisJaWYg KGxlbiA+IExTUENPTl9QQVJBREVfQVZJX0lGX0RBVEFfU0laRSAtIDEpIHsKKwkJRFJNX0VSUk9S KCJJbnZhbGlkIGxlbmd0aCBvZiBpbmZvZnJhbWVzXG4iKTsKKwkJcmV0dXJuIGZhbHNlOworCX0K KworCW1lbWNweSgmYXZpX2lmWzFdLCBmcmFtZSwgbGVuKTsKKworCWlmICghX2xzcGNvbl9wYXJh ZGVfd3JpdGVfaW5mb2ZyYW1lX2Jsb2NrcyhhdXgsIGF2aV9pZikpIHsKKwkJRFJNX0RFQlVHX0tN UygiRmFpbGVkIHRvIHdyaXRlIGluZm9mcmFtZSBibG9ja3NcbiIpOworCQlyZXR1cm4gZmFsc2U7 CisJfQorCisJcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBib29sIF9sc3Bjb25fd3JpdGVfYXZp X2luZm9mcmFtZV9tY2Eoc3RydWN0IGRybV9kcF9hdXggKmF1eCwKIAkJCQkJICAgIGNvbnN0IHVp bnQ4X3QgKmJ1ZmZlciwgc3NpemVfdCBsZW4pCiB7CkBAIC0zMDQsNyArNDE1LDcgQEAgdm9pZCBs c3Bjb25fd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg ICB1bnNpZ25lZCBpbnQgdHlwZSwKIAkJCSAgICBjb25zdCB2b2lkICpmcmFtZSwgc3NpemVfdCBs ZW4pCiB7Ci0JYm9vbCByZXQgPSB0cnVlOworCWJvb2wgcmV0OwogCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2xzcGNv biAqbHNwY29uID0gZW5jX3RvX2ludGVsX2xzcGNvbihlbmNvZGVyKTsKIApAQCAtMzE1LDYgKzQy NiwxMCBAQCB2b2lkIGxzcGNvbl93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAogCWlmIChsc3Bjb24tPnZlbmRvciA9PSBMU1BDT05fVkVORE9SX01DQSkKIAkJcmV0 ID0gX2xzcGNvbl93cml0ZV9hdmlfaW5mb2ZyYW1lX21jYSgmaW50ZWxfZHAtPmF1eCwKIAkJCQkJ CSAgICAgIGZyYW1lLCBsZW4pOworCWVsc2UKKwkJcmV0ID0gX2xzcGNvbl93cml0ZV9hdmlfaW5m b2ZyYW1lX3BhcmFkZSgmaW50ZWxfZHAtPmF1eCwKKwkJCQkJCQkgZnJhbWUsIGxlbik7CisKIAlp ZiAoIXJldCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byB3cml0ZSBBVkkgaW5mb2ZyYW1lc1xu Iik7CiAJCXJldHVybjsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK