Lines Matching refs:data

50 static u32 id_to_reg_and_bit_offsets(struct intel_reset_data *data,
57 if (data->soc_data->legacy)
62 if (data->soc_data->legacy && *rst_req == RCU_RST_REQ)
68 static int intel_set_clr_bits(struct intel_reset_data *data, unsigned long id,
74 rst_stat = id_to_reg_and_bit_offsets(data, id, &rst_req,
78 ret = regmap_update_bits(data->regmap, rst_req, BIT(req_bit), val);
82 return regmap_read_poll_timeout(data->regmap, rst_stat, val,
90 struct intel_reset_data *data = to_reset_data(rcdev);
93 ret = intel_set_clr_bits(data, id, true);
95 dev_err(data->dev, "Reset assert failed %d\n", ret);
103 struct intel_reset_data *data = to_reset_data(rcdev);
106 ret = intel_set_clr_bits(data, id, false);
108 dev_err(data->dev, "Reset deassert failed %d\n", ret);
116 struct intel_reset_data *data = to_reset_data(rcdev);
120 rst_stat = id_to_reg_and_bit_offsets(data, id, &rst_req,
122 ret = regmap_read(data->regmap, rst_stat, &val);
138 struct intel_reset_data *data = to_reset_data(rcdev);
147 if (data->soc_data->legacy) {
158 unsigned long action, void *data)
172 struct intel_reset_data *data;
177 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
178 if (!data)
181 data->soc_data = of_device_get_match_data(dev);
182 if (!data->soc_data)
189 data->regmap = devm_regmap_init_mmio(dev, base,
191 if (IS_ERR(data->regmap)) {
193 return PTR_ERR(data->regmap);
197 data->soc_data->reset_cell_count);
203 data->dev = dev;
204 data->rcdev.of_node = np;
205 data->rcdev.owner = dev->driver->owner;
206 data->rcdev.ops = &intel_reset_ops;
207 data->rcdev.of_xlate = intel_reset_xlate;
208 data->rcdev.of_reset_n_cells = data->soc_data->reset_cell_count;
209 ret = devm_reset_controller_register(&pdev->dev, &data->rcdev);
213 data->reboot_id = FIELD_PREP(REG_OFFSET_MASK, rb_id[0]);
214 data->reboot_id |= FIELD_PREP(BIT_OFFSET_MASK, rb_id[1]);
216 if (data->soc_data->legacy)
217 data->reboot_id |= FIELD_PREP(STAT_BIT_OFFSET_MASK, rb_id[2]);
219 data->restart_nb.notifier_call = intel_reset_restart_handler;
220 data->restart_nb.priority = 128;
221 register_restart_handler(&data->restart_nb);
237 { .compatible = "intel,rcu-lgm", .data = &lgm_data },
238 { .compatible = "intel,rcu-xrx200", .data = &xrx200_data },