Lines Matching refs:drv

59 	struct intel_sst_drv *drv = (struct intel_sst_drv *) context;  in intel_sst_interrupt_mrfld()  local
63 isr.full = sst_shim_read64(drv->shim, SST_ISRX); in intel_sst_interrupt_mrfld()
67 spin_lock(&drv->ipc_spin_lock); in intel_sst_interrupt_mrfld()
68 header.full = sst_shim_read64(drv->shim, in intel_sst_interrupt_mrfld()
69 drv->ipc_reg.ipcx); in intel_sst_interrupt_mrfld()
71 sst_shim_write64(drv->shim, drv->ipc_reg.ipcx, header.full); in intel_sst_interrupt_mrfld()
75 sst_shim_write64(drv->shim, SST_ISRX, isr.full); in intel_sst_interrupt_mrfld()
76 spin_unlock(&drv->ipc_spin_lock); in intel_sst_interrupt_mrfld()
79 queue_work(drv->post_msg_wq, &drv->ipc_post_msg_wq); in intel_sst_interrupt_mrfld()
85 spin_lock(&drv->ipc_spin_lock); in intel_sst_interrupt_mrfld()
86 imr.full = sst_shim_read64(drv->shim, SST_IMRX); in intel_sst_interrupt_mrfld()
88 sst_shim_write64(drv->shim, SST_IMRX, imr.full); in intel_sst_interrupt_mrfld()
89 spin_unlock(&drv->ipc_spin_lock); in intel_sst_interrupt_mrfld()
90 header.full = sst_shim_read64(drv->shim, drv->ipc_reg.ipcd); in intel_sst_interrupt_mrfld()
93 drv->ops->clear_interrupt(drv); in intel_sst_interrupt_mrfld()
101 drv->mailbox + drv->mailbox_recv_offset, size); in intel_sst_interrupt_mrfld()
103 dev_err(drv->dev, in intel_sst_interrupt_mrfld()
112 spin_lock(&drv->rx_msg_lock); in intel_sst_interrupt_mrfld()
113 list_add_tail(&msg->node, &drv->rx_list); in intel_sst_interrupt_mrfld()
114 spin_unlock(&drv->rx_msg_lock); in intel_sst_interrupt_mrfld()
115 drv->ops->clear_interrupt(drv); in intel_sst_interrupt_mrfld()
123 struct intel_sst_drv *drv = (struct intel_sst_drv *) context; in intel_sst_irq_thread_mrfld() local
127 spin_lock_irqsave(&drv->rx_msg_lock, irq_flags); in intel_sst_irq_thread_mrfld()
128 if (list_empty(&drv->rx_list)) { in intel_sst_irq_thread_mrfld()
129 spin_unlock_irqrestore(&drv->rx_msg_lock, irq_flags); in intel_sst_irq_thread_mrfld()
133 list_for_each_entry_safe(msg, __msg, &drv->rx_list, node) { in intel_sst_irq_thread_mrfld()
135 spin_unlock_irqrestore(&drv->rx_msg_lock, irq_flags); in intel_sst_irq_thread_mrfld()
137 drv->ops->process_message(msg); in intel_sst_irq_thread_mrfld()
139 drv->ops->process_reply(drv, msg); in intel_sst_irq_thread_mrfld()
144 spin_lock_irqsave(&drv->rx_msg_lock, irq_flags); in intel_sst_irq_thread_mrfld()
146 spin_unlock_irqrestore(&drv->rx_msg_lock, irq_flags); in intel_sst_irq_thread_mrfld()