On Wed Sep 25, 2024 at 9:53 AM BST, Mark Brown wrote:
On Wed, Sep 25, 2024 at 11:27:54AM +0300, Dmitry Baryshkov wrote:
On Wed, Sep 25, 2024 at 05:38:22AM GMT, Alexey Klimov wrote:
+#define CDC_RX_RXn_RX_PATH_SEC7(rx, n) \
- (0x0434 + rx->rxn_reg_stride * n + n * (n - 1) * rx->rxn_reg_stride2)
This is a nice hack to rule out n=0 and n=1, but maybe we can be more obvious here:
(0x0434 + stride * n + (n > 2) ? stride2 : 0)
Yes. We could also use some brackets to make the + and * precedence obvious.
Yeah, sure. If this approach with stride2 works then I can update to: (0x0434 + (rx->rxn_reg_stride * n) + ((n > 1) ? rx->rxn_reg_stride2 : 0)) and update stride2 to 0xc.
Looks like I can also remove: if (j == INTERP_AUX) dsm_reg = CDC_RX_RXn_RX_PATH_DSM_CTL(rx, 2); from rx_macro_digital_mute() since INTERP_AUX = 2 and this if-check was there to handle special offset of DSM_CTL for RX2. If RXn() will generate correct addresses then this no longer needed. Or such kind of clean-up should go into separate patch.
BR, Alexey