Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp5198486ybl; Tue, 27 Aug 2019 00:36:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqxhl9YOspFNXVRi0bgq9EbowuMUVF9+B4twWgBAnMZlO4WKpl1DDsjQ7m/CUYu+nJ9exqnH X-Received: by 2002:a63:ec03:: with SMTP id j3mr20750865pgh.325.1566891397172; Tue, 27 Aug 2019 00:36:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566891397; cv=none; d=google.com; s=arc-20160816; b=N3jTshHjNYOlI/Nqpqmp/wqjzHzJROvKGtlu69DMIstl7zqeDrcXNrEGsmOAsq2lC0 ikCuea1gOw4tB9wBbxxJ1mMHr9GF4L1/9UGyWXaJXYszz86HNyJm8O/XrypQ0pMusiKo vm9scDCHnAHXyKxKNYyUkF36djigDt2qzTW5pgkkXIEC19p/ik/QbmC57698J5SU9Xbb 9joTfRsdshFjNskrz1ATO07+GVcGfcFpqaPKbHhhPbgFGaOjGP+G+7ZTQQEQDx2GQB12 hP0LTw5lYlhU3WOgmx2PrpGjGaavTsA+fYyGBar5lWRp4m2l/isx+ODmnbeYqcciTvYD tPuQ== 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:to:subject:dkim-signature; bh=hNVhNHj8qHC8UmvonFDQOIu7WE6IQ22VBVLwAPXCF0c=; b=EFE6SyaHOVu4JBRhdYGLb4pcT8PiFOu9uK4T3X4fYtif9N1gZztwJljr1SCwVQpaqH OMUQma1mgfc5Nn6uYYw/8HxwYf6AqV5KSd6fksU4XQCoMXcnMWTjJk62BPtcfxq0gevt RSqyrgjJ3WEGyvRAiSsHYVW6ZEflExxQeuJXwyOtXU7uE3LocNedSTElwnYzLkYV4ObG SOOiFSpH44WsZSd4Y70/BMeuw9xtSq8zeOdMBv5fHd9GLzhxvSM2AiMDGEJjJaVBpMtl eUbVme3ITHKCc7MwLBStQbV30/7Hkhv8dOTz8qpFZJIH21k0qZuN+RxeEp0MfJ4BSEnC 38nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=uDCe1MHZ; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g1si11974995plg.111.2019.08.27.00.36.21; Tue, 27 Aug 2019 00:36:37 -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=@ti.com header.s=ti-com-17Q1 header.b=uDCe1MHZ; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727257AbfH0Hf0 (ORCPT + 99 others); Tue, 27 Aug 2019 03:35:26 -0400 Received: from fllv0015.ext.ti.com ([198.47.19.141]:35474 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725879AbfH0Hf0 (ORCPT ); Tue, 27 Aug 2019 03:35:26 -0400 Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id x7R7ZAHa007452; Tue, 27 Aug 2019 02:35:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1566891311; bh=hNVhNHj8qHC8UmvonFDQOIu7WE6IQ22VBVLwAPXCF0c=; h=Subject:To:References:From:Date:In-Reply-To; b=uDCe1MHZXlQy8p82J0dM21jwBV8H6bNt9n8hCJ8OSxCPONCHvogCn5RPtBNKMf5Th 2KAQGd32S8nCg9fwCTQm1kQFOZ7+OREaa6IHY7JZY02+PBJ/aGfl+kH6xBtAUBVEhB ZnnCF0pY6VXliuD3jD0Pe0++rjO3qnS0aEsHsoC0= Received: from DLEE108.ent.ti.com (dlee108.ent.ti.com [157.170.170.38]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x7R7ZAeH098299 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 27 Aug 2019 02:35:10 -0500 Received: from DLEE105.ent.ti.com (157.170.170.35) by DLEE108.ent.ti.com (157.170.170.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Tue, 27 Aug 2019 02:35:10 -0500 Received: from fllv0039.itg.ti.com (10.64.41.19) by DLEE105.ent.ti.com (157.170.170.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Tue, 27 Aug 2019 02:35:10 -0500 Received: from [172.24.145.136] (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id x7R7Z6Nw071178; Tue, 27 Aug 2019 02:35:07 -0500 Subject: Re: [RESEND PATCH v3 17/20] mtd: spi-nor: Bring flash params init together To: , , , , , , References: <20190826120821.16351-1-tudor.ambarus@microchip.com> <20190826120821.16351-18-tudor.ambarus@microchip.com> From: Vignesh Raghavendra Message-ID: Date: Tue, 27 Aug 2019 13:05:44 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190826120821.16351-18-tudor.ambarus@microchip.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 26/08/19 5:39 PM, Tudor.Ambarus@microchip.com wrote: > From: Tudor Ambarus > > Bring all flash parameters default initialization in > spi_nor_legacy_params_init(). > > Signed-off-by: Tudor Ambarus > Reviewed-by: Boris Brezillon > --- Reviewed-by: Vignesh Raghavendra Regards Vignesh > v3: collect R-b > > drivers/mtd/spi-nor/spi-nor.c | 29 +++++++++++------------------ > 1 file changed, 11 insertions(+), 18 deletions(-) > > diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c > index 2699e999d21a..dcda96a20f6c 100644 > --- a/drivers/mtd/spi-nor/spi-nor.c > +++ b/drivers/mtd/spi-nor/spi-nor.c > @@ -4453,6 +4453,7 @@ static void spi_nor_info_init_params(struct spi_nor *nor) > struct spi_nor_flash_parameter *params = &nor->params; > struct spi_nor_erase_map *map = ¶ms->erase_map; > const struct flash_info *info = nor->info; > + struct device_node *np = spi_nor_get_flash_node(nor); > u8 i, erase_mask; > > /* Initialize legacy flash parameters and settings. */ > @@ -4464,18 +4465,25 @@ static void spi_nor_info_init_params(struct spi_nor *nor) > params->size = (u64)info->sector_size * info->n_sectors; > params->page_size = info->page_size; > > + if (!(info->flags & SPI_NOR_NO_FR)) { > + /* Default to Fast Read for DT and non-DT platform devices. */ > + params->hwcaps.mask |= SNOR_HWCAPS_READ_FAST; > + > + /* Mask out Fast Read if not requested at DT instantiation. */ > + if (np && !of_property_read_bool(np, "m25p,fast-read")) > + params->hwcaps.mask &= ~SNOR_HWCAPS_READ_FAST; > + } > + > /* (Fast) Read settings. */ > params->hwcaps.mask |= SNOR_HWCAPS_READ; > spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ], > 0, 0, SPINOR_OP_READ, > SNOR_PROTO_1_1_1); > > - if (!(info->flags & SPI_NOR_NO_FR)) { > - params->hwcaps.mask |= SNOR_HWCAPS_READ_FAST; > + if (params->hwcaps.mask & SNOR_HWCAPS_READ_FAST) > spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_FAST], > 0, 8, SPINOR_OP_READ_FAST, > SNOR_PROTO_1_1_1); > - } > > if (info->flags & SPI_NOR_DUAL_READ) { > params->hwcaps.mask |= SNOR_HWCAPS_READ_1_1_2; > @@ -4864,24 +4872,9 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, > nor->page_size = params->page_size; > mtd->writebufsize = nor->page_size; > > - if (np) { > - /* If we were instantiated by DT, use it */ > - if (of_property_read_bool(np, "m25p,fast-read")) > - params->hwcaps.mask |= SNOR_HWCAPS_READ_FAST; > - else > - params->hwcaps.mask &= ~SNOR_HWCAPS_READ_FAST; > - } else { > - /* If we weren't instantiated by DT, default to fast-read */ > - params->hwcaps.mask |= SNOR_HWCAPS_READ_FAST; > - } > - > if (of_property_read_bool(np, "broken-flash-reset")) > nor->flags |= SNOR_F_BROKEN_RESET; > > - /* Some devices cannot do fast-read, no matter what DT tells us */ > - if (info->flags & SPI_NOR_NO_FR) > - params->hwcaps.mask &= ~SNOR_HWCAPS_READ_FAST; > - > /* > * Configure the SPI memory: > * - select op codes for (Fast) Read, Page Program and Sector Erase. > -- Regards Vignesh