Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [PATCHv3] usb: typec: tps6598x: handle block writes separately with plain-I2C adapters From: Heikki Krogerus Message-Id: <20190221090850.GE5054@kuha.fi.intel.com> Date: Thu, 21 Feb 2019 11:08:50 +0200 To: Nikolaus Voss Cc: Greg Kroah-Hartman , Guenter Roeck , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Nikolaus Voss List-ID: T24gV2VkLCBGZWIgMjAsIDIwMTkgYXQgMDQ6MTE6MzhQTSArMDEwMCwgTmlrb2xhdXMgVm9zcyB3 cm90ZToKPiBGcm9tOiBOaWtvbGF1cyBWb3NzIDxuaWtvbGF1cy52b3NzQGxvZXdlbnN0ZWlubWVk aWNhbC5kZT4KPiAKPiBDb21taXQgMWEyZjQ3NGQzMjhmIGhhbmRsZXMgYmxvY2sgX3JlYWRzXyBz ZXBhcmF0ZWx5IHdpdGggcGxhaW4tSTJDCj4gYWRhcHRlcnMsIGJ1dCB0aGUgcHJvYmxlbSBkZXNj cmliZWQgd2l0aCByZWdtYXAtaTJjIG5vdCBoYW5kbGluZwo+IFNNQnVzIGJsb2NrIHRyYW5zZmVy cyAoaS5lLiByZWFkIGFuZCB3cml0ZXMpIGNvcnJlY3RseSBhbHNvIGV4aXN0cwo+IHdpdGggd3Jp dGVzLgo+IAo+IEFzIHdvcmthcm91bmQsIHRoaXMgcGF0Y2ggYWRkcyBhIGJsb2NrIHdyaXRlIGZ1 bmN0aW9uIHRoZSBzYW1lIHdheQo+IDFhMmY0NzRkMzI4ZiBhZGRzIGEgYmxvY2sgcmVhZCBmdW5j dGlvbi4KPiAKPiBGaXhlczogMWEyZjQ3NGQzMjhmICgidXNiOiB0eXBlYzogdHBzNjU5OHg6IGhh bmRsZSBibG9jayByZWFkcyBzZXBhcmF0ZWx5IHdpdGggcGxhaW4tSTJDIGFkYXB0ZXJzIikKPiBG aXhlczogMGE0YzAwNWJkMTcxICgidXNiOiB0eXBlYzogZHJpdmVyIGZvciBUSSBUUFM2NTk4eCBV U0IgUG93ZXIgRGVsaXZlcnkgY29udHJvbGxlcnMiKQo+IFNpZ25lZC1vZmYtYnk6IE5pa29sYXVz IFZvc3MgPG5pa29sYXVzLnZvc3NAbG9ld2Vuc3RlaW5tZWRpY2FsLmRlPgoKQWNrZWQtYnk6IEhl aWtraSBLcm9nZXJ1cyA8aGVpa2tpLmtyb2dlcnVzQGxpbnV4LmludGVsLmNvbT4KCj4gLS0tCj4g djI6IGZpeCB0cHM2NTk4eF9leGVjX2NtZCBhbHNvCj4gdjM6IHVzZSBmaXhlZCBsZW5ndGggZm9y IHN0YWNrIGJ1ZmZlcgo+IC0tLQo+ICBkcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jIHwgMjYg KysrKysrKysrKysrKysrKysrKystLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVj L3RwczY1OTh4LmMgYi9kcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jCj4gaW5kZXggYzg0Yzhj MTg5ZTkwLi5lYjgwNDZmODdhNTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvdHlwZWMvdHBz NjU5OHguYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3R5cGVjL3RwczY1OTh4LmMKPiBAQCAtMTEwLDYg KzExMCwyMCBAQCB0cHM2NTk4eF9ibG9ja19yZWFkKHN0cnVjdCB0cHM2NTk4eCAqdHBzLCB1OCBy ZWcsIHZvaWQgKnZhbCwgc2l6ZV90IGxlbikKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0 aWMgaW50IHRwczY1OTh4X2Jsb2NrX3dyaXRlKHN0cnVjdCB0cHM2NTk4eCAqdHBzLCB1OCByZWcs Cj4gKwkJCQl2b2lkICp2YWwsIHNpemVfdCBsZW4pCj4gK3sKPiArCXU4IGRhdGFbVFBTX01BWF9M RU4gKyAxXTsKPiArCj4gKwlpZiAoIXRwcy0+aTJjX3Byb3RvY29sKQo+ICsJCXJldHVybiByZWdt YXBfcmF3X3dyaXRlKHRwcy0+cmVnbWFwLCByZWcsIHZhbCwgbGVuKTsKPiArCj4gKwlkYXRhWzBd ID0gbGVuOwo+ICsJbWVtY3B5KCZkYXRhWzFdLCB2YWwsIGxlbik7Cj4gKwo+ICsJcmV0dXJuIHJl Z21hcF9yYXdfd3JpdGUodHBzLT5yZWdtYXAsIHJlZywgZGF0YSwgc2l6ZW9mKGRhdGEpKTsKPiAr fQo+ICsKPiAgc3RhdGljIGlubGluZSBpbnQgdHBzNjU5OHhfcmVhZDE2KHN0cnVjdCB0cHM2NTk4 eCAqdHBzLCB1OCByZWcsIHUxNiAqdmFsKQo+ICB7Cj4gIAlyZXR1cm4gdHBzNjU5OHhfYmxvY2tf cmVhZCh0cHMsIHJlZywgdmFsLCBzaXplb2YodTE2KSk7Cj4gQEAgLTEyNywyMyArMTQxLDIzIEBA IHN0YXRpYyBpbmxpbmUgaW50IHRwczY1OTh4X3JlYWQ2NChzdHJ1Y3QgdHBzNjU5OHggKnRwcywg dTggcmVnLCB1NjQgKnZhbCkKPiAgCj4gIHN0YXRpYyBpbmxpbmUgaW50IHRwczY1OTh4X3dyaXRl MTYoc3RydWN0IHRwczY1OTh4ICp0cHMsIHU4IHJlZywgdTE2IHZhbCkKPiAgewo+IC0JcmV0dXJu IHJlZ21hcF9yYXdfd3JpdGUodHBzLT5yZWdtYXAsIHJlZywgJnZhbCwgc2l6ZW9mKHUxNikpOwo+ ICsJcmV0dXJuIHRwczY1OTh4X2Jsb2NrX3dyaXRlKHRwcywgcmVnLCAmdmFsLCBzaXplb2YodTE2 KSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgaW50IHRwczY1OTh4X3dyaXRlMzIoc3RydWN0 IHRwczY1OTh4ICp0cHMsIHU4IHJlZywgdTMyIHZhbCkKPiAgewo+IC0JcmV0dXJuIHJlZ21hcF9y YXdfd3JpdGUodHBzLT5yZWdtYXAsIHJlZywgJnZhbCwgc2l6ZW9mKHUzMikpOwo+ICsJcmV0dXJu IHRwczY1OTh4X2Jsb2NrX3dyaXRlKHRwcywgcmVnLCAmdmFsLCBzaXplb2YodTMyKSk7Cj4gIH0K PiAgCj4gIHN0YXRpYyBpbmxpbmUgaW50IHRwczY1OTh4X3dyaXRlNjQoc3RydWN0IHRwczY1OTh4 ICp0cHMsIHU4IHJlZywgdTY0IHZhbCkKPiAgewo+IC0JcmV0dXJuIHJlZ21hcF9yYXdfd3JpdGUo dHBzLT5yZWdtYXAsIHJlZywgJnZhbCwgc2l6ZW9mKHU2NCkpOwo+ICsJcmV0dXJuIHRwczY1OTh4 X2Jsb2NrX3dyaXRlKHRwcywgcmVnLCAmdmFsLCBzaXplb2YodTY0KSk7Cj4gIH0KPiAgCj4gIHN0 YXRpYyBpbmxpbmUgaW50Cj4gIHRwczY1OTh4X3dyaXRlXzRjYyhzdHJ1Y3QgdHBzNjU5OHggKnRw cywgdTggcmVnLCBjb25zdCBjaGFyICp2YWwpCj4gIHsKPiAtCXJldHVybiByZWdtYXBfcmF3X3dy aXRlKHRwcy0+cmVnbWFwLCByZWcsICZ2YWwsIHNpemVvZih1MzIpKTsKPiArCXJldHVybiB0cHM2 NTk4eF9ibG9ja193cml0ZSh0cHMsIHJlZywgJnZhbCwgc2l6ZW9mKHUzMikpOwo+ICB9Cj4gIAo+ ICBzdGF0aWMgaW50IHRwczY1OTh4X3JlYWRfcGFydG5lcl9pZGVudGl0eShzdHJ1Y3QgdHBzNjU5 OHggKnRwcykKPiBAQCAtMjI5LDggKzI0Myw4IEBAIHN0YXRpYyBpbnQgdHBzNjU5OHhfZXhlY19j bWQoc3RydWN0IHRwczY1OTh4ICp0cHMsIGNvbnN0IGNoYXIgKmNtZCwKPiAgCQlyZXR1cm4gLUVC VVNZOwo+ICAKPiAgCWlmIChpbl9sZW4pIHsKPiAtCQlyZXQgPSByZWdtYXBfcmF3X3dyaXRlKHRw cy0+cmVnbWFwLCBUUFNfUkVHX0RBVEExLAo+IC0JCQkJICAgICAgIGluX2RhdGEsIGluX2xlbik7 Cj4gKwkJcmV0ID0gdHBzNjU5OHhfYmxvY2tfd3JpdGUodHBzLCBUUFNfUkVHX0RBVEExLAo+ICsJ CQkJCSAgIGluX2RhdGEsIGluX2xlbik7Cj4gIAkJaWYgKHJldCkKPiAgCQkJcmV0dXJuIHJldDsK PiAgCX0KPiAtLSAKPiAyLjE3LjEKCnRoYW5rcywK