Lines Matching refs:ddata

77 	struct st_rproc *ddata = rproc->priv;
85 ret = mbox_send_message(ddata->mbox_chan[vqid * MBOX_MAX + MBOX_TX],
167 struct st_rproc *ddata = rproc->priv;
170 regmap_update_bits(ddata->boot_base, ddata->boot_offset,
171 ddata->config->bootaddr_mask, rproc->bootaddr);
173 err = clk_enable(ddata->clk);
179 if (ddata->config->sw_reset) {
180 err = reset_control_deassert(ddata->sw_reset);
187 if (ddata->config->pwr_reset) {
188 err = reset_control_deassert(ddata->pwr_reset);
201 if (ddata->config->pwr_reset)
202 reset_control_assert(ddata->sw_reset);
204 clk_disable(ddata->clk);
211 struct st_rproc *ddata = rproc->priv;
214 if (ddata->config->sw_reset) {
215 sw_err = reset_control_assert(ddata->sw_reset);
220 if (ddata->config->pwr_reset) {
221 pwr_err = reset_control_assert(ddata->pwr_reset);
226 clk_disable(ddata->clk);
248 struct st_rproc *ddata = rproc->priv;
251 if (ddata->config->sw_reset)
252 reset_sw = reset_control_status(ddata->sw_reset);
254 if (ddata->config->pwr_reset)
255 reset_pwr = reset_control_status(ddata->pwr_reset);
286 struct st_rproc *ddata = rproc->priv;
290 if (ddata->config->sw_reset) {
291 ddata->sw_reset = devm_reset_control_get_exclusive(dev,
293 if (IS_ERR(ddata->sw_reset)) {
295 return PTR_ERR(ddata->sw_reset);
299 if (ddata->config->pwr_reset) {
300 ddata->pwr_reset = devm_reset_control_get_exclusive(dev,
302 if (IS_ERR(ddata->pwr_reset)) {
304 return PTR_ERR(ddata->pwr_reset);
308 ddata->clk = devm_clk_get(dev, NULL);
309 if (IS_ERR(ddata->clk)) {
311 return PTR_ERR(ddata->clk);
314 err = of_property_read_u32(np, "clock-frequency", &ddata->clk_rate);
320 ddata->boot_base = syscon_regmap_lookup_by_phandle(np, "st,syscfg");
321 if (IS_ERR(ddata->boot_base)) {
323 return PTR_ERR(ddata->boot_base);
327 &ddata->boot_offset);
333 err = clk_prepare(ddata->clk);
343 struct st_rproc *ddata;
350 rproc = devm_rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata));
355 ddata = rproc->priv;
356 ddata->config = (struct st_rproc_config *)device_get_match_data(dev);
357 if (!ddata->config)
376 clk_set_rate(ddata->clk, ddata->clk_rate);
380 ddata->mbox_client_vq0.dev = dev;
381 ddata->mbox_client_vq0.tx_done = NULL;
382 ddata->mbox_client_vq0.tx_block = false;
383 ddata->mbox_client_vq0.knows_txdone = false;
384 ddata->mbox_client_vq0.rx_callback = st_rproc_mbox_callback_vq0;
386 ddata->mbox_client_vq1.dev = dev;
387 ddata->mbox_client_vq1.tx_done = NULL;
388 ddata->mbox_client_vq1.tx_block = false;
389 ddata->mbox_client_vq1.knows_txdone = false;
390 ddata->mbox_client_vq1.rx_callback = st_rproc_mbox_callback_vq1;
396 chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_rx");
402 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan;
404 chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_tx");
410 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan;
412 chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_rx");
418 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan;
420 chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_tx");
426 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan;
437 mbox_free_channel(ddata->mbox_chan[i]);
439 clk_unprepare(ddata->clk);
447 struct st_rproc *ddata = rproc->priv;
452 clk_disable_unprepare(ddata->clk);
455 mbox_free_channel(ddata->mbox_chan[i]);