From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v2 2/2] drm: parse hf-vsdb Date: Tue, 20 Dec 2016 19:17:30 +0530 Message-ID: <1482241650-14435-2-git-send-email-shashank.sharma@intel.com> References: <1482241650-14435-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: In-Reply-To: <1482241650-14435-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: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , Thierry Reding , Jose Abreu List-Id: intel-gfx@lists.freedesktop.org SERNSSAyLjAgLyBDRUEtODYxLUYgc3BlY3MgZGVmaW5lIGEgbmV3IENFQSBleHRlbnNpb24gZGF0 YSBibG9jaywKY2FsbGVkIGhkbWktZm9ydW0gdmVuZG9yIHNwZWNpZmljIGRhdGEgYmxvY2sgKEhG LVZTREIpLiBUaGlzIGJsb2NrCmNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHNpbmsncyBzdXBw b3J0IGZvciBIRE1JIDIuMCBjb21wbGlhbnQKZmVhdHVyZXMuIFRoZXNlIGZlYXR1cmVzIGFyZToK ICAgIC0gRGVlcCBjb2xvciBZVVYgNDIwIHN1cHBvcnQgYW5kIEJQQwogICAgLSAzRCBmbGFncyBm b3IKICAgICAgICAtIE9TRCBEaXNwbGFyaXR5CiAgICAgICAgLSBEdWFsIHZpZXcgc2lnbmFsaW5n CiAgICAgICAgLSBpbmRlcGVuZGVudCB2aWV3IHNpZ25hbGluZwogICAgLSBTQ0RDIHN1cHBvcnQK ICAgIC0gTWF4IFRNRFMgY2hhciByYXRlCiAgICAtIFNjcmFtYmxpbmcgc3VwcG9ydAoKVGhpcyBw YXRjaCBhZGRzIGEgcGFyc2VyIGZ1bmN0aW9uIGZvciB0aGlzIGJsb2NrLCBhbmQgYWRkIGZsYWdz IHRvCmluZGljYXRlIHN1cHBvcnQgZm9yIG5ldyBmZWF0dXJlcywgaW4gZHJtX2Rpc3BsYXlfaW5m byBzdHJ1Y3R1cmUKClYyOgotIEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBUaGllcnJ5 CgktIHJlbW92ZSBsZW4gPiAzMSBjaGVjawoJLSByZW1vdmUgdmVyc2lvbiBjaGVjawoJLSBmaXgg ZHVwbGljYXRlIHZhbHVlcyBmb3IgbWFjcm9zIG9mIDM2IGFuZCAzMC1iaXQgZGVwdGhzCi0gQWRk ZWQgYSBzdWItY2xhc3MgZm9yIEhETUkgcmVsYXRlZCBpbmZvcm1hdGlvbiB3aXRoaW4gZHJtX2Rp c3BsYXlfaW5mbwogIChUaGllcnJ5LCBEYW5pZWwpIGFuZCBwb3B1bGF0ZWQgaXQgd2l0aCBIRi1W U0RCIHNwZWNpZmljIGluZm8uCgpDYzogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNv bT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogSm9zZSBB YnJldSA8am9hYnJldUBzeW5vcHN5cy5jb20+ClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJt YSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWQuYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgIHwgIDUgKysrKwogaW5jbHVkZS9saW51eC9oZG1p LmggICAgICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jCmluZGV4IGI1NTIxOTcuLjU5ZTA0ZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC0zMjI0LDYg KzMyMjQsMjMgQEAgc3RhdGljIGludCBhZGRfM2Rfc3RydWN0X21vZGVzKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsIHUxNiBzdHJ1Y3R1cmUsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRp YyBib29sIGNlYV9kYl9pc19oZl92c2RiKGNvbnN0IHU4ICpkYikKK3sKKwl1OCBsZW47CisJaW50 IGhmdnNkYl9pZDsKKworCWlmIChjZWFfZGJfdGFnKGRiKSAhPSBWRU5ET1JfQkxPQ0spCisJCXJl dHVybiBmYWxzZTsKKworCWxlbiA9IGNlYV9kYl9wYXlsb2FkX2xlbihkYik7CisJaWYgKGxlbiA8 IDcpCisJCXJldHVybiBmYWxzZTsKKworCWhmdnNkYl9pZCA9IGRiWzFdIHwgKGRiWzJdIDw8IDgp IHwgKGRiWzNdIDw8IDE2KTsKKworCXJldHVybiBoZnZzZGJfaWQgPT0gSERNSV9JRUVFX09VSV9I RlZTREI7Cit9CisKIHN0YXRpYyBib29sIGNlYV9kYl9pc19oZG1pX3ZzZGIoY29uc3QgdTggKmRi KQogewogCWludCBoZG1pX2lkOwpAQCAtMzc2OCw2ICszNzg1LDU3IEBAIGJvb2wgZHJtX3JnYl9x dWFudF9yYW5nZV9zZWxlY3RhYmxlKHN0cnVjdCBlZGlkICplZGlkKQogfQogRVhQT1JUX1NZTUJP TChkcm1fcmdiX3F1YW50X3JhbmdlX3NlbGVjdGFibGUpOwogCitzdGF0aWMgdm9pZCBkcm1fcGFy c2VfeXV2NDIwX2RlZXBfY29sb3JfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAorCQkJCQkJY29uc3QgdTggKmRiKQoreworCXN0cnVjdCBkcm1faGRtaV9pbmZvICppbmZvID0g JmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWlfaW5mbzsKKworCWlmIChkYls3XSAmIERSTV9F RElEX1lVVjQyMF9EQ180OCkKKwkJaW5mby0+ZWRpZF95dXY0MjBfZGNfbW9kZXMgfD0gRFJNX0VE SURfWVVWNDIwX0RDXzQ4OworCWlmIChkYls3XSAmIERSTV9FRElEX1lVVjQyMF9EQ18zNikKKwkJ aW5mby0+ZWRpZF95dXY0MjBfZGNfbW9kZXMgfD0gRFJNX0VESURfWVVWNDIwX0RDXzM2OworCWlm IChkYls3XSAmIERSTV9FRElEX1lVVjQyMF9EQ18zMCkKKwkJaW5mby0+ZWRpZF95dXY0MjBfZGNf bW9kZXMgfD0gRFJNX0VESURfWVVWNDIwX0RDXzMwOworCisJaWYgKCFpbmZvLT5lZGlkX3l1djQy MF9kY19tb2RlcykgeworCQlEUk1fREVCVUcoIiVzOiBObyBZVVYgNDIwIGRlZXAgY29sb3Igc3Vw cG9ydCBpbiBzaW5rLlxuIiwKKwkJCSAgY29ubmVjdG9yLT5uYW1lKTsKKwkJcmV0dXJuOworCX0K K30KKworc3RhdGljIHZvaWQKK2RybV9wYXJzZV9oZl92c2RiKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsIGNvbnN0IHU4ICpkYikKK3sKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAq aW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKKwlzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAq aGRtaV9pbmZvID0gJmluZm8tPmhkbWlfaW5mbzsKKworCWlmIChkYls1XSkgeworCQkvKgorCQkg KiBJZiB0aGUgc2luayBzdXBwbGllcyBtYXggdG1kcyBjaGFyIHJhdGUgaW4gZGIsCisJCSAqIHRo ZSBhY3R1YWwgbWF4IHRtZHMgcmF0ZSA9IGRiWzVdICogNU1oei4KKwkJICovCisJCWluZm8tPm1h eF90bWRzX2Nsb2NrID0gZGJbNV0gKiA1MDAwOworCQlEUk1fREVCVUdfS01TKCJIRi1WU0RCOiBt YXggVE1EUyBjbG9jayAlZCBrSHpcbiIsCisJCWluZm8tPm1heF90bWRzX2Nsb2NrKTsKKwl9CisK KwlpZiAoZGJbNl0gJiBEUk1fSEZWU0RCX1NDRENfU1VQUE9SVCkKKwkJaGRtaV9pbmZvLT5zY2Rj X3N1cHBvcnRlZCA9IHRydWU7CisJaWYgKGRiWzZdICYgRFJNX0hGVlNEQl9TQ0RDX1JSX0NBUCkK KwkJaGRtaV9pbmZvLT5zY2RjX3JyX2NhcCA9IHRydWU7CisJaWYgKGRiWzZdICYgRFJNX0hGVlNE Ql9TQ1JBTUJMSU5HKQorCQloZG1pX2luZm8tPnNjcmFtYmxpbmcgPSB0cnVlOworCWlmIChkYls2 XSAmIERSTV9IRlZTREJfSU5ERVBFTkRFTlRfVklFVykKKwkJaGRtaV9pbmZvLT5pbmRlcGVuZGVu dF92aWV3XzNkID0gdHJ1ZTsKKwlpZiAoZGJbNl0gJiBEUk1fSEZWU0RCX0RVQUxfVklFVykKKwkJ aGRtaV9pbmZvLT5kdWFsX3ZpZXdfM2QgPSB0cnVlOworCWlmIChkYls2XSAmIERSTV9IRlZTREJf M0RfT1NEKQorCQloZG1pX2luZm8tPm9zZF9kaXNwYXJpdHlfM2QgPSB0cnVlOworCisJZHJtX3Bh cnNlX3l1djQyMF9kZWVwX2NvbG9yX2luZm8oY29ubmVjdG9yLCBkYik7Cit9CisKIHN0YXRpYyB2 b2lkIGRybV9wYXJzZV9oZG1pX2RlZXBfY29sb3JfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAogCQkJCQkgICBjb25zdCB1OCAqaGRtaSkKIHsKQEAgLTM4ODIsNiArMzk1MCw4 IEBAIHN0YXRpYyB2b2lkIGRybV9wYXJzZV9jZWFfZXh0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCiAKIAkJaWYgKGNlYV9kYl9pc19oZG1pX3ZzZGIoZGIpKQogCQkJZHJtX3BhcnNl X2hkbWlfdnNkYl92aWRlbyhjb25uZWN0b3IsIGRiKTsKKwkJaWYgKGNlYV9kYl9pc19oZl92c2Ri KGRiKSkKKwkJCWRybV9wYXJzZV9oZl92c2RiKGNvbm5lY3RvciwgZGIpOwogCX0KIH0KIApkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgK aW5kZXggMzhlYWJmNi4uZGY2MDZlMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCkBAIC0yMTIsNiArMjEyLDExIEBAIHN0cnVj dCBkZXRhaWxlZF90aW1pbmcgewogI2RlZmluZSBEUk1fRURJRF9IRE1JX0RDXzMwICAgICAgICAg ICAgICAgKDEgPDwgNCkKICNkZWZpbmUgRFJNX0VESURfSERNSV9EQ19ZNDQ0ICAgICAgICAgICAg ICgxIDw8IDMpCiAKKy8qIFlVViA0MjAgZGVlcCBjb2xvciBtb2RlcyAqLworI2RlZmluZSBEUk1f RURJRF9ZVVY0MjBfRENfNDgJCSAgKDEgPDwgNikKKyNkZWZpbmUgRFJNX0VESURfWVVWNDIwX0RD XzM2CQkgICgxIDw8IDUpCisjZGVmaW5lIERSTV9FRElEX1lVVjQyMF9EQ18zMAkJICAoMSA8PCA0 KQorCiAvKiBFTEQgSGVhZGVyIEJsb2NrICovCiAjZGVmaW5lIERSTV9FTERfSEVBREVSX0JMT0NL X1NJWkUJNAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2hkbWkuaCBiL2luY2x1ZGUvbGlu dXgvaGRtaS5oCmluZGV4IGVkYmI0ZmMuLjJkNGU5ZWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlu dXgvaGRtaS5oCisrKyBiL2luY2x1ZGUvbGludXgvaGRtaS5oCkBAIC0zNSw2ICszNSw3IEBAIGVu dW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB7CiB9OwogCiAjZGVmaW5lIEhETUlfSUVFRV9PVUkgMHgw MDBjMDMKKyNkZWZpbmUgSERNSV9JRUVFX09VSV9IRlZTREIgMHhDNDVERDgKICNkZWZpbmUgSERN SV9JTkZPRlJBTUVfSEVBREVSX1NJWkUgIDQKICNkZWZpbmUgSERNSV9BVklfSU5GT0ZSQU1FX1NJ WkUgICAgMTMKICNkZWZpbmUgSERNSV9TUERfSU5GT0ZSQU1FX1NJWkUgICAgMjUKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK