> > +static int tegra_i2c_init_dma_param(struct tegra_i2c_dev *i2c_dev,
> > + bool dma_to_memory)
> > +{
> > + struct dma_chan *dma_chan;
> > + u32 *dma_buf;
> > + dma_addr_t dma_phys;
> > + int ret;
> > + const char *chan_name = dma_to_memory ? "rx" : "tx";
26.01.2019 3:28, Dmitry Osipenko пишет:
> 24.01.2019 23:51, Sowjanya Komatineni пишет:
>> This patch adds DMA support for Tegra I2C.
>>
>> Tegra I2C TX and RX FIFO depth is 8 words. PIO mode is used for
>> transfer size of the max FIFO depth and DMA mode is used for
>> transfer size higher than
24.01.2019 23:51, Sowjanya Komatineni пишет:
> This patch adds DMA support for Tegra I2C.
>
> Tegra I2C TX and RX FIFO depth is 8 words. PIO mode is used for
> transfer size of the max FIFO depth and DMA mode is used for
> transfer size higher than max FIFO depth to save CPU overhead.
>
> PIO
> > > >>> + if (i2c_dev->has_dma) {
> > > >>> + ret = tegra_i2c_init_dma_param(i2c_dev, true);
> > > >>> + if (ret == -EPROBE_DEFER)
> > > >>> + goto disable_div_clk;
> > > >>> + ret = tegra_i2c_init_dma_param(i2c_dev, false);
> > > >>>
On Fri, Jan 25, 2019 at 09:11:54PM +, Sowjanya Komatineni wrote:
>
>
> > >>> + if (i2c_dev->has_dma) {
> > >>> + ret = tegra_i2c_init_dma_param(i2c_dev, true);
> > >>> + if (ret == -EPROBE_DEFER)
> > >>> + goto disable_div_clk;
> > >>>
24.01.2019 23:51, Sowjanya Komatineni пишет:
> This patch adds DMA support for Tegra I2C.
>
> Tegra I2C TX and RX FIFO depth is 8 words. PIO mode is used for
> transfer size of the max FIFO depth and DMA mode is used for
> transfer size higher than max FIFO depth to save CPU overhead.
>
> PIO
> > + if (i2c_dev->has_dma) {
> > + ret = tegra_i2c_init_dma_param(i2c_dev, true);
> > + if (ret == -EPROBE_DEFER)
> > + goto disable_div_clk;
> > + ret = tegra_i2c_init_dma_param(i2c_dev, false);
> > +
26.01.2019 0:49, Dmitry Osipenko пишет:
> 3) After applying these patches I2C transfers are failing on Tegra20 with
> "tegra-i2c 7000c400.i2c: Failed to allocate the DMA buffer".
>
Actually scratch the above, turned out I haven't applied patches correctly. In
fact patches are failing to
24.01.2019 23:51, Sowjanya Komatineni пишет:
> This patch adds DMA support for Tegra I2C.
>
> Tegra I2C TX and RX FIFO depth is 8 words. PIO mode is used for
> transfer size of the max FIFO depth and DMA mode is used for
> transfer size higher than max FIFO depth to save CPU overhead.
>
> PIO
26.01.2019 0:11, Sowjanya Komatineni пишет:
>
>
> + if (i2c_dev->has_dma) {
> + ret = tegra_i2c_init_dma_param(i2c_dev, true);
> + if (ret == -EPROBE_DEFER)
> + goto disable_div_clk;
> + ret = tegra_i2c_init_dma_param(i2c_dev, false);
> >>> + if (i2c_dev->has_dma) {
> >>> + ret = tegra_i2c_init_dma_param(i2c_dev, true);
> >>> + if (ret == -EPROBE_DEFER)
> >>> + goto disable_div_clk;
> >>> + ret = tegra_i2c_init_dma_param(i2c_dev, false);
> >>> + if (ret == -EPROBE_DEFER)
> >>> +
25.01.2019 23:31, Sowjanya Komatineni пишет:
>
>>> + if (i2c_dev->has_dma) {
>>> + ret = tegra_i2c_init_dma_param(i2c_dev, true);
>>> + if (ret == -EPROBE_DEFER)
>>> + goto disable_div_clk;
>>> + ret = tegra_i2c_init_dma_param(i2c_dev, false);
>>>
> > + if (i2c_dev->has_dma) {
> > + ret = tegra_i2c_init_dma_param(i2c_dev, true);
> > + if (ret == -EPROBE_DEFER)
> > + goto disable_div_clk;
> > + ret = tegra_i2c_init_dma_param(i2c_dev, false);
> > + if (ret == -EPROBE_DEFER)
> > +
24.01.2019 23:51, Sowjanya Komatineni пишет:
> This patch adds DMA support for Tegra I2C.
>
> Tegra I2C TX and RX FIFO depth is 8 words. PIO mode is used for
> transfer size of the max FIFO depth and DMA mode is used for
> transfer size higher than max FIFO depth to save CPU overhead.
>
> PIO
14 matches
Mail list logo