On Tue, 2019-05-07 at 10:25:38 UTC, Xiaolei Li wrote: > At present, the flow of calculating AC timing of read/write cycle in SDR > mode is that: > At first, calculate high hold time which is valid for both read and write > cycle using the max value between tREH_min and tWH_min. > Secondly, calculate WE# pulse width using tWP_min. > Thridly, calculate RE# pulse width using the bigger one between tREA_max > and tRP_min. > > But NAND SPEC shows that Controller should also meet write/read cycle time. > That is write cycle time should be more than tWC_min and read cycle should > be more than tRC_min. Obviously, we do not achieve that now. > > This patch corrects the low level time calculation to meet minimum > read/write cycle time required. After getting the high hold time, WE# low > level time will be promised to meet tWP_min and tWC_min requirement, > and RE# low level time will be promised to meet tREA_max, tRP_min and > tRC_min requirement. > > Fixes: edfee3619c49 ("mtd: nand: mtk: add ->setup_data_interface() hook") > Cc: stable@xxxxxxxxxxxxxxx # v4.17+ > Signed-off-by: Xiaolei Li <xiaolei.li@xxxxxxxxxxxx> > Reviewed-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel