|
@@ -318,22 +318,23 @@ static void pch_spi_handler_sub(struct pch_spi_data *data, u32 reg_spsr_val,
|
|
|
data->tx_index = tx_index;
|
|
data->tx_index = tx_index;
|
|
|
data->rx_index = rx_index;
|
|
data->rx_index = rx_index;
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /* if transfer complete interrupt */
|
|
|
|
|
- if (reg_spsr_val & SPSR_FI_BIT) {
|
|
|
|
|
- if ((tx_index == bpw_len) && (rx_index == tx_index)) {
|
|
|
|
|
- /* disable interrupts */
|
|
|
|
|
- pch_spi_setclr_reg(data->master, PCH_SPCR, 0, PCH_ALL);
|
|
|
|
|
-
|
|
|
|
|
- /* transfer is completed;
|
|
|
|
|
- inform pch_spi_process_messages */
|
|
|
|
|
- data->transfer_complete = true;
|
|
|
|
|
- data->transfer_active = false;
|
|
|
|
|
- wake_up(&data->wait);
|
|
|
|
|
- } else {
|
|
|
|
|
- dev_err(&data->master->dev,
|
|
|
|
|
- "%s : Transfer is not completed", __func__);
|
|
|
|
|
|
|
+ /* if transfer complete interrupt */
|
|
|
|
|
+ if (reg_spsr_val & SPSR_FI_BIT) {
|
|
|
|
|
+ if ((tx_index == bpw_len) && (rx_index == tx_index)) {
|
|
|
|
|
+ /* disable interrupts */
|
|
|
|
|
+ pch_spi_setclr_reg(data->master, PCH_SPCR, 0,
|
|
|
|
|
+ PCH_ALL);
|
|
|
|
|
+
|
|
|
|
|
+ /* transfer is completed;
|
|
|
|
|
+ inform pch_spi_process_messages */
|
|
|
|
|
+ data->transfer_complete = true;
|
|
|
|
|
+ data->transfer_active = false;
|
|
|
|
|
+ wake_up(&data->wait);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ dev_err(&data->master->dev,
|
|
|
|
|
+ "%s : Transfer is not completed",
|
|
|
|
|
+ __func__);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|