From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Turquette Subject: Re: [PATCH 02/20] clk: multiplier: Prevent the multiplier from under / over flowing Date: Mon, 20 Jun 2016 13:50:30 -0700 Message-ID: <20160620205030.24587.98159@quark.deferred.io> References: <1463402840-17062-1-git-send-email-maxime.ripard@free-electrons.com> <1463402840-17062-3-git-send-email-maxime.ripard@free-electrons.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1463402840-17062-3-git-send-email-maxime.ripard@free-electrons.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring , Chen-Yu Tsai , Stephen Boyd , Daniel Vetter , David Airlie Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, Laurent Pinchart , Maxime Ripard , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org UXVvdGluZyBNYXhpbWUgUmlwYXJkICgyMDE2LTA1LTE2IDA1OjQ3OjAyKQo+IEluIHRoZSBjdXJy ZW50IG11bHRpcGxpZXIgYmFzZSBjbG9jayBpbXBsZW1lbnRhdGlvbiwgaWYgdGhlCj4gQ0xLX1NF VF9SQVRFX1BBUkVOVCBmbGFnIGlzbid0IHNldCwgdGhlIGNvZGUgd2lsbCBub3QgbWFrZSBzdXJl IHRoYXQgdGhlCj4gbXVsdGlwbGllciBjb21wdXRlZCByZW1haW5zIHdpdGhpbiB0aGUgYm91bmRh cmllcyBvZiBvdXIgY2xvY2suCj4gCj4gVGhpcyBtZWFucyB0aGF0IGlmIHRoZSBjbG9jayB3ZSB3 YW50IHRvIHJlYWNoIGlzIGJlbG93IHRoZSBwYXJlbnQgcmF0ZSwKPiBvciBpZiB0aGUgbXVsdGlw bGllciBpcyBhYm92ZSB0aGUgbWF4aW11bSB0aGF0IHdlIGNhbiByZWFjaCwgd2Ugd2lsbCBlbmQg dXAKPiB3aXRoIGEgY29tcGxldGVseSBib2d1cyBvbmUgdGhhdCB0aGUgY2xvY2sgY2Fubm90IGFj aGlldmUuCj4gCj4gRml4ZXM6IGYyZTBhNTMyNzFhNCAoImNsazogQWRkIGEgYmFzaWMgbXVsdGlw bGllciBjbG9jayIpCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFy ZEBmcmVlLWVsZWN0cm9ucy5jb20+CgpBcHBsaWVkLgoKUmVnYXJkcywKTWlrZQoKPiAtLS0KPiAg ZHJpdmVycy9jbGsvY2xrLW11bHRpcGxpZXIuYyB8IDIwICsrKysrKysrKysrKysrKysrLS0tCj4g IDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9jbGstbXVsdGlwbGllci5jIGIvZHJpdmVycy9jbGsvY2xr LW11bHRpcGxpZXIuYwo+IGluZGV4IDllNDQ5YzdiNzUxYy4uZGMwMzdjOTU3YWNkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvY2xrL2Nsay1tdWx0aXBsaWVyLmMKPiArKysgYi9kcml2ZXJzL2Nsay9j bGstbXVsdGlwbGllci5jCj4gQEAgLTUyLDE0ICs1MiwyOCBAQCBzdGF0aWMgdW5zaWduZWQgbG9u ZyBfX2Jlc3RtdWx0KHN0cnVjdCBjbGtfaHcgKmh3LCB1bnNpZ25lZCBsb25nIHJhdGUsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpiZXN0X3BhcmVudF9y YXRlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggd2lkdGgsIHVuc2lnbmVk IGxvbmcgZmxhZ3MpCj4gIHsKPiArICAgICAgIHN0cnVjdCBjbGtfbXVsdGlwbGllciAqbXVsdCA9 IHRvX2Nsa19tdWx0aXBsaWVyKGh3KTsKPiAgICAgICAgIHVuc2lnbmVkIGxvbmcgb3JpZ19wYXJl bnRfcmF0ZSA9ICpiZXN0X3BhcmVudF9yYXRlOwo+ICAgICAgICAgdW5zaWduZWQgbG9uZyBwYXJl bnRfcmF0ZSwgY3VycmVudF9yYXRlLCBiZXN0X3JhdGUgPSB+MDsKPiAgICAgICAgIHVuc2lnbmVk IGludCBpLCBiZXN0bXVsdCA9IDA7Cj4gKyAgICAgICB1bnNpZ25lZCBpbnQgbWF4bXVsdCA9ICgx IDw8IHdpZHRoKSAtIDE7Cj4gKwo+ICsgICAgICAgaWYgKCEoY2xrX2h3X2dldF9mbGFncyhodykg JiBDTEtfU0VUX1JBVEVfUEFSRU5UKSkgewo+ICsgICAgICAgICAgICAgICBiZXN0bXVsdCA9IHJh dGUgLyBvcmlnX3BhcmVudF9yYXRlOwo+ICsKPiArICAgICAgICAgICAgICAgLyogTWFrZSBzdXJl IHdlIGRvbid0IGVuZCB1cCB3aXRoIGEgMCBtdWx0aXBsaWVyICovCj4gKyAgICAgICAgICAgICAg IGlmICgoYmVzdG11bHQgPT0gMCkgJiYKPiArICAgICAgICAgICAgICAgICAgICEobXVsdC0+Zmxh Z3MgJiBDTEtfTVVMVElQTElFUl9aRVJPX0JZUEFTUykpCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgYmVzdG11bHQgPSAxOwo+ICAKPiAtICAgICAgIGlmICghKGNsa19od19nZXRfZmxhZ3MoaHcp ICYgQ0xLX1NFVF9SQVRFX1BBUkVOVCkpCj4gLSAgICAgICAgICAgICAgIHJldHVybiByYXRlIC8g KmJlc3RfcGFyZW50X3JhdGU7Cj4gKyAgICAgICAgICAgICAgIC8qIE1ha2Ugc3VyZSB3ZSBkb24n dCBvdmVyZmxvdyB0aGUgbXVsdGlwbGllciAqLwo+ICsgICAgICAgICAgICAgICBpZiAoYmVzdG11 bHQgPiBtYXhtdWx0KQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJlc3RtdWx0ID0gbWF4bXVs dDsKPiArCj4gKyAgICAgICAgICAgICAgIHJldHVybiBiZXN0bXVsdDsKPiArICAgICAgIH0KPiAg Cj4gLSAgICAgICBmb3IgKGkgPSAxOyBpIDwgKCgxIDw8IHdpZHRoKSAtIDEpOyBpKyspIHsKPiAr ICAgICAgIGZvciAoaSA9IDE7IGkgPCBtYXhtdWx0OyBpKyspIHsKPiAgICAgICAgICAgICAgICAg aWYgKHJhdGUgPT0gb3JpZ19wYXJlbnRfcmF0ZSAqIGkpIHsKPiAgICAgICAgICAgICAgICAgICAg ICAgICAvKgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAqIFRoaXMgaXMgdGhlIGJlc3QgY2Fz ZSBmb3IgdXMgaWYgd2UgaGF2ZSBhCj4gLS0gCj4gMi44LjIKPiAKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==