Lines Matching refs:config
63 struct cti_config *config = &drvdata->config; in cti_write_all_hw_regs() local
72 for (i = 0; i < config->nr_trig_max; i++) { in cti_write_all_hw_regs()
73 writel_relaxed(config->ctiinen[i], drvdata->base + CTIINEN(i)); in cti_write_all_hw_regs()
74 writel_relaxed(config->ctiouten[i], in cti_write_all_hw_regs()
79 writel_relaxed(config->ctigate, drvdata->base + CTIGATE); in cti_write_all_hw_regs()
80 writel_relaxed(config->asicctl, drvdata->base + ASICCTL); in cti_write_all_hw_regs()
81 writel_relaxed(config->ctiappset, drvdata->base + CTIAPPSET); in cti_write_all_hw_regs()
92 struct cti_config *config = &drvdata->config; in cti_enable_hw() local
99 if (config->hw_enabled || !config->hw_powered) in cti_enable_hw()
109 config->hw_enabled = true; in cti_enable_hw()
110 atomic_inc(&drvdata->config.enable_req_count); in cti_enable_hw()
115 atomic_inc(&drvdata->config.enable_req_count); in cti_enable_hw()
126 struct cti_config *config = &drvdata->config; in cti_cpuhp_enable_hw() local
129 config->hw_powered = true; in cti_cpuhp_enable_hw()
132 if (!atomic_read(&drvdata->config.enable_req_count)) in cti_cpuhp_enable_hw()
140 config->hw_enabled = true; in cti_cpuhp_enable_hw()
152 struct cti_config *config = &drvdata->config; in cti_disable_hw() local
159 if (!atomic_read(&drvdata->config.enable_req_count)) { in cti_disable_hw()
165 if (atomic_dec_return(&drvdata->config.enable_req_count) > 0) in cti_disable_hw()
169 if (!config->hw_enabled || !config->hw_powered) in cti_disable_hw()
176 config->hw_enabled = false; in cti_disable_hw()
199 struct cti_config *config = &drvdata->config; in cti_write_intack() local
203 if (cti_active(config)) in cti_write_intack()
220 struct cti_config *config = &drvdata->config; in cti_set_default_config() local
224 config->nr_trig_max = CTI_DEVID_MAXTRIGS(devid); in cti_set_default_config()
230 if (config->nr_trig_max > CTIINOUTEN_MAX) { in cti_set_default_config()
233 config->nr_trig_max, CTIINOUTEN_MAX); in cti_set_default_config()
234 config->nr_trig_max = CTIINOUTEN_MAX; in cti_set_default_config()
237 config->nr_ctm_channels = CTI_DEVID_CTMCHANNELS(devid); in cti_set_default_config()
240 config->trig_filter_enable = true; in cti_set_default_config()
241 config->ctigate = GENMASK(config->nr_ctm_channels - 1, 0); in cti_set_default_config()
242 atomic_set(&config->enable_req_count, 0); in cti_set_default_config()
273 drvdata->config.trig_in_use |= tc->con_in->used_mask; in cti_add_connection_entry()
274 drvdata->config.trig_out_use |= tc->con_out->used_mask; in cti_add_connection_entry()
316 int n_trigs = drvdata->config.nr_trig_max; in cti_add_default_connection()
341 struct cti_config *config = &drvdata->config; in cti_channel_trig_op() local
348 if ((channel_idx >= config->nr_ctm_channels) || in cti_channel_trig_op()
349 (trigger_idx >= config->nr_trig_max)) in cti_channel_trig_op()
356 if (!(trig_bitmask & config->trig_in_use)) in cti_channel_trig_op()
359 if (!(trig_bitmask & config->trig_out_use)) in cti_channel_trig_op()
362 if ((config->trig_filter_enable) && in cti_channel_trig_op()
363 (config->trig_out_filter & trig_bitmask)) in cti_channel_trig_op()
375 reg_value = direction == CTI_TRIG_IN ? config->ctiinen[trigger_idx] : in cti_channel_trig_op()
376 config->ctiouten[trigger_idx]; in cti_channel_trig_op()
384 config->ctiinen[trigger_idx] = reg_value; in cti_channel_trig_op()
386 config->ctiouten[trigger_idx] = reg_value; in cti_channel_trig_op()
389 if (cti_active(config)) in cti_channel_trig_op()
399 struct cti_config *config = &drvdata->config; in cti_channel_gate_op() local
404 if (channel_idx >= config->nr_ctm_channels) in cti_channel_gate_op()
410 reg_value = config->ctigate; in cti_channel_gate_op()
425 config->ctigate = reg_value; in cti_channel_gate_op()
426 if (cti_active(config)) in cti_channel_gate_op()
437 struct cti_config *config = &drvdata->config; in cti_channel_setop() local
443 if (channel_idx >= config->nr_ctm_channels) in cti_channel_setop()
449 reg_value = config->ctiappset; in cti_channel_setop()
452 config->ctiappset |= chan_bitmask; in cti_channel_setop()
453 reg_value = config->ctiappset; in cti_channel_setop()
458 config->ctiappset &= ~chan_bitmask; in cti_channel_setop()
464 config->ctiappset &= ~chan_bitmask; in cti_channel_setop()
474 if ((err == 0) && cti_active(config)) in cti_channel_setop()
679 drvdata->config.hw_powered = false; in cti_cpu_pm_notify()
680 if (drvdata->config.hw_enabled) in cti_cpu_pm_notify()
685 drvdata->config.hw_powered = true; in cti_cpu_pm_notify()
686 if (drvdata->config.hw_enabled) { in cti_cpu_pm_notify()
688 drvdata->config.hw_enabled = false; in cti_cpu_pm_notify()
694 drvdata->config.hw_powered = true; in cti_cpu_pm_notify()
695 drvdata->config.hw_enabled = false; in cti_cpu_pm_notify()
698 if (atomic_read(&drvdata->config.enable_req_count)) { in cti_cpu_pm_notify()
703 drvdata->config.hw_enabled = true; in cti_cpu_pm_notify()
742 drvdata->config.hw_powered = false; in cti_dying_cpu()
743 if (drvdata->config.hw_enabled) in cti_dying_cpu()
898 drvdata->config.hw_powered = true; in cti_probe()