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: Extend the matching rules on PPS APDO selection From: Guenter Roeck Message-Id: <20181206175625.GA11808@roeck-us.net> Date: Thu, 6 Dec 2018 09:56:25 -0800 To: Kyle Tso Cc: heikki.krogerus@linux.intel.com, 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+IAoKTWF5YmUgYSBncmFwaGljYWwgZGVzY3JpcHRpb24gd291bGQg aGVscCA/CgpDdXJyZW50bHkgYWNjZXB0ZWQ6CgkJfC0tLS0tLS0tLSBzb3VyY2UgLS0tLS18Cgl8 LS0tLS0tLS0tLS0gc2luayAtLS0tLS0tLS0tLS0tLS18CgpDdXJyZW50bHkgbm90IGFjY2VwdGVk OgoKCQkJfC0tLS0tLS0tLSBzb3VyY2UgLS0tLS18Cgl8LS0tLS0tLS0tLS0gc2luayAtLS0tLS0t LS0tLS0tLS18CgoJfC0tLS0tLS0tLSBzb3VyY2UgLS0tLS18CgkJfC0tLS0tLS0tLS0tIHNpbmsg LS0tLS0tLS0tLS0tLS0tfAoKCXwtLS0tLS0tLS0gc291cmNlIC0tLS0tLS0tLS0tLS0tLS0tfAoJ CXwtLS0tLS0gc2luayAtLS0tLS0tfAoKPiBUbyBpbXByb3ZlIHRoZSB1c2FiaWxpdHksIGNoYW5n ZSB0aGUgbWF0Y2hpbmcgcnVsZXMgdG8gd2hhdCBsaXN0ZWQKPiBiZWxvdzoKPiBhLiBUaGUgU291 cmNlIFBETyBpcyBzZWxlY3RhYmxlIGlmIGFueSBwb3J0aW9uIG9mIHRoZSB2b2x0YWdlIHJhbmdl Cj4gICAgb3ZlcmxhcHMgb25lIG9mIHRoZSBTaW5rIFBETydzIHZvbHRhZ2UgcmFuZ2UuCj4gYi4g VGhlIG1heGltdW0gb3BlcmF0aW9uYWwgdm9sdGFnZSB3aWxsIGJlIHRoZSBsb3dlciBvbmUgYmV0 d2VlbiB0aGUKPiAgICBzZWxlY3RlZCBTb3VyY2UgUERPIGFuZCB0aGUgbWF0Y2hpbmcgU2luayBQ RE8uCj4gYy4gVGhlIG1heGltdW0gcG93ZXIgd2lsbCBiZSB0aGUgbWF4aW11bSBvcGVyYXRpb25h bCB2b2x0YWdlIHRpbWVzIHRoZQo+ICAgIG1heGltdW0gY3VycmVudCBkZWZpbmVkIGluIHRoZSBz ZWxlY3RlZCBTb3VyY2UgUERPCj4gZC4gU2VsZWN0IHRoZSBTb3VyY2UgUERPIHdpdGggdGhlIGhp Z2hlc3QgbWF4aW11bSBwb3dlcgo+IAo+IFNpZ25lZC1vZmYtYnk6IEt5bGUgVHNvIDxreWxldHNv QGdvb2dsZS5jb20+CgpNYWtlcyBzZW5zZSB0byBtZS4gSSBhbSBhIGJpdCBjb25jZXJuZWQgdGhh dCBpdCBtaWdodCBjYXVzZSBvZGQgcmVncmVzc2lvbnMsCnRob3VnaC4gRGlkIHlvdSB0ZXN0IGl0 IHdpdGggYSBmZXcgYWRhcHRlcnMgPwoKV2l0aCB0aGUgZXhwZWN0YXRpb24gdGhhdCB5b3UgZGlk LAoKUmV2aWV3ZWQtYnk6IEd1ZW50ZXIgUm9lY2sgPGxpbnV4QHJvZWNrLXVzLm5ldD4KCj4gLS0t Cj4gIGRyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwbS5jIHwgMjkgKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0 aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcG0uYyBi L2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwbS5jCj4gaW5kZXggMzYyMGVmZWUyNjg4Li4zMDAx ZGY3YmQ2MDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BtLmMKPiAr KysgYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcG0uYwo+IEBAIC0yMjEzLDcgKzIyMTMsOCBA QCBzdGF0aWMgdW5zaWduZWQgaW50IHRjcG1fcGRfc2VsZWN0X3Bwc19hcGRvKHN0cnVjdCB0Y3Bt X3BvcnQgKnBvcnQpCj4gIAl1bnNpZ25lZCBpbnQgaSwgaiwgbWF4X213ID0gMCwgbWF4X212ID0g MDsKPiAgCXVuc2lnbmVkIGludCBtaW5fc3JjX212LCBtYXhfc3JjX212LCBzcmNfbWEsIHNyY19t dzsKPiAgCXVuc2lnbmVkIGludCBtaW5fc25rX212LCBtYXhfc25rX212Owo+IC0JdTMyIHBkbzsK PiArCXVuc2lnbmVkIGludCBtYXhfb3BfbXY7Cj4gKwl1MzIgcGRvLCBzcmMsIHNuazsKPiAgCXVu c2lnbmVkIGludCBzcmNfcGRvID0gMCwgc25rX3BkbyA9IDA7Cj4gIAo+ICAJLyoKPiBAQCAtMjI2 MywxNiArMjI2NCwxOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHRjcG1fcGRfc2VsZWN0X3Bwc19h cGRvKHN0cnVjdCB0Y3BtX3BvcnQgKnBvcnQpCj4gIAkJCQkJY29udGludWU7Cj4gIAkJCQl9Cj4g IAo+IC0JCQkJaWYgKG1heF9zcmNfbXYgPD0gbWF4X3Nua19tdiAmJgo+IC0JCQkJICAgIG1pbl9z cmNfbXYgPj0gbWluX3Nua19tdikgewo+ICsJCQkJaWYgKG1pbl9zcmNfbXYgPD0gbWF4X3Nua19t diAmJgo+ICsJCQkJICAgIG1heF9zcmNfbXYgPj0gbWluX3Nua19tdikgewo+ICsJCQkJCW1heF9v cF9tdiA9IG1pbihtYXhfc3JjX212LCBtYXhfc25rX212KTsKPiArCQkJCQlzcmNfbXcgPSAobWF4 X29wX212ICogc3JjX21hKSAvIDEwMDA7Cj4gIAkJCQkJLyogUHJlZmVyIGhpZ2hlciB2b2x0YWdl cyBpZiBhdmFpbGFibGUgKi8KPiAgCQkJCQlpZiAoKHNyY19tdyA9PSBtYXhfbXcgJiYKPiAtCQkJ CQkgICAgIG1pbl9zcmNfbXYgPiBtYXhfbXYpIHx8Cj4gKwkJCQkJICAgICBtYXhfb3BfbXYgPiBt YXhfbXYpIHx8Cj4gIAkJCQkJICAgIHNyY19tdyA+IG1heF9tdykgewo+ICAJCQkJCQlzcmNfcGRv ID0gaTsKPiAgCQkJCQkJc25rX3BkbyA9IGo7Cj4gIAkJCQkJCW1heF9tdyA9IHNyY19tdzsKPiAt CQkJCQkJbWF4X212ID0gbWF4X3NyY19tdjsKPiArCQkJCQkJbWF4X212ID0gbWF4X29wX212Owo+ ICAJCQkJCX0KPiAgCQkJCX0KPiAgCQkJfQo+IEBAIC0yMjg1LDE0ICsyMjg4LDE2IEBAIHN0YXRp YyB1bnNpZ25lZCBpbnQgdGNwbV9wZF9zZWxlY3RfcHBzX2FwZG8oc3RydWN0IHRjcG1fcG9ydCAq cG9ydCkKPiAgCX0KPiAgCj4gIAlpZiAoc3JjX3Bkbykgewo+IC0JCXBkbyA9IHBvcnQtPnNvdXJj ZV9jYXBzW3NyY19wZG9dOwo+IC0KPiAtCQlwb3J0LT5wcHNfZGF0YS5taW5fdm9sdCA9IHBkb19w cHNfYXBkb19taW5fdm9sdGFnZShwZG8pOwo+IC0JCXBvcnQtPnBwc19kYXRhLm1heF92b2x0ID0g cGRvX3Bwc19hcGRvX21heF92b2x0YWdlKHBkbyk7Cj4gLQkJcG9ydC0+cHBzX2RhdGEubWF4X2N1 cnIgPQo+IC0JCQltaW5fcHBzX2FwZG9fY3VycmVudChwZG8sIHBvcnQtPnNua19wZG9bc25rX3Bk b10pOwo+ICsJCXNyYyA9IHBvcnQtPnNvdXJjZV9jYXBzW3NyY19wZG9dOwo+ICsJCXNuayA9IHBv cnQtPnNua19wZG9bc25rX3Bkb107Cj4gKwo+ICsJCXBvcnQtPnBwc19kYXRhLm1pbl92b2x0ID0g bWF4KHBkb19wcHNfYXBkb19taW5fdm9sdGFnZShzcmMpLAo+ICsJCQkJCSAgICAgIHBkb19wcHNf YXBkb19taW5fdm9sdGFnZShzbmspKTsKPiArCQlwb3J0LT5wcHNfZGF0YS5tYXhfdm9sdCA9IG1p bihwZG9fcHBzX2FwZG9fbWF4X3ZvbHRhZ2Uoc3JjKSwKPiArCQkJCQkgICAgICBwZG9fcHBzX2Fw ZG9fbWF4X3ZvbHRhZ2Uoc25rKSk7Cj4gKwkJcG9ydC0+cHBzX2RhdGEubWF4X2N1cnIgPSBtaW5f cHBzX2FwZG9fY3VycmVudChzcmMsIHNuayk7Cj4gIAkJcG9ydC0+cHBzX2RhdGEub3V0X3ZvbHQg PQo+IC0JCQltaW4ocGRvX3Bwc19hcGRvX21heF92b2x0YWdlKHBkbyksIHBvcnQtPnBwc19kYXRh Lm91dF92b2x0KTsKPiArCQkJbWluKHBvcnQtPnBwc19kYXRhLm1heF92b2x0LCBwb3J0LT5wcHNf ZGF0YS5vdXRfdm9sdCk7Cj4gIAkJcG9ydC0+cHBzX2RhdGEub3BfY3VyciA9Cj4gIAkJCW1pbihw b3J0LT5wcHNfZGF0YS5tYXhfY3VyciwgcG9ydC0+cHBzX2RhdGEub3BfY3Vycik7Cj4gIAl9Cj4g LS0gCj4gMi4yMC4wLnJjMi40MDMuZ2RiYzNiMjk4MDUtZ29vZwo+Cg==