From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 3/9] drm: Add drm_connector_for_each_possible_encoder() Date: Thu, 28 Jun 2018 16:13:09 +0300 Message-ID: <20180628131315.14156-4-ville.syrjala@linux.intel.com> References: <20180628131315.14156-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: <20180628131315.14156-1-ville.syrjala@linux.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 Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBhIGNvbnZlbmllbmNlIG1hY3JvIGZvciBpdGVyYXRpbmcgY29ubmVjdG9yLT5lbmNvZGVyX2lk c1tdLgpJc29sYXRlcyB0aGUgdXNlcnMgZnJvbSB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscy4K Ck5vdGUgdGhhdCB3ZSBkb24ndCBzZWVtIHRvIHBhc3MgdGhlIGZpbGVfcHJpdiBkb3duIHRvIGRy bV9lbmNvZGVyX2ZpbmQoKQpiZWNhdXNlIGVuY29kZXJzIGFwcGFyZW50bHkgZG9uJ3QgZ2V0IGxl YXNlZC4gTm8gaWRlYSB3aHkKZHJtX2VuY29kZXJfZmluYygpIGV2ZW4gdGFrZXMgdGhlIGZpbGVf cHJpdiBhY3R1YWxseS4KCkFsc28gdXNlIEFSUkFZX1NJWkUoKSB3aGVuIHBvcHVsYXRpbmcgdGhl IGFycmF5IHRvIGF2b2lkIHNwcmVhZGluZwprbm93bGVkZ2UgYWJvdXQgdGhlIGFycmF5IHNpemUg YWxsIG92ZXIuCgp2MjogSGlkZSB0aGUgZHJtX2VuY29kZXJfZmluZCgpIGluIHRoZSBtYWNybywg YW5kCiAgICByZW5hbWUgdGhlIG1hY3JvIGFwcHJvcHJpYXRlbHkgKERhbmllbCkKCkNjOiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpSZXZpZXdlZC1ieTogQWxleCBEZXVj aGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPiAjdjEKU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgIHwgMjEgKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jICAgIHwgMTEgKystLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgfCAxMCArKystLS0tLS0tCiBpbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmggICAgICAgIHwgMTMgKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2Vk LCAyNyBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3Iu YwppbmRleCAyZjllYmRkZDE3OGUuLjE4NmZlYmNmNGU1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rv ci5jCkBAIC0zMjEsNyArMzIxLDcgQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5j b2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCWlmIChXQVJOX09OKGNvbm5l Y3Rvci0+ZW5jb2RlcikpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JZm9yIChpID0gMDsgaSA8IERS TV9DT05ORUNUT1JfTUFYX0VOQ09ERVI7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9T SVpFKGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHMpOyBpKyspIHsKIAkJaWYgKGNvbm5lY3Rvci0+ZW5j b2Rlcl9pZHNbaV0gPT0gMCkgewogCQkJY29ubmVjdG9yLT5lbmNvZGVyX2lkc1tpXSA9IGVuY29k ZXItPmJhc2UuaWQ7CiAJCQlyZXR1cm4gMDsKQEAgLTE3MDgsMjIgKzE3MDgsMTkgQEAgaW50IGRy bV9tb2RlX2dldGNvbm5lY3RvcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAog CWlmICghY29ubmVjdG9yKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCWZvciAoaSA9IDA7IGkgPCBE Uk1fQ09OTkVDVE9SX01BWF9FTkNPREVSOyBpKyspCi0JCWlmIChjb25uZWN0b3ItPmVuY29kZXJf aWRzW2ldICE9IDApCi0JCQllbmNvZGVyc19jb3VudCsrOworCWRybV9jb25uZWN0b3JfZm9yX2Vh Y2hfcG9zc2libGVfZW5jb2Rlcihjb25uZWN0b3IsIGVuY29kZXIsIGkpCisJCWVuY29kZXJzX2Nv dW50Kys7CiAKIAlpZiAoKG91dF9yZXNwLT5jb3VudF9lbmNvZGVycyA+PSBlbmNvZGVyc19jb3Vu dCkgJiYgZW5jb2RlcnNfY291bnQpIHsKIAkJY29waWVkID0gMDsKIAkJZW5jb2Rlcl9wdHIgPSAo dWludDMyX3QgX191c2VyICopKHVuc2lnbmVkIGxvbmcpKG91dF9yZXNwLT5lbmNvZGVyc19wdHIp OwotCQlmb3IgKGkgPSAwOyBpIDwgRFJNX0NPTk5FQ1RPUl9NQVhfRU5DT0RFUjsgaSsrKSB7Ci0J CQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyX2lkc1tpXSAhPSAwKSB7Ci0JCQkJaWYgKHB1dF91c2Vy KGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHNbaV0sCi0JCQkJCSAgICAgZW5jb2Rlcl9wdHIgKyBjb3Bp ZWQpKSB7Ci0JCQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQkJCWdvdG8gb3V0OwotCQkJCX0KLQkJCQlj b3BpZWQrKzsKKworCQlkcm1fY29ubmVjdG9yX2Zvcl9lYWNoX3Bvc3NpYmxlX2VuY29kZXIoY29u bmVjdG9yLCBlbmNvZGVyLCBpKSB7CisJCQlpZiAocHV0X3VzZXIoZW5jb2Rlci0+YmFzZS5pZCwg ZW5jb2Rlcl9wdHIgKyBjb3BpZWQpKSB7CisJCQkJcmV0ID0gLUVGQVVMVDsKKwkJCQlnb3RvIG91 dDsKIAkJCX0KKwkJCWNvcGllZCsrOwogCQl9CiAJfQogCW91dF9yZXNwLT5jb3VudF9lbmNvZGVy cyA9IGVuY29kZXJzX2NvdW50OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKaW5kZXggYjM3ZjA2MzE3 ZDUxLi5kNjk3YzFjNGEwNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVs cGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwpAQCAtMjMyNiwxNyAr MjMyNiwxMCBAQCBzdGF0aWMgYm9vbCBkcm1fdGFyZ2V0X3ByZWZlcnJlZChzdHJ1Y3QgZHJtX2Zi X2hlbHBlciAqZmJfaGVscGVyLAogc3RhdGljIGJvb2wgY29ubmVjdG9yX2hhc19wb3NzaWJsZV9j cnRjKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIHsKKwlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7CiAJaW50IGk7CiAKLQlm b3IgKGkgPSAwOyBpIDwgRFJNX0NPTk5FQ1RPUl9NQVhfRU5DT0RFUjsgaSsrKSB7Ci0JCXN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKLQotCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyX2lkc1tp XSA9PSAwKQotCQkJYnJlYWs7Ci0KLQkJZW5jb2RlciA9IGRybV9lbmNvZGVyX2ZpbmQoY29ubmVj dG9yLT5kZXYsIE5VTEwsCi0JCQkJCSAgIGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHNbaV0pOwotCisJ ZHJtX2Nvbm5lY3Rvcl9mb3JfZWFjaF9wb3NzaWJsZV9lbmNvZGVyKGNvbm5lY3RvciwgZW5jb2Rl ciwgaSkgewogCQlpZiAoZW5jb2Rlci0+cG9zc2libGVfY3J0Y3MgJiBkcm1fY3J0Y19tYXNrKGNy dGMpKQogCQkJcmV0dXJuIHRydWU7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wcm9iZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKaW5k ZXggNTI3NzQzMzk0MTUwLi4xYTkwMWZlOWUyM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fcHJvYmVfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxw ZXIuYwpAQCAtODgsOSArODgsOSBAQCBkcm1fbW9kZV92YWxpZGF0ZV9waXBlbGluZShzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKLQl1 aW50MzJfdCAqaWRzID0gY29ubmVjdG9yLT5lbmNvZGVyX2lkczsKIAllbnVtIGRybV9tb2RlX3N0 YXR1cyByZXQgPSBNT0RFX09LOwotCXVuc2lnbmVkIGludCBpOworCXN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcjsKKwlpbnQgaTsKIAogCS8qIFN0ZXAgMTogVmFsaWRhdGUgYWdhaW5zdCBjb25u ZWN0b3IgKi8KIAlyZXQgPSBkcm1fY29ubmVjdG9yX21vZGVfdmFsaWQoY29ubmVjdG9yLCBtb2Rl KTsKQEAgLTk4LDEzICs5OCw5IEBAIGRybV9tb2RlX3ZhbGlkYXRlX3BpcGVsaW5lKHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlLAogCQlyZXR1cm4gcmV0OwogCiAJLyogU3RlcCAyOiBWYWxp ZGF0ZSBhZ2FpbnN0IGVuY29kZXJzIGFuZCBjcnRjcyAqLwotCWZvciAoaSA9IDA7IGkgPCBEUk1f Q09OTkVDVE9SX01BWF9FTkNPREVSOyBpKyspIHsKLQkJc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyID0gZHJtX2VuY29kZXJfZmluZChkZXYsIE5VTEwsIGlkc1tpXSk7CisJZHJtX2Nvbm5lY3Rv cl9mb3JfZWFjaF9wb3NzaWJsZV9lbmNvZGVyKGNvbm5lY3RvciwgZW5jb2RlciwgaSkgewogCQlz dHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAKLQkJaWYgKCFlbmNvZGVyKQotCQkJY29udGludWU7Ci0K IAkJcmV0ID0gZHJtX2VuY29kZXJfbW9kZV92YWxpZChlbmNvZGVyLCBtb2RlKTsKIAkJaWYgKHJl dCAhPSBNT0RFX09LKSB7CiAJCQkvKiBObyBwb2ludCBpbiBjb250aW51aW5nIGZvciBjcnRjIGNo ZWNrIGFzIHRoaXMgZW5jb2RlcgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCmluZGV4IDE0YWI1OGFkZTg3Zi4uOGRl M2EzYWE1MTZhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC0xMTkzLDQgKzExOTMsMTcgQEAgdm9pZCBk cm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVy ICppdGVyKTsKICNkZWZpbmUgZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3Rvciwg aXRlcikgXAogCXdoaWxlICgoY29ubmVjdG9yID0gZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfbmV4 dChpdGVyKSkpCiAKKy8qKgorICogZHJtX2Nvbm5lY3Rvcl9mb3JfZWFjaF9wb3NzaWJsZV9lbmNv ZGVyIC0gaXRlcmF0ZSBjb25uZWN0b3IncyBwb3NzaWJsZSBlbmNvZGVycworICogQGNvbm5lY3Rv cjogJnN0cnVjdCBkcm1fY29ubmVjdG9yIHBvaW50ZXIgdXNlZCBhcyBjdXJzb3IKKyAqIEBlbmNv ZGVyOiB0aGUgZW5jb2RlcgorICogQF9faTogaW50IGl0ZXJhdGlvbiBjdXJzb3IsIGZvciBtYWNy by1pbnRlcm5hbCB1c2UKKyAqLworI2RlZmluZSBkcm1fY29ubmVjdG9yX2Zvcl9lYWNoX3Bvc3Np YmxlX2VuY29kZXIoY29ubmVjdG9yLCBlbmNvZGVyLCBfX2kpIFwKKwlmb3IgKChfX2kpID0gMDsg KF9faSkgPCBBUlJBWV9TSVpFKChjb25uZWN0b3IpLT5lbmNvZGVyX2lkcykgJiYgXAorCQkgICAg IChjb25uZWN0b3IpLT5lbmNvZGVyX2lkc1soX19pKV0gIT0gMDsgKF9faSkrKykgXAorCQlmb3Jf ZWFjaF9pZigoZW5jb2RlcikgPSBcCisJCQkgICAgZHJtX2VuY29kZXJfZmluZCgoY29ubmVjdG9y KS0+ZGV2LCBOVUxMLCBcCisJCQkJCSAgICAgKGNvbm5lY3RvciktPmVuY29kZXJfaWRzWyhfX2kp XSkpIFwKKwogI2VuZGlmCi0tIAoyLjE2LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=