Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: typec: tcpm: Extend the matching rules on PPS APDO selection From: Heikki Krogerus Message-Id: <20181207154441.GA30561@kuha.fi.intel.com> Date: Fri, 7 Dec 2018 17:44:41 +0200 To: Kyle Tso Cc: linux@roeck-us.net, gregkh@linuxfoundation.org, badhri@google.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gVGh1LCBEZWMgMDYsIDIwMTggYXQgMTE6MDI6MjdBTSArMDgwMCwgS3lsZSBUc28gd3JvdGU6 Cj4gQ3VycmVudCBtYXRjaGluZyBydWxlcyBlbnN1cmUgdGhhdCB0aGUgdm9sdGFnZSByYW5nZSBv ZiBzZWxlY3RlZCBTb3VyY2UKPiBDYXBhYmlsaXR5IGlzIGVudGlyZWx5IHdpdGhpbiB0aGUgcmFu Z2UgZGVmaW5lZCBpbiBvbmUgb2YgdGhlIFNpbmsKPiBDYXBhYmlsaXRpZXMuIFRoaXMgaXMgcmVh c29uYWJsZSBidXQgbm90IHByYWN0aWNhbCBiZWNhdXNlIFNpbmsgbWF5IG5vdAo+IHN1cHBvcnQg d2lkZSByYW5nZSBvZiB2b2x0YWdlIHdoZW4gc2lua2luZyBwb3dlciB3aGlsZSBTb3VyY2UgY291 bGQKPiBhZHZlcnRpc2UgaXRzIGNhcGFiaWxpdGllcyBpbiByYWxldGl2ZWx5IHdpZGVyIHJhbmdl LiBGb3IgZXhhbXBsZSwgYQo+IFNvdXJjZSBQRE8gYWR2ZXJ0aXNpbmcgMy4zVi0xMVZAM0EgKDlW IFByb2cgb2YgRml4ZWQgTm9taW5hbCBWb2x0YWdlKQo+IHdpbGwgbm90IGJlIHNlbGVjdGVkIGlm IHRoZSBTaW5rIHJlcXVpcmVzIDVWLTEyVkAzQSBQUFMgcG93ZXIuIEhvd2V2ZXIsCj4gdGhlIFNp bmsgY291bGQgd29yayB3ZWxsIGlmIHRoZSByZXF1ZXN0ZWQgdm9sdGFnZSByYW5nZSBpbiBSRE9z IGlzCj4gNVYtMTFWQDNBLgo+IAo+IFRvIGltcHJvdmUgdGhlIHVzYWJpbGl0eSwgY2hhbmdlIHRo ZSBtYXRjaGluZyBydWxlcyB0byB3aGF0IGxpc3RlZAo+IGJlbG93Ogo+IGEuIFRoZSBTb3VyY2Ug UERPIGlzIHNlbGVjdGFibGUgaWYgYW55IHBvcnRpb24gb2YgdGhlIHZvbHRhZ2UgcmFuZ2UKPiAg ICBvdmVybGFwcyBvbmUgb2YgdGhlIFNpbmsgUERPJ3Mgdm9sdGFnZSByYW5nZS4KPiBiLiBUaGUg bWF4aW11bSBvcGVyYXRpb25hbCB2b2x0YWdlIHdpbGwgYmUgdGhlIGxvd2VyIG9uZSBiZXR3ZWVu IHRoZQo+ICAgIHNlbGVjdGVkIFNvdXJjZSBQRE8gYW5kIHRoZSBtYXRjaGluZyBTaW5rIFBETy4K PiBjLiBUaGUgbWF4aW11bSBwb3dlciB3aWxsIGJlIHRoZSBtYXhpbXVtIG9wZXJhdGlvbmFsIHZv bHRhZ2UgdGltZXMgdGhlCj4gICAgbWF4aW11bSBjdXJyZW50IGRlZmluZWQgaW4gdGhlIHNlbGVj dGVkIFNvdXJjZSBQRE8KPiBkLiBTZWxlY3QgdGhlIFNvdXJjZSBQRE8gd2l0aCB0aGUgaGlnaGVz dCBtYXhpbXVtIHBvd2VyCj4gCj4gU2lnbmVkLW9mZi1ieTogS3lsZSBUc28gPGt5bGV0c29AZ29v Z2xlLmNvbT4KClJldmlld2VkLWJ5OiBIZWlra2kgS3JvZ2VydXMgPGhlaWtraS5rcm9nZXJ1c0Bs aW51eC5pbnRlbC5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcG0uYyB8 IDI5ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxNyBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91 c2IvdHlwZWMvdGNwbS90Y3BtLmMgYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcG0uYwo+IGlu ZGV4IDM2MjBlZmVlMjY4OC4uMzAwMWRmN2JkNjAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNi L3R5cGVjL3RjcG0vdGNwbS5jCj4gKysrIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BtLmMK PiBAQCAtMjIxMyw3ICsyMjEzLDggQEAgc3RhdGljIHVuc2lnbmVkIGludCB0Y3BtX3BkX3NlbGVj dF9wcHNfYXBkbyhzdHJ1Y3QgdGNwbV9wb3J0ICpwb3J0KQo+ICAJdW5zaWduZWQgaW50IGksIGos IG1heF9tdyA9IDAsIG1heF9tdiA9IDA7Cj4gIAl1bnNpZ25lZCBpbnQgbWluX3NyY19tdiwgbWF4 X3NyY19tdiwgc3JjX21hLCBzcmNfbXc7Cj4gIAl1bnNpZ25lZCBpbnQgbWluX3Nua19tdiwgbWF4 X3Nua19tdjsKPiAtCXUzMiBwZG87Cj4gKwl1bnNpZ25lZCBpbnQgbWF4X29wX212Owo+ICsJdTMy IHBkbywgc3JjLCBzbms7Cj4gIAl1bnNpZ25lZCBpbnQgc3JjX3BkbyA9IDAsIHNua19wZG8gPSAw Owo+ICAKPiAgCS8qCj4gQEAgLTIyNjMsMTYgKzIyNjQsMTggQEAgc3RhdGljIHVuc2lnbmVkIGlu dCB0Y3BtX3BkX3NlbGVjdF9wcHNfYXBkbyhzdHJ1Y3QgdGNwbV9wb3J0ICpwb3J0KQo+ICAJCQkJ CWNvbnRpbnVlOwo+ICAJCQkJfQo+ICAKPiAtCQkJCWlmIChtYXhfc3JjX212IDw9IG1heF9zbmtf bXYgJiYKPiAtCQkJCSAgICBtaW5fc3JjX212ID49IG1pbl9zbmtfbXYpIHsKPiArCQkJCWlmICht aW5fc3JjX212IDw9IG1heF9zbmtfbXYgJiYKPiArCQkJCSAgICBtYXhfc3JjX212ID49IG1pbl9z bmtfbXYpIHsKPiArCQkJCQltYXhfb3BfbXYgPSBtaW4obWF4X3NyY19tdiwgbWF4X3Nua19tdik7 Cj4gKwkJCQkJc3JjX213ID0gKG1heF9vcF9tdiAqIHNyY19tYSkgLyAxMDAwOwo+ICAJCQkJCS8q IFByZWZlciBoaWdoZXIgdm9sdGFnZXMgaWYgYXZhaWxhYmxlICovCj4gIAkJCQkJaWYgKChzcmNf bXcgPT0gbWF4X213ICYmCj4gLQkJCQkJICAgICBtaW5fc3JjX212ID4gbWF4X212KSB8fAo+ICsJ CQkJCSAgICAgbWF4X29wX212ID4gbWF4X212KSB8fAo+ICAJCQkJCSAgICBzcmNfbXcgPiBtYXhf bXcpIHsKPiAgCQkJCQkJc3JjX3BkbyA9IGk7Cj4gIAkJCQkJCXNua19wZG8gPSBqOwo+ICAJCQkJ CQltYXhfbXcgPSBzcmNfbXc7Cj4gLQkJCQkJCW1heF9tdiA9IG1heF9zcmNfbXY7Cj4gKwkJCQkJ CW1heF9tdiA9IG1heF9vcF9tdjsKPiAgCQkJCQl9Cj4gIAkJCQl9Cj4gIAkJCX0KPiBAQCAtMjI4 NSwxNCArMjI4OCwxNiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHRjcG1fcGRfc2VsZWN0X3Bwc19h cGRvKHN0cnVjdCB0Y3BtX3BvcnQgKnBvcnQpCj4gIAl9Cj4gIAo+ICAJaWYgKHNyY19wZG8pIHsK PiAtCQlwZG8gPSBwb3J0LT5zb3VyY2VfY2Fwc1tzcmNfcGRvXTsKPiAtCj4gLQkJcG9ydC0+cHBz X2RhdGEubWluX3ZvbHQgPSBwZG9fcHBzX2FwZG9fbWluX3ZvbHRhZ2UocGRvKTsKPiAtCQlwb3J0 LT5wcHNfZGF0YS5tYXhfdm9sdCA9IHBkb19wcHNfYXBkb19tYXhfdm9sdGFnZShwZG8pOwo+IC0J CXBvcnQtPnBwc19kYXRhLm1heF9jdXJyID0KPiAtCQkJbWluX3Bwc19hcGRvX2N1cnJlbnQocGRv LCBwb3J0LT5zbmtfcGRvW3Nua19wZG9dKTsKPiArCQlzcmMgPSBwb3J0LT5zb3VyY2VfY2Fwc1tz cmNfcGRvXTsKPiArCQlzbmsgPSBwb3J0LT5zbmtfcGRvW3Nua19wZG9dOwo+ICsKPiArCQlwb3J0 LT5wcHNfZGF0YS5taW5fdm9sdCA9IG1heChwZG9fcHBzX2FwZG9fbWluX3ZvbHRhZ2Uoc3JjKSwK PiArCQkJCQkgICAgICBwZG9fcHBzX2FwZG9fbWluX3ZvbHRhZ2Uoc25rKSk7Cj4gKwkJcG9ydC0+ cHBzX2RhdGEubWF4X3ZvbHQgPSBtaW4ocGRvX3Bwc19hcGRvX21heF92b2x0YWdlKHNyYyksCj4g KwkJCQkJICAgICAgcGRvX3Bwc19hcGRvX21heF92b2x0YWdlKHNuaykpOwo+ICsJCXBvcnQtPnBw c19kYXRhLm1heF9jdXJyID0gbWluX3Bwc19hcGRvX2N1cnJlbnQoc3JjLCBzbmspOwo+ICAJCXBv cnQtPnBwc19kYXRhLm91dF92b2x0ID0KPiAtCQkJbWluKHBkb19wcHNfYXBkb19tYXhfdm9sdGFn ZShwZG8pLCBwb3J0LT5wcHNfZGF0YS5vdXRfdm9sdCk7Cj4gKwkJCW1pbihwb3J0LT5wcHNfZGF0 YS5tYXhfdm9sdCwgcG9ydC0+cHBzX2RhdGEub3V0X3ZvbHQpOwo+ICAJCXBvcnQtPnBwc19kYXRh Lm9wX2N1cnIgPQo+ICAJCQltaW4ocG9ydC0+cHBzX2RhdGEubWF4X2N1cnIsIHBvcnQtPnBwc19k YXRhLm9wX2N1cnIpOwo+ICAJfQo+IC0tIAo+IDIuMjAuMC5yYzIuNDAzLmdkYmMzYjI5ODA1LWdv b2cK