Lines Matching refs:spt

113 static int k3_sec_proxy_verify_thread(struct k3_sec_proxy_thread *spt,  in k3_sec_proxy_verify_thread()  argument
117 if (mmio_read_32(spt->rt + RT_THREAD_STATUS) & in k3_sec_proxy_verify_thread()
119 ERROR("Thread %s is corrupted, cannot send data\n", spt->name); in k3_sec_proxy_verify_thread()
124 if ((mmio_read_32(spt->scfg + SCFG_THREAD_CTRL) & SCFG_THREAD_CTRL_DIR_MASK) in k3_sec_proxy_verify_thread()
128 spt->name); in k3_sec_proxy_verify_thread()
131 spt->name); in k3_sec_proxy_verify_thread()
138 while (!(mmio_read_32(spt->rt + RT_THREAD_STATUS) & RT_THREAD_STATUS_CUR_CNT_MASK)) { in k3_sec_proxy_verify_thread()
140 spt->name, (dir == THREAD_IS_TX) ? "empty" : "fill"); in k3_sec_proxy_verify_thread()
144 spt->name, (dir == THREAD_IS_TX) ? "empty" : "fill"); in k3_sec_proxy_verify_thread()
161 struct k3_sec_proxy_thread *spt = &spm.threads[id]; in ti_sci_transport_clear_rx_thread() local
164 if (mmio_read_32(spt->rt + RT_THREAD_STATUS) & in ti_sci_transport_clear_rx_thread()
166 ERROR("Thread %s is corrupted, cannot send data\n", spt->name); in ti_sci_transport_clear_rx_thread()
171 if (!(mmio_read_32(spt->scfg + SCFG_THREAD_CTRL) & SCFG_THREAD_CTRL_DIR_MASK)) { in ti_sci_transport_clear_rx_thread()
172 ERROR("Cannot clear a transmit thread %s\n", spt->name); in ti_sci_transport_clear_rx_thread()
178 while (mmio_read_32(spt->rt + RT_THREAD_STATUS) & RT_THREAD_STATUS_CUR_CNT_MASK) { in ti_sci_transport_clear_rx_thread()
180 ERROR("Could not clear all messages from thread %s\n", spt->name); in ti_sci_transport_clear_rx_thread()
183 WARN("Clearing message from thread %s\n", spt->name); in ti_sci_transport_clear_rx_thread()
184 mmio_read_32(spt->data + spm.desc.data_end_offset); in ti_sci_transport_clear_rx_thread()
199 struct k3_sec_proxy_thread *spt = &spm.threads[id]; in ti_sci_transport_send() local
203 ret = k3_sec_proxy_verify_thread(spt, THREAD_IS_TX); in ti_sci_transport_send()
205 ERROR("Thread %s verification failed (%d)\n", spt->name, ret); in ti_sci_transport_send()
212 spt->name, msg->len); in ti_sci_transport_send()
221 mmio_write_32(spt->data + data_reg, ((uint32_t *)msg->buf)[i]); in ti_sci_transport_send()
236 mmio_write_32(spt->data + data_reg, data_trail); in ti_sci_transport_send()
247 mmio_write_32(spt->data + data_reg, 0); in ti_sci_transport_send()
251 VERBOSE("Message successfully sent on thread %s\n", spt->name); in ti_sci_transport_send()
265 struct k3_sec_proxy_thread *spt = &spm.threads[id]; in ti_sci_transport_recv() local
269 ret = k3_sec_proxy_verify_thread(spt, THREAD_IS_RX); in ti_sci_transport_recv()
271 ERROR("Thread %s verification failed (%d)\n", spt->name, ret); in ti_sci_transport_recv()
280 ((uint32_t *)msg->buf)[i] = mmio_read_32(spt->data + data_reg); in ti_sci_transport_recv()
287 uint32_t data_trail = mmio_read_32(spt->data + data_reg); in ti_sci_transport_recv()
302 mmio_read_32(spt->data + spm.desc.data_end_offset); in ti_sci_transport_recv()
304 VERBOSE("Message successfully received from thread %s\n", spt->name); in ti_sci_transport_recv()