From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 3/6] drm/i915: Refactor VBT fixed mode handling Date: Thu, 21 Mar 2019 15:24:43 +0200 Message-ID: <20190321132446.22394-3-ville.syrjala@linux.intel.com> References: <20190321132446.22394-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1CAC76E0C3 for ; Thu, 21 Mar 2019 13:24:55 +0000 (UTC) In-Reply-To: <20190321132446.22394-1-ville.syrjala@linux.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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkxW RFMgYW5kIGVEUCBoYXZlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGNvZGUgZm9yIGdyYWJiaW5nIHRo ZQpmaXhlZCBtb2RlIGZyb20gVkJULiBQdWxsIHRoYXQgY29kZSB0byBhIGNvbW1vbiBsb2NhdGlv bi4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICB8IDExICsr LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgIHwgIDIgKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgfCAxNSArKystLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgfCAyNyArKysrKysrKysrKysrKysrKysr KysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNTA5NmU5OWZmYWFkLi41N2Q3NjliY2Ez YjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNzExNCwxNSArNzExNCw4IEBAIHN0YXRp YyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAogCQlkb3duY2xvY2tfbW9kZSA9IGludGVsX2RwX2RycnNfaW5pdChpbnRlbF9jb25uZWN0b3Is IGZpeGVkX21vZGUpOwogCiAJLyogZmFsbGJhY2sgdG8gVkJUIGlmIGF2YWlsYWJsZSBmb3IgZURQ ICovCi0JaWYgKCFmaXhlZF9tb2RlICYmIGRldl9wcml2LT52YnQubGZwX2x2ZHNfdmJ0X21vZGUp IHsKLQkJZml4ZWRfbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsCi0JCQkJCWRldl9wcml2 LT52YnQubGZwX2x2ZHNfdmJ0X21vZGUpOwotCQlpZiAoZml4ZWRfbW9kZSkgewotCQkJZml4ZWRf bW9kZS0+dHlwZSB8PSBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKLQkJCWNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLndpZHRoX21tID0gZml4ZWRfbW9kZS0+d2lkdGhfbW07Ci0JCQljb25uZWN0b3It PmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBmaXhlZF9tb2RlLT5oZWlnaHRfbW07Ci0JCX0KLQl9 CisJaWYgKCFmaXhlZF9tb2RlKQorCQlmaXhlZF9tb2RlID0gaW50ZWxfcGFuZWxfdmJ0X2ZpeGVk X21vZGUoaW50ZWxfY29ubmVjdG9yKTsKIAltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcu bXV0ZXgpOwogCiAJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVco ZGV2X3ByaXYpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDRkNDVlZDZhYTA5Ny4u M2IxN2QzNWZjMzgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMjE2MCw2ICsyMTYw LDggQEAgZXh0ZXJuIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICppbnRlbF9maW5kX3BhbmVsX2Rv d25jbG9jaygKIAkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICoKIGludGVsX3BhbmVsX2VkaWRfZml4ZWRfbW9kZShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOworc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgoraW50 ZWxfcGFuZWxfdmJ0X2ZpeGVkX21vZGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KTsKIAogI2lmIElTX0VOQUJMRUQoQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0UpCiBpbnQg aW50ZWxfYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IDA2ODZhZDFmMTJkZi4u Y2NkNWFjNmQzZmNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCkBAIC05NTMsMTggKzk1 Myw5IEBAIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAkJZ290byBvdXQ7CiAKIAkvKiBGYWlsZWQgdG8gZ2V0IEVESUQsIHdoYXQgYWJvdXQg VkJUPyAqLwotCWlmIChkZXZfcHJpdi0+dmJ0LmxmcF9sdmRzX3ZidF9tb2RlKSB7Ci0JCURSTV9E RUJVR19LTVMoInVzaW5nIG1vZGUgZnJvbSBWQlQ6ICIpOwotCQlkcm1fbW9kZV9kZWJ1Z19wcmlu dG1vZGVsaW5lKGRldl9wcml2LT52YnQubGZwX2x2ZHNfdmJ0X21vZGUpOwotCi0JCWZpeGVkX21v ZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUoZGV2LCBkZXZfcHJpdi0+dmJ0LmxmcF9sdmRzX3ZidF9t b2RlKTsKLQkJaWYgKGZpeGVkX21vZGUpIHsKLQkJCWZpeGVkX21vZGUtPnR5cGUgfD0gRFJNX01P REVfVFlQRV9QUkVGRVJSRUQ7Ci0JCQljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9 IGZpeGVkX21vZGUtPndpZHRoX21tOwotCQkJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0 X21tID0gZml4ZWRfbW9kZS0+aGVpZ2h0X21tOwotCQkJZ290byBvdXQ7Ci0JCX0KLQl9CisJZml4 ZWRfbW9kZSA9IGludGVsX3BhbmVsX3ZidF9maXhlZF9tb2RlKGludGVsX2Nvbm5lY3Rvcik7CisJ aWYgKGZpeGVkX21vZGUpCisJCWdvdG8gb3V0OwogCiAJLyoKIAkgKiBJZiB3ZSBkaWRuJ3QgZ2V0 IEVESUQsIHRyeSBjaGVja2luZyBpZiB0aGUgcGFuZWwgaXMgYWxyZWFkeSB0dXJuZWQKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wYW5lbC5jCmluZGV4IGI5ZWUxOGMyZGZmNS4uY2YxMTFlYmExYTkzIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKQEAgLTE0MSw2ICsxNDEsMzMgQEAgaW50ZWxf cGFuZWxfZWRpZF9maXhlZF9tb2RlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikK IAlyZXR1cm4gZml4ZWRfbW9kZTsKIH0KIAorc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgoraW50 ZWxfcGFuZWxfdmJ0X2ZpeGVkX21vZGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVj dG9yLT5iYXNlLmRldik7CisJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVj dG9yLT5iYXNlLmRpc3BsYXlfaW5mbzsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRf bW9kZTsKKworCWlmICghZGV2X3ByaXYtPnZidC5sZnBfbHZkc192YnRfbW9kZSkKKwkJcmV0dXJu IE5VTEw7CisKKwlmaXhlZF9tb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKCZkZXZfcHJpdi0+ZHJt LAorCQkJCQlkZXZfcHJpdi0+dmJ0LmxmcF9sdmRzX3ZidF9tb2RlKTsKKwlpZiAoIWZpeGVkX21v ZGUpCisJCXJldHVybiBOVUxMOworCisJZml4ZWRfbW9kZS0+dHlwZSB8PSBEUk1fTU9ERV9UWVBF X1BSRUZFUlJFRDsKKworCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNdIHVzaW5nIG1v ZGUgZnJvbSBWQlQ6ICIsCisJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLCBjb25uZWN0 b3ItPmJhc2UubmFtZSk7CisJZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShmaXhlZF9tb2Rl KTsKKworCWluZm8tPndpZHRoX21tID0gZml4ZWRfbW9kZS0+d2lkdGhfbW07CisJaW5mby0+aGVp Z2h0X21tID0gZml4ZWRfbW9kZS0+aGVpZ2h0X21tOworCisJcmV0dXJuIGZpeGVkX21vZGU7Cit9 CisKIC8qIGFkanVzdGVkX21vZGUgaGFzIGJlZW4gcHJlc2V0IHRvIGJlIHRoZSBwYW5lbCdzIGZp eGVkIG1vZGUgKi8KIHZvaWQKIGludGVsX3BjaF9wYW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjLAotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng=