From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v3 6/7] drm/i915: Write AVI infoframes for Parade LSPCON Date: Fri, 5 Jan 2018 15:15:34 +0530 Message-ID: <1515145535-11228-7-git-send-email-shashank.sharma@intel.com> References: <1515145535-11228-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id D7A6C6E31B for ; Fri, 5 Jan 2018 09:40:52 +0000 (UTC) In-Reply-To: <1515145535-11228-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 IHItYiBmcm9tIE1hYXJ0ZW4KCkNjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+CkNj OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KUmV2aWV3 ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyB8IDExOSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMTggaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMK aW5kZXggMDU3MTEwOC4uMDY2ZWE5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHNwY29uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMK QEAgLTM3LDYgKzM3LDEyIEBACiAjZGVmaW5lICBMU1BDT05fTUNBX0FWSV9JRl9LSUNLT0ZGICgx IDw8IDApCiAjZGVmaW5lICBMU1BDT05fTUNBX0FWSV9JRl9IQU5ETEVEICgxIDw8IDEpCiAKKy8q IEFVWCBhZGRyZXNzZXMgdG8gd3JpdGUgUGFyYWRlIEFWSSBJRiAqLworI2RlZmluZSBMU1BDT05f UEFSQURFX0FWSV9JRl9XUklURV9PRkZTRVQgMHg1MTYKKyNkZWZpbmUgTFNQQ09OX1BBUkFERV9B VklfSUZfQ1RSTCAweDUxRQorI2RlZmluZSAgTFNQQ09OX1BBUkFERV9BVklfSUZfS0lDS09GRiAo MSA8PCA3KQorI2RlZmluZSBMU1BDT05fUEFSQURFX0FWSV9JRl9EQVRBX1NJWkUgMzIKKwogc3Rh dGljIHN0cnVjdCBpbnRlbF9kcCAqbHNwY29uX3RvX2ludGVsX2RwKHN0cnVjdCBpbnRlbF9sc3Bj b24gKmxzcGNvbikKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9CkBA IC0yNDEsNiArMjQ3LDExMyBAQCBzdGF0aWMgdm9pZCBsc3Bjb25fcmVzdW1lX2luX3Bjb25fd2Eo c3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQogCURSTV9ERUJVR19LTVMoIkxTUENPTiBEUCBk ZXNjcmlwdG9yIG1pc21hdGNoIGFmdGVyIHJlc3VtZVxuIik7CiB9CiAKK3N0YXRpYyBib29sIGxz cGNvbl9wYXJhZGVfZndfcmVhZHkoc3RydWN0IGRybV9kcF9hdXggKmF1eCkKK3sKKwl1OCBhdmlf aWZfY3RybDsKKwl1OCByZXRyeTsKKwlzc2l6ZV90IHJldDsKKworCS8qIENoZWNrIGlmIExTUENP TiBGVyBpcyByZWFkeSBmb3IgZGF0YSAqLworCWZvciAocmV0cnkgPSAwOyByZXRyeSA8IDU7IHJl dHJ5KyspIHsKKworCQlpZiAocmV0cnkpCisJCQl1c2xlZXBfcmFuZ2UoMjAwLCAzMDApOworCisJ CXJldCA9IGRybV9kcF9kcGNkX3JlYWQoYXV4LCBMU1BDT05fUEFSQURFX0FWSV9JRl9DVFJMLAor CQkJCSAgICAgICAmYXZpX2lmX2N0cmwsIDEpOworCQlpZiAocmV0IDwgMCkgeworCQkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gcmVhZCBBVkkgSUYgY29udHJvbFxuIik7CisJCQlyZXR1cm4gZmFsc2U7 CisJCX0KKworCQlpZiAoKGF2aV9pZl9jdHJsICYgTFNQQ09OX1BBUkFERV9BVklfSUZfS0lDS09G RikgPT0gMCkKKwkJCXJldHVybiB0cnVlOworCX0KKworCURSTV9FUlJPUigiUGFyYWRlIEZXIG5v dCByZWFkeSB0byBhY2NlcHQgQVZJIElGXG4iKTsKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRp YyBib29sIF9sc3Bjb25fcGFyYWRlX3dyaXRlX2luZm9mcmFtZV9ibG9ja3Moc3RydWN0IGRybV9k cF9hdXggKmF1eCwKKwkJCQkJICAgICAgIHVpbnQ4X3QgKmF2aV9idWYpCit7CisJdTggYXZpX2lm X2N0cmw7CisJdTggYmxvY2tfY291bnQgPSAwOworCXU4ICpkYXRhOworCXVpbnQxNl90IHJlZzsK Kwlzc2l6ZV90IHJldDsKKworCXdoaWxlIChibG9ja19jb3VudCA8IDQpIHsKKworCQlpZiAoIWxz cGNvbl9wYXJhZGVfZndfcmVhZHkoYXV4KSkgeworCQkJRFJNX0RFQlVHX0tNUygiTFNQQ09OIEZX IG5vdCByZWFkeSwgYmxvY2sgJWRcbiIsCisJCQkJICAgICAgIGJsb2NrX2NvdW50KTsKKwkJCXJl dHVybiBmYWxzZTsKKwkJfQorCisJCXJlZyA9IExTUENPTl9QQVJBREVfQVZJX0lGX1dSSVRFX09G RlNFVDsKKwkJZGF0YSA9IGF2aV9idWYgKyBibG9ja19jb3VudCAqIDg7CisJCXJldCA9IGRybV9k cF9kcGNkX3dyaXRlKGF1eCwgcmVnLCBkYXRhLCA4KTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCURS TV9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIEFWSSBJRiBibG9jayAlZFxuIiwKKwkJCQkgICBibG9j a19jb3VudCk7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKworCQkvKgorCQkgKiBPbmNlIGEgYmxv Y2sgb2YgZGF0YSBpcyB3cml0dGVuLCB3ZSBoYXZlIHRvIGluZm9ybSB0aGUgRlcKKwkJICogYWJv dXQgdGhpcyBieSB3cml0aW5nIGludG8gYXZpIGluZm9mcmFtZSBjb250cm9sIHJlZ2lzdGVyOgor CQkgKiAtIHNldCB0aGUga2lja29mZiBiaXRbN10gdG8gMQorCQkgKiAtIHdyaXRlIHRoZSBibG9j ayBuby4gdG8gYml0c1sxOjBdCisJCSAqLworCQlyZWcgPSBMU1BDT05fUEFSQURFX0FWSV9JRl9D VFJMOworCQlhdmlfaWZfY3RybCA9IExTUENPTl9QQVJBREVfQVZJX0lGX0tJQ0tPRkYgfCBibG9j a19jb3VudDsKKwkJcmV0ID0gZHJtX2RwX2RwY2Rfd3JpdGUoYXV4LCByZWcsICZhdmlfaWZfY3Ry bCwgMSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlEUk1fRVJST1IoIkZhaWxlZCB0byB1cGRhdGUg KDB4JXgpLCBibG9jayAlZFxuIiwKKwkJCQkJcmVnLCBibG9ja19jb3VudCk7CisJCQlyZXR1cm4g ZmFsc2U7CisJCX0KKworCQlibG9ja19jb3VudCsrOworCX0KKworCURSTV9ERUJVR19LTVMoIldy b3RlIEFWSSBJRiBibG9ja3Mgc3VjY2Vzc2Z1bGx5XG4iKTsKKwlyZXR1cm4gdHJ1ZTsKK30KKwor c3RhdGljIGJvb2wgX2xzcGNvbl93cml0ZV9hdmlfaW5mb2ZyYW1lX3BhcmFkZShzdHJ1Y3QgZHJt X2RwX2F1eCAqYXV4LAorCQkJCQkgICAgICAgY29uc3QgdWludDhfdCAqZnJhbWUsCisJCQkJCSAg ICAgICBzc2l6ZV90IGxlbikKK3sKKwl1aW50OF90IGF2aV9pZltMU1BDT05fUEFSQURFX0FWSV9J Rl9EQVRBX1NJWkVdID0gezEsIH07CisKKwkvKgorCSAqIFBhcmFkZSdzIGZyYW1lcyBjb250YWlu cyAzMiBieXRlcyBvZiBkYXRhLCBkaXZpZGVkCisJICogaW50byA0IGZyYW1lczoKKwkgKglUb2tl biBieXRlIChmaXJzdCBieXRlIG9mIGZpcnN0IGZyYW1lLCBtdXN0IGJlIG5vbi16ZXJvKQorCSAq CUhCMCB0byBIQjIJIGZyb20gQVZJIElGICgzIGJ5dGVzIGhlYWRlcikKKwkgKglQQjAgdG8gUEIy NyBmcm9tIEFWSSBJRiAoMjggYnl0ZXMgZGF0YSkKKwkgKiBTbyBpdCBzaG91bGQgbG9vayBsaWtl IHRoaXMKKwkgKglmaXJzdCBibG9jazogfCA8dG9rZW4+IDxIQjAtSEIyPiA8REIwLURCMz4gfAor CSAqCW5leHQgMyBibG9ja3M6IHw8REI0LURCMTE+fDxEQjEyLURCMTk+fDxEQjIwLURCMjg+fAor CSAqLworCisJaWYgKGxlbiA+IExTUENPTl9QQVJBREVfQVZJX0lGX0RBVEFfU0laRSAtIDEpIHsK KwkJRFJNX0VSUk9SKCJJbnZhbGlkIGxlbmd0aCBvZiBpbmZvZnJhbWVzXG4iKTsKKwkJcmV0dXJu IGZhbHNlOworCX0KKworCW1lbWNweSgmYXZpX2lmWzFdLCBmcmFtZSwgbGVuKTsKKworCWlmICgh X2xzcGNvbl9wYXJhZGVfd3JpdGVfaW5mb2ZyYW1lX2Jsb2NrcyhhdXgsIGF2aV9pZikpIHsKKwkJ RFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIHdyaXRlIGluZm9mcmFtZSBibG9ja3NcbiIpOworCQly ZXR1cm4gZmFsc2U7CisJfQorCisJcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBib29sIF9sc3Bj b25fd3JpdGVfYXZpX2luZm9mcmFtZV9tY2Eoc3RydWN0IGRybV9kcF9hdXggKmF1eCwKIAkJCQkJ ICAgICBjb25zdCB1aW50OF90ICpidWZmZXIsIHNzaXplX3QgbGVuKQogewpAQCAtMjk1LDcgKzQw OCw3IEBAIHZvaWQgbHNwY29uX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJCQkgICAgIGVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBlLAogCQkJICAgICBj b25zdCB2b2lkICpmcmFtZSwgc3NpemVfdCBsZW4pCiB7Ci0JYm9vbCByZXQgPSB0cnVlOworCWJv b2wgcmV0OwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5j b2Rlcik7CiAJc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uID0gZW5jX3RvX2ludGVsX2xzcGNv bihlbmNvZGVyKTsKIApAQCAtMzA2LDYgKzQxOSwxMCBAQCB2b2lkIGxzcGNvbl93cml0ZV9pbmZv ZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlmIChsc3Bjb24tPnZlbmRvciA9 PSBMU1BDT05fVkVORE9SX01DQSkKIAkJcmV0ID0gX2xzcGNvbl93cml0ZV9hdmlfaW5mb2ZyYW1l X21jYSgmaW50ZWxfZHAtPmF1eCwKIAkJCQkJCSAgICAgIGZyYW1lLCBsZW4pOworCWVsc2UKKwkJ cmV0ID0gX2xzcGNvbl93cml0ZV9hdmlfaW5mb2ZyYW1lX3BhcmFkZSgmaW50ZWxfZHAtPmF1eCwK KwkJCQkJCQkgZnJhbWUsIGxlbik7CisKIAlpZiAoIXJldCkgewogCQlEUk1fRVJST1IoIkZhaWxl ZCB0byB3cml0ZSBBVkkgaW5mb2ZyYW1lc1xuIik7CiAJCXJldHVybjsKLS0gCjIuNy40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK