Re: [PATCH 6/7] spi/s3c64xx: Add support DMA engine API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>  static int acquire_dma(struct s3c64xx_spi_driver_data *sdd)
>  {
> +#if defined(CONFIG_DMADEV_PL330)
> +       dma_cap_mask_t mask;
> +       dma_cap_zero(mask);
> +       dma_cap_set(DMA_SLAVE, mask);
> +       sdd->rx_chan =
> +               dma_request_channel(mask, rxfilter, (void *)sdd);
> +       if (!sdd->rx_chan) {
> +               dev_err(&sdd->pdev->dev, "cannot get RxDMA\n");
> +               return 0;
> +       }
> +       sdd->tx_chan =
> +               dma_request_channel(mask, txfilter, (void *)sdd);
> +       if (!sdd->tx_chan) {
> +               dev_err(&sdd->pdev->dev, "cannot get TxDMA\n");
> +               return 0;
> +       }
> +#else

When acquiring tx_chan is failed, you must release a rx_chan before
error return.
If not, the rx_chan is always busy because it was allocated in the
previous attempt.

-- 
Best Regards,
Chanho Park
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux