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: [1/2] USB: serial: cp210x: make line-speed quantisation data driven From: Johan Hovold Message-Id: <20180705144909.11483-2-johan@kernel.org> Date: Thu, 5 Jul 2018 16:49:08 +0200 To: Johan Hovold Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, Karoly Pados List-ID: T2xkZXIgY3AyMTB4IGRldmljZXMgb25seSBzdXBwb3J0IGEgZml4ZWQgc2V0IG9mIGxpbmUgc3Bl ZWRzIHRvIHdoaWNoIGEKcmVxdWVzdGVkIHNwZWVkIGlzIG1hcHBlZC4gUmVpbXBsZW1lbnQgdGhp cyBtYXBwaW5nIHVzaW5nIGEgdGFibGUKaW5zdGVhZCBvZiBhIGxvbmcgaWYtZWxzZSBjb25zdHJ1 Y3QuCgpTaWduZWQtb2ZmLWJ5OiBKb2hhbiBIb3ZvbGQgPGpvaGFuQGtlcm5lbC5vcmc+Ci0tLQog ZHJpdmVycy91c2Ivc2VyaWFsL2NwMjEweC5jIHwgOTkgKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDQzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9jcDIxMHguYyBiL2RyaXZl cnMvdXNiL3NlcmlhbC9jcDIxMHguYwppbmRleCA2MjZhMjlkOWFhNTguLmUxYTRkNGIzZDNhYSAx MDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2NwMjEweC5jCisrKyBiL2RyaXZlcnMvdXNi L3NlcmlhbC9jcDIxMHguYwpAQCAtNzY3LDQ4ICs3NjcsNiBAQCBzdGF0aWMgaW50IGNwMjEweF9n ZXRfbGluZV9jdGwoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwgdTE2ICpjdGwpCiAJcmV0 dXJuIDA7CiB9CiAKLS8qCi0gKiBjcDIxMHhfcXVhbnRpc2VfYmF1ZHJhdGUKLSAqIFF1YW50aXNl cyB0aGUgYmF1ZCByYXRlIGFzIHBlciBBTjIwNSBUYWJsZSAxCi0gKi8KLXN0YXRpYyB1bnNpZ25l ZCBpbnQgY3AyMTB4X3F1YW50aXNlX2JhdWRyYXRlKHVuc2lnbmVkIGludCBiYXVkKQotewotCWlm IChiYXVkIDw9IDMwMCkKLQkJYmF1ZCA9IDMwMDsKLQllbHNlIGlmIChiYXVkIDw9IDYwMCkgICAg ICBiYXVkID0gNjAwOwotCWVsc2UgaWYgKGJhdWQgPD0gMTIwMCkgICAgIGJhdWQgPSAxMjAwOwot CWVsc2UgaWYgKGJhdWQgPD0gMTgwMCkgICAgIGJhdWQgPSAxODAwOwotCWVsc2UgaWYgKGJhdWQg PD0gMjQwMCkgICAgIGJhdWQgPSAyNDAwOwotCWVsc2UgaWYgKGJhdWQgPD0gNDAwMCkgICAgIGJh dWQgPSA0MDAwOwotCWVsc2UgaWYgKGJhdWQgPD0gNDgwMykgICAgIGJhdWQgPSA0ODAwOwotCWVs c2UgaWYgKGJhdWQgPD0gNzIwNykgICAgIGJhdWQgPSA3MjAwOwotCWVsc2UgaWYgKGJhdWQgPD0g OTYxMikgICAgIGJhdWQgPSA5NjAwOwotCWVsc2UgaWYgKGJhdWQgPD0gMTQ0MjgpICAgIGJhdWQg PSAxNDQwMDsKLQllbHNlIGlmIChiYXVkIDw9IDE2MDYyKSAgICBiYXVkID0gMTYwMDA7Ci0JZWxz ZSBpZiAoYmF1ZCA8PSAxOTI1MCkgICAgYmF1ZCA9IDE5MjAwOwotCWVsc2UgaWYgKGJhdWQgPD0g Mjg5MTIpICAgIGJhdWQgPSAyODgwMDsKLQllbHNlIGlmIChiYXVkIDw9IDM4NjAxKSAgICBiYXVk ID0gMzg0MDA7Ci0JZWxzZSBpZiAoYmF1ZCA8PSA1MTU1OCkgICAgYmF1ZCA9IDUxMjAwOwotCWVs c2UgaWYgKGJhdWQgPD0gNTYyODApICAgIGJhdWQgPSA1NjAwMDsKLQllbHNlIGlmIChiYXVkIDw9 IDU4MDUzKSAgICBiYXVkID0gNTc2MDA7Ci0JZWxzZSBpZiAoYmF1ZCA8PSA2NDExMSkgICAgYmF1 ZCA9IDY0MDAwOwotCWVsc2UgaWYgKGJhdWQgPD0gNzc2MDgpICAgIGJhdWQgPSA3NjgwMDsKLQll bHNlIGlmIChiYXVkIDw9IDExNzAyOCkgICBiYXVkID0gMTE1MjAwOwotCWVsc2UgaWYgKGJhdWQg PD0gMTI5MzQ3KSAgIGJhdWQgPSAxMjgwMDA7Ci0JZWxzZSBpZiAoYmF1ZCA8PSAxNTY4NjgpICAg YmF1ZCA9IDE1MzYwMDsKLQllbHNlIGlmIChiYXVkIDw9IDIzNzgzMikgICBiYXVkID0gMjMwNDAw OwotCWVsc2UgaWYgKGJhdWQgPD0gMjU0MjM0KSAgIGJhdWQgPSAyNTAwMDA7Ci0JZWxzZSBpZiAo YmF1ZCA8PSAyNzMwNjYpICAgYmF1ZCA9IDI1NjAwMDsKLQllbHNlIGlmIChiYXVkIDw9IDQ5MTUy MCkgICBiYXVkID0gNDYwODAwOwotCWVsc2UgaWYgKGJhdWQgPD0gNTY3MTM4KSAgIGJhdWQgPSA1 MDAwMDA7Ci0JZWxzZSBpZiAoYmF1ZCA8PSA2NzAyNTQpICAgYmF1ZCA9IDU3NjAwMDsKLQllbHNl IGlmIChiYXVkIDwgMTAwMDAwMCkKLQkJYmF1ZCA9IDkyMTYwMDsKLQllbHNlIGlmIChiYXVkID4g MjAwMDAwMCkKLQkJYmF1ZCA9IDIwMDAwMDA7Ci0JcmV0dXJuIGJhdWQ7Ci19Ci0KIHN0YXRpYyBp bnQgY3AyMTB4X29wZW4oc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwgc3RydWN0IHVzYl9zZXJpYWxf cG9ydCAqcG9ydCkKIHsKIAlpbnQgcmVzdWx0OwpAQCAtMTAyOCw2ICs5ODYsNTggQEAgc3RhdGlj IHZvaWQgY3AyMTB4X2dldF90ZXJtaW9zX3BvcnQoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9y dCwKIAkqY2ZsYWdwID0gY2ZsYWc7CiB9CiAKK3N0cnVjdCBjcDIxMHhfcmF0ZSB7CisJc3BlZWRf dCByYXRlOworCXNwZWVkX3QgaGlnaDsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY3AyMTB4 X3JhdGUgY3AyMTB4X2FuMjA1X3RhYmxlMVtdID0geworCXsgMzAwLCAzMDAgfSwKKwl7IDYwMCwg NjAwIH0sCisJeyAxMjAwLCAxMjAwIH0sCisJeyAxODAwLCAxODAwIH0sCisJeyAyNDAwLCAyNDAw IH0sCisJeyA0MDAwLCA0MDAwIH0sCisJeyA0ODAwLCA0ODAzIH0sCisJeyA3MjAwLCA3MjA3IH0s CisJeyA5NjAwLCA5NjEyIH0sCisJeyAxNDQwMCwgMTQ0MjggfSwKKwl7IDE2MDAwLCAxNjA2MiB9 LAorCXsgMTkyMDAsIDE5MjUwIH0sCisJeyAyODgwMCwgMjg5MTIgfSwKKwl7IDM4NDAwLCAzODYw MSB9LAorCXsgNTEyMDAsIDUxNTU4IH0sCisJeyA1NjAwMCwgNTYyODAgfSwKKwl7IDU3NjAwLCA1 ODA1MyB9LAorCXsgNjQwMDAsIDY0MTExIH0sCisJeyA3NjgwMCwgNzc2MDggfSwKKwl7IDExNTIw MCwgMTE3MDI4IH0sCisJeyAxMjgwMDAsIDEyOTM0NyB9LAorCXsgMTUzNjAwLCAxNTY4NjggfSwK Kwl7IDIzMDQwMCwgMjM3ODMyIH0sCisJeyAyNTAwMDAsIDI1NDIzNCB9LAorCXsgMjU2MDAwLCAy NzMwNjYgfSwKKwl7IDQ2MDgwMCwgNDkxNTIwIH0sCisJeyA1MDAwMDAsIDU2NzEzOCB9LAorCXsg NTc2MDAwLCA2NzAyNTQgfSwKKwl7IDkyMTYwMCwgVUlOVF9NQVggfQorfTsKKworLyoKKyAqIFF1 YW50aXNlcyB0aGUgYmF1ZCByYXRlIGFzIHBlciBBTjIwNSBUYWJsZSAxCisgKi8KK3N0YXRpYyBz cGVlZF90IGNwMjEweF9nZXRfYW4yMDVfcmF0ZShzcGVlZF90IGJhdWQpCit7CisJaW50IGk7CisK Kwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjcDIxMHhfYW4yMDVfdGFibGUxKTsgKytpKSB7 CisJCWlmIChiYXVkIDw9IGNwMjEweF9hbjIwNV90YWJsZTFbaV0uaGlnaCkKKwkJCWJyZWFrOwor CX0KKworCXJldHVybiBjcDIxMHhfYW4yMDVfdGFibGUxW2ldLnJhdGU7Cit9CisKIC8qCiAgKiBD UDIxMDEgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBiYXVkIHJhdGVzOgogICoKQEAgLTEwNjYsNyAr MTA3NiwxMCBAQCBzdGF0aWMgdm9pZCBjcDIxMHhfY2hhbmdlX3NwZWVkKHN0cnVjdCB0dHlfc3Ry dWN0ICp0dHksCiAJICoKIAkgKiBOT1RFOiBCMCBpcyBub3QgaW1wbGVtZW50ZWQuCiAJICovCi0J YmF1ZCA9IGNwMjEweF9xdWFudGlzZV9iYXVkcmF0ZShiYXVkKTsKKwlpZiAoYmF1ZCA8IDEwMDAw MDApCisJCWJhdWQgPSBjcDIxMHhfZ2V0X2FuMjA1X3JhdGUoYmF1ZCk7CisJZWxzZSBpZiAoYmF1 ZCA+IDIwMDAwMDApCisJCWJhdWQgPSAyMDAwMDAwOwogCiAJZGV2X2RiZygmcG9ydC0+ZGV2LCAi JXMgLSBzZXR0aW5nIGJhdWQgcmF0ZSB0byAldVxuIiwgX19mdW5jX18sIGJhdWQpOwogCWlmIChj cDIxMHhfd3JpdGVfdTMyX3JlZyhwb3J0LCBDUDIxMFhfU0VUX0JBVURSQVRFLCBiYXVkKSkgewo=