From: Sebastien Bourdeauducq Date: Tue, 9 Oct 2012 17:08:09 +0000 (+0200) Subject: actorlib/spi/collector: atomic update for write_count X-Git-Tag: 24jan2021_ls180~2099^2~827 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c473718a12c2298aea56ae0bba1af85daaa4d3cb;p=litex.git actorlib/spi/collector: atomic update for write_count --- diff --git a/migen/actorlib/spi.py b/migen/actorlib/spi.py index 8f44f0b0..e5565a5d 100644 --- a/migen/actorlib/spi.py +++ b/migen/actorlib/spi.py @@ -10,9 +10,8 @@ class Collector(Actor): self._depth = depth self._dw = sum(len(s) for s in self.token("sink").flatten()) - # TODO: reg_wc should have atomic update self._reg_wa = RegisterField("write_address", bits_for(self._depth-1), access_bus=READ_WRITE, access_dev=READ_WRITE) - self._reg_wc = RegisterField("write_count", bits_for(self._depth), access_bus=READ_WRITE, access_dev=READ_WRITE) + self._reg_wc = RegisterField("write_count", bits_for(self._depth), access_bus=READ_WRITE, access_dev=READ_WRITE, atomic_update=True) self._reg_ra = RegisterField("read_address", bits_for(self._depth-1), access_bus=READ_WRITE, access_dev=READ_ONLY) self._reg_rd = RegisterField("read_data", self._dw, access_bus=READ_ONLY, access_dev=WRITE_ONLY)