Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp396553ybi; Wed, 19 Jun 2019 01:11:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqyZfW4kq/76MAtVJnUGyq5KGYrKtNpw5n4troVe1Urri9PnOR40758erPUuJftX1H1PkXZc X-Received: by 2002:a65:41c5:: with SMTP id b5mr6801827pgq.128.1560931872675; Wed, 19 Jun 2019 01:11:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560931872; cv=none; d=google.com; s=arc-20160816; b=DY39cssO0KMLnFbzFvP5u9xohdBsoC7FwnfbMzWrP5RapA8GCqULp7P2ZZq9rrSV0X 9UR2AVp7jZLzkrLfRe+3QKJePm86lDMSQ2XfdUmVoUJnIP3Toi1wtIWT/8Okw/paswDm wfhcGBK1KbAMDAfWn8R+1/p494u85CbeMMbRrgzEXZCC/9FSwUkX8sVfo7SMx6scx6bx XOdMTIIZ4UT81vjB0bxqBBkZ2v1OOrQ835X2h+GKQc8sVPu0T+tYQ7yJ4aW8KEXubRQX syTJJZL+pfdyHf33Vu/Hp0DAklXFOlBCn7PF6pDdUZXbZv8q2uMV/7ZMGE9yRwYP5wWv Qspg== 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:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=6gMUDWNUiKBnBh914Xfunz2UlmILL4NAuZ1RuA4SPwQ=; b=QP1p5EwFpVtnsx+ZAaxQutHtUv5H3SukyaDMoKT8J4sUXRL6bpwCTDdv4UNIOXXuyK a00QSAzkVvcssoC54ayOqJx+2CxUxlU817lxG8MeJ91WuA90PTdFHYw33DgRtzaISc7U NcK1MnyGTdtTuEhVZM4yxxDIj4OeDeirprPrd/SAqAsu+y8lk3L8BSg51aFzdOhWk7jh SIBojsuSRvJY4fstdpm4+zxKXW1FLe2Y7Gx4Aukawdtz8jXDdA/4UwISBJq9FP4WaEA6 l2qlTauAgcYpwjNpcPR973qRHAJZL3fg1DVvnIiDrC3okvI/Yn3kqJ+haSrrg8GcJ8cm KT8g== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v23si14689222plo.34.2019.06.19.01.10.57; Wed, 19 Jun 2019 01:11:12 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731262AbfFSIJT convert rfc822-to-8bit (ORCPT + 99 others); Wed, 19 Jun 2019 04:09:19 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:54193 "EHLO relay8-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726142AbfFSIJT (ORCPT ); Wed, 19 Jun 2019 04:09:19 -0400 X-Originating-IP: 90.88.23.150 Received: from xps13 (aaubervilliers-681-1-81-150.w90-88.abo.wanadoo.fr [90.88.23.150]) (Authenticated sender: miquel.raynal@bootlin.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 726551BF203; Wed, 19 Jun 2019 08:09:05 +0000 (UTC) Date: Wed, 19 Jun 2019 10:09:04 +0200 From: Miquel Raynal To: masonccyang@mxic.com.tw Cc: "Boris Brezillon" , bbrezillon@kernel.org, broonie@kernel.org, christophe.kerello@st.com, computersforpeace@gmail.com, devicetree@vger.kernel.org, dwmw2@infradead.org, geert@linux-m68k.org, juliensu@mxic.com.tw, lee.jones@linaro.org, liang.yang@amlogic.com, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org, marcel.ziswiler@toradex.com, marek.vasut@gmail.com, mark.rutland@arm.com, paul.burton@mips.com, richard@nod.at, robh+dt@kernel.org, stefan@agner.ch, zhengxunli@mxic.com.tw Subject: Re: [PATCH v3 2/4] mtd: rawnand: Add Macronix MX25F0A NAND controller Message-ID: <20190619100904.6b759377@xps13> In-Reply-To: References: <1555320234-15802-1-git-send-email-masonccyang@mxic.com.tw> <1555320234-15802-3-git-send-email-masonccyang@mxic.com.tw> <20190512151820.4f2dd9da@xps13> <20190520142333.390091d5@xps13> <20190527144250.71908bd9@xps13> <20190617143510.4ded5728@xps13> <20190618081436.5d488320@collabora.com> <20190618092901.3bdd9f61@collabora.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.1 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Mason, masonccyang@mxic.com.tw wrote on Wed, 19 Jun 2019 16:04:43 +0800: > Hi Boris, > > > > > Re: [PATCH v3 2/4] mtd: rawnand: Add Macronix MX25F0A NAND controller > > > > On Tue, 18 Jun 2019 08:14:36 +0200 > > Boris Brezillon wrote: > > > > > > > > > > > > > > > > > > How to make all #CS keep high for NAND to enter > > > > > > > > low-power standby mode if driver don't use > "legacy.select_chip()" > > > > ? > > > > > > > > > > > > > > See commit 02b4a52604a4 ("mtd: rawnand: Make ->select_chip() > > > > optional > > > > > > > when ->exec_op() is implemented") which states: > > > > > > > > > > > > > > "When [->select_chip() is] not implemented, the core > is > > > > assuming > > > > > > > the CS line is automatically asserted/deasserted by the > driver > > > > > > > ->exec_op() implementation." > > > > > > > > > > > > > > Of course, the above is right only when the controller driver > > > > > supports > > > > > > > the ->exec_op() interface. > > > > > > > > > > > > Currently, it seems that we will get the incorrect data and > error > > > > > > operation due to CS in error toggling if CS line is controlled > in > > > > > > ->exec_op(). > > > > Oh, and please provide the modifications you added on top of this patch. > > Right now we're speculating on what you've done which is definitely not > > an efficient way to debug this sort of issues. > We really need to see the datasheet of the NAND chip which has a problem and how this LPM mode is advertized to understand what the chip expects and eventually how to work-around it. > The patch is to add in beginning of ->exec_op() to control CS# low and > before return from ->exec_op() to control CS# High. > i.e,. > static in mxic_nand_exec_op( ) > { > cs_to_low(); > > > > cs_to_high(); > return; > } > > But for nand_onfi_detect(), > it calls nand_read_param_page_op() and then nand_read_data_op(). > mxic_nand_exec_op() be called twice for nand_onfi_detect() Yes, this is expected and usually chips don't care. > and > driver will get incorrect ONFI parameter table data from > nand_read_data_op(). > Thanks, Miquèl