lkml.org 
[lkml]   [2018]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 023/107] i2c: davinci: Avoid zero value of CLKH
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Alexander Sverdlin <alexander.sverdlin@nokia.com>

    [ Upstream commit cc8de9a68599b261244ea453b38678229f06ada7 ]

    If CLKH is set to 0 I2C clock is not generated at all, so avoid this value
    and stretch the clock in this case.

    Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    Acked-by: Sekhar Nori <nsekhar@ti.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/i2c/busses/i2c-davinci.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    --- a/drivers/i2c/busses/i2c-davinci.c
    +++ b/drivers/i2c/busses/i2c-davinci.c
    @@ -234,12 +234,16 @@ static void i2c_davinci_calc_clk_divider
    /*
    * It's not always possible to have 1 to 2 ratio when d=7, so fall back
    * to minimal possible clkh in this case.
    + *
    + * Note:
    + * CLKH is not allowed to be 0, in this case I2C clock is not generated
    + * at all
    */
    - if (clk >= clkl + d) {
    + if (clk > clkl + d) {
    clkh = clk - clkl - d;
    clkl -= d;
    } else {
    - clkh = 0;
    + clkh = 1;
    clkl = clk - (d << 1);
    }


    \
     
     \ /
      Last update: 2018-09-03 19:12    [W:2.825 / U:0.540 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site