OSDN Git Service

ptp: clockmatrix: remove 5 second delay before entering write phase mode
authorMin Li <min.li.xe@renesas.com>
Tue, 8 Dec 2020 15:41:55 +0000 (10:41 -0500)
committerJakub Kicinski <kuba@kernel.org>
Wed, 9 Dec 2020 23:00:55 +0000 (15:00 -0800)
Remove write phase mode 5 second setup delay, not needed.

Signed-off-by: Min Li <min.li.xe@renesas.com>
Link: https://lore.kernel.org/r/1607442117-13661-2-git-send-email-min.li.xe@renesas.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/ptp/ptp_clockmatrix.c
drivers/ptp/ptp_clockmatrix.h

index 0ccda22..7a660bc 100644 (file)
@@ -70,16 +70,6 @@ static int contains_full_configuration(const struct firmware *fw)
        return (count >= full_count);
 }
 
-static long set_write_phase_ready(struct ptp_clock_info *ptp)
-{
-       struct idtcm_channel *channel =
-               container_of(ptp, struct idtcm_channel, caps);
-
-       channel->write_phase_ready = 1;
-
-       return 0;
-}
-
 static int char_array_to_timespec(u8 *buf,
                                  u8 count,
                                  struct timespec64 *ts)
@@ -1339,16 +1329,8 @@ static int _idtcm_adjphase(struct idtcm_channel *channel, s32 delta_ns)
 
                if (err)
                        return err;
-
-               channel->write_phase_ready = 0;
-
-               ptp_schedule_worker(channel->ptp_clock,
-                                   msecs_to_jiffies(WR_PHASE_SETUP_MS));
        }
 
-       if (!channel->write_phase_ready)
-               delta_ns = 0;
-
        offset_ps = (s64)delta_ns * 1000;
 
        /*
@@ -1928,7 +1910,6 @@ static const struct ptp_clock_info idtcm_caps_v487 = {
        .gettime64      = &idtcm_gettime,
        .settime64      = &idtcm_settime_v487,
        .enable         = &idtcm_enable,
-       .do_aux_work    = &set_write_phase_ready,
 };
 
 static const struct ptp_clock_info idtcm_caps = {
@@ -1941,7 +1922,6 @@ static const struct ptp_clock_info idtcm_caps = {
        .gettime64      = &idtcm_gettime,
        .settime64      = &idtcm_settime,
        .enable         = &idtcm_enable,
-       .do_aux_work    = &set_write_phase_ready,
 };
 
 static int configure_channel_pll(struct idtcm_channel *channel)
@@ -2111,8 +2091,6 @@ static int idtcm_enable_channel(struct idtcm *idtcm, u32 index)
        if (!channel->ptp_clock)
                return -ENOTSUPP;
 
-       channel->write_phase_ready = 0;
-
        dev_info(&idtcm->client->dev, "PLL%d registered as ptp%d\n",
                 index, channel->ptp_clock->index);
 
index 713e41a..dd3436e 100644 (file)
@@ -125,7 +125,6 @@ struct idtcm_channel {
        enum pll_mode           pll_mode;
        u8                      pll;
        u16                     output_mask;
-       int                     write_phase_ready;
 };
 
 struct idtcm {