lkml.org 
[lkml]   [2015]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13.y-ckt 117/122] net: dp83640: fix broken calibration routine.
    Date
    3.13.11-ckt22 -stable review patch.  If anyone has any objections, please let me know.

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

    From: Richard Cochran <richardcochran@gmail.com>

    [ Upstream commit 397a253af5031de4a4612210055935309af4472c ]

    Currently, the calibration function that corrects the initial offsets
    among multiple devices only works the first time. If the function is
    called more than once, the calibration fails and bogus offsets will be
    programmed into the devices.

    In a well hidden spot, the device documentation tells that trigger indexes
    0 and 1 are special in allowing the TRIG_IF_LATE flag to actually work.

    This patch fixes the issue by using one of the special triggers during the
    recalibration method.

    Signed-off-by: Richard Cochran <richardcochran@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/phy/dp83640.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
    index 7490b6c..d2907a6 100644
    --- a/drivers/net/phy/dp83640.c
    +++ b/drivers/net/phy/dp83640.c
    @@ -45,7 +45,7 @@
    #define PSF_TX 0x1000
    #define EXT_EVENT 1
    #define CAL_EVENT 7
    -#define CAL_TRIGGER 7
    +#define CAL_TRIGGER 1
    #define PER_TRIGGER 6

    #define MII_DP83640_MICR 0x11
    --
    1.9.1


    \
     
     \ /
      Last update: 2015-06-18 00:41    [W:4.564 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site