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: [4/5] usb: typec: ucsi: Preliminary support for alternate modes From: Heikki Krogerus Message-Id: <20190206083000.GC27830@kuha.fi.intel.com> Date: Wed, 6 Feb 2019 10:30:00 +0200 To: Ajay Gupta Cc: Greg Kroah-Hartman , Michael Hsu , "linux-usb@vger.kernel.org" List-ID: SGkgQWpheSwKCk9uIFR1ZSwgRmViIDA1LCAyMDE5IGF0IDEyOjU5OjI3QU0gKzAwMDAsIEFqYXkg R3VwdGEgd3JvdGU6Cj4gPiArc3RhdGljIGludCB1Y3NpX3JlZ2lzdGVyX2FsdG1vZGUoc3RydWN0 IHVjc2lfY29ubmVjdG9yICpjb24sCj4gPiArCQkJCSBzdHJ1Y3QgdHlwZWNfYWx0bW9kZV9kZXNj ICpkZXNjLAo+ID4gKwkJCQkgdTggcmVjaXBpZW50KQo+ID4gK3sKPiA+ICsJc3RydWN0IHR5cGVj X2FsdG1vZGUgKmFsdDsKPiA+ICsJaW50IHJldDsKPiA+ICsJaW50IGk7Cj4gPiArCj4gPiArCXN3 aXRjaCAocmVjaXBpZW50KSB7Cj4gPiArCWNhc2UgVUNTSV9SRUNJUElFTlRfQ09OOgo+ID4gKwkJ aSA9IHVjc2lfbmV4dF9hbHRtb2RlKGNvbi0+cG9ydF9hbHRtb2RlKTsKPiA+ICsJCWlmIChpIDwg MCkgewo+ID4gKwkJCXJldCA9IGk7Cj4gPiArCQkJZ290byBlcnI7Cj4gPiArCQl9Cj4gPiArCj4g PiArCQlkZXNjLT5tb2RlID0gdWNzaV9hbHRtb2RlX25leHRfbW9kZShjb24tPnBvcnRfYWx0bW9k ZSwKPiA+ICsJCQkJCQkgICAgZGVzYy0+c3ZpZCk7Cj4gPiArCj4gPiArCQlhbHQgPSB0eXBlY19w b3J0X3JlZ2lzdGVyX2FsdG1vZGUoY29uLT5wb3J0LCBkZXNjKTsKPiA+ICsJCWlmIChJU19FUlIo YWx0KSkgewo+ID4gKwkJCXJldCA9IFBUUl9FUlIoYWx0KTsKPiA+ICsJCQlnb3RvIGVycjsKPiA+ ICsJCX0KPiA+ICsKPiA+ICsJCWNvbi0+cG9ydF9hbHRtb2RlW2ldID0gYWx0Owo+ID4gKwkJYnJl YWs7Cj4gPiArCWNhc2UgVUNTSV9SRUNJUElFTlRfU09QOgo+ID4gKwkJaSA9IHVjc2lfbmV4dF9h bHRtb2RlKGNvbi0+cGFydG5lcl9hbHRtb2RlKTsKPiBXZSBhcmUgc2VlaW5nIGR1cGxpY2F0ZSBw YXJ0bmVyIGFsdG1vZGUgZGV2aWNlcyBnZXR0aW5nIGNyZWF0ZWQgd2hlbiB3ZSBzZXQKPiAiYWN0 aXZlIiBmaWxlIGZyb20gMS0+MC0+MSBQbGVhc2UgYWRkIGEgY2hlY2sgaGVyZSB0byBzZWUgaWYg YWx0bW9kZSBkZXZpY2UKPiBhbHJlYWR5IGV4aXN0cy4KPiAKPiBbLi4uXQo+ICAgICAgICAgY2Fz ZSBVQ1NJX1JFQ0lQSUVOVF9TT1A6Cj4gICAgICAgICAgICAgICAgIC8qIGNoZWNrIHRvIHNlZSBp ZiBwYXJ0bmVyIGFsdG1vZGUgYWxyZWFkeSBleGlzdHMgKi8KPiAgICAgICAgICAgICAgICAgaWYg KHVjc2lfYWx0bW9kZV9mb3VuZChjb24tPnBhcnRuZXJfYWx0bW9kZSwgZGVzYykpCj4gICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gCj4gICAgICAgICAgICAgICAgIGkgPSB1Y3NpX25l eHRfYWx0bW9kZShjb24tPnBhcnRuZXJfYWx0bW9kZSk7Cj4gCSBpZiAoaSA8IDApIHsKPiBbLi4u XQo+IAo+IAo+IHN0YXRpYyBib29sIHVjc2lfYWx0bW9kZV9mb3VuZChzdHJ1Y3QgdHlwZWNfYWx0 bW9kZSAqKmFsdCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGVj X2FsdG1vZGVfZGVzYyAqZGVzYykKPiB7Cj4gICAgICAgICBpbnQgaTsKPiAKPiAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBVQ1NJX01BWF9BTFRNT0RFUzsgaSsrKSB7Cj4gICAgICAgICAgICAgICAg IGlmICghYWx0W2ldKQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPiAg ICAgICAgICAgICAgICAgaWYgKGFsdFtpXS0+c3ZpZCA9PSBkZXNjLT5zdmlkICYmIGFsdFtpXS0+ dmRvID09IGRlc2MtPnZkbykKPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK PiAgICAgICAgIH0KPiAKPiAgICAgICAgIHJldHVybiBmYWxzZTsKPiB9CgpPSy4gSSdsbCBwcmVw YXJlIG5ldyB2ZXJzaW9uIGxhdGVyIHRoaXMgd2Vlay4KCgp0aGFua3MsCg==