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: [PATCHv2] usb: typec: tps6598x: handle block writes separately with plain-I2C adapters From: Guenter Roeck Message-Id: Date: Wed, 20 Feb 2019 06:45:17 -0800 To: Nikolaus Voss , Heikki Krogerus , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, nikolaus.voss@loewensteinmedical.de List-ID: T24gMi8yMC8xOSA0OjU3IEFNLCBOaWtvbGF1cyBWb3NzIHdyb3RlOgo+IENvbW1pdCAxYTJmNDc0 ZDMyOGYgaGFuZGxlcyBibG9jayBfcmVhZHNfIHNlcGFyYXRlbHkgd2l0aCBwbGFpbi1JMkMKPiBh ZGFwdGVycywgYnV0IHRoZSBwcm9ibGVtIGRlc2NyaWJlZCB3aXRoIHJlZ21hcC1pMmMgbm90IGhh bmRsaW5nCj4gU01CdXMgYmxvY2sgdHJhbnNmZXJzIChpLmUuIHJlYWQgYW5kIHdyaXRlcykgY29y cmVjdGx5IGFsc28gZXhpc3RzCj4gd2l0aCB3cml0ZXMuCj4gCj4gQXMgd29ya2Fyb3VuZCwgdGhp cyBwYXRjaCBhZGRzIGEgYmxvY2sgd3JpdGUgZnVuY3Rpb24gdGhlIHNhbWUgd2F5Cj4gMWEyZjQ3 NGQzMjhmIGFkZHMgYSBibG9jayByZWFkIGZ1bmN0aW9uLgo+IAo+IEZpeGVzOiAxYTJmNDc0ZDMy OGYgKCJ1c2I6IHR5cGVjOiB0cHM2NTk4eDogaGFuZGxlIGJsb2NrIHJlYWRzIHNlcGFyYXRlbHkg d2l0aCBwbGFpbi1JMkMgYWRhcHRlcnMiKQo+IEZpeGVzOiAwYTRjMDA1YmQxNzEgKCJ1c2I6IHR5 cGVjOiBkcml2ZXIgZm9yIFRJIFRQUzY1OTh4IFVTQiBQb3dlciBEZWxpdmVyeSBjb250cm9sbGVy cyIpCj4gU2lnbmVkLW9mZi1ieTogTmlrb2xhdXMgVm9zcyA8bmlrb2xhdXMudm9zc0Bsb2V3ZW5z dGVpbm1lZGljYWwuZGU+Cj4gLS0tCj4gdjI6IGZpeCB0cHM2NTk4eF9leGVjX2NtZCBhbHNvCj4g LS0tCj4gICBkcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jIHwgMjYgKysrKysrKysrKysrKysr KysrKystLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jIGIv ZHJpdmVycy91c2IvdHlwZWMvdHBzNjU5OHguYwo+IGluZGV4IGM4NGM4YzE4OWU5MC4uYzU0Yjcz ZmIyYTJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3RwczY1OTh4LmMKPiArKysg Yi9kcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jCj4gQEAgLTExMCw2ICsxMTAsMjAgQEAgdHBz NjU5OHhfYmxvY2tfcmVhZChzdHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLCB2b2lkICp2YWws IHNpemVfdCBsZW4pCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiArc3RhdGljIGludCB0cHM2 NTk4eF9ibG9ja193cml0ZShzdHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLAo+ICsJCQkJdm9p ZCAqdmFsLCBzaXplX3QgbGVuKQo+ICt7Cj4gKwl1OCBkYXRhW2xlbiArIDFdOwo+ICsKCllvdSBz aG91bGQgdXNlIFRQU19NQVhfTEVOICsgMSBoZXJlIHRvIGF2b2lkIHRoZSB2YXJpYWJsZSBsZW5n dGggYXJyYXkuClNlZSB1cHN0cmVhbSBjb21taXQgMGJiOTVmODBhMzhmOCAoIk1ha2VmaWxlOiBH bG9iYWxseSBlbmFibGUgVkxBIHdhcm5pbmciKQphbmQgOGQzNjFmYTJjMjlkYyAoInVzYjogdHlw ZWM6IHRwczY1OTh4OiBSZW1vdmUgVkxBIHVzYWdlIikuIE5vdCBzdXJlIGlmCnRoZSBXQVJOX09O IGludHJvZHVjZWQgYnkgOGQzNjFmYTJjMjlkYyBpcyByZWFsbHkgbmVlZGVkOyBJIGRpc2xpa2UK dW5uZWNlc3NhcnkgcnVudGltZSBjaGVja3MuCgpHdWVudGVyCgo+ICsJaWYgKCF0cHMtPmkyY19w cm90b2NvbCkKPiArCQlyZXR1cm4gcmVnbWFwX3Jhd193cml0ZSh0cHMtPnJlZ21hcCwgcmVnLCB2 YWwsIGxlbik7Cj4gKwo+ICsJZGF0YVswXSA9IGxlbjsKPiArCW1lbWNweSgmZGF0YVsxXSwgdmFs LCBsZW4pOwo+ICsKPiArCXJldHVybiByZWdtYXBfcmF3X3dyaXRlKHRwcy0+cmVnbWFwLCByZWcs IGRhdGEsIHNpemVvZihkYXRhKSk7Cj4gK30KPiArCj4gICBzdGF0aWMgaW5saW5lIGludCB0cHM2 NTk4eF9yZWFkMTYoc3RydWN0IHRwczY1OTh4ICp0cHMsIHU4IHJlZywgdTE2ICp2YWwpCj4gICB7 Cj4gICAJcmV0dXJuIHRwczY1OTh4X2Jsb2NrX3JlYWQodHBzLCByZWcsIHZhbCwgc2l6ZW9mKHUx NikpOwo+IEBAIC0xMjcsMjMgKzE0MSwyMyBAQCBzdGF0aWMgaW5saW5lIGludCB0cHM2NTk4eF9y ZWFkNjQoc3RydWN0IHRwczY1OTh4ICp0cHMsIHU4IHJlZywgdTY0ICp2YWwpCj4gICAKPiAgIHN0 YXRpYyBpbmxpbmUgaW50IHRwczY1OTh4X3dyaXRlMTYoc3RydWN0IHRwczY1OTh4ICp0cHMsIHU4 IHJlZywgdTE2IHZhbCkKPiAgIHsKPiAtCXJldHVybiByZWdtYXBfcmF3X3dyaXRlKHRwcy0+cmVn bWFwLCByZWcsICZ2YWwsIHNpemVvZih1MTYpKTsKPiArCXJldHVybiB0cHM2NTk4eF9ibG9ja193 cml0ZSh0cHMsIHJlZywgJnZhbCwgc2l6ZW9mKHUxNikpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMg aW5saW5lIGludCB0cHM2NTk4eF93cml0ZTMyKHN0cnVjdCB0cHM2NTk4eCAqdHBzLCB1OCByZWcs IHUzMiB2YWwpCj4gICB7Cj4gLQlyZXR1cm4gcmVnbWFwX3Jhd193cml0ZSh0cHMtPnJlZ21hcCwg cmVnLCAmdmFsLCBzaXplb2YodTMyKSk7Cj4gKwlyZXR1cm4gdHBzNjU5OHhfYmxvY2tfd3JpdGUo dHBzLCByZWcsICZ2YWwsIHNpemVvZih1MzIpKTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIGlubGlu ZSBpbnQgdHBzNjU5OHhfd3JpdGU2NChzdHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLCB1NjQg dmFsKQo+ICAgewo+IC0JcmV0dXJuIHJlZ21hcF9yYXdfd3JpdGUodHBzLT5yZWdtYXAsIHJlZywg JnZhbCwgc2l6ZW9mKHU2NCkpOwo+ICsJcmV0dXJuIHRwczY1OTh4X2Jsb2NrX3dyaXRlKHRwcywg cmVnLCAmdmFsLCBzaXplb2YodTY0KSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbmxpbmUgaW50 Cj4gICB0cHM2NTk4eF93cml0ZV80Y2Moc3RydWN0IHRwczY1OTh4ICp0cHMsIHU4IHJlZywgY29u c3QgY2hhciAqdmFsKQo+ICAgewo+IC0JcmV0dXJuIHJlZ21hcF9yYXdfd3JpdGUodHBzLT5yZWdt YXAsIHJlZywgJnZhbCwgc2l6ZW9mKHUzMikpOwo+ICsJcmV0dXJuIHRwczY1OTh4X2Jsb2NrX3dy aXRlKHRwcywgcmVnLCAmdmFsLCBzaXplb2YodTMyKSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBp bnQgdHBzNjU5OHhfcmVhZF9wYXJ0bmVyX2lkZW50aXR5KHN0cnVjdCB0cHM2NTk4eCAqdHBzKQo+ IEBAIC0yMjksOCArMjQzLDggQEAgc3RhdGljIGludCB0cHM2NTk4eF9leGVjX2NtZChzdHJ1Y3Qg dHBzNjU5OHggKnRwcywgY29uc3QgY2hhciAqY21kLAo+ICAgCQlyZXR1cm4gLUVCVVNZOwo+ICAg Cj4gICAJaWYgKGluX2xlbikgewo+IC0JCXJldCA9IHJlZ21hcF9yYXdfd3JpdGUodHBzLT5yZWdt YXAsIFRQU19SRUdfREFUQTEsCj4gLQkJCQkgICAgICAgaW5fZGF0YSwgaW5fbGVuKTsKPiArCQly ZXQgPSB0cHM2NTk4eF9ibG9ja193cml0ZSh0cHMsIFRQU19SRUdfREFUQTEsCj4gKwkJCQkJICAg aW5fZGF0YSwgaW5fbGVuKTsKPiAgIAkJaWYgKHJldCkKPiAgIAkJCXJldHVybiByZXQ7Cj4gICAJ fQo+Cg==