From mboxrd@z Thu Jan 1 00:00:00 1970 From: Clint Taylor Subject: Re: [PATCH 3/4] drm/dp: start a DPCD based DP sink/branch device quirk database Date: Thu, 18 May 2017 08:14:07 -0700 Message-ID: <7cd76e34-5174-a360-ca2d-e27c9fe548cc@intel.com> References: <91ec198dd95258dbf3bee2f6be739e0da73b4fdd.1495105635.git.jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <91ec198dd95258dbf3bee2f6be739e0da73b4fdd.1495105635.git.jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: harry.wentland@amd.com, ajax@redhat.com, dhinakaran.pandiyan@intel.com List-Id: dri-devel@lists.freedesktop.org CgpPbiAwNS8xOC8yMDE3IDA0OjEwIEFNLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBGYWNlIHRoZSBm YWN0LCB0aGVyZSBhcmUgRGlzcGxheSBQb3J0IHNpbmsgYW5kIGJyYW5jaCBkZXZpY2VzIG91dCB0 aGVyZQo+IGluIHRoZSB3aWxkIHRoYXQgZG9uJ3QgZm9sbG93IHRoZSBEaXNwbGF5IFBvcnQgc3Bl Y2lmaWNhdGlvbnMsIG9yIHRoZXkKPiBoYXZlIGJ1Z3MsIG9yIGp1c3Qgb3RoZXJ3aXNlIHJlcXVp cmUgc3BlY2lhbCB0cmVhdG1lbnQuIFN0YXJ0IGEgY29tbW9uCj4gcXVpcmsgZGF0YWJhc2UgdGhl IGRyaXZlcnMgY2FuIHF1ZXJ5IGJhc2VkIG9uIHRoZSBEUCBkZXZpY2UKPiBpZGVudGlmaWNhdGlv bi4gQXQgbGVhc3QgZm9yIG5vdywgd2UgbGVhdmUgdGhlIHdvcmthcm91bmRzIGZvciB0aGUKPiBk cml2ZXJzIHRvIGltcGxlbWVudCBhcyB0aGV5IHNlZSBmaXQuCj4KPiBGb3Igc3RhcnRlcnMsIGFk ZCBhIGJyYW5jaCBkZXZpY2UgdGhhdCBjYW4ndCBoYW5kbGUgZnVsbCAyNC1iaXQgbWFpbgo+IGxp bmsgTWRpdiBhbmQgTmRpdiBtYWluIGxpbmsgYXR0cmlidXRlcyBwcm9wZXJseS4gTmF0dXJhbGx5 LCB0aGUKPiB3b3JrYXJvdW5kIG9mIHJlZHVjaW5nIG1haW4gbGluayBhdHRyaWJ1dGVzIGZvciBh bGwgZGV2aWNlcyBlbmRlZCB1cCBpbgo+IHJlZ3Jlc3Npb25zIGZvciBvdGhlciBkZXZpY2VzLiBT byBoZXJlIHdlIGFyZS4KPgo+IHYyOiBSZWJhc2Ugb24gRFJNIERQIGRlc2MgcmVhZCBoZWxwZXJz Cj4KPiB2MzogRml4IHRoZSBPVUkgbWVtY21wIGJsdW5kZXIgKENsaW50KQoKVGVzdGVkLWJ5OiBD bGludG9uIFRheWxvciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBD bGludG9uIFRheWxvciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+Cgo+Cj4gQ2M6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERoaW5ha2Fy YW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgo+IENjOiBDbGludCBU YXlsb3IgPGNsaW50b24uYS50YXlsb3JAaW50ZWwuY29tPgo+IENjOiBBZGFtIEphY2tzb24gPGFq YXhAcmVkaGF0LmNvbT4KPiBDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5j b20+Cj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4K PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCA1MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ICAgaW5jbHVkZS9kcm0vZHJtX2RwX2hl bHBlci5oICAgICB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDIgZmlsZXMgY2hh bmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9o ZWxwZXIuYwo+IGluZGV4IDUyZTBjYTlhNWJiMS4uMjEzZmI4MzdlMWM0IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX2hlbHBlci5jCj4gQEAgLTEyMDksNiArMTIwOSw1MSBAQCBpbnQgZHJtX2RwX3N0b3Bf Y3JjKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgpCj4gICB9Cj4gICBFWFBPUlRfU1lNQk9MKGRybV9k cF9zdG9wX2NyYyk7Cj4gICAKPiArc3RydWN0IGRwY2RfcXVpcmsgewo+ICsJdTggb3VpWzNdOwo+ ICsJYm9vbCBpc19icmFuY2g7Cj4gKwl1MzIgcXVpcmtzOwo+ICt9Owo+ICsKPiArI2RlZmluZSBP VUkoZmlyc3QsIHNlY29uZCwgdGhpcmQpIHsgKGZpcnN0KSwgKHNlY29uZCksICh0aGlyZCkgfQo+ ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcGNkX3F1aXJrIGRwY2RfcXVpcmtfbGlzdFtdID0g ewo+ICsJLyogQW5hbG9naXggNzczNyBuZWVkcyByZWR1Y2VkIE0gYW5kIE4gYXQgSEJSMiBsaW5r IHJhdGVzICovCj4gKwl7IE9VSSgweDAwLCAweDIyLCAweGI5KSwgdHJ1ZSwgQklUKERQX0RQQ0Rf UVVJUktfTElNSVRFRF9NX04pIH0sCj4gK307Cj4gKwo+ICsjdW5kZWYgT1VJCj4gKwo+ICsvKgo+ ICsgKiBHZXQgYSBiaXQgbWFzayBvZiBEUENEIHF1aXJrcyBmb3IgdGhlIHNpbmsvYnJhbmNoIGRl dmljZSBpZGVudGlmaWVkIGJ5Cj4gKyAqIGlkZW50LiBUaGUgcXVpcmsgZGF0YSBpcyBzaGFyZWQg YnV0IGl0J3MgdXAgdG8gdGhlIGRyaXZlcnMgdG8gYWN0IG9uIHRoZQo+ICsgKiBkYXRhLgo+ICsg Kgo+ICsgKiBGb3Igbm93LCBvbmx5IHRoZSBPVUkgKGZpcnN0IHRocmVlIGJ5dGVzKSBpcyB1c2Vk LCBidXQgdGhpcyBtYXkgYmUgZXh0ZW5kZWQKPiArICogdG8gZGV2aWNlIGlkZW50aWZpY2F0aW9u IHN0cmluZyBhbmQgaGFyZHdhcmUvZmlybXdhcmUgcmV2aXNpb25zIGxhdGVyLgo+ICsgKi8KPiAr c3RhdGljIHUzMgo+ICtkcm1fZHBfZ2V0X3F1aXJrcyhjb25zdCBzdHJ1Y3QgZHJtX2RwX2RwY2Rf aWRlbnQgKmlkZW50LCBib29sIGlzX2JyYW5jaCkKPiArewo+ICsJY29uc3Qgc3RydWN0IGRwY2Rf cXVpcmsgKnF1aXJrOwo+ICsJdTMyIHF1aXJrcyA9IDA7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3Ig KGkgPSAwOyBpIDwgQVJSQVlfU0laRShkcGNkX3F1aXJrX2xpc3QpOyBpKyspIHsKPiArCQlxdWly ayA9ICZkcGNkX3F1aXJrX2xpc3RbaV07Cj4gKwo+ICsJCWlmIChxdWlyay0+aXNfYnJhbmNoICE9 IGlzX2JyYW5jaCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlmIChtZW1jbXAocXVpcmstPm91 aSwgaWRlbnQtPm91aSwgc2l6ZW9mKGlkZW50LT5vdWkpKSAhPSAwKQo+ICsJCQljb250aW51ZTsK PiArCj4gKwkJcXVpcmtzIHw9IHF1aXJrLT5xdWlya3M7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHF1 aXJrczsKPiArfQo+ICsKPiAgIC8qKgo+ICAgICogZHJtX2RwX3JlYWRfZGVzYyAtIHJlYWQgc2lu ay9icmFuY2ggZGVzY3JpcHRvciBmcm9tIERQQ0QKPiAgICAqIEBhdXg6IERpc3BsYXlQb3J0IEFV WCBjaGFubmVsCj4gQEAgLTEyMzEsMTQgKzEyNzYsMTcgQEAgaW50IGRybV9kcF9yZWFkX2Rlc2Mo c3RydWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9kZXNjICpkZXNjLAo+ICAgCWlm IChyZXQgPCAwKQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAgCj4gKwlkZXNjLT5xdWlya3MgPSBkcm1f ZHBfZ2V0X3F1aXJrcyhpZGVudCwgaXNfYnJhbmNoKTsKPiArCj4gICAJZGV2X2lkX2xlbiA9IHN0 cm5sZW4oaWRlbnQtPmRldmljZV9pZCwgc2l6ZW9mKGlkZW50LT5kZXZpY2VfaWQpKTsKPiAgIAo+ IC0JRFJNX0RFQlVHX0tNUygiRFAgJXM6IE9VSSAlKnBoRCBkZXYtSUQgJSpwRSBIVy1yZXYgJWQu JWQgU1ctcmV2ICVkLiVkXG4iLAo+ICsJRFJNX0RFQlVHX0tNUygiRFAgJXM6IE9VSSAlKnBoRCBk ZXYtSUQgJSpwRSBIVy1yZXYgJWQuJWQgU1ctcmV2ICVkLiVkIHF1aXJrcyAweCUwNHhcbiIsCj4g ICAJCSAgICAgIGlzX2JyYW5jaCA/ICJicmFuY2giIDogInNpbmsiLAo+ICAgCQkgICAgICAoaW50 KXNpemVvZihpZGVudC0+b3VpKSwgaWRlbnQtPm91aSwKPiAgIAkJICAgICAgZGV2X2lkX2xlbiwg aWRlbnQtPmRldmljZV9pZCwKPiAgIAkJICAgICAgaWRlbnQtPmh3X3JldiA+PiA0LCBpZGVudC0+ aHdfcmV2ICYgMHhmLAo+IC0JCSAgICAgIGlkZW50LT5zd19tYWpvcl9yZXYsIGlkZW50LT5zd19t aW5vcl9yZXYpOwo+ICsJCSAgICAgIGlkZW50LT5zd19tYWpvcl9yZXYsIGlkZW50LT5zd19taW5v cl9yZXYsCj4gKwkJICAgICAgZGVzYy0+cXVpcmtzKTsKPiAgIAo+ICAgCXJldHVybiAwOwo+ICAg fQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggYi9pbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmgKPiBpbmRleCBhZWU1Yjk2YjUxZDcuLjcxN2NiODQ5NjcyNSAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmgKPiBAQCAtMTA5MCwxMiArMTA5MCw0NCBAQCBzdHJ1Y3QgZHJtX2Rw X2RwY2RfaWRlbnQgewo+ICAgLyoqCj4gICAgKiBzdHJ1Y3QgZHJtX2RwX2Rlc2MgLSBEUCBicmFu Y2gvc2luayBkZXZpY2UgZGVzY3JpcHRvcgo+ICAgICogQGlkZW50OiBEUCBkZXZpY2UgaWRlbnRp ZmljYXRpb24gZnJvbSBEUENEIDB4NDAwIChzaW5rKSBvciAweDUwMCAoYnJhbmNoKS4KPiArICog QHF1aXJrczogUXVpcmtzOyB1c2UgZHJtX2RwX2hhc19xdWlyaygpIHRvIHF1ZXJ5IGZvciB0aGUg cXVpcmtzLgo+ICAgICovCj4gICBzdHJ1Y3QgZHJtX2RwX2Rlc2Mgewo+ICAgCXN0cnVjdCBkcm1f ZHBfZHBjZF9pZGVudCBpZGVudDsKPiArCXUzMiBxdWlya3M7Cj4gICB9Owo+ICAgCj4gICBpbnQg ZHJtX2RwX3JlYWRfZGVzYyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBzdHJ1Y3QgZHJtX2RwX2Rl c2MgKmRlc2MsCj4gICAJCSAgICAgYm9vbCBpc19icmFuY2gpOwo+ICAgCj4gKy8qKgo+ICsgKiBl bnVtIGRybV9kcF9xdWlyayAtIERpc3BsYXkgUG9ydCBzaW5rL2JyYW5jaCBkZXZpY2Ugc3BlY2lm aWMgcXVpcmtzCj4gKyAqCj4gKyAqIERpc3BsYXkgUG9ydCBzaW5rIGFuZCBicmFuY2ggZGV2aWNl cyBpbiB0aGUgd2lsZCBoYXZlIGEgdmFyaWV0eSBvZiBidWdzLCB0cnkKPiArICogdG8gY29sbGVj dCB0aGVtIGhlcmUuIFRoZSBxdWlya3MgYXJlIHNoYXJlZCwgYnV0IGl0J3MgdXAgdG8gdGhlIGRy aXZlcnMgdG8KPiArICogaW1wbGVtZW50IHdvcmthcm91bmRzIGZvciB0aGVtLgo+ICsgKi8KPiAr ZW51bSBkcm1fZHBfcXVpcmsgewo+ICsJLyoqCj4gKwkgKiBARFBfRFBDRF9RVUlSS19MSU1JVEVE X01fTjoKPiArCSAqCj4gKwkgKiBUaGUgZGV2aWNlIHJlcXVpcmVzIG1haW4gbGluayBhdHRyaWJ1 dGVzIE1kaXYgYW5kIE5kaXYgdG8gYmUgbGltaXRlZAo+ICsJICogdG8gMTYgYml0cy4KPiArCSAq Lwo+ICsJRFBfRFBDRF9RVUlSS19MSU1JVEVEX01fTiwKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBk cm1fZHBfaGFzX3F1aXJrKCkgLSBkb2VzIHRoZSBEUCBkZXZpY2UgaGF2ZSBhIHNwZWNpZmljIHF1 aXJrCj4gKyAqIEBkZXNjOiBEZXZpY2UgZGVjcmlwdG9yIGZpbGxlZCBieSBkcm1fZHBfcmVhZF9k ZXNjKCkKPiArICogQHF1aXJrOiBRdWlyayB0byBxdWVyeSBmb3IKPiArICoKPiArICogUmV0dXJu IHRydWUgaWYgRFAgZGV2aWNlIGlkZW50aWZpZWQgYnkgQGRlc2MgaGFzIEBxdWlyay4KPiArICov Cj4gK3N0YXRpYyBpbmxpbmUgYm9vbAo+ICtkcm1fZHBfaGFzX3F1aXJrKGNvbnN0IHN0cnVjdCBk cm1fZHBfZGVzYyAqZGVzYywgZW51bSBkcm1fZHBfcXVpcmsgcXVpcmspCj4gK3sKPiArCXJldHVy biBkZXNjLT5xdWlya3MgJiBCSVQocXVpcmspOwo+ICt9Cj4gKwo+ICAgI2VuZGlmIC8qIF9EUk1f RFBfSEVMUEVSX0hfICovCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK