Lines Matching defs:db

149 static bool tegra_hsp_doorbell_can_ring(struct tegra_hsp_doorbell *db)
153 value = tegra_hsp_channel_readl(&db->channel, HSP_DB_ENABLE);
173 struct tegra_hsp_doorbell *db;
177 db = __tegra_hsp_doorbell_get(hsp, master);
180 return db;
186 struct tegra_hsp_doorbell *db;
189 db = tegra_hsp_doorbell_get(hsp, TEGRA_HSP_DB_MASTER_CCPLEX);
190 if (!db)
193 value = tegra_hsp_channel_readl(&db->channel, HSP_DB_PENDING);
194 tegra_hsp_channel_writel(&db->channel, value, HSP_DB_PENDING);
199 struct tegra_hsp_doorbell *db;
201 db = __tegra_hsp_doorbell_get(hsp, master);
207 * In that case, db->channel.chan will still be NULL here and
213 if (db && db->channel.chan)
214 mbox_chan_received_data(db->channel.chan, NULL);
273 struct tegra_hsp_doorbell *db;
277 db = devm_kzalloc(hsp->dev, sizeof(*db), GFP_KERNEL);
278 if (!db)
284 db->channel.regs = hsp->regs + offset;
285 db->channel.hsp = hsp;
287 db->name = devm_kstrdup_const(hsp->dev, name, GFP_KERNEL);
288 db->master = master;
289 db->index = index;
292 list_add_tail(&db->list, &hsp->doorbells);
295 return &db->channel;
300 struct tegra_hsp_doorbell *db = chan->con_priv;
302 tegra_hsp_channel_writel(&db->channel, 1, HSP_DB_TRIGGER);
309 struct tegra_hsp_doorbell *db = chan->con_priv;
310 struct tegra_hsp *hsp = db->channel.hsp;
315 if (db->master >= chan->mbox->num_chans) {
318 db->master);
331 if (tegra_is_silicon() && !tegra_hsp_doorbell_can_ring(db))
337 value |= BIT(db->master);
347 struct tegra_hsp_doorbell *db = chan->con_priv;
348 struct tegra_hsp *hsp = db->channel.hsp;
360 value &= ~BIT(db->master);
586 struct tegra_hsp_doorbell *db;
594 db = tegra_hsp_doorbell_get(hsp, master);
595 if (db)
596 channel = &db->channel;
607 chan->con_priv = db;
882 struct tegra_hsp_doorbell *db;
884 list_for_each_entry(db, &hsp->doorbells, list) {
885 if (db->channel.chan)
886 tegra_hsp_doorbell_startup(db->channel.chan);