Message ID | 20141028122744.GA3772@localhost.localdomain (mailing list archive) |
---|---|
State | Accepted |
Commit | 326f0480b7f8504c4f594c4f36ab7874e17780bc |
Delegated to: | Takashi Iwai |
Headers | show |
At Tue, 28 Oct 2014 14:27:44 +0200, Aya Mahfouz wrote: > > This patch is concerned with migrating the time variables in the pcxhr > module found in the sound driver. The changes are concerend with the > y2038 problem where timeval will overflow in the year 2038. ktime_t > was used instead of timeval to get the wall time. The difference > is displayed now in nanoseconds instead of microseconds. > > Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com> > Reviewed-by: Arnd Bergmann <arnd@arndb.de> > --- > v2: changed variables names to avoid redeclaration conflicts. Applied, thanks. Takashi > > sound/pci/pcxhr/pcxhr.c | 10 ++++++---- > sound/pci/pcxhr/pcxhr_core.c | 10 ++++++---- > 2 files changed, 12 insertions(+), 8 deletions(-) > > diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c > index b854fc5..7c33c97 100644 > --- a/sound/pci/pcxhr/pcxhr.c > +++ b/sound/pci/pcxhr/pcxhr.c > @@ -711,8 +711,9 @@ static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr) > int playback_mask = 0; > > #ifdef CONFIG_SND_DEBUG_VERBOSE > - struct timeval my_tv1, my_tv2; > - do_gettimeofday(&my_tv1); > + ktime_t start_time, stop_time, diff_time; > + > + start_time = ktime_get(); > #endif > mutex_lock(&mgr->setup_mutex); > > @@ -823,9 +824,10 @@ static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr) > mutex_unlock(&mgr->setup_mutex); > > #ifdef CONFIG_SND_DEBUG_VERBOSE > - do_gettimeofday(&my_tv2); > + stop_time = ktime_get(); > + diff_time = ktime_sub(stop_time, start_time); > dev_dbg(&mgr->pci->dev, "***TRIGGER START*** TIME = %ld (err = %x)\n", > - (long)(my_tv2.tv_usec - my_tv1.tv_usec), err); > + (long)(ktime_to_ns(diff_time)), err); > #endif > } > > diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c > index a584acb..181f772 100644 > --- a/sound/pci/pcxhr/pcxhr_core.c > +++ b/sound/pci/pcxhr/pcxhr_core.c > @@ -910,8 +910,9 @@ int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask, > int audio_mask; > > #ifdef CONFIG_SND_DEBUG_VERBOSE > - struct timeval my_tv1, my_tv2; > - do_gettimeofday(&my_tv1); > + ktime_t start_time, stop_time, diff_time; > + > + start_time = ktime_get(); > #endif > audio_mask = (playback_mask | > (capture_mask << PCXHR_PIPE_STATE_CAPTURE_OFFSET)); > @@ -960,9 +961,10 @@ int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask, > return err; > } > #ifdef CONFIG_SND_DEBUG_VERBOSE > - do_gettimeofday(&my_tv2); > + stop_time = ktime_get(); > + diff_time = ktime_sub(stop_time, start_time); > dev_dbg(&mgr->pci->dev, "***SET PIPE STATE*** TIME = %ld (err = %x)\n", > - (long)(my_tv2.tv_usec - my_tv1.tv_usec), err); > + (long)(ktime_to_ns(diff_time)), err); > #endif > return 0; > } > -- > 1.9.3 >
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c index b854fc5..7c33c97 100644 --- a/sound/pci/pcxhr/pcxhr.c +++ b/sound/pci/pcxhr/pcxhr.c @@ -711,8 +711,9 @@ static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr) int playback_mask = 0; #ifdef CONFIG_SND_DEBUG_VERBOSE - struct timeval my_tv1, my_tv2; - do_gettimeofday(&my_tv1); + ktime_t start_time, stop_time, diff_time; + + start_time = ktime_get(); #endif mutex_lock(&mgr->setup_mutex); @@ -823,9 +824,10 @@ static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr) mutex_unlock(&mgr->setup_mutex); #ifdef CONFIG_SND_DEBUG_VERBOSE - do_gettimeofday(&my_tv2); + stop_time = ktime_get(); + diff_time = ktime_sub(stop_time, start_time); dev_dbg(&mgr->pci->dev, "***TRIGGER START*** TIME = %ld (err = %x)\n", - (long)(my_tv2.tv_usec - my_tv1.tv_usec), err); + (long)(ktime_to_ns(diff_time)), err); #endif } diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c index a584acb..181f772 100644 --- a/sound/pci/pcxhr/pcxhr_core.c +++ b/sound/pci/pcxhr/pcxhr_core.c @@ -910,8 +910,9 @@ int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask, int audio_mask; #ifdef CONFIG_SND_DEBUG_VERBOSE - struct timeval my_tv1, my_tv2; - do_gettimeofday(&my_tv1); + ktime_t start_time, stop_time, diff_time; + + start_time = ktime_get(); #endif audio_mask = (playback_mask | (capture_mask << PCXHR_PIPE_STATE_CAPTURE_OFFSET)); @@ -960,9 +961,10 @@ int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask, return err; } #ifdef CONFIG_SND_DEBUG_VERBOSE - do_gettimeofday(&my_tv2); + stop_time = ktime_get(); + diff_time = ktime_sub(stop_time, start_time); dev_dbg(&mgr->pci->dev, "***SET PIPE STATE*** TIME = %ld (err = %x)\n", - (long)(my_tv2.tv_usec - my_tv1.tv_usec), err); + (long)(ktime_to_ns(diff_time)), err); #endif return 0; }