Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3764843ybz; Mon, 27 Apr 2020 23:20:28 -0700 (PDT) X-Google-Smtp-Source: APiQypImrurgfuyrnjpty+586+gO6A4vWrugvgIn6USv4TP4INp+3r8VKifCXZPqzjWtC6rZqcht X-Received: by 2002:a17:907:2645:: with SMTP id ar5mr23563491ejc.75.1588054827854; Mon, 27 Apr 2020 23:20:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588054827; cv=none; d=google.com; s=arc-20160816; b=qVzy1XQXOFiihxegvSFDbrC1uC9vut0Btk5DYhRaggSI+BTBj+Uc0rW6IsT/qd5DyZ Xlqu/wqn307DrXlj/LM8EoDYyaYMiAFTQyDWNYEU00KIOA0ZHypCCbo+JH9IYfN9GR2F oAlpb4/8IhFhNGwzAad3m0cDaM/hifRwMudE/pgmcU5WvF2dCLQcpmxmnt0b6hc4k5N+ FtSKAd+MtoSb4yHIVzdSf1rwvvuwlE0TIp29W7T2mtZK9YjFbd2lrlyQD3TmvOOmu2mj QcJGbDISGvXIPpPhNOr5AKBvvrq7uR/gOPqbZvomxxzjbnxReKZIfczWNgupX6q4/kqm HPRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:from:message-id:mime-version:subject :cc:to:references:in-reply-to; bh=j1vT9ih1yH2p8GtJBDh14mxUhSzvUlnSS/EsmJ+I5hw=; b=ndH8VdHI96ndiVDKnsQXZXMT3PxKiWq1ZPSbNmP0EakfrSH5a8prIWeaaCJmD9oxih 74h/hkWDmqJpnzV8141noHcy7armM2ysq6yBZsE8ZjULqEeLpwPRCVOjKPyMvvEwzxz3 j/wfppnQ0SstGoKmF55WF3HLmShQ9rTmaCs+QRD65NmfLRwMKEp4mL4CwBEpptefKweY 1ZdNFsDY+6eyMw+HGR9sP/8ohMNeVSn2TQxp6FTxuAz2Ku0346Us6WInQlR+EcZoJePd YPsSYQomYg4/LbrC+QZMyFvOXMLzMAo/VpkPkmIZu+/R0lL0HxW/2R6uFD8mKrN8w7Lz 7ufA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g7si1137609ejf.410.2020.04.27.23.20.04; Mon, 27 Apr 2020 23:20:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726410AbgD1GPm (ORCPT + 99 others); Tue, 28 Apr 2020 02:15:42 -0400 Received: from twhmllg4.macronix.com ([211.75.127.132]:24391 "EHLO TWHMLLG4.macronix.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726210AbgD1GPm (ORCPT ); Tue, 28 Apr 2020 02:15:42 -0400 Received: from twhfm1p2.macronix.com (twhfmlp2.macronix.com [172.17.20.92]) by TWHMLLG4.macronix.com with ESMTP id 03S6EUUt046234; Tue, 28 Apr 2020 14:14:30 +0800 (GMT-8) (envelope-from masonccyang@mxic.com.tw) Received: from MXML06C.mxic.com.tw (mxml06c.macronix.com [172.17.14.55]) by Forcepoint Email with ESMTP id 213FFAD9CBDD7EF05409; Tue, 28 Apr 2020 14:14:31 +0800 (CST) In-Reply-To: <20200427175536.2mmei2fy6f7bg6jm@yadavpratyush.com> References: <1587451187-6889-1-git-send-email-masonccyang@mxic.com.tw> <20200421092328.129308f6@collabora.com> <20200427175536.2mmei2fy6f7bg6jm@yadavpratyush.com> To: "Pratyush Yadav" Cc: "Boris Brezillon" , broonie@kernel.org, juliensu@mxic.com.tw, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org, miquel.raynal@bootlin.com, "Pratyush Yadav" , richard@nod.at, tudor.ambarus@microchip.com, vigneshr@ti.com Subject: Re: [PATCH v2 0/5] mtd: spi-nor: Add support for Octal 8D-8D-8D mode MIME-Version: 1.0 X-KeepSent: 18214CA5:6A9B2B30-48258558:001D894C; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 8.5.3FP4 SHF90 June 10, 2013 Message-ID: From: masonccyang@mxic.com.tw Date: Tue, 28 Apr 2020 14:14:31 +0800 X-MIMETrack: Serialize by Router on MXML06C/TAIWAN/MXIC(Release 9.0.1FP10 HF265|July 25, 2018) at 2020/04/28 PM 02:14:31, Serialize complete at 2020/04/28 PM 02:14:31 Content-Type: text/plain; charset="US-ASCII" X-MAIL: TWHMLLG4.macronix.com 03S6EUUt046234 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Pratyush, > > On Tue, 21 Apr 2020 14:39:42 +0800 > > Mason Yang wrote: > > > > > Hello, > > > > > > This is repost of patchset from Boris Brezillon's > > > [RFC,00/18] mtd: spi-nor: Proposal for 8-8-8 mode support [1]. > > > > I only quickly went through the patches you sent and saying it's a > > repost of the RFC is a bit of a lie. You completely ignored the state > > tracking I was trying to do to avoid leaving the flash in 8D mode when > > suspending/resetting the board, and I think that part is crucial. If I > > remember correctly, we already had this discussion so I must say I'm a > > bit disappointed. > > > > Can you sync with Pratyush? I think his series [1] is better in that it > > tries to restore the flash in single-SPI mode before suspend (it's > > missing the shutdown case, but that can be easily added I think). Of > > course that'd be even better to have proper state tracking at the SPI > > NOR level. > > Hi Mason, > > I posted a re-roll of my series here [0]. Could you please base your > changes on top of it? Let me know if the series is missing something you > need. > > [0] https://lore.kernel.org/linux-mtd/20200424184410.8578-1-p.yadav@ti.com/ Our mx25uw51245g supports BFPT DWORD-18,19 and 20 data and xSPI profile 1.0, and it comply with BFPT DWORD-19, octal mode enable sequences by write CFG Reg2 with instruction 0x72. Therefore, I can't apply your patches. I quickly went through your patches but can't reply them in each your patches. i.e,. 1) [v4,03/16] spi: spi-mem: allow specifying a command's extension - u8 opcode; + u16 opcode; big/little Endian issue, right? why not just u8 ext_opcode; No any impact for exist code and actually only xSPI device use extension command. 2) [v4,08/16] mtd: spi-nor: parse xSPI Profile 1.0 table need extract more data from xSPI profile 1.0 table and no other specific setting. 3) [v4,11/16] mtd: spi-nor: enable octal DTR mode when possible +static int spi_nor_octal_dtr_enable(struct spi_nor *nor, bool enable) +{ + int ret; + + if (!nor->params->octal_dtr_enable) + return 0; + + if (!(spi_nor_get_protocol_width(nor->read_proto) == 8 || + spi_nor_get_protocol_width(nor->write_proto) == 8)) + return 0; + + ret = nor->params->octal_dtr_enable(nor, enable); + if (ret) + return ret; + + if (enable) + nor->reg_proto = SNOR_PROTO_8_8_8_DTR; + else + nor->reg_proto = SNOR_PROTO_1_1_1; + + return 0; +} + it seems you enable device in Octal mode after SPI-NOR Framework is already in Octal protocol. Driver should set device by SPI 1-1-1 mode to enter Octal mode and then setup Read/PP command and protocol by spi_nor_set_read/pp_setting() for Octal mode, right ? thanks & best regards, Mason CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ============================================================================ CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. =====================================================================