From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH] drm/i915/vbt: Handle generic DTD block Date: Wed, 9 Oct 2019 18:03:56 -0700 Message-ID: <20191010010356.31413-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5F17B6E9A3 for ; Thu, 10 Oct 2019 01:03:50 +0000 (UTC) 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 VkJUIHJldmlzaW9uIDIyOSBhZGRzIGEgbmV3ICJHZW5lcmljIERURCIgYmxvY2sgNTggYW5kIGRl cHJlY2F0ZXMgdGhlCm9sZCBMRlAgcGFuZWwgbW9kZSBkYXRhIGluIGJsb2NrIDQyLiAgTGV0J3Mg c3RhcnQgcGFyc2luZyB0aGlzIGJsb2NrIHRvCmZpbGwgaW4gdGhlIHBhbmVsIGZpeGVkIG1vZGUg b24gZGV2aWNlcyB3aXRoIGEgPj0yMjkgVkJULgoKQnNwZWM6IDU0NzUxCkJzcGVjOiAyMDE0OApT aWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0K SSBkb24ndCB0aGluayB3ZSd2ZSBlbmNvdW50ZXJlZCBhbnkgZGV2aWNlcyB0aGF0IGFjdHVhbGx5 IGhhdmUgYSA+PTIyOQpWQlQgeWV0LCBzbyB0aGlzIGlzIGp1c3Qgd3JpdHRlbiB0byB0aGUgc3Bl YyBhbmQgdW50ZXN0ZWQgYXQgdGhlIG1vbWVudC4KCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Jpb3MuYyAgICAgfCA4NCArKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3ZidF9kZWZzLmggfCAzMiArKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMKaW5kZXggOTYyOGI0ODViMTc5Li4xMTM5MTFm MDUwZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlv cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCkBAIC0y MDIsNiArMjAyLDY5IEBAIGdldF9sdmRzX2ZwX3RpbWluZyhjb25zdCBzdHJ1Y3QgYmRiX2hlYWRl ciAqYmRiLAogCXJldHVybiAoY29uc3Qgc3RydWN0IGx2ZHNfZnBfdGltaW5nICopKChjb25zdCB1 OCAqKWJkYiArIG9mcyk7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqCitw YXJzZV9nZW5lcmljX2R0ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCSAg Y29uc3Qgc3RydWN0IGJkYl9nZW5lcmljX2R0ZCAqZ2VuZXJpY19kdGQpCit7CisJY29uc3Qgc3Ry dWN0IGJkYl9nZW5lcmljX2R0ZF9lbnRyeSAqZHRkOworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICpwYW5lbF9maXhlZF9tb2RlOworCWludCBudW1fZHRkOworCisJaWYgKGdlbmVyaWNfZHRkLT5n ZHRkX3NpemUgPCBzaXplb2Yoc3RydWN0IGJkYl9nZW5lcmljX2R0ZF9lbnRyeSkpIHsKKwkJRFJN X0VSUk9SKCJHRFREIHNpemUgJXUgaXMgdG9vIHNtYWxsLlxuIiwKKwkJCSAgZ2VuZXJpY19kdGQt PmdkdGRfc2l6ZSk7CisJCXJldHVybiBOVUxMOworCX0gZWxzZSBpZiAoZ2VuZXJpY19kdGQtPmdk dGRfc2l6ZSAhPQorCQkgICBzaXplb2Yoc3RydWN0IGJkYl9nZW5lcmljX2R0ZF9lbnRyeSkpIHsK KwkJRFJNX0VSUk9SKCJVbmV4cGVjdGVkIEdEVEQgc2l6ZSAldVxuIiwgZ2VuZXJpY19kdGQtPmdk dGRfc2l6ZSk7CisJCS8qIERURCBoYXMgdW5rbm93biBmaWVsZHMsIGJ1dCBrZWVwIGdvaW5nICov CisJfQorCisJbnVtX2R0ZCA9IChnZXRfYmxvY2tzaXplKGdlbmVyaWNfZHRkKSAtIHNpemVvZihz dHJ1Y3QgYmRiX2dlbmVyaWNfZHRkKSkgLworCQlnZW5lcmljX2R0ZC0+Z2R0ZF9zaXplOworCWlm IChkZXZfcHJpdi0+dmJ0LnBhbmVsX3R5cGUgPiBudW1fZHRkKSB7CisJCURSTV9FUlJPUigiUGFu ZWwgdHlwZSAlZCBub3QgZm91bmQgaW4gdGFibGUgb2YgJWQgRFREJ3NcbiIsCisJCQkgIGRldl9w cml2LT52YnQucGFuZWxfdHlwZSwgbnVtX2R0ZCk7CisJCXJldHVybiBOVUxMOworCX0gZWxzZSB7 CisJCWR0ZCA9ICZnZW5lcmljX2R0ZC0+ZHRkW2Rldl9wcml2LT52YnQucGFuZWxfdHlwZV07CisJ fQorCisJcGFuZWxfZml4ZWRfbW9kZSA9IGt6YWxsb2Moc2l6ZW9mKCpwYW5lbF9maXhlZF9tb2Rl KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwYW5lbF9maXhlZF9tb2RlKQorCQlyZXR1cm4gTlVMTDsK KworCXBhbmVsX2ZpeGVkX21vZGUtPmhkaXNwbGF5ID0gZHRkLT5oYWN0aXZlOworCXBhbmVsX2Zp eGVkX21vZGUtPmhzeW5jX3N0YXJ0ID0KKwkJcGFuZWxfZml4ZWRfbW9kZS0+aGRpc3BsYXkgKyBk dGQtPmhmcm9udF9wb3JjaDsKKwlwYW5lbF9maXhlZF9tb2RlLT5oc3luY19lbmQgPQorCQlwYW5l bF9maXhlZF9tb2RlLT5oc3luY19zdGFydCArIGR0ZC0+aHN5bmM7CisJcGFuZWxfZml4ZWRfbW9k ZS0+aHRvdGFsID0gcGFuZWxfZml4ZWRfbW9kZS0+aHN5bmNfZW5kOworCisJcGFuZWxfZml4ZWRf bW9kZS0+dmRpc3BsYXkgPSBkdGQtPnZhY3RpdmU7CisJcGFuZWxfZml4ZWRfbW9kZS0+dnN5bmNf c3RhcnQgPQorCQlwYW5lbF9maXhlZF9tb2RlLT52ZGlzcGxheSArIGR0ZC0+dmZyb250X3BvcmNo OworCXBhbmVsX2ZpeGVkX21vZGUtPnZzeW5jX2VuZCA9CisJCXBhbmVsX2ZpeGVkX21vZGUtPnZz eW5jX3N0YXJ0ICsgZHRkLT52c3luYzsKKwlwYW5lbF9maXhlZF9tb2RlLT52dG90YWwgPSBwYW5l bF9maXhlZF9tb2RlLT52c3luY19lbmQ7CisKKwlwYW5lbF9maXhlZF9tb2RlLT5jbG9jayA9IGR0 ZC0+cGl4ZWxfY2xvY2s7CisJcGFuZWxfZml4ZWRfbW9kZS0+d2lkdGhfbW0gPSBkdGQtPndpZHRo X21tOworCXBhbmVsX2ZpeGVkX21vZGUtPmhlaWdodF9tbSA9IGR0ZC0+aGVpZ2h0X21tOworCisJ cGFuZWxfZml4ZWRfbW9kZS0+dHlwZSA9IERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEOworCWRybV9t b2RlX3NldF9uYW1lKHBhbmVsX2ZpeGVkX21vZGUpOworCisJLyoKKwkgKiBGSVhNRTogV2UgcHJv YmFibHkgbmVlZCB0byBzZXQgRkxBR19bUC9OXVtIL1ZdU1lOQyBhY2NvcmRpbmcgdG8gdGhlCisJ ICogdmFsdWUgaW4gZHRkLT5baC92XXN5bmNfcG9sYXJpdHksIGJ1dCB0aGUgYnNwZWMgZG9lc24n dCB0ZWxsIHVzIGhvdworCSAqIHRvIGFjdHVhbGx5IGludGVycHJldCB0aG9zZSBiaXRzIHlldC4K KwkgKi8KKworCXJldHVybiBwYW5lbF9maXhlZF9tb2RlOworfQorCisKIC8qIFRyeSB0byBmaW5k IGludGVncmF0ZWQgcGFuZWwgZGF0YSAqLwogc3RhdGljIHZvaWQKIHBhcnNlX2xmcF9wYW5lbF9k YXRhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKQEAgLTIxMCw2ICsyNzMsNyBA QCBwYXJzZV9sZnBfcGFuZWxfZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJY29uc3Qgc3RydWN0IGJkYl9sdmRzX29wdGlvbnMgKmx2ZHNfb3B0aW9uczsKIAljb25zdCBz dHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGEgKmx2ZHNfbGZwX2RhdGE7CiAJY29uc3Qgc3RydWN0IGJk Yl9sdmRzX2xmcF9kYXRhX3B0cnMgKmx2ZHNfbGZwX2RhdGFfcHRyczsKKwljb25zdCBzdHJ1Y3Qg YmRiX2dlbmVyaWNfZHRkICpnZW5lcmljX2R0ZDsKIAljb25zdCBzdHJ1Y3QgbHZkc19kdm9fdGlt aW5nICpwYW5lbF9kdm9fdGltaW5nOwogCWNvbnN0IHN0cnVjdCBsdmRzX2ZwX3RpbWluZyAqZnBf dGltaW5nOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpwYW5lbF9maXhlZF9tb2RlOwpAQCAt MjYyLDYgKzMyNiwxOCBAQCBwYXJzZV9sZnBfcGFuZWxfZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCWJyZWFrOwogCX0KIAorCWlmIChiZGItPnZlcnNpb24gPj0gMjI5 KSB7CisJCWdlbmVyaWNfZHRkID0gZmluZF9zZWN0aW9uKGJkYiwgQkRCX0dFTkVSSUNfRFREKTsK KwkJaWYgKCFnZW5lcmljX2R0ZCkKKwkJCXJldHVybjsKKworCQlwYW5lbF9maXhlZF9tb2RlID0g cGFyc2VfZ2VuZXJpY19kdGQoZGV2X3ByaXYsIGdlbmVyaWNfZHRkKTsKKwkJaWYgKCFyZXQpCisJ CQlyZXR1cm47CisKKwkJZ290byBza2lwX2xlZ2FjeV9sZnA7CisJfQorCiAJbHZkc19sZnBfZGF0 YSA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9MVkRTX0xGUF9EQVRBKTsKIAlpZiAoIWx2ZHNfbGZw X2RhdGEpCiAJCXJldHVybjsKQEAgLTI4Miw5ICszNTgsNiBAQCBwYXJzZV9sZnBfcGFuZWxfZGF0 YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlkZXZfcHJpdi0+dmJ0Lmxm cF9sdmRzX3ZidF9tb2RlID0gcGFuZWxfZml4ZWRfbW9kZTsKIAotCURSTV9ERUJVR19LTVMoIkZv dW5kIHBhbmVsIG1vZGUgaW4gQklPUyBWQlQgdGFibGVzOlxuIik7Ci0JZHJtX21vZGVfZGVidWdf cHJpbnRtb2RlbGluZShwYW5lbF9maXhlZF9tb2RlKTsKLQogCWZwX3RpbWluZyA9IGdldF9sdmRz X2ZwX3RpbWluZyhiZGIsIGx2ZHNfbGZwX2RhdGEsCiAJCQkJICAgICAgIGx2ZHNfbGZwX2RhdGFf cHRycywKIAkJCQkgICAgICAgcGFuZWxfdHlwZSk7CkBAIC0yOTcsNiArMzcwLDExIEBAIHBhcnNl X2xmcF9wYW5lbF9kYXRhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkg ICAgICBkZXZfcHJpdi0+dmJ0LmJpb3NfbHZkc192YWwpOwogCQl9CiAJfQorCitza2lwX2xlZ2Fj eV9sZnA6CisJRFJNX0RFQlVHX0tNUygiRm91bmQgcGFuZWwgbW9kZSBpbiBCSU9TIFZCVCB0YWJs ZXM6XG4iKTsKKwlkcm1fbW9kZV9kZWJ1Z19wcmludG1vZGVsaW5lKHBhbmVsX2ZpeGVkX21vZGUp OworCiB9CiAKIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3ZidF9kZWZzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3ZidF9kZWZzLmgKaW5kZXggZGZjZDE1NmI1MDk0Li5hNTA4ODE3ZjlkZjggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmJ0X2RlZnMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3ZidF9kZWZzLmgKQEAgLTExNCw2ICsx MTQsNyBAQCBlbnVtIGJkYl9ibG9ja19pZCB7CiAJQkRCX0xWRFNfUE9XRVIJCQk9IDQ0LAogCUJE Ql9NSVBJX0NPTkZJRwkJCT0gNTIsCiAJQkRCX01JUElfU0VRVUVOQ0UJCT0gNTMsCisJQkRCX0dF TkVSSUNfRFRECQkJPSA1OCwKIAlCREJfU0tJUAkJCT0gMjU0LCAvKiBWQklPUyBwcml2YXRlIGJs b2NrLCBpZ25vcmUgKi8KIH07CiAKQEAgLTgwOCw0ICs4MDksMzUgQEAgc3RydWN0IGJkYl9taXBp X3NlcXVlbmNlIHsKIAl1OCBkYXRhWzBdOyAvKiB1cCB0byA2IHZhcmlhYmxlIGxlbmd0aCBibG9j a3MgKi8KIH0gX19wYWNrZWQ7CiAKKy8qCisgKiBCbG9jayA1OCAtIEdlbmVyaWMgRFREIEJsb2Nr CisgKi8KKworc3RydWN0IGJkYl9nZW5lcmljX2R0ZF9lbnRyeSB7CisJdTMyIHBpeGVsX2Nsb2Nr OworCXUxNiBoYWN0aXZlOworCXUxNiBoYmxhbms7CisJdTE2IGhmcm9udF9wb3JjaDsKKwl1MTYg aHN5bmM7CisJdTE2IHZhY3RpdmU7CisJdTE2IHZibGFuazsKKwl1MTYgdmZyb250X3BvcmNoOwor CXUxNiB2c3luYzsKKwl1MTYgd2lkdGhfbW07CisJdTE2IGhlaWdodF9tbTsKKworCS8qIEZsYWdz ICovCisJdTggcnN2ZF9mbGFnczo0OworCXU4IHZzeW5jX3BvbGFyaXR5OjI7CisJdTggaHlzbmNf cG9sYXJpdHk6MjsKKworCXUzMiByc3ZkOjI0OworfSBfX3BhY2tlZDsKKworc3RydWN0IGJkYl9n ZW5lcmljX2R0ZCB7CisJdTMyIGdkdGRfc2l6ZToyNDsKKwlzdHJ1Y3QgYmRiX2dlbmVyaWNfZHRk X2VudHJ5IGR0ZFswXTsJLyogdXAgdG8gMjQgRFREJ3MgKi8KK30gX19wYWNrZWQ7CisKKwogI2Vu ZGlmIC8qIF9JTlRFTF9WQlRfREVGU19IXyAqLwotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=