From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v2 12/23] drm/i915: Sanitize the TypeC connect/detect sequences Date: Thu, 27 Jun 2019 12:48:37 +0300 Message-ID: <20190627094837.GA23002@ideak-desk.fi.intel.com> References: <20190620140600.11357-1-imre.deak@intel.com> <20190620140600.11357-13-imre.deak@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id A25856E55E for ; Thu, 27 Jun 2019 09:48:41 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" , Jani Nikula Cc: "intel-gfx@lists.freedesktop.org" , "Zanoni, Paulo R" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjcsIDIwMTkgYXQgMDI6NTU6MjFBTSArMDMwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gVGh1LCAyMDE5LTA2LTIwIGF0IDE3OjA1ICswMzAwLCBJbXJlIERlYWsgd3JvdGU6 Cj4gPiBNYWtlIHRoZSBvcmRlciBkdXJpbmcgZGV0ZWN0aW9uIG1vcmUgY29uc2lzdGVudDogZmly c3QgcmVzZXQgdGhlCj4gPiBUeXBlQwo+ID4gcG9ydCBtb2RlIGlmIG5lZWRlZCAoYWRkaW5nIG5l dyBoZWxwZXJzIGZvciB0aGlzKSwgdGhlbiBkZXRlY3QgYW55Cj4gPiBjb25uZWN0ZWQgc2luay4K PiA+IAo+ID4gVG8gY2hlY2sgaWYgYSBwb3J0IG1vZGUgcmVzZXQgaXMgbmVlZGVkIGRldGVybWlu ZSBmaXJzdCB0aGUgdGFyZ2V0Cj4gPiBwb3J0Cj4gPiBtb2RlIGJhc2VkIG9uIHRoZSBsaXZlIHN0 YXR1cyBpZiBhIHNpbmsgaXMgYWxyZWFkeSBjb25uZWN0ZWQgb3IgdGhlCj4gPiBQSFkgc3RhdHVz IGNvbXBsZXRlIGZsYWcgb3RoZXJ3aXNlLgo+ID4gCj4gPiBBZGQgYSBXQVJOIGluIGxlZ2FjeSBt b2RlIGlmIHVuZXhwZWN0ZWRseSB3ZSBjYW4ndCBzZXQgdGhlIHVuc2FmZQo+ID4gbW9kZQo+ID4g b3IgaWYgdGhlIEZJQSBkb2Vzbid0IHByb3ZpZGUgdGhlIDQgbGFuZXMgcmVxdWlyZWQuCj4gPiAK PiA+IENjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiA+ IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiBDYzogUGF1bG8g WmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiBDYzogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEltcmUg RGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfdGMuYyB8IDk2ICsrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gPiAt LQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMoLSkK PiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf dGMuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKPiA+IGlu ZGV4IGZmZmU0YzRhNjYwMi4uZWQyMjUzYjIxYjA5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKPiA+IEBAIC0xNzIsNDEgKzE3Miw0MyBAQCBzdGF0aWMg Ym9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3RydWN0Cj4gPiBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0LAo+ID4gICAqIHdpbGwgcmVxdWlyZSBhIGxvdCBvZiBjb29yZGluYXRpb24g d2l0aCB1c2VyIHNwYWNlIGFuZCB0aG9yb3VnaAo+ID4gdGVzdGluZyBmb3IKPiA+ICAgKiB0aGUg ZXh0cmEgcG9zc2libGUgY2FzZXMuCj4gPiAgICovCj4gPiAtc3RhdGljIGJvb2wgaWNsX3RjX3Bo eV9jb25uZWN0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ID4gK3N0YXRp YyB2b2lkIGljbF90Y19waHlfY29ubmVjdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdf cG9ydCkKPiA+ICB7Cj4gPiAtCXUzMiBsaXZlX3N0YXR1c19tYXNrOwo+ID4gLQo+ID4gLQlpZiAo ZGlnX3BvcnQtPnRjX21vZGUgIT0gVENfUE9SVF9MRUdBQ1kgJiYKPiA+IC0JICAgIGRpZ19wb3J0 LT50Y19tb2RlICE9IFRDX1BPUlRfRFBfQUxUKQo+ID4gLQkJcmV0dXJuIHRydWU7Cj4gPiAtCj4g PiAgCWlmICghaWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQpKSB7Cj4gPiAgCQlE Uk1fREVCVUdfS01TKCJQb3J0ICVzOiBQSFkgbm90IHJlYWR5XG4iLAo+ID4gIAkJCSAgICAgIGRp Z19wb3J0LT50Y19wb3J0X25hbWUpOwo+ID4gLQkJV0FSTl9PTihkaWdfcG9ydC0+dGNfbGVnYWN5 X3BvcnQpOwo+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gKwkJZ290byBvdXRfc2V0X3RidF9hbHRf bW9kZTsKPiA+ICAJfQo+ID4gIAo+ID4gLQlpZiAoIWljbF90Y19waHlfc2V0X3NhZmVfbW9kZShk aWdfcG9ydCwgZmFsc2UpKQo+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gKwlpZiAoIWljbF90Y19w aHlfc2V0X3NhZmVfbW9kZShkaWdfcG9ydCwgZmFsc2UpICYmCj4gPiArCSAgICAhV0FSTl9PTihk aWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQpKQo+ID4gKwkJZ290byBvdXRfc2V0X3RidF9hbHRfbW9k ZTsKPiAKPiBNYXJraW5nIGFzIG5vdCBzYWZlIGV2ZW4gZm9yIFRCVD8KCllvdSBtZWFuIGlmIHRo ZSBhYm92ZSB3aWxsIHNldCBub3Qtc2FmZSBtb2RlIGV2ZW4gZm9yIFRCVD8gTm8sIHdlCndpbGwg dHJ5IHRvIHNldCBub3Qtc2FmZSBtb2RlIG9ubHkgZm9yIERQLWFsdCBhbmQgbGVnYWN5IGFzIHRo ZSBQSFkKc3RhdHVzIGNvbXBsZXRlIGZsYWcgd2FzIHNldC4KCj4gCj4gPiAgCj4gPiAtCWlmIChk aWdfcG9ydC0+dGNfbW9kZSA9PSBUQ19QT1JUX0xFR0FDWSkKPiA+IC0JCXJldHVybiB0cnVlOwo+ ID4gKwlpZiAoZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0KSB7Cj4gPiArCQlXQVJOX09OKGludGVs X3RjX3BvcnRfZmlhX21heF9sYW5lX2NvdW50KGRpZ19wb3J0KSAhPQo+ID4gNCk7Cj4gPiArCQlk aWdfcG9ydC0+dGNfbW9kZSA9IFRDX1BPUlRfTEVHQUNZOwo+ID4gIAo+ID4gLQlsaXZlX3N0YXR1 c19tYXNrID0gdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKGRpZ19wb3J0KTsKPiA+ICsJCXJldHVy bjsKPiA+ICsJfQo+ID4gIAo+ID4gIAkvKgo+ID4gIAkgKiBOb3cgd2UgaGF2ZSB0byByZS1jaGVj ayB0aGUgbGl2ZSBzdGF0ZSwgaW4gY2FzZSB0aGUgcG9ydAo+ID4gcmVjZW50bHkKPiA+ICAJICog YmVjYW1lIGRpc2Nvbm5lY3RlZC4gTm90IG5lY2Vzc2FyeSBmb3IgbGVnYWN5IG1vZGUuCj4gPiAg CSAqLwo+ID4gLQlpZiAoIShsaXZlX3N0YXR1c19tYXNrICYgQklUKFRDX1BPUlRfRFBfQUxUKSkp IHsKPiA+ICsJaWYgKCEodGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKGRpZ19wb3J0KSAmCj4gPiBC SVQoVENfUE9SVF9EUF9BTFQpKSkgewo+ID4gIAkJRFJNX0RFQlVHX0tNUygiUG9ydCAlczogUEhZ IHN1ZGRlbiBkaXNjb25uZWN0XG4iLAo+ID4gIAkJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25h bWUpOwo+ID4gLQkJaWNsX3RjX3BoeV9kaXNjb25uZWN0KGRpZ19wb3J0KTsKPiA+IC0JCXJldHVy biBmYWxzZTsKPiA+ICsJCWdvdG8gb3V0X3NldF9zYWZlX21vZGU7Cj4gPiAgCX0KPiA+ICAKPiA+ IC0JcmV0dXJuIHRydWU7Cj4gPiArCWRpZ19wb3J0LT50Y19tb2RlID0gVENfUE9SVF9EUF9BTFQ7 Cj4gPiArCj4gPiArCXJldHVybjsKPiA+ICsKPiA+ICtvdXRfc2V0X3NhZmVfbW9kZToKPiA+ICsJ aWNsX3RjX3BoeV9zZXRfc2FmZV9tb2RlKGRpZ19wb3J0LCB0cnVlKTsKPiA+ICtvdXRfc2V0X3Ri dF9hbHRfbW9kZToKPiA+ICsJZGlnX3BvcnQtPnRjX21vZGUgPSBUQ19QT1JUX1RCVF9BTFQ7Cj4g PiAgfQo+ID4gIAo+ID4gIC8qCj4gPiBAQCAtMjI3LDI3ICsyMjksMzcgQEAgdm9pZCBpY2xfdGNf cGh5X2Rpc2Nvbm5lY3Qoc3RydWN0Cj4gPiBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ ID4gIAlkZWZhdWx0Ogo+ID4gIAkJTUlTU0lOR19DQVNFKGRpZ19wb3J0LT50Y19tb2RlKTsKPiA+ ICAJfQo+ID4gK30KPiA+ICAKPiA+IC0JRFJNX0RFQlVHX0tNUygiUG9ydCAlczogbW9kZSAlcyBk aXNjb25uZWN0ZWRcbiIsCj4gPiAtCQkgICAgICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lLAo+ID4g LQkJICAgICAgdGNfcG9ydF9tb2RlX25hbWUoZGlnX3BvcnQtPnRjX21vZGUpKTsKPiA+ICtzdGF0 aWMgZW51bSB0Y19wb3J0X21vZGUKPiA+ICtpbnRlbF90Y19wb3J0X2dldF90YXJnZXRfbW9kZShz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPiA+ICt7Cj4gPiArCXUzMiBsaXZl X3N0YXR1c19tYXNrID0gdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKGRpZ19wb3J0KTsKPiA+ICsK PiA+ICsJaWYgKGxpdmVfc3RhdHVzX21hc2spCj4gPiArCQlyZXR1cm4gZmxzKGxpdmVfc3RhdHVz X21hc2spIC0gMTsKPiA+ICsKPiA+ICsJcmV0dXJuIGljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRl KGRpZ19wb3J0KSAmJgo+ID4gKwkgICAgICAgZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0ID8gVENf UE9SVF9MRUdBQ1kgOgo+ID4gKwkJCQkJICBUQ19QT1JUX1RCVF9BTFQ7Cj4gCj4gWW91IGFyZSBy aWdodCBhYm91dCB0aGUgb3JkZXIgdGhhdCBDIHdpbGwgZXhlY3V0ZSB0aGlzIGJ1dCBjb3VsZCB5 b3UKPiBhZGQgYSBwYWlyIG9mIHBhcmVudGhlc2lzIGFyb3VuZCBpY2xfdGNfcGh5X3N0YXR1c19j b21wbGV0ZShkaWdfcG9ydCkKPiAmJiBkaWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQgdG8gbWFrZSBl YXNpZXIgdG8gcmVhZD8KCk5vdCBzdXJlLCBJIHRoaW5rIHRoZSB1c2Ugb2YgJ2EgJiYgYiA/IGMg OiBkJyB3aXRob3V0IHBhcmVucyBpcyB1c3VhbAplbm91Z2gsIGJ1dCBtYXliZSBvdGhlcnMgaGF2 ZSBhIGJldHRlciBpZGVhIGZvciBhIHJ1bGUtb2YtdGh1bWIgZm9yCnVzaW5nIHBhcmVucyB0aGF0 IHdlIHNob3VsZCBmb2xsb3cgZXZlcnl3aGVyZS4gSmFuaT8KCkFueXdheSB0aGUgZm9sbG93aW5n IHdvdWxkIGJlIGVhc2llciB0byByZWFkIChhbHNvIHdlIGNhbiBhdm9pZCB0aGUgcmVnCnJlYWQg Zm9yIHRoZSAhbGVnYWN5IGNhc2UpOgoKCWlmIChkaWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQgJiYK CSAgICBpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShkaWdfcG9ydCkpCgkJcmV0dXJuIFRDX1BP UlRfTEVHQUNZOwoKCXJldHVybiBUQ19QT1JUX1RCVF9BTFQ7Cgo+IAo+ID4gIH0KPiA+ICAKPiA+ IC1zdGF0aWMgdm9pZCBpY2xfdXBkYXRlX3RjX3BvcnRfdHlwZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZQo+ID4gKmRldl9wcml2LAo+ID4gLQkJCQkgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dAo+ID4gKmludGVsX2RpZ19wb3J0LAo+ID4gLQkJCQkgICAgdTMyIGxpdmVfc3RhdHVzX21hc2sp Cj4gPiArc3RhdGljIHZvaWQgaW50ZWxfdGNfcG9ydF9yZXNldF9tb2RlKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQKPiA+ICpkaWdfcG9ydCkKPiA+ICB7Cj4gPiAtCWVudW0gdGNfcG9ydF9tb2Rl IG9sZF9tb2RlID0gaW50ZWxfZGlnX3BvcnQtPnRjX21vZGU7Cj4gPiArCWVudW0gdGNfcG9ydF9t b2RlIG9sZF90Y19tb2RlID0gZGlnX3BvcnQtPnRjX21vZGU7Cj4gPiAgCj4gPiAtCWlmICghbGl2 ZV9zdGF0dXNfbWFzaykKPiA+IC0JCXJldHVybjsKPiA+ICsJaWNsX3RjX3BoeV9kaXNjb25uZWN0 KGRpZ19wb3J0KTsKPiA+ICsJaWNsX3RjX3BoeV9jb25uZWN0KGRpZ19wb3J0KTsKPiA+ICAKPiA+ IC0JaW50ZWxfZGlnX3BvcnQtPnRjX21vZGUgPSBmbHMobGl2ZV9zdGF0dXNfbWFzaykgLSAxOwo+ ID4gKwlEUk1fREVCVUdfS01TKCJQb3J0ICVzOiBUQyBwb3J0IG1vZGUgcmVzZXQgKCVzIC0+ICVz KVxuIiwKPiA+ICsJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUsCj4gPiArCQkgICAgICB0 Y19wb3J0X21vZGVfbmFtZShvbGRfdGNfbW9kZSksCj4gPiArCQkgICAgICB0Y19wb3J0X21vZGVf bmFtZShkaWdfcG9ydC0+dGNfbW9kZSkpOwo+ID4gK30KPiA+ICAKPiA+IC0JaWYgKG9sZF9tb2Rl ICE9IGludGVsX2RpZ19wb3J0LT50Y19tb2RlKQo+ID4gLQkJRFJNX0RFQlVHX0tNUygiUG9ydCAl czogcG9ydCBoYXMgbW9kZSAlc1xuIiwKPiA+IC0JCQkgICAgICBpbnRlbF9kaWdfcG9ydC0+dGNf cG9ydF9uYW1lLAo+ID4gLQkJCSAgICAgIHRjX3BvcnRfbW9kZV9uYW1lKGludGVsX2RpZ19wb3J0 LQo+ID4gPnRjX21vZGUpKTsKPiA+ICtzdGF0aWMgYm9vbCBpbnRlbF90Y19wb3J0X25lZWRzX3Jl c2V0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQKPiA+ICpkaWdfcG9ydCkKPiA+ICt7Cj4gPiAr CXJldHVybiBpbnRlbF90Y19wb3J0X2dldF90YXJnZXRfbW9kZShkaWdfcG9ydCkgIT0gZGlnX3Bv cnQtCj4gPiA+dGNfbW9kZTsKPiA+ICB9Cj4gPiAgCj4gPiAgLyoKPiA+IEBAIC0yNjIsMjQgKzI3 NCwxMCBAQCBzdGF0aWMgdm9pZCBpY2xfdXBkYXRlX3RjX3BvcnRfdHlwZShzdHJ1Y3QKPiA+IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gICAqLwo+ID4gIGJvb2wgaW50ZWxfdGNfcG9y dF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gPiAgewo+ ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0 LQo+ID4gPmJhc2UuYmFzZS5kZXYpOwo+ID4gLQl1MzIgbGl2ZV9zdGF0dXNfbWFzayA9IHRjX3Bv cnRfbGl2ZV9zdGF0dXNfbWFzayhkaWdfcG9ydCk7Cj4gPiAtCj4gPiAtCS8qCj4gPiAtCSAqIFRo ZSBzcGVjIHNheXMgd2Ugc2hvdWxkbid0IGJlIHVzaW5nIHRoZSBJU1IgYml0cyBmb3IKPiA+IGRl dGVjdGluZwo+ID4gLQkgKiBiZXR3ZWVuIFRDIGFuZCBUQlQuIFdlIHNob3VsZCB1c2UgREZMRVhE UFNQLgo+ID4gLQkgKi8KPiA+IC0JaWYgKCFsaXZlX3N0YXR1c19tYXNrICYmICFkaWdfcG9ydC0+ dGNfbGVnYWN5X3BvcnQpIHsKPiA+IC0JCWljbF90Y19waHlfZGlzY29ubmVjdChkaWdfcG9ydCk7 Cj4gPiAtCj4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiAtCX0KPiA+IC0KPiA+IC0JaWNsX3VwZGF0 ZV90Y19wb3J0X3R5cGUoZGV2X3ByaXYsIGRpZ19wb3J0LCBsaXZlX3N0YXR1c19tYXNrKTsKPiA+ IC0JaWYgKCFpY2xfdGNfcGh5X2Nvbm5lY3QoZGlnX3BvcnQpKQo+ID4gLQkJcmV0dXJuIGZhbHNl Owo+ID4gKwlpZiAoaW50ZWxfdGNfcG9ydF9uZWVkc19yZXNldChkaWdfcG9ydCkpCj4gPiArCQlp bnRlbF90Y19wb3J0X3Jlc2V0X21vZGUoZGlnX3BvcnQpOwo+ID4gIAo+ID4gLQlyZXR1cm4gdHJ1 ZTsKPiA+ICsJcmV0dXJuIHRjX3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhkaWdfcG9ydCkgJiBCSVQo ZGlnX3BvcnQtCj4gPiA+dGNfbW9kZSk7Cj4gPiAgfQo+ID4gIAo+ID4gIHZvaWQgaW50ZWxfdGNf cG9ydF9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LCBib29sCj4gPiBp c19sZWdhY3kpCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==