From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nautiyal, Ankit K" Subject: [PATCH v13 01/10] drm/modes: Introduce drm_mode_match() Date: Wed, 2 May 2018 12:20:13 +0530 Message-ID: <1525243822-19308-2-git-send-email-ankit.k.nautiyal@intel.com> References: <1525243822-19308-1-git-send-email-ankit.k.nautiyal@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1525243822-19308-1-git-send-email-ankit.k.nautiyal@intel.com> 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, intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk1h a2UgbW9kZSBtYXRjaGluZyBsZXNzIGNvbmZ1c2luZyBieSBhbGxvd2luZyB0aGUgY2FsbGVyIHRv IHNwZWNpZnkKd2hpY2ggcGFydHMgb2YgdGhlIG1vZGVzIHNob3VsZCBtYXRjaCB2aWEgc29tZSBm bGFncy4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jIHwgMTM0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiBpbmNsdWRlL2RybS9kcm1f bW9kZXMuaCAgICAgfCAgIDkgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCsp LCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVz LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKaW5kZXggZTgyYjYxZS4uYzM5NWEyNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZXMuYwpAQCAtOTM5LDE3ICs5MzksNjggQEAgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmRybV9tb2RlX2R1cGxpY2F0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogfQogRVhQ T1JUX1NZTUJPTChkcm1fbW9kZV9kdXBsaWNhdGUpOwogCitzdGF0aWMgYm9vbCBkcm1fbW9kZV9t YXRjaF90aW1pbmdzKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlMSwKKwkJCQkg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTIpCit7CisJcmV0dXJuIG1vZGUx LT5oZGlzcGxheSA9PSBtb2RlMi0+aGRpc3BsYXkgJiYKKwkJbW9kZTEtPmhzeW5jX3N0YXJ0ID09 IG1vZGUyLT5oc3luY19zdGFydCAmJgorCQltb2RlMS0+aHN5bmNfZW5kID09IG1vZGUyLT5oc3lu Y19lbmQgJiYKKwkJbW9kZTEtPmh0b3RhbCA9PSBtb2RlMi0+aHRvdGFsICYmCisJCW1vZGUxLT5o c2tldyA9PSBtb2RlMi0+aHNrZXcgJiYKKwkJbW9kZTEtPnZkaXNwbGF5ID09IG1vZGUyLT52ZGlz cGxheSAmJgorCQltb2RlMS0+dnN5bmNfc3RhcnQgPT0gbW9kZTItPnZzeW5jX3N0YXJ0ICYmCisJ CW1vZGUxLT52c3luY19lbmQgPT0gbW9kZTItPnZzeW5jX2VuZCAmJgorCQltb2RlMS0+dnRvdGFs ID09IG1vZGUyLT52dG90YWwgJiYKKwkJbW9kZTEtPnZzY2FuID09IG1vZGUyLT52c2NhbjsKK30K Kworc3RhdGljIGJvb2wgZHJtX21vZGVfbWF0Y2hfY2xvY2soY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUxLAorCQkJCSAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUyKQoreworCS8qCisJICogZG8gY2xvY2sgY2hlY2sgY29udmVydCB0byBQSUNPUworCSAqIHNv IGZiIG1vZGVzIGdldCBtYXRjaGVkIHRoZSBzYW1lCisJICovCisJaWYgKG1vZGUxLT5jbG9jayAm JiBtb2RlMi0+Y2xvY2spCisJCXJldHVybiBLSFoyUElDT1MobW9kZTEtPmNsb2NrKSA9PSBLSFoy UElDT1MobW9kZTItPmNsb2NrKTsKKwllbHNlCisJCXJldHVybiBtb2RlMS0+Y2xvY2sgPT0gbW9k ZTItPmNsb2NrOworfQorCitzdGF0aWMgYm9vbCBkcm1fbW9kZV9tYXRjaF9mbGFncyhjb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTEsCisJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlMikKK3sKKwlyZXR1cm4gKG1vZGUxLT5mbGFncyAmIH5EUk1fTU9ERV9G TEFHXzNEX01BU0spID09CisJCShtb2RlMi0+ZmxhZ3MgJiB+RFJNX01PREVfRkxBR18zRF9NQVNL KTsKK30KKworc3RhdGljIGJvb2wgZHJtX21vZGVfbWF0Y2hfM2RfZmxhZ3MoY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLAorCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZTIpCit7CisJcmV0dXJuIChtb2RlMS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFH XzNEX01BU0spID09CisJCShtb2RlMi0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHXzNEX01BU0spOwor fQorCitzdGF0aWMgYm9vbCBkcm1fbW9kZV9tYXRjaF9hc3BlY3RfcmF0aW8oY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLAorCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZTIpCit7CisJcmV0dXJuIG1vZGUxLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9PSBt b2RlMi0+cGljdHVyZV9hc3BlY3RfcmF0aW87Cit9CisKIC8qKgotICogZHJtX21vZGVfZXF1YWwg LSB0ZXN0IG1vZGVzIGZvciBlcXVhbGl0eQorICogZHJtX21vZGVfbWF0Y2ggLSB0ZXN0IG1vZGVz IGZvciAocGFydGlhbCkgZXF1YWxpdHkKICAqIEBtb2RlMTogZmlyc3QgbW9kZQogICogQG1vZGUy OiBzZWNvbmQgbW9kZQorICogQG1hdGNoX2ZsYWdzOiB3aGljaCBwYXJ0cyBuZWVkIHRvIG1hdGNo IChEUk1fTU9ERV9NQVRDSF8qKQogICoKICAqIENoZWNrIHRvIHNlZSBpZiBAbW9kZTEgYW5kIEBt b2RlMiBhcmUgZXF1aXZhbGVudC4KICAqCiAgKiBSZXR1cm5zOgotICogVHJ1ZSBpZiB0aGUgbW9k ZXMgYXJlIGVxdWFsLCBmYWxzZSBvdGhlcndpc2UuCisgKiBUcnVlIGlmIHRoZSBtb2RlcyBhcmUg KHBhcnRpYWxseSkgZXF1YWwsIGZhbHNlIG90aGVyd2lzZS4KICAqLwotYm9vbCBkcm1fbW9kZV9l cXVhbChjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTEsIGNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlMikKK2Jvb2wgZHJtX21vZGVfbWF0Y2goY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLAorCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUyLAorCQkgICAgdW5zaWduZWQgaW50IG1hdGNoX2ZsYWdzKQogewogCWlmICgh bW9kZTEgJiYgIW1vZGUyKQogCQlyZXR1cm4gdHJ1ZTsKQEAgLTk1NywxNSArMTAwOCw0OCBAQCBi b29sIGRybV9tb2RlX2VxdWFsKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlMSwg Y29uc3Qgc3RydWN0IGRybV9kaXNwbAogCWlmICghbW9kZTEgfHwgIW1vZGUyKQogCQlyZXR1cm4g ZmFsc2U7CiAKLQkvKiBkbyBjbG9jayBjaGVjayBjb252ZXJ0IHRvIFBJQ09TIHNvIGZiIG1vZGVz IGdldCBtYXRjaGVkCi0JICogdGhlIHNhbWUgKi8KLQlpZiAobW9kZTEtPmNsb2NrICYmIG1vZGUy LT5jbG9jaykgewotCQlpZiAoS0haMlBJQ09TKG1vZGUxLT5jbG9jaykgIT0gS0haMlBJQ09TKG1v ZGUyLT5jbG9jaykpCi0JCQlyZXR1cm4gZmFsc2U7Ci0JfSBlbHNlIGlmIChtb2RlMS0+Y2xvY2sg IT0gbW9kZTItPmNsb2NrKQorCWlmIChtYXRjaF9mbGFncyAmIERSTV9NT0RFX01BVENIX1RJTUlO R1MgJiYKKwkgICAgIWRybV9tb2RlX21hdGNoX3RpbWluZ3MobW9kZTEsIG1vZGUyKSkKIAkJcmV0 dXJuIGZhbHNlOwogCi0JcmV0dXJuIGRybV9tb2RlX2VxdWFsX25vX2Nsb2Nrcyhtb2RlMSwgbW9k ZTIpOworCWlmIChtYXRjaF9mbGFncyAmIERSTV9NT0RFX01BVENIX0NMT0NLICYmCisJICAgICFk cm1fbW9kZV9tYXRjaF9jbG9jayhtb2RlMSwgbW9kZTIpKQorCQlyZXR1cm4gZmFsc2U7CisKKwlp ZiAobWF0Y2hfZmxhZ3MgJiBEUk1fTU9ERV9NQVRDSF9GTEFHUyAmJgorCSAgICAhZHJtX21vZGVf bWF0Y2hfZmxhZ3MobW9kZTEsIG1vZGUyKSkKKwkJcmV0dXJuIGZhbHNlOworCisJaWYgKG1hdGNo X2ZsYWdzICYgRFJNX01PREVfTUFUQ0hfM0RfRkxBR1MgJiYKKwkgICAgIWRybV9tb2RlX21hdGNo XzNkX2ZsYWdzKG1vZGUxLCBtb2RlMikpCisJCXJldHVybiBmYWxzZTsKKworCWlmIChtYXRjaF9m bGFncyAmIERSTV9NT0RFX01BVENIX0FTUEVDVF9SQVRJTyAmJgorCSAgICAhZHJtX21vZGVfbWF0 Y2hfYXNwZWN0X3JhdGlvKG1vZGUxLCBtb2RlMikpCisJCXJldHVybiBmYWxzZTsKKworCXJldHVy biB0cnVlOworfQorRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9tYXRjaCk7CisKKy8qKgorICogZHJt X21vZGVfZXF1YWwgLSB0ZXN0IG1vZGVzIGZvciBlcXVhbGl0eQorICogQG1vZGUxOiBmaXJzdCBt b2RlCisgKiBAbW9kZTI6IHNlY29uZCBtb2RlCisgKgorICogQ2hlY2sgdG8gc2VlIGlmIEBtb2Rl MSBhbmQgQG1vZGUyIGFyZSBlcXVpdmFsZW50LgorICoKKyAqIFJldHVybnM6CisgKiBUcnVlIGlm IHRoZSBtb2RlcyBhcmUgZXF1YWwsIGZhbHNlIG90aGVyd2lzZS4KKyAqLworYm9vbCBkcm1fbW9k ZV9lcXVhbChjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTEsCisJCSAgICBjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTIpCit7CisJcmV0dXJuIGRybV9tb2RlX21h dGNoKG1vZGUxLCBtb2RlMiwKKwkJCSAgICAgIERSTV9NT0RFX01BVENIX1RJTUlOR1MgfAorCQkJ ICAgICAgRFJNX01PREVfTUFUQ0hfQ0xPQ0sgfAorCQkJICAgICAgRFJNX01PREVfTUFUQ0hfRkxB R1MgfAorCQkJICAgICAgRFJNX01PREVfTUFUQ0hfM0RfRkxBR1MpOwogfQogRVhQT1JUX1NZTUJP TChkcm1fbW9kZV9lcXVhbCk7CiAKQEAgLTk4MCwxMyArMTA2NCwxMyBAQCBFWFBPUlRfU1lNQk9M KGRybV9tb2RlX2VxdWFsKTsKICAqIFJldHVybnM6CiAgKiBUcnVlIGlmIHRoZSBtb2RlcyBhcmUg ZXF1YWwsIGZhbHNlIG90aGVyd2lzZS4KICAqLwotYm9vbCBkcm1fbW9kZV9lcXVhbF9ub19jbG9j a3MoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLCBjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTIpCitib29sIGRybV9tb2RlX2VxdWFsX25vX2Nsb2Nrcyhjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTEsCisJCQkgICAgICBjb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTIpCiB7Ci0JaWYgKChtb2RlMS0+ZmxhZ3MgJiBEUk1fTU9E RV9GTEFHXzNEX01BU0spICE9Ci0JICAgIChtb2RlMi0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHXzNE X01BU0spKQotCQlyZXR1cm4gZmFsc2U7Ci0KLQlyZXR1cm4gZHJtX21vZGVfZXF1YWxfbm9fY2xv Y2tzX25vX3N0ZXJlbyhtb2RlMSwgbW9kZTIpOworCXJldHVybiBkcm1fbW9kZV9tYXRjaChtb2Rl MSwgbW9kZTIsCisJCQkgICAgICBEUk1fTU9ERV9NQVRDSF9USU1JTkdTIHwKKwkJCSAgICAgIERS TV9NT0RFX01BVENIX0ZMQUdTIHwKKwkJCSAgICAgIERSTV9NT0RFX01BVENIXzNEX0ZMQUdTKTsK IH0KIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfZXF1YWxfbm9fY2xvY2tzKTsKIApAQCAtMTAwNCwy MSArMTA4OCw5IEBAIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfZXF1YWxfbm9fY2xvY2tzKTsKIGJv b2wgZHJtX21vZGVfZXF1YWxfbm9fY2xvY2tzX25vX3N0ZXJlbyhjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZTEsCiAJCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlMikKIHsKLQlpZiAobW9kZTEtPmhkaXNwbGF5ID09IG1vZGUyLT5oZGlzcGxheSAmJgotCSAg ICBtb2RlMS0+aHN5bmNfc3RhcnQgPT0gbW9kZTItPmhzeW5jX3N0YXJ0ICYmCi0JICAgIG1vZGUx LT5oc3luY19lbmQgPT0gbW9kZTItPmhzeW5jX2VuZCAmJgotCSAgICBtb2RlMS0+aHRvdGFsID09 IG1vZGUyLT5odG90YWwgJiYKLQkgICAgbW9kZTEtPmhza2V3ID09IG1vZGUyLT5oc2tldyAmJgot CSAgICBtb2RlMS0+dmRpc3BsYXkgPT0gbW9kZTItPnZkaXNwbGF5ICYmCi0JICAgIG1vZGUxLT52 c3luY19zdGFydCA9PSBtb2RlMi0+dnN5bmNfc3RhcnQgJiYKLQkgICAgbW9kZTEtPnZzeW5jX2Vu ZCA9PSBtb2RlMi0+dnN5bmNfZW5kICYmCi0JICAgIG1vZGUxLT52dG90YWwgPT0gbW9kZTItPnZ0 b3RhbCAmJgotCSAgICBtb2RlMS0+dnNjYW4gPT0gbW9kZTItPnZzY2FuICYmCi0JICAgIChtb2Rl MS0+ZmxhZ3MgJiB+RFJNX01PREVfRkxBR18zRF9NQVNLKSA9PQotCSAgICAgKG1vZGUyLT5mbGFn cyAmIH5EUk1fTU9ERV9GTEFHXzNEX01BU0spKQotCQlyZXR1cm4gdHJ1ZTsKLQotCXJldHVybiBm YWxzZTsKKwlyZXR1cm4gZHJtX21vZGVfbWF0Y2gobW9kZTEsIG1vZGUyLAorCQkJICAgICAgRFJN X01PREVfTUFUQ0hfVElNSU5HUyB8CisJCQkgICAgICBEUk1fTU9ERV9NQVRDSF9GTEFHUyk7CiB9 CiBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2VxdWFsX25vX2Nsb2Nrc19ub19zdGVyZW8pOwogCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rl cy5oCmluZGV4IDBkMzEwYmUuLjJmNzhiN2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9t b2Rlcy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCkBAIC0xNDcsNiArMTQ3LDEyIEBA IGVudW0gZHJtX21vZGVfc3RhdHVzIHsKIAogI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX01BWAlE Uk1fTU9ERV9GTEFHXzNEX1NJREVfQllfU0lERV9IQUxGCiAKKyNkZWZpbmUgRFJNX01PREVfTUFU Q0hfVElNSU5HUyAoMSA8PCAwKQorI2RlZmluZSBEUk1fTU9ERV9NQVRDSF9DTE9DSyAoMSA8PCAx KQorI2RlZmluZSBEUk1fTU9ERV9NQVRDSF9GTEFHUyAoMSA8PCAyKQorI2RlZmluZSBEUk1fTU9E RV9NQVRDSF8zRF9GTEFHUyAoMSA8PCAzKQorI2RlZmluZSBEUk1fTU9ERV9NQVRDSF9BU1BFQ1Rf UkFUSU8gKDEgPDwgNCkKKwogLyoqCiAgKiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAtIERSTSBr ZXJuZWwtaW50ZXJuYWwgZGlzcGxheSBtb2RlIHN0cnVjdHVyZQogICogQGhkaXNwbGF5OiBob3Jp em9udGFsIGRpc3BsYXkgc2l6ZQpAQCAtNDkwLDYgKzQ5Niw5IEBAIHZvaWQgZHJtX21vZGVfY29w eShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZHN0LAogCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqc3JjKTsKIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkcm1fbW9kZV9kdXBs aWNhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKTsKK2Jvb2wgZHJtX21vZGVfbWF0Y2goY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUxLAorCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUyLAorCQkgICAgdW5zaWduZWQgaW50IG1hdGNoX2ZsYWdzKTsKIGJvb2wgZHJtX21v ZGVfZXF1YWwoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLAogCQkgICAgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUyKTsKIGJvb2wgZHJtX21vZGVfZXF1YWxf bm9fY2xvY2tzKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlMSwKLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK