Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp913836imw; Fri, 15 Jul 2022 15:38:45 -0700 (PDT) X-Google-Smtp-Source: AGRyM1ubgNQko8Dwgt49zYsFLBFi/XlEeHeDu4joYB/YUIviIqmfJLKzSUPweCmOgLNAs5kIxhqg X-Received: by 2002:a17:90b:4ad0:b0:1f0:28c6:9493 with SMTP id mh16-20020a17090b4ad000b001f028c69493mr23945431pjb.142.1657924725406; Fri, 15 Jul 2022 15:38:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657924725; cv=none; d=google.com; s=arc-20160816; b=y75BzzzBPRUBCJ3l4RiB3Z80iGqoSHvPF7Ipz1VrwrLhq6n08KsiPGX1d8qT1Pc4B/ J3ByGB1V5b6hlBQN5RmsVvyj2qUjRrU98VoXeHDoIzNt2jUsTZ2McpEuniBIfiSx/3AT 0AOvbUlh/R3+DZPHJcqVtYM40Y3XTYzryMwHavvADHz/b1HXYTqgUoQKa39JhWr7MJc6 0AxbUsk6rZFFO2kz1r/Aq4uk5GKX7NVsEgayeATE8O90Mn3y8mtbXyh8v1LNiM9qnPgI 2omOS2yKkulsIyKmwWL7D5v6t4Tl/VNel5dO+pmMQYFLPbSjwICwiXDf5waEV233gwpw dikA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=Z0oFswyC/YbNkGH8IOxwbYw/Sv54sKTTQJpfl46exPo=; b=Fe986Y4UIcD1/QcSC59iKzYD4UyEsS/4Hwi6ra5EwKW4O6g0foi/897ivPbrHeSdGJ TKm3zNhe2t/4Ljof7iq42e2fptYodj4AIvQgRWrUlOhUy7hHXk5n0u0ZRxg/Yj8qnAEZ TGU59iv83mo/uh8Apa0qfh2v/ibaZ77t4L8zX7+hF/cZkP/+oiyT0t5cS1KJS3DRFfJY O/Ffw5/LuAOvGAPRgDYSkMoazth/LQHUoFT+ZpNBY6B5ywPHJfRsNU5us5/qNCmB26gn OBaZ78dT/St/21RtILVtd++q+yhhPwz04ZW7wDDjl4O9U2dVfw03GrdC/Ekj3nEpd+pg ukgw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=MdQ6yE7I; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l4-20020a056a0016c400b00525375c2b26si6817067pfc.275.2022.07.15.15.38.30; Fri, 15 Jul 2022 15:38:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=MdQ6yE7I; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231681AbiGOWfZ (ORCPT + 99 others); Fri, 15 Jul 2022 18:35:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230144AbiGOWfY (ORCPT ); Fri, 15 Jul 2022 18:35:24 -0400 Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1BAB86B26A for ; Fri, 15 Jul 2022 15:35:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1657924523; x=1689460523; h=message-id:date:mime-version:subject:from:to:cc: references:in-reply-to:content-transfer-encoding; bh=Z0oFswyC/YbNkGH8IOxwbYw/Sv54sKTTQJpfl46exPo=; b=MdQ6yE7IyQ74g2/KmDltx1z+cN3uFGSx/TuAaJA6jT87U19VE81XXpoR VxwSQDTSZVBHTi4wYjntIWZjtgshpT1qOJpds+YJY8sQJfS+UXqJqTtRg +N4TPTQKL/lyNnPcFd+Xxk2ywCP66oXqdMDQiKVAZXdkfFg1fJlp0H4Pi c=; Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-01.qualcomm.com with ESMTP; 15 Jul 2022 15:35:22 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg03-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2022 15:35:22 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Fri, 15 Jul 2022 15:35:22 -0700 Received: from [10.110.97.72] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Fri, 15 Jul 2022 15:35:20 -0700 Message-ID: Date: Fri, 15 Jul 2022 15:35:19 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] mtd: spi-nor: winbond: add support for W25Q512NW-IQ/IN Content-Language: en-US From: Jae Hyun Yoo To: Michael Walle CC: , , , , , , References: <20220710145721.1207157-1-quic_jaehyoo@quicinc.com> <20220711095042.2095360-1-michael@walle.cc> <4972a85d04e39ebb7b4a5872f6632c45@walle.cc> <2260955b-354d-ceda-cadc-49453bfca3e4@quicinc.com> <00f0c9d480ef5a414f1c34492661bd9e@walle.cc> <63cedfce-34bb-ed63-3871-75a6c3dd5d73@quicinc.com> <6be710bb5c1bf0449e54a54b78f6f7a0@walle.cc> <47c01d768ea56edc9a2f9d317af7b495@walle.cc> <114fcde6-bdf7-68ee-d031-35a916027aee@quicinc.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Michael, On 7/15/2022 1:15 PM, Jae Hyun Yoo wrote: > Hi Michael, > > On 7/14/2022 7:30 AM, Jae Hyun Yoo wrote: >> On 7/14/2022 7:21 AM, Michael Walle wrote: >>> Am 2022-07-14 16:16, schrieb Michael Walle: >>>> Am 2022-07-14 15:47, schrieb Jae Hyun Yoo: >>>>> On 7/14/2022 12:41 AM, Michael Walle wrote: >>>>>> What does "doesn't boot at all" mean? Are there any kernel startup >>>>>> messages? >>>>> >>>>> I'm sharing the error messages below. >>>> >>>> Thanks. >>>> >>>>> [    0.748594] spi-nor spi0.0: w25q512nwq (65536 Kbytes) >>>>> [    0.865216] spi-aspeed-smc 1e620000.spi: CE0 read buswidth:4 >>>>> [0x406c0741] >>>>> [    0.872833] ------------[ cut here ]------------ >>>>> [    0.877984] WARNING: CPU: 1 PID: 1 at drivers/mtd/mtdcore.c:583 >>>>> add_mtd_device+0x28c/0x53c >>>>> [    0.887237] CPU: 1 PID: 1 Comm: swapper/0 Not tainted >>>>> 5.15.43-AUTOINC-dirty-23801a6 #1 >>>> >>>> Could you please try it on the latest (vanilla) linux-next? >>> >>> or spi-nor/next [1] as there are quite a lot of changes. The >>> patches shall be based on that. >> >> Okay. Let me try that. I tested it using 5.15.43 with back-ported >> spi-nor patches from the latest. I'll back-port more changes from >> the spi-nor/next and will test the INFO(0xef6020, 0, 0, 0) setting >> again. > > I tested the setting again after cherry picking all SPI relating changes > from the 'for-next' branch of > git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi repository. > > No luck! It's still making the same warning dump at 'add_mtd_device' > since 'mtd->erasesize' is checked as 0. > > I traced it further to check if the erasesize is properly parsed from > the sfdp and checked that erase map seems parsed and initialized > correctly in 'spi_nor_parse_bfpt' but problem is, a target > mtd->erasesize is not properly selected in 'spi_nor_select_erase' since > the 'wanted_size' variable is initialized as sector size of info table > so a selected target mtd->erasesize is also 0 so looks like it's the > reason why it can't initialize mtd device if we use > INFO(0xef6020, 0, 0, 0). > > Also, checked that the mtd->erasesize is set to 4096 if I enable > CONFIG_MTD_SPI_NOR_USE_4K_SECTORS so the SPI flash can be initialized > with the INFO(0xef6020, 0, 0, 0) setting but, it should cover even when > the configuration is not enabled. I think, this patch should go as it > is. The erasesize selecting issue could be fixed using a separate > patch. > > Are you still sure that the INFO(0xef6020, 0, 0, 0) works in the > latest spi-next? I also tried to fix the issue and made a fix like below. diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c index 502967c76c5f..f8a020f80a56 100644 --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c @@ -2117,7 +2117,7 @@ spi_nor_select_uniform_erase(struct spi_nor_erase_map *map, * If the current erase size is the one, stop here: * we have found the right uniform Sector Erase command. */ - if (tested_erase->size == wanted_size) { + if (wanted_size && tested_erase->size == wanted_size) { erase = tested_erase; break; } Tested that it makes the INFO(0xef6020, 0, 0, 0) setting work and a selected mtd->erasesize is 65536 which is what I expected for this device. Not sure if it's a right fix or not. Please review and let me know if it's good to submit or not. Thanks, Jae > Thanks, > > Jae > >> -Jae >> >>> -michael >>> >>> [1] >>> git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git#spi-nor/next