Lines Matching refs:txn
341 struct qmi_txn txn; in qcom_slim_qmi_send_select_inst_req() local
344 rc = qmi_txn_init(ctrl->qmi.handle, &txn, in qcom_slim_qmi_send_select_inst_req()
351 rc = qmi_send_request(ctrl->qmi.handle, NULL, &txn, in qcom_slim_qmi_send_select_inst_req()
357 qmi_txn_cancel(&txn); in qcom_slim_qmi_send_select_inst_req()
361 rc = qmi_txn_wait(&txn, SLIMBUS_QMI_RESP_TOUT); in qcom_slim_qmi_send_select_inst_req()
378 struct qmi_txn *txn, const void *data) in qcom_slim_qmi_power_resp_cb() argument
387 complete(&txn->completion); in qcom_slim_qmi_power_resp_cb()
394 struct qmi_txn txn; in qcom_slim_qmi_send_power_request() local
397 rc = qmi_txn_init(ctrl->qmi.handle, &txn, in qcom_slim_qmi_send_power_request()
400 rc = qmi_send_request(ctrl->qmi.handle, NULL, &txn, in qcom_slim_qmi_send_power_request()
406 qmi_txn_cancel(&txn); in qcom_slim_qmi_send_power_request()
410 rc = qmi_txn_wait(&txn, SLIMBUS_QMI_RESP_TOUT); in qcom_slim_qmi_send_power_request()
767 struct slim_msg_txn *txn) in qcom_slim_ngd_xfer_msg() argument
777 u8 la = txn->la; in qcom_slim_ngd_xfer_msg()
780 if (txn->mc & SLIM_MSG_CLK_PAUSE_SEQ_FLG) in qcom_slim_ngd_xfer_msg()
783 if (txn->mt == SLIM_MSG_MT_CORE && in qcom_slim_ngd_xfer_msg()
784 (txn->mc >= SLIM_MSG_MC_BEGIN_RECONFIGURATION && in qcom_slim_ngd_xfer_msg()
785 txn->mc <= SLIM_MSG_MC_RECONFIGURE_NOW)) in qcom_slim_ngd_xfer_msg()
788 if (txn->dt == SLIM_MSG_DEST_ENUMADDR) in qcom_slim_ngd_xfer_msg()
791 if (txn->msg->num_bytes > SLIM_MSGQ_BUF_LEN || in qcom_slim_ngd_xfer_msg()
792 txn->rl > SLIM_MSGQ_BUF_LEN) { in qcom_slim_ngd_xfer_msg()
797 pbuf = qcom_slim_ngd_tx_msg_get(ctrl, txn->rl, &tx_sent); in qcom_slim_ngd_xfer_msg()
803 if (txn->mt == SLIM_MSG_MT_CORE && in qcom_slim_ngd_xfer_msg()
804 (txn->mc == SLIM_MSG_MC_CONNECT_SOURCE || in qcom_slim_ngd_xfer_msg()
805 txn->mc == SLIM_MSG_MC_CONNECT_SINK || in qcom_slim_ngd_xfer_msg()
806 txn->mc == SLIM_MSG_MC_DISCONNECT_PORT)) { in qcom_slim_ngd_xfer_msg()
807 txn->mt = SLIM_MSG_MT_DEST_REFERRED_USER; in qcom_slim_ngd_xfer_msg()
808 switch (txn->mc) { in qcom_slim_ngd_xfer_msg()
810 txn->mc = SLIM_USR_MC_CONNECT_SRC; in qcom_slim_ngd_xfer_msg()
813 txn->mc = SLIM_USR_MC_CONNECT_SINK; in qcom_slim_ngd_xfer_msg()
816 txn->mc = SLIM_USR_MC_DISCONNECT_PORT; in qcom_slim_ngd_xfer_msg()
824 wbuf[i++] = txn->la; in qcom_slim_ngd_xfer_msg()
826 wbuf[i++] = txn->msg->wbuf[0]; in qcom_slim_ngd_xfer_msg()
827 if (txn->mc != SLIM_USR_MC_DISCONNECT_PORT) in qcom_slim_ngd_xfer_msg()
828 wbuf[i++] = txn->msg->wbuf[1]; in qcom_slim_ngd_xfer_msg()
830 txn->comp = &done; in qcom_slim_ngd_xfer_msg()
831 ret = slim_alloc_txn_tid(sctrl, txn); in qcom_slim_ngd_xfer_msg()
837 wbuf[i++] = txn->tid; in qcom_slim_ngd_xfer_msg()
839 txn->msg->num_bytes = i; in qcom_slim_ngd_xfer_msg()
840 txn->msg->wbuf = wbuf; in qcom_slim_ngd_xfer_msg()
841 txn->msg->rbuf = rbuf; in qcom_slim_ngd_xfer_msg()
842 txn->rl = txn->msg->num_bytes + 4; in qcom_slim_ngd_xfer_msg()
846 txn->rl--; in qcom_slim_ngd_xfer_msg()
849 if (txn->dt == SLIM_MSG_DEST_LOGICALADDR) { in qcom_slim_ngd_xfer_msg()
850 *pbuf = SLIM_MSG_ASM_FIRST_WORD(txn->rl, txn->mt, txn->mc, 0, in qcom_slim_ngd_xfer_msg()
854 *pbuf = SLIM_MSG_ASM_FIRST_WORD(txn->rl, txn->mt, txn->mc, 1, in qcom_slim_ngd_xfer_msg()
859 if (slim_tid_txn(txn->mt, txn->mc)) in qcom_slim_ngd_xfer_msg()
860 *(puc++) = txn->tid; in qcom_slim_ngd_xfer_msg()
862 if (slim_ec_txn(txn->mt, txn->mc)) { in qcom_slim_ngd_xfer_msg()
863 *(puc++) = (txn->ec & 0xFF); in qcom_slim_ngd_xfer_msg()
864 *(puc++) = (txn->ec >> 8) & 0xFF; in qcom_slim_ngd_xfer_msg()
867 if (txn->msg && txn->msg->wbuf) in qcom_slim_ngd_xfer_msg()
868 memcpy(puc, txn->msg->wbuf, txn->msg->num_bytes); in qcom_slim_ngd_xfer_msg()
870 ret = qcom_slim_ngd_tx_msg_post(ctrl, pbuf, txn->rl); in qcom_slim_ngd_xfer_msg()
876 dev_err(sctrl->dev, "TX timed out:MC:0x%x,mt:0x%x", txn->mc, in qcom_slim_ngd_xfer_msg()
877 txn->mt); in qcom_slim_ngd_xfer_msg()
885 txn->mc, txn->mt); in qcom_slim_ngd_xfer_msg()
894 struct slim_msg_txn *txn) in qcom_slim_ngd_xfer_msg_sync() argument
901 txn->comp = &done; in qcom_slim_ngd_xfer_msg_sync()
903 ret = qcom_slim_ngd_xfer_msg(ctrl, txn); in qcom_slim_ngd_xfer_msg_sync()
909 dev_err(ctrl->dev, "TX timed out:MC:0x%x,mt:0x%x", txn->mc, in qcom_slim_ngd_xfer_msg_sync()
910 txn->mt); in qcom_slim_ngd_xfer_msg_sync()
923 struct slim_msg_txn txn = {0,}; in qcom_slim_ngd_enable_stream() local
926 txn.mt = SLIM_MSG_MT_DEST_REFERRED_USER; in qcom_slim_ngd_enable_stream()
927 txn.dt = SLIM_MSG_DEST_LOGICALADDR; in qcom_slim_ngd_enable_stream()
928 txn.la = SLIM_LA_MGR; in qcom_slim_ngd_enable_stream()
929 txn.ec = 0; in qcom_slim_ngd_enable_stream()
930 txn.msg = &msg; in qcom_slim_ngd_enable_stream()
931 txn.msg->num_bytes = 0; in qcom_slim_ngd_enable_stream()
932 txn.msg->wbuf = wbuf; in qcom_slim_ngd_enable_stream()
933 txn.msg->rbuf = rbuf; in qcom_slim_ngd_enable_stream()
938 if (txn.msg->num_bytes == 0) { in qcom_slim_ngd_enable_stream()
942 wbuf[txn.msg->num_bytes++] = sdev->laddr; in qcom_slim_ngd_enable_stream()
943 wbuf[txn.msg->num_bytes] = rt->bps >> 2 | in qcom_slim_ngd_enable_stream()
949 wbuf[txn.msg->num_bytes] |= BIT(5); in qcom_slim_ngd_enable_stream()
951 txn.msg->num_bytes++; in qcom_slim_ngd_enable_stream()
952 wbuf[txn.msg->num_bytes++] = exp << 4 | rt->prot; in qcom_slim_ngd_enable_stream()
955 wbuf[txn.msg->num_bytes++] = in qcom_slim_ngd_enable_stream()
959 wbuf[txn.msg->num_bytes++] = port->ch.prrate; in qcom_slim_ngd_enable_stream()
961 ret = slim_alloc_txn_tid(ctrl, &txn); in qcom_slim_ngd_enable_stream()
966 wbuf[txn.msg->num_bytes++] = txn.tid; in qcom_slim_ngd_enable_stream()
968 wbuf[txn.msg->num_bytes++] = port->ch.id; in qcom_slim_ngd_enable_stream()
971 txn.mc = SLIM_USR_MC_DEF_ACT_CHAN; in qcom_slim_ngd_enable_stream()
972 txn.rl = txn.msg->num_bytes + 4; in qcom_slim_ngd_enable_stream()
973 ret = qcom_slim_ngd_xfer_msg_sync(ctrl, &txn); in qcom_slim_ngd_enable_stream()
975 slim_free_txn_tid(ctrl, &txn); in qcom_slim_ngd_enable_stream()
976 dev_err(&sdev->dev, "TX timed out:MC:0x%x,mt:0x%x", txn.mc, in qcom_slim_ngd_enable_stream()
977 txn.mt); in qcom_slim_ngd_enable_stream()
981 txn.mc = SLIM_USR_MC_RECONFIG_NOW; in qcom_slim_ngd_enable_stream()
982 txn.msg->num_bytes = 2; in qcom_slim_ngd_enable_stream()
984 txn.rl = txn.msg->num_bytes + 4; in qcom_slim_ngd_enable_stream()
986 ret = slim_alloc_txn_tid(ctrl, &txn); in qcom_slim_ngd_enable_stream()
992 wbuf[0] = txn.tid; in qcom_slim_ngd_enable_stream()
993 ret = qcom_slim_ngd_xfer_msg_sync(ctrl, &txn); in qcom_slim_ngd_enable_stream()
995 slim_free_txn_tid(ctrl, &txn); in qcom_slim_ngd_enable_stream()
996 dev_err(&sdev->dev, "TX timed out:MC:0x%x,mt:0x%x", txn.mc, in qcom_slim_ngd_enable_stream()
997 txn.mt); in qcom_slim_ngd_enable_stream()
1007 struct slim_msg_txn txn; in qcom_slim_ngd_get_laddr() local
1012 txn.mt = SLIM_MSG_MT_DEST_REFERRED_USER; in qcom_slim_ngd_get_laddr()
1013 txn.dt = SLIM_MSG_DEST_LOGICALADDR; in qcom_slim_ngd_get_laddr()
1014 txn.la = SLIM_LA_MGR; in qcom_slim_ngd_get_laddr()
1015 txn.ec = 0; in qcom_slim_ngd_get_laddr()
1017 txn.mc = SLIM_USR_MC_ADDR_QUERY; in qcom_slim_ngd_get_laddr()
1018 txn.rl = 11; in qcom_slim_ngd_get_laddr()
1019 txn.msg = &msg; in qcom_slim_ngd_get_laddr()
1020 txn.msg->num_bytes = 7; in qcom_slim_ngd_get_laddr()
1021 txn.msg->wbuf = wbuf; in qcom_slim_ngd_get_laddr()
1022 txn.msg->rbuf = rbuf; in qcom_slim_ngd_get_laddr()
1024 ret = slim_alloc_txn_tid(ctrl, &txn); in qcom_slim_ngd_get_laddr()
1028 wbuf[0] = (u8)txn.tid; in qcom_slim_ngd_get_laddr()
1031 ret = qcom_slim_ngd_xfer_msg_sync(ctrl, &txn); in qcom_slim_ngd_get_laddr()
1033 slim_free_txn_tid(ctrl, &txn); in qcom_slim_ngd_get_laddr()
1151 struct slim_msg_txn txn; in qcom_slim_ngd_master_worker() local
1158 txn.dt = SLIM_MSG_DEST_LOGICALADDR; in qcom_slim_ngd_master_worker()
1159 txn.ec = 0; in qcom_slim_ngd_master_worker()
1160 txn.mc = SLIM_USR_MC_REPORT_SATELLITE; in qcom_slim_ngd_master_worker()
1161 txn.mt = SLIM_MSG_MT_SRC_REFERRED_USER; in qcom_slim_ngd_master_worker()
1162 txn.la = SLIM_LA_MGR; in qcom_slim_ngd_master_worker()
1167 txn.msg = &msg; in qcom_slim_ngd_master_worker()
1168 txn.msg->wbuf = wbuf; in qcom_slim_ngd_master_worker()
1169 txn.msg->num_bytes = 4; in qcom_slim_ngd_master_worker()
1170 txn.rl = 8; in qcom_slim_ngd_master_worker()
1175 ret = qcom_slim_ngd_xfer_msg(&ctrl->ctrl, &txn); in qcom_slim_ngd_master_worker()