#define PLL_SDM_COEFF BIT(13)
 #define sdin_din_to_data(din)  ((u16)((din) ? : 0xFFFFU))
 #define sdin_data_to_din(dat)  (((dat) == 0xFFFFU) ? 0 : (s16)dat)
+/* This macro returns ndiv effective scaled to SDM range */
+#define sdin_get_n_eff(cfg)    ((cfg)->n * PLL_SDM_COEFF + ((cfg)->sdm_data ? \
+               (PLL_SDM_COEFF/2 + sdin_data_to_din((cfg)->sdm_data)) : 0))
 
 /* Tegra CPU clock and reset control regs */
 #define CLK_RST_CONTROLLER_CPU_CMPLX_STATUS    0x470
                        s -= PLL_SDM_COEFF / 2;
                        cfg->sdm_data = sdin_din_to_data(s);
                }
-               cfg->output_rate *= cfg->n * PLL_SDM_COEFF + PLL_SDM_COEFF/2 +
-                                       sdin_data_to_din(cfg->sdm_data);
+               cfg->output_rate *= sdin_get_n_eff(cfg);
                cfg->output_rate /= p * cfg->m * PLL_SDM_COEFF;
        } else {
                cfg->output_rate *= cfg->n;
  */
 static void tegra210_clk_pll_set_gain(struct tegra_clk_pll_freq_table *cfg)
 {
-       cfg->n = cfg->n * PLL_SDM_COEFF + PLL_SDM_COEFF/2 +
-                       sdin_data_to_din(cfg->sdm_data);
+       cfg->n = sdin_get_n_eff(cfg);
        cfg->m *= PLL_SDM_COEFF;
 }