Lines Matching full:ref
11 #include "ref.h"
63 struct zl3073x_ref *ref = &zldev->ref[index]; in zl3073x_ref_state_update() local
66 &ref->mon_status); in zl3073x_ref_state_update()
81 struct zl3073x_ref *ref = &zldev->ref[index]; in zl3073x_ref_state_fetch() local
87 if (zl3073x_is_n_pin(index) && zl3073x_ref_is_diff(ref - 1)) { in zl3073x_ref_state_fetch()
88 struct zl3073x_ref *p_ref = ref - 1; /* P-pin counterpart*/ in zl3073x_ref_state_fetch()
91 ref->cfg = p_ref->cfg; in zl3073x_ref_state_fetch()
92 ref->inv = p_ref->inv; in zl3073x_ref_state_fetch()
111 rc = zl3073x_read_u8(zldev, ZL_REG_REF_CONFIG, &ref->config); in zl3073x_ref_state_fetch()
116 rc = zl3073x_read_u16(zldev, ZL_REG_REF_FREQ_BASE, &ref->freq_base); in zl3073x_ref_state_fetch()
119 rc = zl3073x_read_u16(zldev, ZL_REG_REF_FREQ_MULT, &ref->freq_mult); in zl3073x_ref_state_fetch()
122 rc = zl3073x_read_u16(zldev, ZL_REG_REF_RATIO_M, &ref->freq_ratio_m); in zl3073x_ref_state_fetch()
125 rc = zl3073x_read_u16(zldev, ZL_REG_REF_RATIO_N, &ref->freq_ratio_n); in zl3073x_ref_state_fetch()
130 rc = zl3073x_read_u32(zldev, ZL_REG_REF_ESYNC_DIV, &ref->esync_n_div); in zl3073x_ref_state_fetch()
133 rc = zl3073x_read_u8(zldev, ZL_REG_REF_SYNC_CTRL, &ref->sync_ctrl); in zl3073x_ref_state_fetch()
143 ref->phase_comp = val; in zl3073x_ref_state_fetch()
146 &ref->phase_comp); in zl3073x_ref_state_fetch()
151 dev_dbg(zldev->dev, "REF%u is %s and configured as %s\n", index, in zl3073x_ref_state_fetch()
152 str_enabled_disabled(zl3073x_ref_is_enabled(ref)), in zl3073x_ref_state_fetch()
153 zl3073x_ref_is_diff(ref) ? "differential" : "single-ended"); in zl3073x_ref_state_fetch()
168 return &zldev->ref[index]; in zl3073x_ref_state_get()
175 * @ref: desired reference state
184 const struct zl3073x_ref *ref) in zl3073x_ref_state_set() argument
186 struct zl3073x_ref *dref = &zldev->ref[index]; in zl3073x_ref_state_set()
190 if (WARN_ON(memcmp(&dref->inv, &ref->inv, sizeof(ref->inv)))) in zl3073x_ref_state_set()
194 if (!memcmp(&dref->cfg, &ref->cfg, sizeof(ref->cfg))) in zl3073x_ref_state_set()
206 if (dref->freq_base != ref->freq_base) in zl3073x_ref_state_set()
208 ref->freq_base); in zl3073x_ref_state_set()
209 if (!rc && dref->freq_mult != ref->freq_mult) in zl3073x_ref_state_set()
211 ref->freq_mult); in zl3073x_ref_state_set()
212 if (!rc && dref->freq_ratio_m != ref->freq_ratio_m) in zl3073x_ref_state_set()
214 ref->freq_ratio_m); in zl3073x_ref_state_set()
215 if (!rc && dref->freq_ratio_n != ref->freq_ratio_n) in zl3073x_ref_state_set()
217 ref->freq_ratio_n); in zl3073x_ref_state_set()
218 if (!rc && dref->esync_n_div != ref->esync_n_div) in zl3073x_ref_state_set()
220 ref->esync_n_div); in zl3073x_ref_state_set()
221 if (!rc && dref->sync_ctrl != ref->sync_ctrl) in zl3073x_ref_state_set()
223 ref->sync_ctrl); in zl3073x_ref_state_set()
224 if (!rc && dref->phase_comp != ref->phase_comp) { in zl3073x_ref_state_set()
228 ref->phase_comp); in zl3073x_ref_state_set()
232 ref->phase_comp); in zl3073x_ref_state_set()
244 dref->cfg = ref->cfg; in zl3073x_ref_state_set()