Re: GPMI iMX6ull timeout on DMA

Miquel Raynal
2021-10-08T13:31:06Z

Hi Christian,

ceggers@arri.de wrote on Fri, 8 Oct 2021 15:13:17 +0200:

> On Friday, 8 October 2021, 14:27:24 CEST, Miquel Raynal wrote:
> > Hello,
> >
> > Could it be possible to quantify the extra time spent in
> > disabling/re-enabling clocks just for the record? So far this driver
> > only supports a single chip and thus frequency changes do not happen
> > frequently (a couple times at boot) but if someday we introduce support
> > for several chips it might become very impacting.
> >
> > Thanks,
> > Miquèl
> >
>
>
> ktime_t start = ktime_get(), duration;
> __gpmi_enable_clk(this, false);
> clk_set_rate(r->clock[0], hw->clk_rate);
> __gpmi_enable_clk(this, true);
> duration = ktime_get() - start;
> printk(KERN_ERR "%s() duration = %lld ns\n", __func__, ktime_to_ns(duration));
>
> -->
>
> gpmi_nfc_apply_timings() duration = 39250 ns
> ...
> nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
> nand: Micron MT29F4G08ABADAH4
> nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
> gpmi_nfc_apply_timings() duration = 36750 ns
> gpmi_nfc_apply_timings() duration = 170750 ns
>
> On i.MX6ULL @ 792MHz this takes less than 250 us.

Ok thanks for the feedback. This is not negligible if we start
switching between chips with different frequencies quite regularly.

Thanks,
Miquèl