unipi_spi_trace(KERN_INFO "UNIPISPI: SPI IRQ Set, CS%d, to:0x%x\n", spi_dev->chip_select, to);
}
+void neuronspi_uart_flush_proc(struct kthread_work *ws)
+{
+ struct neuronspi_port *n_port = ((container_of((ws), struct neuronspi_port, flush_work)));
+ struct spi_device *spi = neuronspi_s_dev[n_spi->neuron_index];
+ struct neuronspi_op_buffer recv_buf;
+ unsigned long flags;
+
+ unipi_spi_read_str(spi, n_port);
+ if (n_port->rx_in_progress) {
+ s32 frequency = NEURONSPI_DEFAULT_FREQ;
+ if (n_spi) {
+ frequency = n_spi->ideal_frequency;
+ }
+ neuronspi_spi_send_const_op(spi, &UNIPISPI_IDLE_MESSAGE, &recv_buf, 0, frequency, 25);
+ }
+
+ spin_lock_irqsave(&n_port->port.lock, flags);
+ n_port->accept_rx = 1;
+ spin_lock_irqrestore(&n_port->port.lock, flags);
+
+}
void neuronspi_irq_proc(struct kthread_work *ws)
{
int unipi_spi_get_tx_fifo(struct spi_device* spi, struct neuronspi_port* port);
void neuronspi_enable_uart_interrupt(struct neuronspi_port* n_port);
-
+void neuronspi_uart_flush_proc(struct kthread_work *ws);
/***********************
* Function structures *
}
-void neuronspi_uart_flush_proc(struct kthread_work *ws)
-{
- struct neuronspi_port *n_port = ((container_of((ws), struct neuronspi_port, flush_work)));
- struct spi_device *spi = neuronspi_s_dev[n_spi->neuron_index];
- struct neuronspi_op_buffer recv_buf;
- unsigned long flags;
-
- unipi_spi_read_str(spi, n_port);
- if (n_port->rx_in_progress) {
- s32 frequency = NEURONSPI_DEFAULT_FREQ;
- if (n_spi) {
- frequency = n_spi->ideal_frequency;
- }
- neuronspi_spi_send_const_op(spi, &UNIPISPI_IDLE_MESSAGE, &recv_buf, 0, frequency, 25);
- }
-
- spin_lock_irqsave(&port->port.lock, flags);
- n_port->accept_rx = 1;
- spin_lock_irqrestore(&port->port.lock, flags);
-
-}
void neuronspi_uart_flush_buffer(struct uart_port* port)