Commit 2db4da59 authored by Alain Volmat's avatar Alain Volmat Committed by Philipp Zabel
Browse files

reset: sti: rely on regmap_field_read_poll_timeout for ack wait



Use regmap_field_read_poll_timeout function when waiting for the
ack bit upon performing the reset control.

Signed-off-by: default avatarAlain Volmat <avolmat@me.com>
Reviewed-by: default avatarPatrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20230210224332.98482-1-avolmat@me.com


Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
parent fdcfdb23
Loading
Loading
Loading
Loading
+4 −14
Original line number Diff line number Diff line
@@ -64,22 +64,12 @@ static int syscfg_reset_program_hw(struct reset_controller_dev *rcdev,
		return err;

	if (ch->ack) {
		unsigned long timeout = jiffies + msecs_to_jiffies(1000);
		u32 ack_val;

		while (true) {
			err = regmap_field_read(ch->ack, &ack_val);
		err = regmap_field_read_poll_timeout(ch->ack, ack_val, (ack_val == ctrl_val),
						     100, USEC_PER_SEC);
		if (err)
			return err;

			if (ack_val == ctrl_val)
				break;

			if (time_after(jiffies, timeout))
				return -ETIME;

			cpu_relax();
		}
	}

	return 0;