diff for duplicates of <1454684758.31169.77.camel@linux.intel.com> diff --git a/a/1.txt b/N1/1.txt index 8dbaf00..9ae4b0c 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -4,8 +4,8 @@ On Fri, 2016-02-05 at 15:49 +0100, Mason wrote: > AFAICT, the clk-fractional-divider driver implements the following > hardware API: > -> M and N are two fields in the same register. -> DIV = M / N +> ? M and N are two fields in the same register. +> ? DIV = M / N > > Is this HW API common/typical in the embedded world? > in the PC world? @@ -18,22 +18,22 @@ have something similar to this. > > My hardware uses a slightly weird (to me) API: > -> I = 0-255 (8 bits) -> F = 0-15 (4 bits) +> ? I = 0-255 (8 bits) +> ? F = 0-15??(4 bits) This part is okay. > -> I = 0 => DIV = +INF +> ? I = 0 => DIV = +INF On Intel we recognize this as an absence of the divider. -> I = 1 => DIV = 1 + F/(32-F) +> ? I = 1 => DIV = 1 + F/(32-F) Weird part, indeed. But seems it doubles a precision in a range [1 .. 1 + 1/2] -> I > 1 => DIV = I + F/16 +> ? I > 1 => DIV = I + F/16 This just normal operation. @@ -63,9 +63,9 @@ have in Intel SoCs. > > For example: > -> I = 0-15 (4 bits) -> F = 0-255 (8 bits) -> DIV = 2^I * (1 + F/256) +> ? I = 0-15??(4 bits) +> ? F = 0-255 (8 bits) +> ? DIV = 2^I * (1 + F/256) > > (We could probably even shave 2-4 bits on F.) > diff --git a/a/content_digest b/N1/content_digest index bf53953..6760292 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,15 +1,8 @@ "ref\056B4B67D.2080707@free.fr\0" - "From\0Andy Shevchenko <andriy.shevchenko@linux.intel.com>\0" - "Subject\0Re: Common/typical fractional divider HW API\0" + "From\0andriy.shevchenko@linux.intel.com (Andy Shevchenko)\0" + "Subject\0Common/typical fractional divider HW API\0" "Date\0Fri, 05 Feb 2016 17:05:58 +0200\0" - "To\0Mason <slash.tmp@free.fr>" - " linux-clk <linux-clk@vger.kernel.org>\0" - "Cc\0Stephen Boyd <sboyd@codeaurora.org>" - Michael Turquette <mturquette@baylibre.com> - Rafael J. Wysocki <rjw@rjwysocki.net> - Heikki Krogerus <heikki.krogerus@linux.intel.com> - Sebastian Frias <sf84@laposte.net> - " Linux ARM <linux-arm-kernel@lists.infradead.org>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Fri, 2016-02-05 at 15:49 +0100, Mason wrote:\n" @@ -18,8 +11,8 @@ "> AFAICT, the clk-fractional-divider driver implements the following\n" "> hardware API:\n" "> \n" - "> \302\240 M and N are two fields in the same register.\n" - "> \302\240 DIV = M / N\n" + "> ? M and N are two fields in the same register.\n" + "> ? DIV = M / N\n" "> \n" "> Is this HW API common/typical in the embedded world?\n" "> in the PC world?\n" @@ -32,22 +25,22 @@ "> \n" "> My hardware uses a slightly weird (to me) API:\n" "> \n" - "> \302\240 I = 0-255 (8 bits)\n" - "> \302\240 F = 0-15\302\240\302\240(4 bits)\n" + "> ? I = 0-255 (8 bits)\n" + "> ? F = 0-15??(4 bits)\n" "\n" "This part is okay.\n" "\n" "> \n" - "> \302\240 I = 0 => DIV = +INF\n" + "> ? I = 0 => DIV = +INF\n" "\n" "On Intel we recognize this as an absence of the divider.\n" "\n" - "> \302\240 I = 1 => DIV = 1 + F/(32-F)\n" + "> ? I = 1 => DIV = 1 + F/(32-F)\n" "\n" "Weird part, indeed. But seems it doubles a precision in a range\n" "[1 .. 1 + 1/2]\n" "\n" - "> \302\240 I > 1 => DIV = I + F/16\n" + "> ? I > 1 => DIV = I + F/16\n" "\n" "This just normal operation.\n" "\n" @@ -77,9 +70,9 @@ "> \n" "> For example:\n" "> \n" - "> \302\240 I = 0-15\302\240\302\240(4 bits)\n" - "> \302\240 F = 0-255 (8 bits)\n" - "> \302\240 DIV = 2^I * (1 + F/256)\n" + "> ? I = 0-15??(4 bits)\n" + "> ? F = 0-255 (8 bits)\n" + "> ? DIV = 2^I * (1 + F/256)\n" "> \n" "> (We could probably even shave 2-4 bits on F.)\n" "> \n" @@ -97,4 +90,4 @@ "Andy Shevchenko <andriy.shevchenko@linux.intel.com>\n" Intel Finland Oy -c28e7e7c11f0e724c938254af7856a508b96feeac526fa77b497bc6b87500de3 +cda548fa970d6b0ffe4bd6a60ce784304dddab39222bd444151b2c6df46af1b5
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.