From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC v4 11/25] drm/connector: Add connector array functions Date: Mon, 16 Apr 2018 10:33:15 +0200 Message-ID: <20180416083315.GM31310@phenom.ffwll.local> References: <20180414115318.14500-1-noralf@tronnes.org> <20180414115318.14500-12-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180414115318.14500-12-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCBBcHIgMTQsIDIwMTggYXQgMDE6NTM6MDRQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IEFkZCBmdW5jdGlvbnMgdG8gZGVhbCB3aXRoIHRoZSByZWdpc3RyZWQgY29ubmVj dG9ycyBhcyBhbiBhcnJheToKPiAtIGRybV9jb25uZWN0b3JfZ2V0X2FsbCgpCj4gLSBkcm1fY29u bmVjdG9yX3B1dF9hbGwoKQo+IAo+IEFuZCB0byBnZXQgdGhlIGVuYWJsZWQgc3RhdHVzIG9mIHRo b3NlIGNvbm5lY3RvcnM6Cj4gZHJtX2Nvbm5lY3Rvcl9nZXRfZW5hYmxlZF9zdGF0dXMoKQo+IAo+ IFRoaXMgaXMgcHJlcCB3b3JrIHRvIHJlbW92ZSBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jb25uZWN0 b3IuCj4gCj4gU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5v cmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgfCAxMDUgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRlL2RybS9kcm1fY29u bmVjdG9yLmggICAgIHwgICA1ICsrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMo KykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiBpbmRleCBiOWViMTQzZDcwZmMuLjI1YzMz M2MwNWE0ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+IEBAIC0xODU0LDMgKzE4NTQs MTA4IEBAIGRybV9jb25uZWN0b3JfcGlja19jbWRsaW5lX21vZGUoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgCXJldHVybiBtb2RlOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJt X2Nvbm5lY3Rvcl9waWNrX2NtZGxpbmVfbW9kZSk7Cj4gKwo+ICsvKioKPiArICogZHJtX2Nvbm5l Y3Rvcl9nZXRfYWxsIC0gR2V0IGFsbCBjb25uZWN0b3JzIGludG8gYW4gYXJyYXkKPiArICogQGRl djogRFJNIGRldmljZQo+ICsgKiBAY29ubmVjdG9yczogUmV0dXJuZWQgY29ubmVjdG9yIGFycmF5 Cj4gKyAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gaXRlcmF0ZXMgdGhyb3VnaCBhbGwgcmVnaXN0ZXJl ZCBjb25uZWN0b3JzIGFuZCBhZGRzIHRoZW0gdG8gYW4KPiArICogYXJyYXkgYWxsb2NhdGVkIGJ5 IHRoaXMgZnVuY3Rpb24uIEEgcmVmIGlzIHRha2VuIG9uIHRoZSBjb25uZWN0b3JzLgo+ICsgKgo+ ICsgKiBVc2UgZHJtX2Nvbm5lY3Rvcl9wdXRfYWxsKCkgdG8gZHJvcCByZWZzIGFuZCBmcmVlIHRo ZSBhcnJheS4KPiArICoKPiArICogUmV0dXJuczoKPiArICogTnVtYmVyIG9mIGNvbm5lY3RvcnMg b3IgLUVOT01FTSBvbiBmYWlsdXJlLgo+ICsgKi8KPiAraW50IGRybV9jb25uZWN0b3JfZ2V0X2Fs bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqKipjb25uZWN0 b3JzKQoKSSBob25lc3RseSBkb24ndCBsaWtlIHRoZSBmYmRldiBwYXR0ZXJuIG9mIGhhdmluZyBj b25uZWN0b3IgYXJyYXlzIGFsbAp0aGF0IG11Y2guIEkgdGhpbmsgaW4gYSB3b3JsZCBvZiBob3Rw bHVnIHdlIHNob3VsZCBoYXZlIGFzIG11Y2ggY29kZSBhcwpwb3NzaWJsZSBpdGVyYXRpbmcgb3Zl ciB0aGUgbGlmZSBjb25uZWN0b3IgbGlzdCB1c2luZyB0aGUgc3BlY2lhbApmdW5jdGlvbnMuCgpH aXZlbiB0aGF0IHRoZXNlIGZ1bmN0aW9ucyBoZXJlIHNldCBhIGJpdCBhIGJhZCBleGFtcGxlIGlt byBJJ2QgZHJvcCB0aGVtCmFuZCBqdXN0IGxpdmUgd2l0aCB0aGUgY29kZSBkdXBsaWNhdGlvbi4K LURhbmllbAoKPiArewo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgKip0ZW1w LCAqKmNvbm5zID0gTlVMTDsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25u X2l0ZXI7Cj4gKwlpbnQgY29ubmVjdG9yX2NvdW50ID0gMDsKPiArCj4gKwlkcm1fY29ubmVjdG9y X2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2l0ZXIpOwo+ICsJZHJtX2Zvcl9lYWNoX2Nvbm5l Y3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+ICsJCXRlbXAgPSBrcmVhbGxvYyhj b25ucywgKGNvbm5lY3Rvcl9jb3VudCArIDEpICogc2l6ZW9mKCpjb25ucyksIEdGUF9LRVJORUwp Owo+ICsJCWlmICghdGVtcCkKPiArCQkJZ290byBlcnJfcHV0X2ZyZWU7Cj4gKwo+ICsJCWNvbm5z ID0gdGVtcDsKPiArCQljb25uc1tjb25uZWN0b3JfY291bnQrK10gPSBjb25uZWN0b3I7Cj4gKwkJ ZHJtX2Nvbm5lY3Rvcl9nZXQoY29ubmVjdG9yKTsKPiArCX0KPiArCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKPiArCj4gKwkqY29ubmVjdG9ycyA9IGNvbm5zOwo+ICsK PiArCXJldHVybiBjb25uZWN0b3JfY291bnQ7Cj4gKwo+ICtlcnJfcHV0X2ZyZWU6Cj4gKwlkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gKwlkcm1fY29ubmVjdG9yX3B1 dF9hbGwoY29ubnMsIGNvbm5lY3Rvcl9jb3VudCk7Cj4gKwo+ICsJcmV0dXJuIC1FTk9NRU07Cj4g K30KPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2dldF9hbGwpOwo+ICsKPiArLyoqCj4g KyAqIGRybV9jb25uZWN0b3JfcHV0X2FsbCAtIFB1dCBhbmQgZnJlZSBjb25uZWN0b3IgYXJyYXkK PiArICogQGNvbm5lY3RvcnM6IEFycmF5IG9mIGNvbm5lY3RvcnMKPiArICogQGNvbm5lY3Rvcl9j b3VudDogTnVtYmVyIG9mIGNvbm5lY3RvcnMgaW4gdGhlIGFycmF5IChjYW4gYmUgbmVnYXRpdmUg b3IgemVybykKPiArICoKPiArICogVGhpcyBmdW5jdGlvbiBkcm9wcyB0aGUgcmVmIG9uIHRoZSBj b25uZWN0b3JzIGFuIGZyZWVzIHRoZSBhcnJheS4KPiArICovCj4gK3ZvaWQgZHJtX2Nvbm5lY3Rv cl9wdXRfYWxsKHN0cnVjdCBkcm1fY29ubmVjdG9yICoqY29ubmVjdG9ycywgaW50IGNvbm5lY3Rv cl9jb3VudCkKPiArewo+ICsJaW50IGk7Cj4gKwo+ICsJaWYgKGNvbm5lY3Rvcl9jb3VudCA8IDEp Cj4gKwkJcmV0dXJuOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBjb25uZWN0b3JfY291bnQ7IGkr KykKPiArCQlkcm1fY29ubmVjdG9yX3B1dChjb25uZWN0b3JzW2ldKTsKPiArCWtmcmVlKGNvbm5l Y3RvcnMpOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9wdXRfYWxsKTsKPiAr Cj4gKy8qKgo+ICsgKiBkcm1fY29ubmVjdG9yX2dldF9lbmFibGVkX3N0YXR1cyAtIEdldCBlbmFi bGVkIHN0YXR1cyBvbiBjb25uZWN0b3JzCj4gKyAqIEBjb25uZWN0b3JzOiBBcnJheSBvZiBjb25u ZWN0b3JzCj4gKyAqIEBjb25uZWN0b3JfY291bnQ6IE51bWJlciBvZiBjb25uZWN0b3JzIGluIHRo ZSBhcnJheQo+ICsgKgo+ICsgKiBUaGlzIGxvb3BzIG92ZXIgdGhlIGNvbm5lY3RvciBhcnJheSBh bmQgc2V0cyBlbmFibGVkIGlmIGNvbm5lY3RvciBzdGF0dXMgaXMKPiArICogX2Nvbm5lY3RlZF8u IElmIG5vIGNvbm5lY3RvcnMgYXJlIGNvbm5lY3RlZCwgYSBuZXcgcGFzcyBpcyBkb25lIGFuZAo+ ICsgKiBjb25uZWN0b3JzIHRoYXQgYXJlIG5vdCBfZGlzY29ubmVjdGVkXyBhcmUgc2V0IGVuYWJs ZWQuCj4gKyAqCj4gKyAqIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgdGhl IGFycmF5IHVzaW5nIGtmcmVlKCkuCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIEEgYm9vbGVh biBhcnJheSBvZiBjb25uZWN0b3IgZW5hYmxlZCBzdGF0dXNlcyBvciBOVUxMIG9uIGFsbG9jYXRp b24gZmFpbHVyZS4KPiArICovCj4gK2Jvb2wgKmRybV9jb25uZWN0b3JfZ2V0X2VuYWJsZWRfc3Rh dHVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICoqY29ubmVjdG9ycywKPiArCQkJCSAgICAgICB1bnNp Z25lZCBpbnQgY29ubmVjdG9yX2NvdW50KQo+ICt7Cj4gKwlib29sICplbmFibGVkLCBhbnlfZW5h YmxlZCA9IGZhbHNlOwo+ICsJdW5zaWduZWQgaW50IGk7Cj4gKwo+ICsJZW5hYmxlZCA9IGtjYWxs b2MoY29ubmVjdG9yX2NvdW50LCBzaXplb2YoKmVuYWJsZWQpLCBHRlBfS0VSTkVMKTsKPiArCWlm ICghZW5hYmxlZCkKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgY29u bmVjdG9yX2NvdW50OyBpKyspIHsKPiArCQlpZiAoY29ubmVjdG9yc1tpXS0+c3RhdHVzID09IGNv bm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKSB7Cj4gKwkJCWVuYWJsZWRbaV0gPSB0cnVlOwo+ICsJ CQlhbnlfZW5hYmxlZCA9IHRydWU7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCWlmIChhbnlfZW5hYmxl ZCkKPiArCQlyZXR1cm4gZW5hYmxlZDsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgY29ubmVjdG9y X2NvdW50OyBpKyspCj4gKwkJaWYgKGNvbm5lY3RvcnNbaV0tPnN0YXR1cyAhPSBjb25uZWN0b3Jf c3RhdHVzX2Rpc2Nvbm5lY3RlZCkKPiArCQkJZW5hYmxlZFtpXSA9IHRydWU7Cj4gKwo+ICsJcmV0 dXJuIGVuYWJsZWQ7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2dldF9lbmFi bGVkX3N0YXR1cyk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBi L2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IGluZGV4IDljYjRjYTQyMzczYy4uYzM1NTZh NWY0MGM5IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ICsrKyBi L2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IEBAIC0xMTY5LDQgKzExNjksOSBAQCBkcm1f Y29ubmVjdG9yX2hhc19wcmVmZXJyZWRfbW9kZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqCj4gIGRybV9jb25uZWN0b3JfcGlja19j bWRsaW5lX21vZGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIAo+ICtpbnQg ZHJtX2Nvbm5lY3Rvcl9nZXRfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f Y29ubmVjdG9yICoqKmNvbm5lY3RvcnMpOwo+ICt2b2lkIGRybV9jb25uZWN0b3JfcHV0X2FsbChz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqKmNvbm5lY3RvcnMsIGludCBjb25uZWN0b3JfY291bnQpOwo+ ICtib29sICpkcm1fY29ubmVjdG9yX2dldF9lbmFibGVkX3N0YXR1cyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqKmNvbm5lY3RvcnMsCj4gKwkJCQkgICAgICAgdW5zaWduZWQgaW50IGNvbm5lY3Rvcl9j b3VudCk7Cj4gKwo+ICAjZW5kaWYKPiAtLSAKPiAyLjE1LjEKPiAKPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNv ZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK