From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps From: Guenter Roeck Message-Id: <20190315145736.GA32293@roeck-us.net> Date: Fri, 15 Mar 2019 07:57:36 -0700 To: Hans de Goede Cc: Greg Kroah-Hartman , Heikki Krogerus , linux-usb@vger.kernel.org List-ID: T24gRnJpLCBNYXIgMTUsIDIwMTkgYXQgMDM6NDI6MTlQTSArMDEwMCwgSGFucyBkZSBHb2VkZSB3 cm90ZToKPiBQRCAyLjAgc2lua3MgYXJlIHN1cHBvc2VkIHRvIGFjY2VwdCBzcmMtY2FwYWJpbGl0 aWVzIHdpdGggYSAzLjAgaGVhZGVyIGFuZAo+IHNpbXBseSBpZ25vcmUgYW55IHNyYyBQRE9zIHdo aWNoIHRoZSBzaW5rIGRvZXMgbm90IHVuZGVyc3RhbmQgc3VjaCBhcyBQUFMKPiBidXQgc29tZSAy LjAgc2lua3MgaW5zdGVhZCBpZ25vcmUgdGhlIGVudGlyZSBQRF9EQVRBX1NPVVJDRV9DQVAgbWVz c2FnZSwKPiBjYXVzaW5nIGNvbnRyYWN0IG5lZ290aWF0aW9uIHRvIGZhaWwuCj4gCj4gVGhpcyBj b21taXQgZml4ZXMgc3VjaCBzaW5rcyBub3Qgd29ya2luZyBieSByZS10cnlpbmcgdGhlIGNvbnRy YWN0Cj4gbmVnb3RpYXRpb24gd2l0aCBQRC0yLjAgc291cmNlLWNhcHMgbWVzc2FnZXMgaWYgd2Ug ZG9uJ3QgaGF2ZSBhIGNvbnRyYWN0Cj4gYWZ0ZXIgUERfTl9IQVJEX1JFU0VUX0NPVU5UIGhhcmQt cmVzZXQgYXR0ZW1wdHMuCj4gCj4gVGhlIHByb2JsZW0gZml4ZWQgYnkgdGhpcyBjb21taXQgd2Fz IG5vdGljZWQgd2l0aCBhIFR5cGUtQyB0byBWR0EgZG9uZ2xlLgo+IAo+IFNpZ25lZC1vZmYtYnk6 IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4gLS0tCj4gVGhlIFR5cGUtQyB0 byBWR0EgZG9uZ2xlIG9uIHdoaWNoIHRoaXMgZW5jb3VudGVyZWQgbG9va3MgbGlrZSB0aGlzIG9u ZToKPiBodHRwczovL3d3dy5hbGlleHByZXNzLmNvbS9pdGVtL01hbGUtVVNCLTMtMS1UeXBlLUMt VVNCLUMtdG8tRmVtYWxlLVZHQS1BZGFwdGVyLUNhYmxlLTEwR2Jwcy1mb3ItTmV3LzMyODk4Mjc0 NDc2Lmh0bWwKPiAtLS0KPiAgZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BtLmMgfCAzNCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5 cGVjL3RjcG0vdGNwbS5jIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BtLmMKPiBpbmRleCBm MWMzOWEzYzc1MzQuLjNmOGRmODQ1ZDFhNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi90eXBl Yy90Y3BtL3RjcG0uYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwbS5jCj4gQEAg LTM3LDYgKzM3LDcgQEAKPiAgCVMoU1JDX0FUVEFDSEVEKSwJCQlcCj4gIAlTKFNSQ19TVEFSVFVQ KSwJCQkJXAo+ICAJUyhTUkNfU0VORF9DQVBBQklMSVRJRVMpLAkJXAo+ICsJUyhTUkNfU0VORF9D QVBfTE9XRVJfUERfUkVWSVNJT04pLAlcCj4gIAlTKFNSQ19ORUdPVElBVEVfQ0FQQUJJTElUSUVT KSwJCVwKPiAgCVMoU1JDX1RSQU5TSVRJT05fU1VQUExZKSwJCVwKPiAgCVMoU1JDX1JFQURZKSwJ CQkJXAo+IEBAIC0yNzkyLDYgKzI3OTMsMjkgQEAgc3RhdGljIGlubGluZSBlbnVtIHRjcG1fc3Rh dGUgaGFyZF9yZXNldF9zdGF0ZShzdHJ1Y3QgdGNwbV9wb3J0ICpwb3J0KQo+ICAJcmV0dXJuIFNO S19VTkFUVEFDSEVEOwo+ICB9Cj4gIAo+ICsvKgo+ICsgKiBQRCAyLjAgc2lua3MgYXJlIHN1cHBv c2VkIHRvIGFjY2VwdCBzcmMtY2FwYWJpbGl0aWVzIHdpdGggYSAzLjAgaGVhZGVyIGFuZAo+ICsg KiBzaW1wbHkgaWdub3JlIGFueSBzcmMgUERPcyB3aGljaCB0aGUgc2luayBkb2VzIG5vdCB1bmRl cnN0YW5kIHN1Y2ggYXMgUFBTCj4gKyAqIGJ1dCBzb21lIDIuMCBzaW5rcyBpbnN0ZWFkIGlnbm9y ZSB0aGUgZW50aXJlIFBEX0RBVEFfU09VUkNFX0NBUCBtZXNzYWdlLAo+ICsgKiBjYXVzaW5nIGNv bnRyYWN0IG5lZ290aWF0aW9uIHRvIGZhaWwuCj4gKyAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gaXMg dXNlZCBieSB0aGUgU1JDX1NFTkRfQ0FQQUJJTElUSUVTIHN0YXRlIGluCj4gKyAqIHJ1bl9zdGF0 ZV9tYWNoaW5lKCkgdG8gd29yayBhcm91bmQgdGhpcy4KPiArICoKPiArICogQWZ0ZXIgUERfTl9I QVJEX1JFU0VUX0NPVU5UIGhhcmQtcmVzZXQgYXR0ZW1wdHMgdGhpcyBmdW5jdGlvbiBzZWxlY3Rz Cj4gKyAqIFNSQ19TRU5EX0NBUF9MT1dFUl9QRF9SRVZJU0lPTiBhcyBzdGF0ZSB0byBzZXQgYWZ0 ZXIgdGhlIG5leHQgdGltZW91dCwKPiArICogdGhpcyBzdGF0ZSB3aWxsIGZhbGxiYWNrIHRvIGEg bG93ZXIgUEQgcmV2aXNpb24gYW5kIHRoZW4gdHJ5IHNlbmRpbmcgdGhlCj4gKyAqIHNyYy1jYXBh YmlsaXRpZXMgYWdhaW4uCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIGVudW0gdGNwbV9zdGF0ZSBz cmNfc2VuZF9jYXBfdGltZW91dF9zdGF0ZShzdHJ1Y3QgdGNwbV9wb3J0ICpwb3J0KQo+ICt7Cj4g KwlpZiAocG9ydC0+aGFyZF9yZXNldF9jb3VudCA8IFBEX05fSEFSRF9SRVNFVF9DT1VOVCkKPiAr CQlyZXR1cm4gSEFSRF9SRVNFVF9TRU5EOwo+ICsJaWYgKHBvcnQtPm5lZ290aWF0ZWRfcmV2ID4g UERfUkVWMjApCj4gKwkJcmV0dXJuIFNSQ19TRU5EX0NBUF9MT1dFUl9QRF9SRVZJU0lPTjsKPiAr CXJldHVybiBoYXJkX3Jlc2V0X3N0YXRlKHBvcnQpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW5saW5l IGVudW0gdGNwbV9zdGF0ZSB1bmF0dGFjaGVkX3N0YXRlKHN0cnVjdCB0Y3BtX3BvcnQgKnBvcnQp Cj4gIHsKPiAgCWlmIChwb3J0LT5wb3J0X3R5cGUgPT0gVFlQRUNfUE9SVF9EUlApIHsKPiBAQCAt Mjk2NiwxMCArMjk5MCwxOCBAQCBzdGF0aWMgdm9pZCBydW5fc3RhdGVfbWFjaGluZShzdHJ1Y3Qg dGNwbV9wb3J0ICpwb3J0KQo+ICAJCQkvKiBwb3J0LT5oYXJkX3Jlc2V0X2NvdW50ID0gMDsgKi8K PiAgCQkJcG9ydC0+Y2Fwc19jb3VudCA9IDA7Cj4gIAkJCXBvcnQtPnBkX2NhcGFibGUgPSB0cnVl Owo+IC0JCQl0Y3BtX3NldF9zdGF0ZV9jb25kKHBvcnQsIGhhcmRfcmVzZXRfc3RhdGUocG9ydCks Cj4gKwkJCXRjcG1fc2V0X3N0YXRlX2NvbmQocG9ydCwKPiArCQkJCQkgICAgc3JjX3NlbmRfY2Fw X3RpbWVvdXRfc3RhdGUocG9ydCksCj4gIAkJCQkJICAgIFBEX1RfU0VORF9TT1VSQ0VfQ0FQKTsK PiAgCQl9Cj4gIAkJYnJlYWs7Cj4gKwljYXNlIFNSQ19TRU5EX0NBUF9MT1dFUl9QRF9SRVZJU0lP TjoKPiArCQlpZiAoV0FSTl9PTihwb3J0LT5uZWdvdGlhdGVkX3JldiA8PSBQRF9SRVYyMCkpCj4g KwkJCWJyZWFrOwoKSSByZWFsbHkgZGlzbGlrZSB0aGUgV0FSTl9PTiBoZXJlLiBBIGJhZCByZW1v dGUgY2FuIHBvdGVudGlhbGx5IHRyaWdnZXIKdGhpcywgd2hpY2ggb24gc3lzdGVtcyB3aXRoIGNy YXNoIG9uIHdhcm5pbmcgZW5hYmxlZCBjYW4gcmVzdWx0IGluIGEKcmVib290LiBKdXN0IHJldmVy dCB0byB0aGUgb3JpZ2luYWwgYmVoYXZpb3IgaGVyZSwgYW5kIG1heWJlIGFkZAphIHRjcG0gbG9n IG1lc3NhZ2UuCgpHdWVudGVyCgo+ICsJCXBvcnQtPm5lZ290aWF0ZWRfcmV2LS07Cj4gKwkJcG9y dC0+aGFyZF9yZXNldF9jb3VudCA9IDA7Cj4gKwkJdGNwbV9zZXRfc3RhdGUocG9ydCwgU1JDX1NF TkRfQ0FQQUJJTElUSUVTLCAwKTsKPiArCQlicmVhazsKPiAgCWNhc2UgU1JDX05FR09USUFURV9D QVBBQklMSVRJRVM6Cj4gIAkJcmV0ID0gdGNwbV9wZF9jaGVja19yZXF1ZXN0KHBvcnQpOwo+ICAJ CWlmIChyZXQgPCAwKSB7Cj4gLS0gCj4gMi4yMC4xCj4K