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: Improve the accuracy of the baud rate generator by using round-to-closest instead of truncating when calculating baud rate divisors. From: Johan Hovold Message-Id: <20181116093318.GM19900@localhost> Date: Fri, 16 Nov 2018 10:33:18 +0100 To: Nikolaj Fogh Cc: Johan Hovold , Nikolaj Fogh , linux-usb@vger.kernel.org List-ID: T24gVGh1LCBOb3YgMTUsIDIwMTggYXQgMDM6MTY6MDRQTSArMDEwMCwgTmlrb2xhaiBGb2doIHdy b3RlOgo+IE9uIDExLzE1LzE4IDk6MjQgQU0sIEpvaGFuIEhvdm9sZCB3cm90ZToKPiA+IE9uIFR1 ZSwgTm92IDEzLCAyMDE4IGF0IDA4OjE5OjQ0UE0gKzAxMDAsIE5pa29sYWogRm9naCB3cm90ZToK PiA+PiBPbiAxMS8xMi8xOCAxMDo1NCBBTSwgSm9oYW4gSG92b2xkIHdyb3RlOgo+ID4+PiBPbiBX ZWQsIE9jdCAzMSwgMjAxOCBhdCAwOToxNjo0OFBNICswMTAwLCBOaWtvbGFqIEZvZ2ggd3JvdGU6 Cj4gPj4+PiBJIGhhdmUgZXhwZXJpZW5jZWQgdGhhdCB0aGUgZnRkaV9zaW8gZHJpdmVyIGdpdmVz IGxlc3MtdGhhbi1vcHRpbWFsCj4gPj4+PiBiYXVkIHJhdGVzIGFzIHRoZSBkcml2ZXIgdHJ1bmNh dGVzIGluc3RlYWQgb2Ygcm91bmRzIHRvIG5lYXJlc3QKPiA+Pj4+IGR1cmluZyBiYXVkIHJhdGUg ZGl2aXNvciBjYWxjdWxhdGlvbi4KPiA+Pj4+IFRoaXMgcGF0Y2ggaW1wcm92ZXMgb24gdGhlIGJh dWQgcmF0ZSBnZW5lcmF0aW9uLiBUaGUgZ2VuZXJhdGVkIGJhdWQKPiA+Pj4+IHJhdGUgY29ycmVz cG9uZHMgdG8gdGhlIG9wdGltYWwgYmF1ZCByYXRlIGFjaGlldmFibGUgd2l0aCB0aGUgY2hpcC4K PiA+Pj4+IFRoaXMgaXMgd2hhdCB0aGUgd2luZG93cyBkcml2ZXIgZ2l2ZXMgYXMgd2VsbC4KPiA+ Pj4gSG93IGRpZCB5b3UgdmVyaWZ5IHRoaXM/IERpZCB5b3UgdHJhY2UgYW5kIGNvbXBhcmUgdGhl IGRpdmlzb3JzCj4gPj4+IGFjdHVhbGx5IHJlcXVlc3RlZCBieSB0aGUgV2luZG93cyBkcml2ZXIs IG9yIGRpZCB5b3UgbWVhc3VyZSB0aGUKPiA+Pj4gcmVzdWx0aW5nIHJhdGVzIHVzaW5nIGEgc2Nv cGU/Cj4gPj4gSSB2ZXJpZmllZCBpdCBieSBzY29wZS4gR3JhbnRlZCwgSSBvbmx5IHZlcmlmaWVk IGl0IGZvciBvbmUgYmF1ZCByYXRlCj4gPj4gKDk2MTIwMCkuIFdoZXRoZXIgaXQgZ2l2ZXMgdGhl IHNhbWUgYXMgdGhlIFdpbmRvd3MgZHJpdmVyIGluIGdlbmVyYWwsCj4gPj4gSSdtIG5vdCBzdXJl LiBIb3dldmVyLCBJIHdvdWxkIHRoaW5rIHRoYXQgcm91bmRpbmcgaW5zdGVhZCBvZiBmbG9vcmlu Zwo+ID4+IHdvdWxkIGFsd2F5cyB5aWVsZCB0aGUgbW9zdCBhY2N1cmF0ZSByZXN1bHQuCj4gPiBJ J20gbm90IHNvIHN1cmUgaW4gdGhpcyBjYXNlLiBUaGUgZHJpdmVyIHVzZXMgInN1Yi1pbnRlZ2Vy IiBkaXZpc29ycyBhbmQKPiA+IGxvb2tzIGxpa2UgaXQgZGVwZW5kcyBvbiB0cnVuY2F0aW9uIHJh dGhlciB0aGFuIHJvdW5kaW5nLiBTb21lCj4gPiBiYWNrZ3JvdW5kIGhlcmU6Cj4gPgo+ID4gCWh0 dHBzOi8vd3d3LmZ0ZGljaGlwLmNvbS9TdXBwb3J0L0tub3dsZWRnZWJhc2UvaW5kZXguaHRtbD93 aGF0YmF1ZHJhdGVzYXJlYWNoaWV2ZWFibC5odG0KCj4gSSBoYXZlIGhhZCBhIGNsb3NlciBsb29r IGF0IHRoaXMgKGFuZCB0aGUgZHJpdmVyIGNvZGUpLCBhbmQgaXQgc2VlbXN0aGF0Cj4gZWFjaCBi aXQgaW4gdGhlIGRpdmlzb3Jjb3JyZXNwb25kcyB0byAxLzh0aCAoMC4xMjUpIGluIHRoZSBjYWxj dWxhdGlvbi4KPiAKPiBJdCBpcyBzaHVmZmxlZCBhcm91bmQgYSBiaXQgaW4gdGhlIGNvZGUgKGZv ciBsZWdhY3kgcmVhc29ucyBJIGV4cGVjdCksIGFuZAo+IHB1dCBpbiB0aGUgaGlnaGVyIG9yZGVy IGJpdHMsIGJ1dCBwcmlvciB0byB0aGF0LCBJIHNlZSBubyByZWFzb24gdGhhdAo+IHJvdW5kaW5n IHNob3VsZCBub3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRydW5jYXRpbmcuIEkgZG9uJ3Qgc2VlIGhv dyBpdAo+ICJkZXBlbmRzIiBvbiB0cnVuY2F0aW9uLgoKQXMgSSBtZW50aW9uZWQgaW4gbXkgZm9s bG93LXVwIG1haWwsIEkgYWdyZWUgd2l0aCB0aGF0OyB5b3VyIHByb3Bvc2VkCmNoYW5nZSBsb29r cyBjb3JyZWN0LgoKPiA+IElmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGVzZSBjYWxjdWxhdGlvbnMg eW91IG5lZWQgdG8gbWFrZSBhIHN0cm9uZ2VyCj4gPiBjYXNlIGZvciBpdCBhbmQgdmVyaWZ5IHRo YXQgd2UgZG9uJ3QgbWVzcyB1cCBzb21lIG90aGVyIHJhdGUKPiA+IGluYWR2ZXJ0ZW50bHkuCgo+ IEkgaGF2ZSBkb25lIGEgY2FsY3VsYXRpb24gd2hpY2ggY29tcGFyZXMgdGhlIGVycm9yIG9mIHRo ZSBiYXVkIHJhdGUKPiBjYWxjdWxhdGlvbiBnb2luZyBhbGwgdGhlIHdheSBmcm9tIDEgdG8gM01C YXVkIHdoZXJlIGl0IGNhbiBiZSBzZWVuIHRoYXQKPiB0aGUgcm91bmRpbmcgKGFzIGV4cGVjdGVk KSBoYWx2ZXMgdGhlIG1heGltdW0gZXJyb3IuIFdoZXJlYXMgdGhlIG9sZCBtZXRob2QKPiB3ZW50 IHVwIHRvIDEyJSBiYXVkIHJhdGUgZXJyb3IsIHRoZSBuZXcgbWV0aG9kIHJlYWNoZXMgNiUsIHNv IHRoZSByYW5nZQo+IG9mIGJhdWQgcmF0ZXMgd2hlcmUgY29tbXVuaWNhdGlvbiB3aWxsIGJlIHN1 Y2Nlc3NmdWwgc2hvdWxkIGluY3JlYXNlLiBBbHNvLAo+IHRoZSBuZXcgbWV0aG9kIGlzIGFsd2F5 cyBiZXR0ZXIgb3IgYXMtYWNjdXJhdGUgYXMgdGhlIG9sZC4KCkV4Y2VsbGVudCwgdGhhbmtzIGZv ciBjb25maXJtaW5nLiBKdXN0IG1lbnRpb24gc29tZXRoaW5nIGFib3V0IHRoYXQgaW4KdGhlIGNv bW1pdCBtZXNzYWdlIHRvby4KCj4gSSBndWVzcyB0aGF0IGltYWdlIGF0dGFjaG1lbnRzIGFyZSBu b3Qgd2VsY29tZSBpbiB0aGUgbWFpbGluZyBsaXN0LCBzbwo+IEkgd2lsbCByZWZyYWluIGZyb20g YXR0YWNoaW5nIGl0LiBMZXQgbWUga25vdyBpZiBJIHNob3VsZCBzZW5kIGl0IHRvCj4geW91LgoK U3VyZSwgaWYgeW91IHdhbnQgdG9vIHRoYXQnZCBiZSBncmVhdC4KCj4gSSBhbSB1c2luZyBpdCBp biBhIHN5c3RlbSB3aGljaCB1c2VzIGEgYmF1ZCByYXRlIG9mIDk2MTIwMCAoYW5kIG5vdAo+IHRo ZSBzdGFuZGFyZCA5MjE2MDApLiBIZXJlIHRoZSBvbGQgY2FsY3VsYXRpb24gZ2F2ZSBhbiBlcnJv ciBvZiA0LjAzJQo+IGFuZCB0aGUgbmV3IGdhdmUgMC4xMiUgZXJyb3IuCgpBbHNvIGdvb2QgdG8g aGF2ZSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuCgo+IEkgd2lsbCB0cnkgdG8gdmVyaWZ5IHRoZSBu dW1iZXJzIEkgaGF2ZSBjYWxjdWxhdGVkIHdpdGggYSBsb2dpYyBhbmFseXplciB0bwo+IG1ha2Ug c3VyZSB0aGF0IGl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIHJlYWwgd29ybGQuIEkgY2FuIGFsc28g dHJ5IHRvIGNvbXBhcmUKPiBpdCB0byB0aGUgd2luZG93cyBkcml2ZXIgb3V0cHV0cy4KClRoYXQg d291bGQgYmUgcmVhbGx5IGdvb2QsIGF0IGxlYXN0IGZvciBhIGZldyByYXRlcy4KCj4gQXMgSSBv bmx5IGhhdmUgYSBGVDIzMlJUICgyMzJibSkgdG8gdGVzdCB3aXRoLCB0aGUgcGF0Y2ggc2hvdWxk IHByb2JhYmx5IGJlCj4gbGltaXRlZCB0byB0aGUgY2hhbmdlcyBpbiB0aGUgZnRkaV8yMzJibV9i YXVkX2Jhc2VfdG9fZGl2aXNvcigpIGZ1bmN0aW9uLgoKTm8sIGFzIGxvbmcgYXMgeW91IG1lbnRp b24gd2hpY2ggZGV2aWNlIHlvdSB1c2VkIGZvciB0ZXN0aW5nLCBhbmQgdGhlCm51bWJlcnMgZm9y IHRoZSBvdGhlciBvdGhlciB0eXBlcyBsb29rcyBzaW1pbGFyLCBJIHRoaW5rIHdlIGNhbiBnbyBh aGVhZAphbmQgcm91bmQgdGhvc2UgZGl2aXNpb25zIHRvby4KClRoYW5rcyBmb3IgZG9pbmcgdGhp cyEKCkpvaGFuCg==