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: tps6598x: handle block writes separately with plain-I2C adapters From: Heikki Krogerus Message-Id: <20190220121441.GA5054@kuha.fi.intel.com> Date: Wed, 20 Feb 2019 14:14:41 +0200 To: Nikolaus Voss Cc: Greg Kroah-Hartman , Guenter Roeck , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, nikolaus.voss@loewensteinmedical.de List-ID: SGksCgpPbiBNb24sIFNlcCAxMCwgMjAxOCBhdCAwNzowNTowMUFNICswMjAwLCBOaWtvbGF1cyBW b3NzIHdyb3RlOgo+IENvbW1pdCAxYTJmNDc0ZDMyOGYgaGFuZGxlcyBibG9jayBfcmVhZHNfIHNl cGFyYXRlbHkgd2l0aCBwbGFpbi1JMkMKPiBhZGFwdGVycywgYnV0IHRoZSBwcm9ibGVtIGRlc2Ny aWJlZCB3aXRoIHJlZ21hcC1pMmMgbm90IGhhbmRsaW5nCj4gU01CdXMgYmxvY2sgdHJhbnNmZXJz IChpLmUuIHJlYWQgYW5kIHdyaXRlcykgY29ycmVjdGx5IGFsc28gZXhpc3RzCj4gd2l0aCB3cml0 ZXMuCj4gCj4gQXMgd29ya2Fyb3VuZCwgdGhpcyBwYXRjaCBhZGRzIGEgYmxvY2sgd3JpdGUgZnVu Y3Rpb24gdGhlIHNhbWUgd2F5Cj4gMWEyZjQ3NGQzMjhmIGFkZHMgYSBibG9jayByZWFkIGZ1bmN0 aW9uLgo+IAo+IEZpeGVzOiAxYTJmNDc0ZDMyOGYgKCJ1c2I6IHR5cGVjOiB0cHM2NTk4eDogaGFu ZGxlIGJsb2NrIHJlYWRzIHNlcGFyYXRlbHkgd2l0aCBwbGFpbi1JMkMgYWRhcHRlcnMiKQo+IEZp eGVzOiAwYTRjMDA1YmQxNzEgKCJ1c2I6IHR5cGVjOiBkcml2ZXIgZm9yIFRJIFRQUzY1OTh4IFVT QiBQb3dlciBEZWxpdmVyeSBjb250cm9sbGVycyIpCj4gU2lnbmVkLW9mZi1ieTogTmlrb2xhdXMg Vm9zcyA8bmlrb2xhdXMudm9zc0Bsb2V3ZW5zdGVpbm1lZGljYWwuZGU+Cj4gLS0tCj4gIGRyaXZl cnMvdXNiL3R5cGVjL3RwczY1OTh4LmMgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCj4gIDEg ZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jIGIvZHJpdmVycy91c2IvdHlwZWMv dHBzNjU5OHguYwo+IGluZGV4IGM4NGM4YzE4OWU5MC4uNTdhM2U2YzVjMTc1IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvdXNiL3R5cGVjL3RwczY1OTh4LmMKPiArKysgYi9kcml2ZXJzL3VzYi90eXBl Yy90cHM2NTk4eC5jCj4gQEAgLTExMCw2ICsxMTAsMjAgQEAgdHBzNjU5OHhfYmxvY2tfcmVhZChz dHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLCB2b2lkICp2YWwsIHNpemVfdCBsZW4pCj4gIAly ZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIGludCB0cHM2NTk4eF9ibG9ja193cml0ZShzdHJ1 Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLAo+ICsJCQkJdm9pZCAqdmFsLCBzaXplX3QgbGVuKQo+ ICt7Cj4gKwl1OCBkYXRhW2xlbiArIDFdOwo+ICsKPiArCWlmICghdHBzLT5pMmNfcHJvdG9jb2wp Cj4gKwkJcmV0dXJuIHJlZ21hcF9yYXdfd3JpdGUodHBzLT5yZWdtYXAsIHJlZywgdmFsLCBsZW4p Owo+ICsKPiArCWRhdGFbMF0gPSBsZW47Cj4gKwltZW1jcHkoJmRhdGFbMV0sIHZhbCwgbGVuKTsK PiArCj4gKwlyZXR1cm4gcmVnbWFwX3Jhd193cml0ZSh0cHMtPnJlZ21hcCwgcmVnLCBkYXRhLCBz aXplb2YoZGF0YSkpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW5saW5lIGludCB0cHM2NTk4eF9yZWFk MTYoc3RydWN0IHRwczY1OTh4ICp0cHMsIHU4IHJlZywgdTE2ICp2YWwpCj4gIHsKPiAgCXJldHVy biB0cHM2NTk4eF9ibG9ja19yZWFkKHRwcywgcmVnLCB2YWwsIHNpemVvZih1MTYpKTsKPiBAQCAt MTI3LDIzICsxNDEsMjMgQEAgc3RhdGljIGlubGluZSBpbnQgdHBzNjU5OHhfcmVhZDY0KHN0cnVj dCB0cHM2NTk4eCAqdHBzLCB1OCByZWcsIHU2NCAqdmFsKQo+ICAKPiAgc3RhdGljIGlubGluZSBp bnQgdHBzNjU5OHhfd3JpdGUxNihzdHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLCB1MTYgdmFs KQo+ICB7Cj4gLQlyZXR1cm4gcmVnbWFwX3Jhd193cml0ZSh0cHMtPnJlZ21hcCwgcmVnLCAmdmFs LCBzaXplb2YodTE2KSk7Cj4gKwlyZXR1cm4gdHBzNjU5OHhfYmxvY2tfd3JpdGUodHBzLCByZWcs ICZ2YWwsIHNpemVvZih1MTYpKTsKPiAgfQo+ICAKPiAgc3RhdGljIGlubGluZSBpbnQgdHBzNjU5 OHhfd3JpdGUzMihzdHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLCB1MzIgdmFsKQo+ICB7Cj4g LQlyZXR1cm4gcmVnbWFwX3Jhd193cml0ZSh0cHMtPnJlZ21hcCwgcmVnLCAmdmFsLCBzaXplb2Yo dTMyKSk7Cj4gKwlyZXR1cm4gdHBzNjU5OHhfYmxvY2tfd3JpdGUodHBzLCByZWcsICZ2YWwsIHNp emVvZih1MzIpKTsKPiAgfQo+ICAKPiAgc3RhdGljIGlubGluZSBpbnQgdHBzNjU5OHhfd3JpdGU2 NChzdHJ1Y3QgdHBzNjU5OHggKnRwcywgdTggcmVnLCB1NjQgdmFsKQo+ICB7Cj4gLQlyZXR1cm4g cmVnbWFwX3Jhd193cml0ZSh0cHMtPnJlZ21hcCwgcmVnLCAmdmFsLCBzaXplb2YodTY0KSk7Cj4g KwlyZXR1cm4gdHBzNjU5OHhfYmxvY2tfd3JpdGUodHBzLCByZWcsICZ2YWwsIHNpemVvZih1NjQp KTsKPiAgfQo+ICAKPiAgc3RhdGljIGlubGluZSBpbnQKPiAgdHBzNjU5OHhfd3JpdGVfNGNjKHN0 cnVjdCB0cHM2NTk4eCAqdHBzLCB1OCByZWcsIGNvbnN0IGNoYXIgKnZhbCkKPiAgewo+IC0JcmV0 dXJuIHJlZ21hcF9yYXdfd3JpdGUodHBzLT5yZWdtYXAsIHJlZywgJnZhbCwgc2l6ZW9mKHUzMikp Owo+ICsJcmV0dXJuIHRwczY1OTh4X2Jsb2NrX3dyaXRlKHRwcywgcmVnLCAmdmFsLCBzaXplb2Yo dTMyKSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgdHBzNjU5OHhfcmVhZF9wYXJ0bmVyX2lkZW50 aXR5KHN0cnVjdCB0cHM2NTk4eCAqdHBzKQoKWW91IG5lZWQgdG8gZml4IHRwczY1OTh4X2V4ZWNf Y21kKCkgYXMgd2VsbC4KCkRpZCB5b3UgcmVhbGx5IHNlbmQgdGhpcyBsYXN0IFNlcHRlbWJlcj8g SWYgeW91IGRpZCwgdGhlbiB0aGUgbWFpbCBoYXMKYmVlbiBzdHVjayBzb21ld2hlcmUgZm9yIGEg bG9uZyB0aW1lLgoKCnRoYW5rcywK