Lines Matching refs:qinst

147  * @qinst:	Queue instance for which we check the number of pending messages
153 struct ti_queue_inst *qinst)
162 val = readl(qinst->queue_state) & status_cnt_mask;
171 * @qinst: Queue instance for which we check the number of pending messages
176 struct ti_queue_inst *qinst)
188 val = readl(qinst->queue_state) & d->status_err_mask;
207 struct ti_queue_inst *qinst = chan->con_priv;
220 if (qinst->is_tx) {
222 qinst->name);
227 if (ti_msgmgr_queue_is_error(desc, qinst)) {
228 dev_err(dev, "Error on Rx channel %s\n", qinst->name);
233 msg_count = ti_msgmgr_queue_get_num_messages(desc, qinst);
247 message.buf = (u8 *)qinst->rx_buff;
263 for (data_reg = qinst->queue_buff_start, word_data = qinst->rx_buff,
287 struct ti_queue_inst *qinst = chan->con_priv;
293 if (qinst->is_tx)
296 if (ti_msgmgr_queue_is_error(desc, qinst)) {
297 dev_err(dev, "Error on channel %s\n", qinst->name);
301 msg_count = ti_msgmgr_queue_get_num_messages(desc, qinst);
314 struct ti_queue_inst *qinst = chan->con_priv;
320 if (!qinst->is_tx)
323 if (ti_msgmgr_queue_is_error(desc, qinst)) {
324 dev_err(dev, "Error on channel %s\n", qinst->name);
328 msg_count = ti_msgmgr_queue_get_num_messages(desc, qinst);
351 struct ti_queue_inst *qinst = chan->con_priv;
363 if (ti_msgmgr_queue_is_error(desc, qinst)) {
364 dev_err(dev, "Error on channel %s\n", qinst->name);
370 qinst->name, message->len, desc->max_message_size);
375 for (data_reg = qinst->queue_buff_start,
398 while (data_reg <= qinst->queue_buff_end) {
410 * @qinst: Queue instance
415 struct ti_queue_inst *qinst,
423 "rx_%03d", d->is_sproxy ? qinst->proxy_id : qinst->queue_id);
426 if (qinst->irq < 0) {
430 qinst->irq = of_irq_get_byname(np, of_rx_irq_name);
433 if (qinst->irq < 0) {
436 qinst->queue_id, qinst->proxy_id,
437 of_rx_irq_name, qinst->irq);
438 return qinst->irq;
443 ret = request_irq(qinst->irq, ti_msgmgr_queue_rx_interrupt,
444 IRQF_SHARED, qinst->name, chan);
447 qinst->irq, qinst->name, ret);
463 struct ti_queue_inst *qinst = chan->con_priv;
473 qinst->is_tx = (readl(qinst->queue_ctrl) &
476 msg_count = ti_msgmgr_queue_get_num_messages(d, qinst);
478 if (!msg_count && qinst->is_tx) {
480 qinst->name);
485 if (!qinst->is_tx) {
487 qinst->rx_buff = kzalloc(d->max_message_size, GFP_KERNEL);
488 if (!qinst->rx_buff)
491 ret = ti_msgmgr_queue_rx_irq_req(dev, d, qinst, chan);
493 kfree(qinst->rx_buff);
507 struct ti_queue_inst *qinst = chan->con_priv;
509 if (!qinst->is_tx) {
510 free_irq(qinst->irq, chan);
511 kfree(qinst->rx_buff);
528 struct ti_queue_inst *qinst;
558 qinst = &inst->qinsts[req_pid];
559 return qinst->chan;
562 for (qinst = inst->qinsts, i = 0; i < inst->num_valid_queues;
563 i++, qinst++) {
564 if (req_qid == qinst->queue_id && req_pid == qinst->proxy_id)
565 return qinst->chan;
582 * @qinst: Queue instance pointer
592 struct ti_queue_inst *qinst,
597 qinst->proxy_id = qd->proxy_id;
598 qinst->queue_id = qd->queue_id;
600 if (qinst->queue_id > d->queue_count) {
602 idx, qinst->queue_id, d->queue_count);
607 qinst->queue_buff_start = inst->queue_proxy_region +
608 SPROXY_THREAD_DATA_OFFSET(qinst->proxy_id,
610 qinst->queue_buff_end = inst->queue_proxy_region +
611 SPROXY_THREAD_DATA_OFFSET(qinst->proxy_id,
613 qinst->queue_state = inst->queue_state_debug_region +
614 SPROXY_THREAD_STATUS_OFFSET(qinst->proxy_id);
615 qinst->queue_ctrl = inst->queue_ctrl_region +
616 SPROXY_THREAD_CTRL_OFFSET(qinst->proxy_id);
620 snprintf(qinst->name, sizeof(qinst->name), "%s %s_%03d",
621 dev_name(dev), dir, qinst->proxy_id);
623 qinst->queue_buff_start = inst->queue_proxy_region +
624 Q_DATA_OFFSET(qinst->proxy_id, qinst->queue_id,
626 qinst->queue_buff_end = inst->queue_proxy_region +
627 Q_DATA_OFFSET(qinst->proxy_id, qinst->queue_id,
629 qinst->queue_state =
631 Q_STATE_OFFSET(qinst->queue_id);
632 qinst->is_tx = qd->is_tx;
633 dir = qinst->is_tx ? "tx" : "rx";
634 snprintf(qinst->name, sizeof(qinst->name), "%s %s_%03d_%03d",
635 dev_name(dev), dir, qinst->queue_id, qinst->proxy_id);
638 qinst->chan = chan;
641 qinst->irq = -EINVAL;
643 chan->con_priv = qinst;
646 idx, qinst->queue_id, qinst->proxy_id, qinst->irq,
647 qinst->queue_buff_start, qinst->queue_buff_end);
720 struct ti_queue_inst *qinst;
779 qinst = devm_kcalloc(dev, queue_count, sizeof(*qinst), GFP_KERNEL);
780 if (!qinst)
782 inst->qinsts = qinst;
793 for (i = 0; i < queue_count; i++, qinst++, chans++) {
797 desc, &sproxy_desc, qinst,
805 i < queue_count; i++, qinst++, chans++, queue_desc++) {
807 desc, queue_desc, qinst,