actorlib/spi/collector: atomic update for write_count

This commit is contained in:
Sebastien Bourdeauducq 2012-10-09 19:08:09 +02:00
parent 85081793cf
commit c473718a12
1 changed files with 1 additions and 2 deletions

View File

@ -10,9 +10,8 @@ class Collector(Actor):
self._depth = depth self._depth = depth
self._dw = sum(len(s) for s in self.token("sink").flatten()) 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_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_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) self._reg_rd = RegisterField("read_data", self._dw, access_bus=READ_ONLY, access_dev=WRITE_ONLY)