From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [RFC][PATCH 08/11] drm: Add drm_connector_fill_modes() Date: Tue, 27 Feb 2018 14:56:57 +0200 Message-ID: <20180227125700.6527-9-ville.syrjala@linux.intel.com> References: <20180227125700.6527-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180227125700.6527-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: dri-devel@lists.freedesktop.org Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCldy YXAgdGhlIC0+ZmlsbF9tb2RlcygpIGNhbGwgaW4gYSBzbWFsbCBoZWxwZXIgdGhhdCBmaXJzdCBj bGVhcnMgb3V0IHRoZQpzdGFsZSBkYXRhIGZyb20gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uIFRo aXMgc2hvdWxkIGd1YXJhbnRlZSB0aGF0IHdlCmdldCBjb25zaXN0ZW50IGRpc3BsYXlfaW5mbyB3 aGV0aGVyIG9yIG5vdCB0aGUgZHJpdmVycyB1c2UgdGhlIEVESUQKYmFzZWQgc3R1ZmYgdG8gY2xl YXIgYW5kIGZpbGwgaXQuCgpUT0RPOiB3aGF0IGFib3V0IGp1c3QgYWZ0ZXIgaW5pdCwgYmVmb3Jl IGFueW9uZSBoYXMgY2FsbGVkCi0+ZmlsbF9tb2RlcygpPyBJbiB0aGF0IGNhc2UgdXNlcnNwYWNl IGNvdWxkIHNlZSBzdGFsZSBkYXRhIGlmIHRoZXkgZG8KdGhlIGNoZWFwIGdldGNvbm5lY3RvciBp b2N0bC4gTm90IHN1cmUgaWYgdGhhdCdzIGEgdmFsaWQgY29uY2VybiB0aG91Z2guCgpDYzogS2Vp dGggUGFja2FyZCA8a2VpdGhwQGtlaXRocC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9y LmMgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICB8IDE0ICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9kcm1fZmJfaGVscGVyLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5j ICAgICB8ICA2ICsrKy0tLQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICB8ICAzICsr KwogaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICB8ICAxIC0KIDYgZmlsZXMgY2hhbmdl ZCwgNDggaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9y LmMKaW5kZXggZDhjM2VmNGYxN2RhLi4yYmYxOWEzN2RiYWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYwpAQCAtMTM4OSw3ICsxMzg5LDcgQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVf ZWRpZF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCSAqIGR1cGxp Y2F0ZSBpdCByYXRoZXIgdGhhbiBhdHRlbXB0IHRvIGVuc3VyZSBzb21lIGFyYml0cmFyeQogCSAq IG9yZGVyaW5nIG9mIGNhbGxzLgogCSAqLwotCWRybV9yZXNldF9kaXNwbGF5X2luZm8oY29ubmVj dG9yKTsKKwlkcm1fY29ubmVjdG9yX3Jlc2V0X2Rpc3BsYXlfaW5mbyhjb25uZWN0b3IpOwogCWlm IChlZGlkICYmIGRybV9lZGlkX2lzX3ZhbGlkKGVkaWQpKQogCQlkcm1fYWRkX2Rpc3BsYXlfaW5m byhjb25uZWN0b3IsIGVkaWQpOwogCkBAIC0xNTk0LDkgKzE1OTQsOSBAQCBpbnQgZHJtX21vZGVf Z2V0Y29ubmVjdG9yKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAKIAltdXRl eF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIAlpZiAob3V0X3Jlc3AtPmNvdW50X21v ZGVzID09IDApIHsKLQkJY29ubmVjdG9yLT5mdW5jcy0+ZmlsbF9tb2Rlcyhjb25uZWN0b3IsCi0J CQkJCSAgICAgZGV2LT5tb2RlX2NvbmZpZy5tYXhfd2lkdGgsCi0JCQkJCSAgICAgZGV2LT5tb2Rl X2NvbmZpZy5tYXhfaGVpZ2h0KTsKKwkJZHJtX2Nvbm5lY3Rvcl9maWxsX21vZGVzKGNvbm5lY3Rv ciwKKwkJCQkJIGRldi0+bW9kZV9jb25maWcubWF4X3dpZHRoLAorCQkJCQkgZGV2LT5tb2RlX2Nv bmZpZy5tYXhfaGVpZ2h0KTsKIAl9CiAKIAlvdXRfcmVzcC0+bW1fd2lkdGggPSBjb25uZWN0b3It PmRpc3BsYXlfaW5mby53aWR0aF9tbTsKQEAgLTE3NTksMyArMTc1OSwzOSBAQCBzdHJ1Y3QgZHJt X3RpbGVfZ3JvdXAgKmRybV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiAJcmV0dXJuIHRnOwogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfdGls ZV9ncm91cCk7CisKKy8qKgorICogZHJtX2Nvbm5lY3Rvcl9yZXNldF9kaXNwbGF5X2luZm8gLSBy ZXNldCB0aGUgY29ubmVjdG9yJ3MgZGlzcGxheSBpbmZvCisgKiBAY29ubmVjdG9yOiBEUk0gY29u bmVjdG9yCisgKgorICogQ2xlYXIgdGhlIG9sZCBkaXNwbGF5IGluZm8gZm9yIEBjb25uZWN0b3Ig YWxsb3dpbmcgdGhlIGRyaXZlciB0bworICogcmVwb3B1bGF0ZSBpdCBiYXNlZCBvbiBmcmVzaCBk YXRhLgorICovCit2b2lkIGRybV9jb25uZWN0b3JfcmVzZXRfZGlzcGxheV9pbmZvKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmlu Zm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87CisKKwltZW1zZXQoaW5mbywgMCwgc2l6ZW9m KCppbmZvKSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChkcm1fY29ubmVjdG9yX3Jlc2V0X2Rpc3Bs YXlfaW5mbyk7CisKKy8qKgorICogZHJtX2Nvbm5lY3Rvcl9maWxsX21vZGVzIC0gZmlsbCBjb25u ZWN0b3IgbW9kZSBsaXN0IGFuZCBkeW5hbWljIGRpc3BsYXkgaW5mbworICogQGNvbm5lY3Rvcjog RFJNIGNvbm5lY3RvcgorICogQG1heF93aWR0aDogbWF4IHdpZHRoIGZvciBtb2RlcworICogQG1h eF9oZWlnaHQ6IG1heCBoZWlnaHQgZm9yIG1vZGVzCisgKgorICogUmVzZXQgdGhlIGRpc3BsYXkg aW5mbyBhbmQgY2FsbHMgJmRybV9jb25uZWN0b3JfZnVuY3MuZmlsbF9tb2RlcygpIHZmdW5jCisg KiByZXBvcHVsYXRlIGl0IGFuZCBhbmQgdGhlIG1vZGUgbGlzdC4KKyAqCisgKiBSRVRVUk5TOgor ICogVGhlIG51bWJlciBvZiBtb2RlcyBmb3VuZCBvbiBAY29ubmVjdG9yLgorICovCitpbnQgZHJt X2Nvbm5lY3Rvcl9maWxsX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCisJ CQkgICAgIHVuc2lnbmVkIGludCBtYXhfd2lkdGgsIHVuc2lnbmVkIGludCBtYXhfaGVpZ2h0KQor eworCWRybV9jb25uZWN0b3JfcmVzZXRfZGlzcGxheV9pbmZvKGNvbm5lY3Rvcik7CisKKwlyZXR1 cm4gY29ubmVjdG9yLT5mdW5jcy0+ZmlsbF9tb2Rlcyhjb25uZWN0b3IsIG1heF93aWR0aCwgbWF4 X2hlaWdodCk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfZmlsbF9tb2Rlcyk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZWRpZC5jCmluZGV4IDc4YzFmMzdiZTNkYi4uNjE4MDkzYzRhMDM5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu YwpAQCAtNDQzNSwxOCArNDQzNSw2IEBAIHN0YXRpYyB2b2lkIGRybV9wYXJzZV9jZWFfZXh0KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJfQogfQogCi0vKiBBIGNvbm5lY3RvciBo YXMgbm8gRURJRCBpbmZvcm1hdGlvbiwgc28gd2UndmUgZ290IG5vIEVESUQgdG8gY29tcHV0ZSBx dWlya3MgZnJvbS4gUmVzZXQKLSAqIGFsbCBvZiB0aGUgdmFsdWVzIHdoaWNoIHdvdWxkIGhhdmUg YmVlbiBzZXQgZnJvbSBFRElECi0gKi8KLXZvaWQKLWRybV9yZXNldF9kaXNwbGF5X2luZm8oc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKLXsKLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5m byAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKLQotCW1lbXNldChpbmZvLCAwLCBz aXplb2YoKmluZm8pKTsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGRybV9yZXNldF9kaXNwbGF5X2lu Zm8pOwotCiB1MzIgZHJtX2FkZF9kaXNwbGF5X2luZm8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCiB7CiAJc3RydWN0IGRybV9kaXNwbGF5 X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87CkBAIC00NjY1LDcgKzQ2NTMs NyBAQCBpbnQgZHJtX2FkZF9lZGlkX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsIHN0cnVjdCBlZGlkICplZGlkKQogCWludCBudW1fbW9kZXMgPSAwOwogCXUzMiBxdWlya3M7 CiAKLQlkcm1fcmVzZXRfZGlzcGxheV9pbmZvKGNvbm5lY3Rvcik7CisJZHJtX2Nvbm5lY3Rvcl9y ZXNldF9kaXNwbGF5X2luZm8oY29ubmVjdG9yKTsKIAogCWlmIChlZGlkID09IE5VTEwpIHsKIAkJ Y2xlYXJfZWxkKGNvbm5lY3Rvcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Zi X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwppbmRleCAxOGNiNjNi MzBlMzMuLmYzZWRkYmJkMDYxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCkBAIC0yMDI3LDcg KzIwMjcsNyBAQCBzdGF0aWMgaW50IGRybV9mYl9oZWxwZXJfcHJvYmVfY29ubmVjdG9yX21vZGVz KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAKIAlkcm1fZmJfaGVscGVyX2Zvcl9l YWNoX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGkpIHsKIAkJY29ubmVjdG9yID0gZmJfaGVscGVyLT5j b25uZWN0b3JfaW5mb1tpXS0+Y29ubmVjdG9yOwotCQljb3VudCArPSBjb25uZWN0b3ItPmZ1bmNz LT5maWxsX21vZGVzKGNvbm5lY3RvciwgbWF4WCwgbWF4WSk7CisJCWNvdW50ICs9IGRybV9jb25u ZWN0b3JfZmlsbF9tb2Rlcyhjb25uZWN0b3IsIG1heFgsIG1heFkpOwogCX0KIAogCXJldHVybiBj b3VudDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3lzZnMuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fc3lzZnMuYwppbmRleCAxYzViNWNlMWZkN2YuLjNjNmU4MDBiNjZhMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fc3lzZnMuYwpAQCAtMTMwLDkgKzEzMCw5IEBAIHN0YXRpYyBzc2l6ZV90IHN0YXR1c19z dG9yZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsCiAJCQkgICAgICBjb25uZWN0b3ItPm5hbWUsCiAJ CQkgICAgICBvbGRfZm9yY2UsIGNvbm5lY3Rvci0+Zm9yY2UpOwogCi0JCWNvbm5lY3Rvci0+ZnVu Y3MtPmZpbGxfbW9kZXMoY29ubmVjdG9yLAotCQkJCQkgICAgIGRldi0+bW9kZV9jb25maWcubWF4 X3dpZHRoLAotCQkJCQkgICAgIGRldi0+bW9kZV9jb25maWcubWF4X2hlaWdodCk7CisJCWRybV9j b25uZWN0b3JfZmlsbF9tb2Rlcyhjb25uZWN0b3IsCisJCQkJCSBkZXYtPm1vZGVfY29uZmlnLm1h eF93aWR0aCwKKwkJCQkJIGRldi0+bW9kZV9jb25maWcubWF4X2hlaWdodCk7CiAJfQogCiAJbXV0 ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCA4 ODE1ZWYxY2U0MjkuLmJmMTQ0NzRjODNmNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nv bm5lY3Rvci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAtMTEyNCw2ICsx MTI0LDkgQEAgdm9pZCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IKIAkJCQkJCSB1aW50NjRfdCBsaW5rX3N0 YXR1cyk7CiBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5 KAogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCB3aWR0aCwgaW50IGhlaWdo dCk7Cit2b2lkIGRybV9jb25uZWN0b3JfcmVzZXRfZGlzcGxheV9pbmZvKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpOworaW50IGRybV9jb25uZWN0b3JfZmlsbF9tb2RlcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJICAgICB1bnNpZ25lZCBpbnQgbWF4X3dpZHRo LCB1bnNpZ25lZCBpbnQgbWF4X2hlaWdodCk7CiAKIC8qKgogICogc3RydWN0IGRybV90aWxlX2dy b3VwIC0gVGlsZSBncm91cCBtZXRhZGF0YQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Vk aWQuaCBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKaW5kZXggOGQ4OWE5YzM3NDhkLi5kYjVlNmE5 OTBjMmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2VkaWQuaApAQCAtNDY1LDcgKzQ2NSw2IEBAIHN0cnVjdCBlZGlkICpkcm1fZ2V0X2Vk aWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIHN0cnVjdCBlZGlkICpkcm1fZ2V0 X2VkaWRfc3dpdGNoZXJvbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCSAg ICAgc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKTsKIHN0cnVjdCBlZGlkICpkcm1fZWRpZF9k dXBsaWNhdGUoY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwotdm9pZCBkcm1fcmVzZXRfZGlzcGxh eV9pbmZvKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwogdTMyIGRybV9hZGRfZGlz cGxheV9pbmZvKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHN0cnVjdCBl ZGlkICplZGlkKTsKIGludCBkcm1fYWRkX2VkaWRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvciwgc3RydWN0IGVkaWQgKmVkaWQpOwogCi0tIAoyLjEzLjYKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=