arch/xtensa/esp32: Optimize macros and ensure overwrite protection
* used when _f is not left shifted by _f##_S
*/
-#define REG_SET_FIELD(addr, field, val) (modifyreg32(addr, (((~((uint32_t) val)) & field##_V) << field##_S), (((uint32_t) val) << field##_S)))
+#define REG_SET_FIELD(addr, field, val) (modifyreg32(addr, field##_M, (((uint32_t) val) & field##_V) << field##_S))
/* Set field value from a variable,
* used when _f is not left shifted by _f##_S
