GPMI iMX6ull timeout on DMA

Miquel Raynal miquel.raynal at bootlin.com
Fri Oct 8 06:30:26 PDT 2021


Hi Christian,

ceggers at 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



More information about the linux-mtd mailing list