From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH] drm: bridge: Allow daisy chaining of bridges Date: Thu, 09 Apr 2015 13:38:46 +0530 Message-ID: <5526338E.1040206@codeaurora.org> References: <1428559958-1902-1-git-send-email-architt@codeaurora.org> <871tjtsr0a.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTP id 439D189C09 for ; Thu, 9 Apr 2015 01:08:52 -0700 (PDT) In-Reply-To: <871tjtsr0a.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jani Nikula , dri-devel@lists.freedesktop.org Cc: daniel.vetter@ffwll.ch, andy.yan@rock-chips.com, ajaykumar.rs@samsung.com, airlied@redhat.com List-Id: dri-devel@lists.freedesktop.org SGksCgpPbiAwNC8wOS8yMDE1IDEyOjU0IFBNLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBPbiBUaHUs IDA5IEFwciAyMDE1LCBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPiB3cm90 ZToKPj4gQWxsb3cgZHJtX2JyaWRnZSBvYmplY3RzIHRvIGxpbmsgdG8gZWFjaCBvdGhlciBpbiBv cmRlciB0byBmb3JtIGFuIGVuY29kZXIKPj4gY2hhaW4uIFRoZSByZXF1aXJlbWVudCBmb3IgY3Jl YXRpbmcgYSBjaGFpbiBvZiBicmlkZ2VzIGNvbWVzIGJlY2F1c2UgdGhlCj4+IE1TTSBkcm0gZHJp dmVyIHVzZXMgdXAgaXRzIGVuY29kZXIgYW5kIGJyaWRnZSBvYmplY3RzIGZvciBibG9ja3Mgd2l0 aGluCj4+IHRoZSBTb0MgaXRzZWxmLiBUaGVyZSBpc24ndCBhbnl0aGluZyBsZWZ0IHRvIHVzZSBp ZiB0aGUgU29DIGRpc3BsYXkgb3V0cHV0Cj4+IGlzIGNvbm5lY3RlZCB0byBhbiBleHRlcm5hbCBl bmNvZGVyIElDLiBIYXZpbmcgYW4gYWRkaXRpb25hbCBicmlkZ2UKPj4gY29ubmVjdGVkIHRvIHRo ZSBleGlzdGluZyBicmlkZ2UgaGVscHMgaGVyZS4gSW4gZ2VuZXJhbCwgaXQgaXMgcG9zc2libGUg Zm9yCj4+IHBsYXRmb3JtcyB0byBoYXZlICBtdWx0aXBsZSBkZXZpY2VzIGJldHdlZW4gdGhlIGVu Y29kZXIgYW5kIHRoZQo+PiBjb25uZWN0b3IvcGFuZWwgdGhhdCByZXF1aXJlIHNvbWUgc29ydCBv ZiBjb25maWd1cmF0aW9uLgo+Pgo+PiBXZSBjcmVhdGUgZHJtIGJyaWRnZSBoZWxwZXIgZnVuY3Rp b25zIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBvcCBpbgo+PiAnZHJtX2JyaWRnZV9mdW5jcycuIFRo ZXNlIGhlbHBlcnMgY2FsbCB0aGUgY29ycmVzcG9uZGluZyAnZHJtX2JyaWRnZV9mdW5jcycKPj4g b3AgZm9yIHRoZSBlbnRpcmUgY2hhaW4gb2YgYnJpZGdlcy4gVGhlc2UgaGVscGVycyBhcmUgdXNl ZCBpbnRlcm5hbGx5IGJ5Cj4+IGRybV9hdG9taWNfaGVscGVyLmMgYW5kIGRybV9jcnRjX2hlbHBl ci5jLgo+Pgo+PiBUaGUgZHJtX2JyaWRnZV9lbmFibGUvcHJlX2VuYWJsZSBoZWxwZXJzIGV4ZWN1 dGUgZW5hYmxlL3ByZV9lbmFibGUgb3BzIG9mIHRoZQo+PiBicmlkZ2UgY2xvc2V0IHRvIHRoZSBl bmNvZGVyLCBhbmQgcHJvY2VlZCB1bnRpbCB0aGUgbGFzdCBicmlkZ2UgaW4gdGhlIGNoYWluCj4+ IGlzIGVuYWJsZWQuIFRoZSBzYW1lIGhvbGRzIGZvciBkcm1fYnJpZGdlX21vZGVfc2V0L21vZGVf Zml4dXAgaGVscGVycy4gVGhlCj4+IGRybV9icmlkZ2VfZGlzYWJsZS9wb3N0X2Rpc2FibGUgaGVs cGVycyBkaXNhYmxlIHRoZSBsYXN0IGJyaWRnZSBpbiB0aGUgY2hhaW4KPj4gZmlyc3QsIGFuZCBw cm9jZWVkIHVudGlsIHRoZSBmaXJzdCBicmlkZ2UgaW4gdGhlIGNoYWluIGlzIGRpc2FibGVkLgo+ Pgo+PiBkcm1fYnJpZGdlX2F0dGFjaCgpIHJlbWFpbnMgdGhlIHNhbWUuIEFzIGJlZm9yZSwgdGhl IGRyaXZlciBjYWxsaW5nIHRoaXMKPj4gZnVuY3Rpb24gc2hvdWxkIG1ha2Ugc3VyZSBpdCBoYXMg c2V0IHRoZSBsaW5rcyBjb3JyZWN0bHkuIFRoZSBvcmRlciBpbiB3aGljaAo+PiB0aGUgYnJpZGdl cyBhcmUgY29ubmVjdGVkIHRvIGVhY2ggb3RoZXIgZGV0ZXJtaW5lcyB0aGUgb3JkZXIgaW4gd2hp Y2ggdGhlCj4+IGNhbGxzIGFyZSBtYWRlLiBPbmUgcmVxdWlyZW1lbnQgaXMgdGhhdCBldmVyeSBi cmlkZ2UgaW4gdGhlIGNoYWluIHNob3VsZCBwb2ludAo+PiB0aGUgcGFyZW50IGVuY29kZXIgb2Jq ZWN0LiBUaGlzIGlzIHJlcXVpcmVkIHNpbmNlIGJyaWRnZSBkcml2ZXJzIGV4cGVjdCBhCj4+IHZh bGlkIGVuY29kZXIgcG9pbnRlciBpbiBkcm1fYnJpZGdlLiBGb3IgZXhhbXBsZSwgY29uc2lkZXIg YSBjaGFpbiB3aGVyZSBhbgo+PiBlbmNvZGVyJ3Mgb3V0cHV0IGlzIGNvbm5lY3RlZCB0byBicmlk Z2UxLCBhbmQgYnJpZGdlMSdzIG91dHB1dCBpcyBjb25uZWN0ZWQgdG8KPj4gYnJpZGdlMjoKPj4K Pj4gCS8qIExpa2UgYmVmb3JlLCBhdHRhY2ggYnJpZGdlIHRvIGFuIGVuY29kZXIgKi8KPj4gCWJy aWRnZTEtPmVuY29kZXIgPSBlbmNvZGVyOwo+PiAJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZGV2 LCBicmlkZ2UxKTsKPj4gCS4uCj4+Cj4+IAkvKgo+PiAJICogc2V0IHRoZSBmaXJzdCBicmlkZ2Un cyAnbmV4dCcgYnJpZGdlIHRvIGJyaWRnZTIsIHNldCBpdHMgZW5jb2Rlcgo+PiAJICogYXMgYnJp ZGdlMSdzIGVuY29kZXIKPj4gCSAqLwo+PiAJYnJpZGdlMS0+bmV4dCA9IGJyaWRnZTIKPj4gCWJy aWRnZTItPmVuY29kZXIgPSBicmlkZ2UxLT5lbmNvZGVyOwo+PiAJcmV0ID0gZHJtX2JyaWRnZV9h dHRhY2goZGV2LCBicmlkZ2UyKTsKPj4KPj4gCS4uLgo+PiAJLi4uCj4+Cj4+IFRoaXMgbWV0aG9k IG9mIGJyaWRnZSBjaGFpbmluZyBpc24ndCBpbnRydXNpdmUgYW5kIGV4aXN0aW5nIGRyaXZlcnMg dGhhdCB1c2UKPj4gZHJtX2JyaWRnZSB3aWxsIGJlaGF2ZSB0aGUgc2FtZSB3YXkgYXMgYmVmb3Jl LiBUaGUgYnJpZGdlIGhlbHBlcnMgYWxzbyBjbGVhbnMKPj4gdXAgdGhlIGF0b21pYyBhbmQgY3J0 YyBoZWxwZXIgZmlsZXMgYSBiaXQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEg PGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jIHwgMjkgKysrKysrLS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fYnJpZGdlLmMgICAgICAgIHwgNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyAgIHwgNTQgKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPj4gICBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAg ICAgICAgICAgICB8IDE0ICsrKysrKysrCj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0 aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4+IGluZGV4IDdlM2E1MmIuLjBiNDU3NGUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jCj4+IEBAIC0yODcsMTQgKzI4NywxMSBAQCBtb2RlX2ZpeHVwKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gICAJCWVuY29kZXIgPSBjb25uX3N0YXRlLT5iZXN0 X2VuY29kZXI7Cj4+ICAgCQlmdW5jcyA9IGVuY29kZXItPmhlbHBlcl9wcml2YXRlOwo+Pgo+PiAt CQlpZiAoZW5jb2Rlci0+YnJpZGdlICYmIGVuY29kZXItPmJyaWRnZS0+ZnVuY3MtPm1vZGVfZml4 dXApIHsKPj4gLQkJCXJldCA9IGVuY29kZXItPmJyaWRnZS0+ZnVuY3MtPm1vZGVfZml4dXAoCj4+ IC0JCQkJCWVuY29kZXItPmJyaWRnZSwgJmNydGNfc3RhdGUtPm1vZGUsCj4+IC0JCQkJCSZjcnRj X3N0YXRlLT5hZGp1c3RlZF9tb2RlKTsKPj4gLQkJCWlmICghcmV0KSB7Cj4+IC0JCQkJRFJNX0RF QlVHX0tNUygiQnJpZGdlIGZpeHVwIGZhaWxlZFxuIik7Cj4+IC0JCQkJcmV0dXJuIC1FSU5WQUw7 Cj4+IC0JCQl9Cj4+ICsJCXJldCA9IGRybV9icmlkZ2VfbW9kZV9maXh1cChlbmNvZGVyLT5icmlk Z2UsICZjcnRjX3N0YXRlLT5tb2RlLAo+PiArCQkJCSZjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2Rl KTsKPj4gKwkJaWYgKCFyZXQpIHsKPj4gKwkJCURSTV9ERUJVR19LTVMoIkJyaWRnZSBmaXh1cCBm YWlsZWRcbiIpOwo+PiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4+ICAgCQl9Cj4+Cj4+ICAgCQlpZiAo ZnVuY3MtPmF0b21pY19jaGVjaykgewo+PiBAQCAtNjA3LDggKzYwNCw3IEBAIGRpc2FibGVfb3V0 cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xk X3N0YXRlKQo+PiAgIAkJICogRWFjaCBlbmNvZGVyIGhhcyBhdCBtb3N0IG9uZSBjb25uZWN0b3Ig KHNpbmNlIHdlIGFsd2F5cyBzdGVhbAo+PiAgIAkJICogaXQgYXdheSksIHNvIHdlIHdvbid0IGNh bGwgY2FsbCBkaXNhYmxlIGhvb2tzIHR3aWNlLgo+PiAgIAkJICovCj4+IC0JCWlmIChlbmNvZGVy LT5icmlkZ2UpCj4+IC0JCQllbmNvZGVyLT5icmlkZ2UtPmZ1bmNzLT5kaXNhYmxlKGVuY29kZXIt PmJyaWRnZSk7Cj4+ICsJCWRybV9icmlkZ2VfZGlzYWJsZShlbmNvZGVyLT5icmlkZ2UpOwo+Pgo+ PiAgIAkJLyogUmlnaHQgZnVuY3Rpb24gZGVwZW5kcyB1cG9uIHRhcmdldCBzdGF0ZS4gKi8KPj4g ICAJCWlmIChjb25uZWN0b3ItPnN0YXRlLT5jcnRjICYmIGZ1bmNzLT5wcmVwYXJlKQo+PiBAQCAt NjE4LDggKzYxNCw3IEBAIGRpc2FibGVfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+PiAgIAkJZWxzZQo+PiAgIAkJCWZ1 bmNzLT5kcG1zKGVuY29kZXIsIERSTV9NT0RFX0RQTVNfT0ZGKTsKPj4KPj4gLQkJaWYgKGVuY29k ZXItPmJyaWRnZSkKPj4gLQkJCWVuY29kZXItPmJyaWRnZS0+ZnVuY3MtPnBvc3RfZGlzYWJsZShl bmNvZGVyLT5icmlkZ2UpOwo+PiArCQlkcm1fYnJpZGdlX3Bvc3RfZGlzYWJsZShlbmNvZGVyLT5i cmlkZ2UpOwo+PiAgIAl9Cj4+Cj4+ICAgCWZvciAoaSA9IDA7IGkgPCBuY3J0Y3M7IGkrKykgewo+ PiBAQCAtNzYxLDkgKzc1Niw3IEBAIGNydGNfc2V0X21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPj4gICAJCSAqLwo+PiAgIAkJ ZnVuY3MtPm1vZGVfc2V0KGVuY29kZXIsIG1vZGUsIGFkanVzdGVkX21vZGUpOwo+Pgo+PiAtCQlp ZiAoZW5jb2Rlci0+YnJpZGdlICYmIGVuY29kZXItPmJyaWRnZS0+ZnVuY3MtPm1vZGVfc2V0KQo+ PiAtCQkJZW5jb2Rlci0+YnJpZGdlLT5mdW5jcy0+bW9kZV9zZXQoZW5jb2Rlci0+YnJpZGdlLAo+ PiAtCQkJCQkJCSBtb2RlLCBhZGp1c3RlZF9tb2RlKTsKPj4gKwkJZHJtX2JyaWRnZV9tb2RlX3Nl dChlbmNvZGVyLT5icmlkZ2UsIG1vZGUsIGFkanVzdGVkX21vZGUpOwo+PiAgIAl9Cj4+ICAgfQo+ Pgo+PiBAQCAtODQ5LDE2ICs4NDIsMTQgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRf cG9zdF9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gICAJCSAqIEVhY2ggZW5jb2Rl ciBoYXMgYXQgbW9zdCBvbmUgY29ubmVjdG9yIChzaW5jZSB3ZSBhbHdheXMgc3RlYWwKPj4gICAJ CSAqIGl0IGF3YXkpLCBzbyB3ZSB3b24ndCBjYWxsIGNhbGwgZW5hYmxlIGhvb2tzIHR3aWNlLgo+ PiAgIAkJICovCj4+IC0JCWlmIChlbmNvZGVyLT5icmlkZ2UpCj4+IC0JCQllbmNvZGVyLT5icmlk Z2UtPmZ1bmNzLT5wcmVfZW5hYmxlKGVuY29kZXItPmJyaWRnZSk7Cj4+ICsJCWRybV9icmlkZ2Vf cHJlX2VuYWJsZShlbmNvZGVyLT5icmlkZ2UpOwo+Pgo+PiAgIAkJaWYgKGZ1bmNzLT5lbmFibGUp Cj4+ICAgCQkJZnVuY3MtPmVuYWJsZShlbmNvZGVyKTsKPj4gICAJCWVsc2UKPj4gICAJCQlmdW5j cy0+Y29tbWl0KGVuY29kZXIpOwo+Pgo+PiAtCQlpZiAoZW5jb2Rlci0+YnJpZGdlKQo+PiAtCQkJ ZW5jb2Rlci0+YnJpZGdlLT5mdW5jcy0+ZW5hYmxlKGVuY29kZXItPmJyaWRnZSk7Cj4+ICsJCWRy bV9icmlkZ2VfZW5hYmxlKGVuY29kZXItPmJyaWRnZSk7Cj4+ICAgCX0KPj4gICB9Cj4+ICAgRVhQ T1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcG9zdF9wbGFuZXMpOwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYnJpZGdlLmMKPj4gaW5kZXggZDExODdlNS4uYjUyYzM4NyAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Jy aWRnZS5jCj4+IEBAIC02Niw2ICs2Niw3NCBAQCBleHRlcm4gaW50IGRybV9icmlkZ2VfYXR0YWNo KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4+ICAg fQo+PiAgIEVYUE9SVF9TWU1CT0woZHJtX2JyaWRnZV9hdHRhY2gpOwo+Pgo+PiArYm9vbCBkcm1f YnJpZGdlX21vZGVfZml4dXAoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPj4gKwkJCWNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+PiArCQkJc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmFkanVzdGVkX21vZGUpCj4+ICt7Cj4+ICsJYm9vbCByZXQgPSB0cnVlOwo+PiArCj4+ ICsJaWYgKCFicmlkZ2UpCj4+ICsJCXJldHVybiB0cnVlOwo+PiArCj4+ICsJaWYgKGJyaWRnZS0+ ZnVuY3MtPm1vZGVfZml4dXApCj4+ICsJCXJldCA9IGJyaWRnZS0+ZnVuY3MtPm1vZGVfZml4dXAo YnJpZGdlLCBtb2RlLCBhZGp1c3RlZF9tb2RlKTsKPj4gKwo+PiArCXJldHVybiByZXQgJiBkcm1f YnJpZGdlX21vZGVfZml4dXAoYnJpZGdlLT5uZXh0LCBtb2RlLCBhZGp1c3RlZF9tb2RlKTsKPgo+ IElzIHRoYXQgYW4gaW50ZW50aW9uYWwgYml0d2lzZSByYXRoZXIgdGhhbiBsb2dpY2FsIEFORD8g SWYgaXQgaXMsIHBsZWFzZQo+IGRvbid0IGNvbWJpbmUgdGhpcyBpbnRvIHRoZSByZXR1cm4gc3Rh dGVtZW50LgoKVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBmcm9tIG15IGVuZC4gSSdsbCBmaXgg dGhpcy4KCj4KPiBIb3cgYWJvdXQgRVhQT1JUX1NZTUJPTHMgZm9yIHRoZSBuZXcgZnVuY3Rpb25z PwoKSSdsbCBhZGQgdGhpcy4KCj4KPiBPdGhlciB0aGFuIHRoZXNlLCB0aGUgcGF0Y2ggTEdUTS4K ClRoYW5rcyBmb3IgdGhlIHJldmlldyEKCkFyY2hpdAoKLS0gClF1YWxjb21tIElubm92YXRpb24g Q2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZv dW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==