Hello Romain,
On Fri, Aug 19, 2022 at 03:12:56PM +0200, Romain Perier wrote:
Le dim. 19 juin 2022 à 23:35, Uwe Kleine-König
[off-list ref] a écrit :
quoted
quoted
+static void msc313e_pwm_writecounter(struct regmap_field *low, struct regmap_field *high, u32 value)
+{
+ regmap_field_write(low, value);
+ regmap_field_write(high, value >> 16);
Is this racy? E.g. if the hw is running and the low register overflows
before the high register is updated?
Ack, I am re-working most of the stuff you noticed. The problem with
this IP blocks (and others...) is we have close registers
but we only need to write or read 16 bits in each of these (it is
mainly reverse engineered from vendor source or runtime most of the
time) . You cannot really do a single read (except by doing an obscur
thing via readq ? ...)
This is fine, but pleast document that in a comment.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |