.pattern = scan_ff_pattern,
};
+static int loop_timeout_max;
+
static void empty_fifo(struct sh_flctl *flctl)
{
writel(flctl->flintdmacr_base | AC1CLR | AC0CLR, FLINTDMACR(flctl));
static void wait_completion(struct sh_flctl *flctl)
{
- uint32_t timeout = LOOP_TIMEOUT_MAX;
+ uint32_t timeout = loop_timeout_max;
while (timeout--) {
if (readb(FLTRCR(flctl)) & TREND) {
static void wait_rfifo_ready(struct sh_flctl *flctl)
{
- uint32_t timeout = LOOP_TIMEOUT_MAX;
+ uint32_t timeout = loop_timeout_max;
while (timeout--) {
uint32_t val;
static void wait_wfifo_ready(struct sh_flctl *flctl)
{
- uint32_t len, timeout = LOOP_TIMEOUT_MAX;
+ uint32_t len, timeout = loop_timeout_max;
while (timeout--) {
/* check FIFO */
static enum flctl_ecc_res_t wait_recfifo_ready
(struct sh_flctl *flctl, int sector_number)
{
- uint32_t timeout = LOOP_TIMEOUT_MAX;
+ uint32_t timeout = loop_timeout_max;
void __iomem *ecc_reg[4];
int i;
int state = FL_SUCCESS;
static void wait_wecfifo_ready(struct sh_flctl *flctl)
{
- uint32_t timeout = LOOP_TIMEOUT_MAX;
+ uint32_t timeout = loop_timeout_max;
uint32_t len;
while (timeout--) {
pm_runtime_enable(&pdev->dev);
pm_runtime_resume(&pdev->dev);
+ loop_timeout_max = loops_per_jiffy * msecs_to_jiffies(LOOP_TIMEOUT_MS);
+
ret = nand_scan_ident(flctl_mtd, 1, NULL);
if (ret)
goto err_chip;