the FXM field needs to go through a one-hot "PriorityPicker" because using the fullmask is producing the wrong results.
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/decoder/power_regspec_map.py;h=1e6cf3af2356ab7e6f290290823dac4a1cf2a93c;hb=HEAD#l63 change read_cr_whole to be a Data(8) power_decode2.py use a PriorityPicker if bit 20 is 1 otherwise set equal to FXM straight. this uses full_cr read enable as a madk, directly. cr main_stage.py no longer expands FXM mask because full_cr only contains necessary fields. write full cr mask likewise same thing.
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/fu/cr/main_stage.py;h=e81f77f7dbeaa9449b10b7159699504b063a5177;hb=HEAD#l116 no longer need to do read modify write because FXM (or onehot) is inherently the write enable, directly onto the full_cr.
commit 05bf9da9a9f4b9be556e28a8b0468009c639e1ae (HEAD -> master, origin/master) Author: Luke Kenneth Casson Leighton <lkcl@lkcl.net> Date: Sun Aug 30 15:45:03 2020 +0100 reversal of FXM mask for one-hot selection in OP_MTCR decode