Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2afe8be8 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Takashi Iwai
Browse files

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: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 26204e04
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -2779,7 +2779,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
	unsigned long port;
	unsigned long pos, pos1, t;
	int civ, timeout = 1000, attempt = 1;
	struct timespec start_time, stop_time;
	ktime_t start_time, stop_time;

	if (chip->ac97_bus->clock != 48000)
		return; /* specified in module option */
@@ -2813,7 +2813,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
		iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE);
		iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot);
	}
	do_posix_clock_monotonic_gettime(&start_time);
	start_time = ktime_get();
	spin_unlock_irq(&chip->reg_lock);
	msleep(50);
	spin_lock_irq(&chip->reg_lock);
@@ -2837,7 +2837,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
		pos += ichdev->position;
	}
	chip->in_measurement = 0;
	do_posix_clock_monotonic_gettime(&stop_time);
	stop_time = ktime_get();
	/* stop */
	if (chip->device_type == DEVICE_ALI) {
		iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16));
@@ -2865,9 +2865,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
	}

	pos /= 4;
	t = stop_time.tv_sec - start_time.tv_sec;
	t *= 1000000;
	t += (stop_time.tv_nsec - start_time.tv_nsec) / 1000;
	t = ktime_us_delta(stop_time, start_time);
	dev_info(chip->card->dev,
		 "%s: measured %lu usecs (%lu samples)\n", __func__, t, pos);
	if (t == 0) {