Lines Matching refs:zldev

61 int zl3073x_ref_state_update(struct zl3073x_dev *zldev, u8 index)  in zl3073x_ref_state_update()  argument
63 struct zl3073x_ref *ref = &zldev->ref[index]; in zl3073x_ref_state_update()
65 return zl3073x_read_u8(zldev, ZL_REG_REF_MON_STATUS(index), in zl3073x_ref_state_update()
79 int zl3073x_ref_state_fetch(struct zl3073x_dev *zldev, u8 index) in zl3073x_ref_state_fetch() argument
81 struct zl3073x_ref *ref = &zldev->ref[index]; in zl3073x_ref_state_fetch()
98 rc = zl3073x_ref_state_update(zldev, index); in zl3073x_ref_state_fetch()
102 guard(mutex)(&zldev->multiop_lock); in zl3073x_ref_state_fetch()
105 rc = zl3073x_mb_op(zldev, ZL_REG_REF_MB_SEM, ZL_REF_MB_SEM_RD, 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()
138 if (zl3073x_dev_is_ref_phase_comp_32bit(zldev)) { in zl3073x_ref_state_fetch()
141 rc = zl3073x_read_u32(zldev, ZL_REG_REF_PHASE_OFFSET_COMP_32, in zl3073x_ref_state_fetch()
145 rc = zl3073x_read_u48(zldev, ZL_REG_REF_PHASE_OFFSET_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()
166 zl3073x_ref_state_get(struct zl3073x_dev *zldev, u8 index) in zl3073x_ref_state_get() argument
168 return &zldev->ref[index]; in zl3073x_ref_state_get()
183 int zl3073x_ref_state_set(struct zl3073x_dev *zldev, u8 index, in zl3073x_ref_state_set() argument
186 struct zl3073x_ref *dref = &zldev->ref[index]; in zl3073x_ref_state_set()
197 guard(mutex)(&zldev->multiop_lock); in zl3073x_ref_state_set()
200 rc = zl3073x_mb_op(zldev, ZL_REG_REF_MB_SEM, ZL_REF_MB_SEM_RD, in zl3073x_ref_state_set()
207 rc = zl3073x_write_u16(zldev, ZL_REG_REF_FREQ_BASE, in zl3073x_ref_state_set()
210 rc = zl3073x_write_u16(zldev, ZL_REG_REF_FREQ_MULT, in zl3073x_ref_state_set()
213 rc = zl3073x_write_u16(zldev, ZL_REG_REF_RATIO_M, in zl3073x_ref_state_set()
216 rc = zl3073x_write_u16(zldev, ZL_REG_REF_RATIO_N, in zl3073x_ref_state_set()
219 rc = zl3073x_write_u32(zldev, ZL_REG_REF_ESYNC_DIV, in zl3073x_ref_state_set()
222 rc = zl3073x_write_u8(zldev, ZL_REG_REF_SYNC_CTRL, in zl3073x_ref_state_set()
225 if (zl3073x_dev_is_ref_phase_comp_32bit(zldev)) in zl3073x_ref_state_set()
226 rc = zl3073x_write_u32(zldev, in zl3073x_ref_state_set()
230 rc = zl3073x_write_u48(zldev, in zl3073x_ref_state_set()
238 rc = zl3073x_mb_op(zldev, ZL_REG_REF_MB_SEM, ZL_REF_MB_SEM_WR, in zl3073x_ref_state_set()