diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2014-06-11 19:59:15 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-06-12 06:58:41 -0400 |
commit | 2afe8be85c2c79fc574c0d322ab60921d5deed43 (patch) | |
tree | 484833cf4f0e6424553878c1977ec2a6fcb96a2b | |
parent | 26204e048d2ee0c65e0539f7cc2b66f845a19a41 (diff) |
ALSA: intel8x0: Use ktime and ktime_get()
do_posix_clock_monotonic_gettime() is a leftover from the initial
posix timer implementation which maps to ktime_get_ts() and returns
the monotonic time in a timespec.
Use ktime based ktime_get() and use the ktime_delta_us() function to
calculate the delta instead of open coding the timespec math.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/intel8x0.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 68340d7df76d..c91860e0a28d 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -2779,7 +2779,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
2779 | unsigned long port; | 2779 | unsigned long port; |
2780 | unsigned long pos, pos1, t; | 2780 | unsigned long pos, pos1, t; |
2781 | int civ, timeout = 1000, attempt = 1; | 2781 | int civ, timeout = 1000, attempt = 1; |
2782 | struct timespec start_time, stop_time; | 2782 | ktime_t start_time, stop_time; |
2783 | 2783 | ||
2784 | if (chip->ac97_bus->clock != 48000) | 2784 | if (chip->ac97_bus->clock != 48000) |
2785 | return; /* specified in module option */ | 2785 | return; /* specified in module option */ |
@@ -2813,7 +2813,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
2813 | iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE); | 2813 | iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE); |
2814 | iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot); | 2814 | iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot); |
2815 | } | 2815 | } |
2816 | do_posix_clock_monotonic_gettime(&start_time); | 2816 | start_time = ktime_get(); |
2817 | spin_unlock_irq(&chip->reg_lock); | 2817 | spin_unlock_irq(&chip->reg_lock); |
2818 | msleep(50); | 2818 | msleep(50); |
2819 | spin_lock_irq(&chip->reg_lock); | 2819 | spin_lock_irq(&chip->reg_lock); |
@@ -2837,7 +2837,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
2837 | pos += ichdev->position; | 2837 | pos += ichdev->position; |
2838 | } | 2838 | } |
2839 | chip->in_measurement = 0; | 2839 | chip->in_measurement = 0; |
2840 | do_posix_clock_monotonic_gettime(&stop_time); | 2840 | stop_time = ktime_get(); |
2841 | /* stop */ | 2841 | /* stop */ |
2842 | if (chip->device_type == DEVICE_ALI) { | 2842 | if (chip->device_type == DEVICE_ALI) { |
2843 | iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16)); | 2843 | iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16)); |
@@ -2865,9 +2865,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
2865 | } | 2865 | } |
2866 | 2866 | ||
2867 | pos /= 4; | 2867 | pos /= 4; |
2868 | t = stop_time.tv_sec - start_time.tv_sec; | 2868 | t = ktime_us_delta(stop_time, start_time); |
2869 | t *= 1000000; | ||
2870 | t += (stop_time.tv_nsec - start_time.tv_nsec) / 1000; | ||
2871 | dev_info(chip->card->dev, | 2869 | dev_info(chip->card->dev, |
2872 | "%s: measured %lu usecs (%lu samples)\n", __func__, t, pos); | 2870 | "%s: measured %lu usecs (%lu samples)\n", __func__, t, pos); |
2873 | if (t == 0) { | 2871 | if (t == 0) { |