Commit d1b65edf authored by Linus Torvalds's avatar Linus Torvalds
Browse files


Pull LED fix from Johan Hovold:
 "Here's a fix for a regression in 6.4-rc1 which broke the backlight on
  machines such as the Lenovo ThinkPad X13s"

Acked-by: default avatarLee Jones <lee@kernel.org>
Link: https://lore.kernel.org/lkml/20230602091928.GR449117@google.com/

* tag 'leds-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/linux:
  leds: qcom-lpg: Fix PWM period limits
parents 51f269a6 b05d3946
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -312,14 +312,14 @@ static int lpg_calc_freq(struct lpg_channel *chan, uint64_t period)
		max_res = LPG_RESOLUTION_9BIT;
	}

	min_period = (u64)NSEC_PER_SEC *
			div64_u64((1 << pwm_resolution_arr[0]), clk_rate_arr[clk_len - 1]);
	min_period = div64_u64((u64)NSEC_PER_SEC * (1 << pwm_resolution_arr[0]),
			       clk_rate_arr[clk_len - 1]);
	if (period <= min_period)
		return -EINVAL;

	/* Limit period to largest possible value, to avoid overflows */
	max_period = (u64)NSEC_PER_SEC * max_res * LPG_MAX_PREDIV *
			div64_u64((1 << LPG_MAX_M), 1024);
	max_period = div64_u64((u64)NSEC_PER_SEC * max_res * LPG_MAX_PREDIV * (1 << LPG_MAX_M),
			       1024);
	if (period > max_period)
		period = max_period;