Loading drivers/spi/spi_qsd.c +10 −7 Original line number Diff line number Diff line Loading @@ -1220,7 +1220,7 @@ static int msm_spi_bam_map_buffers(struct msm_spi *dd) u32 tx_len, rx_len; int num_xfrs_grped = dd->num_xfrs_grped; dev = &dd->cur_msg->spi->dev; dev = dd->dev; first_xfr = dd->cur_transfer; do { Loading @@ -1230,7 +1230,7 @@ static int msm_spi_bam_map_buffers(struct msm_spi *dd) if (tx_buf != NULL) { first_xfr->tx_dma = dma_map_single(dev, tx_buf, tx_len, DMA_TO_DEVICE); if (dma_mapping_error(NULL, first_xfr->tx_dma)) { if (dma_mapping_error(dev, first_xfr->tx_dma)) { ret = -ENOMEM; goto error; } Loading @@ -1239,9 +1239,9 @@ static int msm_spi_bam_map_buffers(struct msm_spi *dd) if (rx_buf != NULL) { first_xfr->rx_dma = dma_map_single(dev, rx_buf, rx_len, DMA_FROM_DEVICE); if (dma_mapping_error(NULL, first_xfr->rx_dma)) { if (dma_mapping_error(dev, first_xfr->rx_dma)) { if (tx_buf != NULL) dma_unmap_single(NULL, dma_unmap_single(dev, first_xfr->tx_dma, tx_len, DMA_TO_DEVICE); ret = -ENOMEM; Loading Loading @@ -1466,6 +1466,7 @@ static void msm_spi_process_transfer(struct msm_spi *dd) u32 timeout; u32 spi_ioc; u32 int_loopback = 0; int ret; dd->tx_bytes_remaining = dd->cur_msg_len; dd->rx_bytes_remaining = dd->cur_msg_len; Loading Loading @@ -1504,8 +1505,10 @@ static void msm_spi_process_transfer(struct msm_spi *dd) msm_spi_set_transfer_mode(dd, bpw, read_count); msm_spi_set_mx_counts(dd, read_count); if (dd->mode == SPI_BAM_MODE) { if (msm_spi_dma_map_buffers(dd) < 0) { ret = msm_spi_dma_map_buffers(dd); if (ret < 0) { pr_err("Mapping DMA buffers\n"); dd->cur_msg->status = ret; return; } } Loading Loading @@ -1884,9 +1887,9 @@ static int msm_spi_transfer_one_message(struct spi_master *master, msm_spi_bam_pipe_disconnect(dd, &dd->bam.prod); msm_spi_bam_pipe_disconnect(dd, &dd->bam.cons); } dd->cur_msg->status = status_error; status_error = dd->cur_msg->status; spi_finalize_current_message(master); return 0; return status_error; } static int msm_spi_prepare_transfer_hardware(struct spi_master *master) Loading Loading
drivers/spi/spi_qsd.c +10 −7 Original line number Diff line number Diff line Loading @@ -1220,7 +1220,7 @@ static int msm_spi_bam_map_buffers(struct msm_spi *dd) u32 tx_len, rx_len; int num_xfrs_grped = dd->num_xfrs_grped; dev = &dd->cur_msg->spi->dev; dev = dd->dev; first_xfr = dd->cur_transfer; do { Loading @@ -1230,7 +1230,7 @@ static int msm_spi_bam_map_buffers(struct msm_spi *dd) if (tx_buf != NULL) { first_xfr->tx_dma = dma_map_single(dev, tx_buf, tx_len, DMA_TO_DEVICE); if (dma_mapping_error(NULL, first_xfr->tx_dma)) { if (dma_mapping_error(dev, first_xfr->tx_dma)) { ret = -ENOMEM; goto error; } Loading @@ -1239,9 +1239,9 @@ static int msm_spi_bam_map_buffers(struct msm_spi *dd) if (rx_buf != NULL) { first_xfr->rx_dma = dma_map_single(dev, rx_buf, rx_len, DMA_FROM_DEVICE); if (dma_mapping_error(NULL, first_xfr->rx_dma)) { if (dma_mapping_error(dev, first_xfr->rx_dma)) { if (tx_buf != NULL) dma_unmap_single(NULL, dma_unmap_single(dev, first_xfr->tx_dma, tx_len, DMA_TO_DEVICE); ret = -ENOMEM; Loading Loading @@ -1466,6 +1466,7 @@ static void msm_spi_process_transfer(struct msm_spi *dd) u32 timeout; u32 spi_ioc; u32 int_loopback = 0; int ret; dd->tx_bytes_remaining = dd->cur_msg_len; dd->rx_bytes_remaining = dd->cur_msg_len; Loading Loading @@ -1504,8 +1505,10 @@ static void msm_spi_process_transfer(struct msm_spi *dd) msm_spi_set_transfer_mode(dd, bpw, read_count); msm_spi_set_mx_counts(dd, read_count); if (dd->mode == SPI_BAM_MODE) { if (msm_spi_dma_map_buffers(dd) < 0) { ret = msm_spi_dma_map_buffers(dd); if (ret < 0) { pr_err("Mapping DMA buffers\n"); dd->cur_msg->status = ret; return; } } Loading Loading @@ -1884,9 +1887,9 @@ static int msm_spi_transfer_one_message(struct spi_master *master, msm_spi_bam_pipe_disconnect(dd, &dd->bam.prod); msm_spi_bam_pipe_disconnect(dd, &dd->bam.cons); } dd->cur_msg->status = status_error; status_error = dd->cur_msg->status; spi_finalize_current_message(master); return 0; return status_error; } static int msm_spi_prepare_transfer_hardware(struct spi_master *master) Loading