From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v5 09/11] drm/fb-helper: Prepare to move out modeset config code Date: Mon, 6 May 2019 20:01:37 +0200 Message-ID: <20190506180139.6913-10-noralf@tronnes.org> References: <20190506180139.6913-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190506180139.6913-1-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Maxime Ripard , intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBwcmVwYXJlcyB0aGUgbW9kZXNldCBjb2RlIHNvIGl0IGNhbiBiZSBtb3ZlZCBvdXQgYXMt aXMgaW4gdGhlIG5leHQKcGF0Y2guCgp2MzogUmVtb3ZlIHN0cmF5IG5ld2xpbmUKClNpZ25lZC1v ZmYtYnk6IE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPgpSZXZpZXdlZC1ieTog TWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFyZEBib290bGluLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2ZiX2hlbHBlci5jIHwgNjIgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tCiBpbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmggICAgIHwgIDQgLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hl bHBlci5jCmluZGV4IGVlMGFmNTUzNGY3ZC4uODAyYjUwMzZmMzQ2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJf aGVscGVyLmMKQEAgLTQzLDYgKzQzLDEwIEBACiAKICNpbmNsdWRlICJkcm1faW50ZXJuYWwuaCIK IAorc3RydWN0IGRybV9jbGllbnRfb2Zmc2V0IHsKKwlpbnQgeCwgeTsKK307CisKIHN0YXRpYyBi b29sIGRybV9mYmRldl9lbXVsYXRpb24gPSB0cnVlOwogbW9kdWxlX3BhcmFtX25hbWVkKGZiZGV2 X2VtdWxhdGlvbiwgZHJtX2ZiZGV2X2VtdWxhdGlvbiwgYm9vbCwgMDYwMCk7CiBNT0RVTEVfUEFS TV9ERVNDKGZiZGV2X2VtdWxhdGlvbiwKQEAgLTE4MDQsNyArMTgwOCw3IEBAIHN0YXRpYyBib29s IGRybV9jbGllbnRfdGFyZ2V0X2Nsb25lZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAg ICAgc3RydWN0IGRybV9jb25uZWN0b3IgKipjb25uZWN0b3JzLAogCQkJCSAgICAgdW5zaWduZWQg aW50IGNvbm5lY3Rvcl9jb3VudCwKIAkJCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICoq bW9kZXMsCi0JCQkJICAgICBzdHJ1Y3QgZHJtX2ZiX29mZnNldCAqb2Zmc2V0cywKKwkJCQkgICAg IHN0cnVjdCBkcm1fY2xpZW50X29mZnNldCAqb2Zmc2V0cywKIAkJCQkgICAgIGJvb2wgKmVuYWJs ZWQsIGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsKIAlpbnQgY291bnQsIGksIGo7CkBAIC0xODgz LDcgKzE4ODcsNyBAQCBzdGF0aWMgYm9vbCBkcm1fY2xpZW50X3RhcmdldF9jbG9uZWQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIHN0YXRpYyBpbnQgZHJtX2NsaWVudF9nZXRfdGlsZV9vZmZzZXRz KHN0cnVjdCBkcm1fY29ubmVjdG9yICoqY29ubmVjdG9ycywKIAkJCQkgICAgICAgdW5zaWduZWQg aW50IGNvbm5lY3Rvcl9jb3VudCwKIAkJCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Kiptb2RlcywKLQkJCQkgICAgICAgc3RydWN0IGRybV9mYl9vZmZzZXQgKm9mZnNldHMsCisJCQkJ ICAgICAgIHN0cnVjdCBkcm1fY2xpZW50X29mZnNldCAqb2Zmc2V0cywKIAkJCQkgICAgICAgaW50 IGlkeCwKIAkJCQkgICAgICAgaW50IGhfaWR4LCBpbnQgdl9pZHgpCiB7CkBAIC0xOTE2LDcgKzE5 MjAsNyBAQCBzdGF0aWMgaW50IGRybV9jbGllbnRfZ2V0X3RpbGVfb2Zmc2V0cyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqKmNvbm5lY3RvcnMsCiBzdGF0aWMgYm9vbCBkcm1fY2xpZW50X3RhcmdldF9w cmVmZXJyZWQoc3RydWN0IGRybV9jb25uZWN0b3IgKipjb25uZWN0b3JzLAogCQkJCQl1bnNpZ25l ZCBpbnQgY29ubmVjdG9yX2NvdW50LAogCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqKm1v ZGVzLAotCQkJCQlzdHJ1Y3QgZHJtX2ZiX29mZnNldCAqb2Zmc2V0cywKKwkJCQkJc3RydWN0IGRy bV9jbGllbnRfb2Zmc2V0ICpvZmZzZXRzLAogCQkJCQlib29sICplbmFibGVkLCBpbnQgd2lkdGgs IGludCBoZWlnaHQpCiB7CiAJY29uc3QgdTY0IG1hc2sgPSBCSVRfVUxMKGNvbm5lY3Rvcl9jb3Vu dCkgLSAxOwpAQCAtMjA4MCw3ICsyMDg0LDcgQEAgc3RhdGljIGJvb2wgZHJtX2NsaWVudF9maXJt d2FyZV9jb25maWcoc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQsCiAJCQkJICAgICAgIHVu c2lnbmVkIGludCBjb25uZWN0b3JfY291bnQsCiAJCQkJICAgICAgIHN0cnVjdCBkcm1fY3J0YyAq KmNydGNzLAogCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqKm1vZGVzLAotCQkJ CSAgICAgICBzdHJ1Y3QgZHJtX2ZiX29mZnNldCAqb2Zmc2V0cywKKwkJCQkgICAgICAgc3RydWN0 IGRybV9jbGllbnRfb2Zmc2V0ICpvZmZzZXRzLAogCQkJCSAgICAgICBib29sICplbmFibGVkLCBp bnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CiAJdW5zaWduZWQgaW50IGNvdW50ID0gbWluX3QodW5z aWduZWQgaW50LCBjb25uZWN0b3JfY291bnQsIEJJVFNfUEVSX0xPTkcpOwpAQCAtMjI1MCwzMCAr MjI1NCw0NyBAQCBzdGF0aWMgYm9vbCBkcm1fY2xpZW50X2Zpcm13YXJlX2NvbmZpZyhzdHJ1Y3Qg ZHJtX2NsaWVudF9kZXYgKmNsaWVudCwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBk cm1fc2V0dXBfY3J0Y3Moc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKLQkJCSAgICB1 MzIgd2lkdGgsIHUzMiBoZWlnaHQpCisvKioKKyAqIGRybV9jbGllbnRfbW9kZXNldF9wcm9iZSgp IC0gUHJvYmUgZm9yIGRpc3BsYXlzCisgKiBAY2xpZW50OiBEUk0gY2xpZW50CisgKiBAd2lkdGg6 IE1heGltdW0gZGlzcGxheSBtb2RlIHdpZHRoIChvcHRpb25hbCkKKyAqIEBoZWlnaHQ6IE1heGlt dW0gZGlzcGxheSBtb2RlIGhlaWdodCAob3B0aW9uYWwpCisgKgorICogVGhpcyBmdW5jdGlvbiBz ZXRzIHVwIGRpc3BsYXkgcGlwZWxpbmVzIGZvciBlbmFibGVkIGNvbm5lY3RvcnMgYW5kIHN0b3Jl cyB0aGUKKyAqIGNvbmZpZyBpbiB0aGUgY2xpZW50J3MgbW9kZXNldCBhcnJheS4KKyAqCisgKiBS ZXR1cm5zOgorICogWmVybyBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFp bHVyZS4KKyAqLworaW50IGRybV9jbGllbnRfbW9kZXNldF9wcm9iZShzdHJ1Y3QgZHJtX2NsaWVu dF9kZXYgKmNsaWVudCwgdW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0KQog ewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsICoqY29ubmVjdG9ycyA9IE5VTEw7 Ci0Jc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQgPSAmZmJfaGVscGVyLT5jbGllbnQ7CiAJ c3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKLQlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gZmJfaGVscGVyLT5kZXY7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNs aWVudC0+ZGV2OwogCXVuc2lnbmVkIGludCB0b3RhbF9tb2Rlc19jb3VudCA9IDA7CisJc3RydWN0 IGRybV9jbGllbnRfb2Zmc2V0ICpvZmZzZXRzOwogCXVuc2lnbmVkIGludCBjb25uZWN0b3JfY291 bnQgPSAwOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICoqbW9kZXM7Ci0Jc3RydWN0IGRybV9m Yl9vZmZzZXQgKm9mZnNldHM7CiAJc3RydWN0IGRybV9jcnRjICoqY3J0Y3M7CisJaW50IGksIHJl dCA9IDA7CiAJYm9vbCAqZW5hYmxlZDsKLQlpbnQgaTsKIAogCURSTV9ERUJVR19LTVMoIlxuIik7 CiAKKwlpZiAoIXdpZHRoKQorCQl3aWR0aCA9IGRldi0+bW9kZV9jb25maWcubWF4X3dpZHRoOwor CWlmICghaGVpZ2h0KQorCQloZWlnaHQgPSBkZXYtPm1vZGVfY29uZmlnLm1heF9oZWlnaHQ7CisK IAlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2l0ZXIpOwogCWRybV9j bGllbnRfZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CiAJ CXN0cnVjdCBkcm1fY29ubmVjdG9yICoqdG1wOwogCiAJCXRtcCA9IGtyZWFsbG9jKGNvbm5lY3Rv cnMsIChjb25uZWN0b3JfY291bnQgKyAxKSAqIHNpemVvZigqY29ubmVjdG9ycyksIEdGUF9LRVJO RUwpOwotCQlpZiAoIXRtcCkKKwkJaWYgKCF0bXApIHsKKwkJCXJldCA9IC1FTk9NRU07CiAJCQln b3RvIGZyZWVfY29ubmVjdG9yczsKKwkJfQogCiAJCWNvbm5lY3RvcnMgPSB0bXA7CiAJCWRybV9j b25uZWN0b3JfZ2V0KGNvbm5lY3Rvcik7CkBAIC0yMjgyLDcgKzIzMDMsNyBAQCBzdGF0aWMgdm9p ZCBkcm1fc2V0dXBfY3J0Y3Moc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAlkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CiAKIAlpZiAoIWNvbm5lY3Rvcl9j b3VudCkKLQkJcmV0dXJuOworCQlyZXR1cm4gMDsKIAogCWNydGNzID0ga2NhbGxvYyhjb25uZWN0 b3JfY291bnQsIHNpemVvZigqY3J0Y3MpLCBHRlBfS0VSTkVMKTsKIAltb2RlcyA9IGtjYWxsb2Mo Y29ubmVjdG9yX2NvdW50LCBzaXplb2YoKm1vZGVzKSwgR0ZQX0tFUk5FTCk7CkBAIC0yMjkwLDEy ICsyMzExLDEzIEBAIHN0YXRpYyB2b2lkIGRybV9zZXR1cF9jcnRjcyhzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqZmJfaGVscGVyLAogCWVuYWJsZWQgPSBrY2FsbG9jKGNvbm5lY3Rvcl9jb3VudCwgc2l6 ZW9mKGJvb2wpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWNydGNzIHx8ICFtb2RlcyB8fCAhZW5hYmxl ZCB8fCAhb2Zmc2V0cykgewogCQlEUk1fRVJST1IoIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxu Iik7CisJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwogCX0KIAogCW11dGV4X2xvY2soJmNs aWVudC0+bW9kZXNldF9tdXRleCk7CiAKLQltdXRleF9sb2NrKCZmYl9oZWxwZXItPmRldi0+bW9k ZV9jb25maWcubXV0ZXgpOworCW11dGV4X2xvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwog CWZvciAoaSA9IDA7IGkgPCBjb25uZWN0b3JfY291bnQ7IGkrKykKIAkJdG90YWxfbW9kZXNfY291 bnQgKz0gY29ubmVjdG9yc1tpXS0+ZnVuY3MtPmZpbGxfbW9kZXMoY29ubmVjdG9yc1tpXSwgd2lk dGgsIGhlaWdodCk7CiAJaWYgKCF0b3RhbF9tb2Rlc19jb3VudCkKQEAgLTIzMjAsMTQgKzIzNDIs MTQgQEAgc3RhdGljIHZvaWQgZHJtX3NldHVwX2NydGNzKHN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIsCiAJCWRybV9jbGllbnRfcGlja19jcnRjcyhjbGllbnQsIGNvbm5lY3RvcnMsIGNv bm5lY3Rvcl9jb3VudCwKIAkJCQkgICAgICBjcnRjcywgbW9kZXMsIDAsIHdpZHRoLCBoZWlnaHQp OwogCX0KLQltdXRleF91bmxvY2soJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7 CisJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIAogCWRybV9jbGllbnRf bW9kZXNldF9yZWxlYXNlKGNsaWVudCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgY29ubmVjdG9yX2Nv dW50OyBpKyspIHsKIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBtb2Rlc1tpXTsK IAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY3J0Y3NbaV07Ci0JCXN0cnVjdCBkcm1fZmJfb2Zm c2V0ICpvZmZzZXQgPSAmb2Zmc2V0c1tpXTsKKwkJc3RydWN0IGRybV9jbGllbnRfb2Zmc2V0ICpv ZmZzZXQgPSAmb2Zmc2V0c1tpXTsKIAogCQlpZiAobW9kZSAmJiBjcnRjKSB7CiAJCQlzdHJ1Y3Qg ZHJtX21vZGVfc2V0ICptb2Rlc2V0ID0gZHJtX2NsaWVudF9maW5kX21vZGVzZXQoY2xpZW50LCBj cnRjKTsKQEAgLTIzMzcsOCArMjM1OSwxMCBAQCBzdGF0aWMgdm9pZCBkcm1fc2V0dXBfY3J0Y3Mo c3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAkJCQkgICAgICBtb2RlLT5uYW1lLCBj cnRjLT5iYXNlLmlkLCBvZmZzZXQtPngsIG9mZnNldC0+eSk7CiAKIAkJCWlmIChXQVJOX09OX09O Q0UobW9kZXNldC0+bnVtX2Nvbm5lY3RvcnMgPT0gRFJNX0NMSUVOVF9NQVhfQ0xPTkVEX0NPTk5F Q1RPUlMgfHwKLQkJCQkJIChkZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjID4gMSAmJiBtb2Rlc2V0 LT5udW1fY29ubmVjdG9ycyA9PSAxKSkpCisJCQkJCSAoZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0 YyA+IDEgJiYgbW9kZXNldC0+bnVtX2Nvbm5lY3RvcnMgPT0gMSkpKSB7CisJCQkJcmV0ID0gLUVJ TlZBTDsKIAkJCQlicmVhazsKKwkJCX0KIAogCQkJbW9kZXNldC0+bW9kZSA9IGRybV9tb2RlX2R1 cGxpY2F0ZShkZXYsIG1vZGUpOwogCQkJZHJtX2Nvbm5lY3Rvcl9nZXQoY29ubmVjdG9yKTsKQEAg LTIzNTgsNiArMjM4Miw4IEBAIHN0YXRpYyB2b2lkIGRybV9zZXR1cF9jcnRjcyhzdHJ1Y3QgZHJt X2ZiX2hlbHBlciAqZmJfaGVscGVyLAogCWZvciAoaSA9IDA7IGkgPCBjb25uZWN0b3JfY291bnQ7 IGkrKykKIAkJZHJtX2Nvbm5lY3Rvcl9wdXQoY29ubmVjdG9yc1tpXSk7CiAJa2ZyZWUoY29ubmVj dG9ycyk7CisKKwlyZXR1cm4gcmV0OwogfQogCiAvKgpAQCAtMjQzOSw3ICsyNDY1LDcgQEAgX19k cm1fZmJfaGVscGVyX2luaXRpYWxfY29uZmlnX2FuZF91bmxvY2soc3RydWN0IGRybV9mYl9oZWxw ZXIgKmZiX2hlbHBlciwKIAl3aWR0aCA9IGRldi0+bW9kZV9jb25maWcubWF4X3dpZHRoOwogCWhl aWdodCA9IGRldi0+bW9kZV9jb25maWcubWF4X2hlaWdodDsKIAotCWRybV9zZXR1cF9jcnRjcyhm Yl9oZWxwZXIsIHdpZHRoLCBoZWlnaHQpOworCWRybV9jbGllbnRfbW9kZXNldF9wcm9iZSgmZmJf aGVscGVyLT5jbGllbnQsIHdpZHRoLCBoZWlnaHQpOwogCXJldCA9IGRybV9mYl9oZWxwZXJfc2lu Z2xlX2ZiX3Byb2JlKGZiX2hlbHBlciwgYnBwX3NlbCk7CiAJaWYgKHJldCA8IDApIHsKIAkJaWYg KHJldCA9PSAtRUFHQUlOKSB7CkBAIC0yNTg3LDcgKzI2MTMsNyBAQCBpbnQgZHJtX2ZiX2hlbHBl cl9ob3RwbHVnX2V2ZW50KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiAKIAlEUk1f REVCVUdfS01TKCJcbiIpOwogCi0JZHJtX3NldHVwX2NydGNzKGZiX2hlbHBlciwgZmJfaGVscGVy LT5mYi0+d2lkdGgsIGZiX2hlbHBlci0+ZmItPmhlaWdodCk7CisJZHJtX2NsaWVudF9tb2Rlc2V0 X3Byb2JlKCZmYl9oZWxwZXItPmNsaWVudCwgZmJfaGVscGVyLT5mYi0+d2lkdGgsIGZiX2hlbHBl ci0+ZmItPmhlaWdodCk7CiAJZHJtX3NldHVwX2NydGNzX2ZiKGZiX2hlbHBlcik7CiAJbXV0ZXhf dW5sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f ZmJfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKaW5kZXggZTE0ZDUyZWY5 NjM4Li5jOGE4YWUyYTY3OGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKQEAgLTQzLDEwICs0Myw2IEBAIGVu dW0gbW9kZV9zZXRfYXRvbWljIHsKIAlFTlRFUl9BVE9NSUNfTU9ERV9TRVQsCiB9OwogCi1zdHJ1 Y3QgZHJtX2ZiX29mZnNldCB7Ci0JaW50IHgsIHk7Ci19OwotCiAvKioKICAqIHN0cnVjdCBkcm1f ZmJfaGVscGVyX3N1cmZhY2Vfc2l6ZSAtIGRlc2NyaWJlcyBmYmRldiBzaXplIGFuZCBzY2Fub3V0 IHN1cmZhY2Ugc2l6ZQogICogQGZiX3dpZHRoOiBmYmRldiB3aWR0aAotLSAKMi4yMC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=