Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp2101131imm; Sat, 30 Jun 2018 10:56:11 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfffeXCXed3TRtvsAvonQLmldofO1oW1sivjtJfeo/uV07qH4VUULkKC5nekgBdc9B302fJ X-Received: by 2002:a63:2e81:: with SMTP id u123-v6mr13039361pgu.225.1530381371439; Sat, 30 Jun 2018 10:56:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530381371; cv=none; d=google.com; s=arc-20160816; b=y2Jok2nXGXqZChZIaPnoadEzwUyXDauHZvVB6ynbmmsy8Uz/vFg+CnTpWpE7TqMIr9 VG/Pe1UA1limImEqW1r1hSwPuOQakpVgsTNTpkxiqb1Minh925A4gj65GqEJItwVU5im 8AQ9iNoxjpqMA1EESbcNG4URSNOGjb+aT0ooi7+4KDkAvG22P8tpvFITz/RrQU+OyDcF /Krxccn47sUyNzp2p+cWq7IMFATHG+kx+aVVshjLsr790T3DA8AMG1VS2b+P368ljaly Zy6dYi3Rv5Y9CkgMhftNuxcy1lzmbdDc+uPuJHQU0nZWZ97k+YuSKRWOFyPAxVnPQZEz 1gTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=d7yBsC8xiTu7Prf1zV0jH7gf4djJhP68DNCj0g4Bpdg=; b=o3hkOmug2I86s9l2zqdLZOH2sJf5ODlb1MCZ9qGr+TazNjUQvSTrF80dKbFHuUGno8 3fJvnIuAiYduNsjWAFNXwuHkBOL5UWPDJP3CT3m83X6RV3JadtsSkiV0NZhupd9aP7lq G5XHiFsEbVKePh8mzS+rFrN0t2cFbMsMOlmC7erf2cmNLqNKwpR86q66nMcA7y9Z+n/W fF0gzH34m3JhxH+vsL34nF6VGNwirEsxM9g3gr9ZWQ1ojYx2N59OPMJwVOZMaPGFcpXU VFXGorMrLshJ8HU1QventScG1bsO3QIGn76m/miZdN2Ka8wwGcUIf9b1X+I7LxmzILvI cfrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=UGFs9ocn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r23-v6si1203349pgk.582.2018.06.30.10.55.45; Sat, 30 Jun 2018 10:56:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=UGFs9ocn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751483AbeF3Ryp (ORCPT + 99 others); Sat, 30 Jun 2018 13:54:45 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:43353 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751368AbeF3Ryo (ORCPT ); Sat, 30 Jun 2018 13:54:44 -0400 Received: by mail-wr0-f193.google.com with SMTP id c5-v6so11651309wrs.10 for ; Sat, 30 Jun 2018 10:54:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=d7yBsC8xiTu7Prf1zV0jH7gf4djJhP68DNCj0g4Bpdg=; b=UGFs9ocnhyKVi3ZwWftDg26ieGQYtfyYtVm69FHqxMtQVT3PjiV0x8vuEIjTb8Vr3J Y8td7xAL8QNXcAOs5nilGAyrpBmyJNuNL8vNbUfi05oI5HVN8eWMujI7ePFEkYBYY9+4 HKNc2chvg4pbkfC2CtfhqwNdGo7Dd5XC5YgP7VVN248Lc/3+mUIAy+p4nJztairpuUlx uyfi86gN1d8rtPg7khB/YmLHlpkG6TuDNEvawWm9vmYcJWflUh3MML+YU2YbQhgGtui9 yKkUUdTWAymD/7zseMEKB7WM4PCagpQMmfRY8hdkUPEntzZO7tEDDhnZW+752Cx4yLin 4p8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=d7yBsC8xiTu7Prf1zV0jH7gf4djJhP68DNCj0g4Bpdg=; b=YWJfl6DyCWW3d6pdvSNzpWDZFdLTqVaGacXZVrLf5X2+UxZ4pVRPuX3BOY72FVTuoD HOXrhg7m3qcphKJTj7VAx3hCA9XbrBIofp5BelajMP0uC9X/AbOzQ3rO9npFEAjAAgpx LP6B5N/97q7v82g2tRIz5sUo8x/U4kqypwbgoCwGEqGIElF8KDfSA5UqlIpi3E2zJBuB KvsGjWd6R1NR7Ktd3d+sLdYm2mW5xdNHSa099kzqhGt5D69Yzidt5PPhY8rKgOEjBRHR F6PhXm1/mvsBOsvRqP+mikO10fP3QPOqL5ILffzjE+7NNb/TrFh5H5ajc6loyXXGd3ae XUHQ== X-Gm-Message-State: APt69E0fbzzsUPcvq+oqHMfLP0l+a5CycpIx37sWvG7tyvWKc5uVWcpx mx3QbYZpXCxIFIawKTQqVlk= X-Received: by 2002:adf:f74d:: with SMTP id z13-v6mr1335799wrp.85.1530381283032; Sat, 30 Jun 2018 10:54:43 -0700 (PDT) Received: from [192.168.1.4] (ip-86-49-107-50.net.upcbroadband.cz. [86.49.107.50]) by smtp.gmail.com with ESMTPSA id q70-v6sm8362266wmd.45.2018.06.30.10.54.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 Jun 2018 10:54:42 -0700 (PDT) Subject: Re: [PATCH] mtd: spi-nor: cadence-quadspi: Fix direct mode write timeouts To: Vignesh R , Boris Brezillon Cc: Richard Weinberger , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Linux ARM Mailing List References: <20180630105421.550-1-vigneshr@ti.com> From: Marek Vasut Message-ID: Date: Sat, 30 Jun 2018 15:21:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180630105421.550-1-vigneshr@ti.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/30/2018 12:54 PM, Vignesh R wrote: > Sometimes when writing large size files to flash in direct/memory mapped > mode, it is seen that flash write enable command times out with error: > [ 503.146293] cadence-qspi 47040000.ospi: Flash command execution timed out. > > This is because, we need to make sure previous direct write operation > is complete by polling for IDLE bit in CONFIG_REG before starting the > next operation. > > Fix this by polling for IDLE bit after memory mapped write. > > Fixes: a27f2eaf2b27 ("mtd: spi-nor: cadence-quadspi: Add support for direct access mode") > Cc: stable@vger.kernel.org > Signed-off-by: Vignesh R Reviewed-by: Marek Vasut > --- > drivers/mtd/spi-nor/cadence-quadspi.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c > index c3f7aaa5d18f..d7e10b36a0b9 100644 > --- a/drivers/mtd/spi-nor/cadence-quadspi.c > +++ b/drivers/mtd/spi-nor/cadence-quadspi.c > @@ -926,10 +926,12 @@ static ssize_t cqspi_write(struct spi_nor *nor, loff_t to, > if (ret) > return ret; > > - if (f_pdata->use_direct_mode) > + if (f_pdata->use_direct_mode) { > memcpy_toio(cqspi->ahb_base + to, buf, len); > - else > + ret = cqspi_wait_idle(cqspi); > + } else { > ret = cqspi_indirect_write_execute(nor, to, buf, len); > + } > if (ret) > return ret; > > -- Best regards, Marek Vasut