Lines Matching refs:data

121 mp2975_read_phase(struct i2c_client *client, struct mp2975_data *data,
139 * the following selection of DrMOS (data->curr_sense_gain[page]):
157 return max_t(int, DIV_ROUND_CLOSEST(ret, data->info.phases[page]),
158 DIV_ROUND_CLOSEST(ph_curr, data->curr_sense_gain[page]));
162 mp2975_read_phases(struct i2c_client *client, struct mp2975_data *data,
170 ret = mp2975_read_phase(client, data, page, phase,
174 ret = mp2975_read_phase(client, data, page, phase,
178 ret = mp2975_read_phase(client, data, page, phase,
187 ret = mp2975_read_phase(client, data, page, phase,
191 ret = mp2975_read_phase(client, data, page, phase,
195 ret = mp2975_read_phase(client, data, page, phase,
199 ret = mp2975_read_phase(client, data, page, phase,
203 ret = mp2975_read_phase(client, data, page, phase,
207 ret = mp2975_read_phase(client, data, page, phase,
221 struct mp2975_data *data = to_mp2975_data(info);
250 ret = min_t(int, data->vout_max[page] + 50 * (ret + 1),
251 data->vout_ov_fixed[page]);
260 ret = DIV_ROUND_CLOSEST(data->vref[page] * 10 - 50 *
261 (ret + 1) * data->vout_scale, 10);
278 if (data->vout_format[page] == vid)
300 ret = mp2975_read_phases(client, data, page, phase);
369 mp2975_identify_multiphase(struct i2c_client *client, struct mp2975_data *data,
406 mp2975_identify_vid(struct i2c_client *client, struct mp2975_data *data,
419 data->vid_step[page] = MP2975_PROT_DEV_OV_OFF;
422 data->vid_step[page] = MP2975_PROT_DEV_OV_ON;
425 data->vid_step[page] = MP2975_PROT_DEV_OV_OFF;
432 mp2975_identify_rails_vid(struct i2c_client *client, struct mp2975_data *data,
442 ret = mp2975_identify_vid(client, data, info,
450 ret = mp2975_identify_vid(client, data, info,
459 struct mp2975_data *data)
469 for (i = 0 ; i < data->info.pages; i++) {
480 data->curr_sense_gain[i] = 50;
483 data->curr_sense_gain[i] = 85;
486 data->curr_sense_gain[i] = 97;
489 data->curr_sense_gain[i] = 100;
498 mp2975_vref_get(struct i2c_client *client, struct mp2975_data *data,
512 data->vref[0] = ret * data->vid_step[0];
515 if (data->info.pages == MP2975_PAGE_NUM) {
520 data->vref[1] = ret * data->vid_step[1];
526 mp2975_vref_offset_get(struct i2c_client *client, struct mp2975_data *data,
537 data->vref_off[page] = 140;
540 data->vref_off[page] = 220;
543 data->vref_off[page] = 400;
552 mp2975_vout_max_get(struct i2c_client *client, struct mp2975_data *data,
562 data->vout_max[page] = mp2975_vid2direct(info->vrm_version[page], ret &
569 struct mp2975_data *data, int page)
578 data->vout_format[page] = vid;
580 data->vout_format[page] = direct;
585 mp2975_vout_ov_scale_get(struct i2c_client *client, struct mp2975_data *data,
612 data->vout_scale = sense_ampl * thres_dev;
619 struct mp2975_data *data,
624 for (i = 0; i < data->info.pages; i++) {
630 ret = mp2975_vref_offset_get(client, data, i);
635 ret = mp2975_vout_max_get(client, data, info, i);
644 ret = mp2975_identify_vout_format(client, data, i);
653 data->vout_ov_fixed[i] = data->vref[i] +
654 DIV_ROUND_CLOSEST(data->vref_off[i] *
655 data->vout_scale,
686 struct mp2975_data *data;
689 data = devm_kzalloc(&client->dev, sizeof(struct mp2975_data),
691 if (!data)
694 memcpy(&data->info, &mp2975_info, sizeof(*info));
695 info = &data->info;
704 data->info.pages = MP2975_PAGE_NUM;
705 data->info.phases[1] = ret;
706 data->info.func[1] = MP2975_RAIL2_FUNC;
710 ret = mp2975_identify_multiphase(client, data, info);
715 ret = mp2975_identify_rails_vid(client, data, info);
720 ret = mp2975_current_sense_gain_get(client, data);
725 ret = mp2975_vref_get(client, data, info);
730 ret = mp2975_vout_ov_scale_get(client, data, info);
735 ret = mp2975_vout_per_rail_config_get(client, data, info);