Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp392441pxj; Fri, 7 May 2021 10:51:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwT8MjJADJmHmlCQ6cnkFdxvUyBKuDzEf1DU4UFXx6jtKR3k/wnyzuiY4cFjtxZW261N/dE X-Received: by 2002:a17:906:2557:: with SMTP id j23mr11510210ejb.153.1620409904994; Fri, 07 May 2021 10:51:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620409904; cv=none; d=google.com; s=arc-20160816; b=klChCKq5UCIngmqF1ntnjhnKR1qsEMPFrFFE+JV7wSxw3dIg55W3zz+RkNx/BLY7zQ h3Sdgmv6ZOPAcZbHxGZhk/rMy4aKzEdchyj/6lEME1vkVsG5NIR6rMokVnCtlcsrgsGN U/J2QPYs7j2Vmkgx9WxgAs0ww0++eVgOyw/Kzk8CRVi0U6sPJIwuYcreS+dMqiKU81bH K1SNiPPRER861OuMf3yXDryS+ADNFXdHdnxsdpcr/UIR6zEFqq/yHHLnZGEgJeCcw3bB AUFVQLbQzzycRis6o4Go8FcpCPuNNtAv/a1H708kjDGRdSWpSbxNNVZynl2BIs/UpPlm 40BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=qEpLoPkHkDO0KPGL9HESkeimlG06MUmm1JzHIHKO0Cg=; b=0wodvEUU2bIYiEC6qOeL5fKekf1HcIuoKDlsJdZ7qB3S8EzVma1Tptn+yjns4CJCsC gYM0mRUEwX1jrTGfU8z4Fd7SoFvD300yWq9IXXSyT8KF7ksRkhMH2Chb7XJCkZyoAHyv 6Ov5GWNwyRb+W5o1tL5HM/yUdc16VZhN9xMNg+p9/v/0ucGskParx2i7PHUlH8GGlCFD SarxXVxK4B8DFfkZ6O6gMWF++UgxI08GxiWHZsmdPuvlSh5ciI/V4vtE+zb1l7LNKOJ3 royrMrA6mBDwt1iDMvMKNFWnnXT69joQ2w1dXeLaomN/FPaDm0jw9n5FkFXYw5Nitw69 yXwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=EHn6lMUI; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h26si5600893edv.512.2021.05.07.10.51.21; Fri, 07 May 2021 10:51:44 -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; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=EHn6lMUI; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237203AbhEGNTa (ORCPT + 99 others); Fri, 7 May 2021 09:19:30 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:57586 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S237163AbhEGNT2 (ORCPT ); Fri, 7 May 2021 09:19:28 -0400 Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 147DD3K9030544; Fri, 7 May 2021 15:18:14 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=selector1; bh=qEpLoPkHkDO0KPGL9HESkeimlG06MUmm1JzHIHKO0Cg=; b=EHn6lMUIqgLjkv/iAHTgQM1mHzYNyT7y9PzftZ4TOjwJXUW93RZEKC6n+opj2oG/OnZR lbVtlgbfApEhuvayEVMZllcxEmuol+5Rm56HgzSYkgLkB0+AMDJg7pkk0fQlKW6y2cU+ wZKYa5qZmKA8F/2YjmIxSPWw18b8BCgEYTmrxkkb0+k14AmNHZ8u40UHR3M3GC76szc/ k2jS2IANMkOafOvu3HuSaN+SXALq9vjQl7TZhciYsqGIuUiFugExPBJd26kPLctAKUMv 7uNbED1Od97JxDYG/xvnxxnP3Wn24Q0HSvts0EgMonVvmJGCRVP3J9zeFNjK82P58sXB JQ== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 38csqbv68r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 07 May 2021 15:18:14 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 1D36B10002A; Fri, 7 May 2021 15:18:13 +0200 (CEST) Received: from Webmail-eu.st.com (sfhdag2node3.st.com [10.75.127.6]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id E6018221F78; Fri, 7 May 2021 15:18:12 +0200 (CEST) Received: from localhost (10.75.127.50) by SFHDAG2NODE3.st.com (10.75.127.6) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 7 May 2021 15:18:12 +0200 From: To: Mark Brown , Miquel Raynal , Vignesh Raghavendra , Boris Brezillon , , Alexandre Torgue , , , , CC: , Subject: [PATCH v2 0/3] MTD: spinand: Add spi_mem_poll_status() support Date: Fri, 7 May 2021 15:17:53 +0200 Message-ID: <20210507131756.17028-1-patrice.chotard@foss.st.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.75.127.50] X-ClientProxiedBy: SFHDAG2NODE3.st.com (10.75.127.6) To SFHDAG2NODE3.st.com (10.75.127.6) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.761 definitions=2021-05-07_04:2021-05-06,2021-05-07 signatures=0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Patrice Chotard This series adds support for the spi_mem_poll_status() spinand interface. Some QSPI controllers allows to poll automatically memory status during operations (erase, read or write). This allows to offload the CPU for this task. STM32 QSPI is supporting this feature, driver update are also part of this series. Changes in v2: - Indicates the spi_mem_poll_status() timeout unit - Use 2-byte wide status register - Add spi_mem_supports_op() call in spi_mem_poll_status() - Add completion management in spi_mem_poll_status() - Add offload/non-offload case mangement in spi_mem_poll_status() - Optimize the non-offload case by using read_poll_timeout() - mask and match stm32_qspi_poll_status()'s parameters are 2-byte wide - Make usage of new spi_mem_finalize_op() API in stm32_qspi_wait_poll_status() Patrice Chotard (3): spi: spi-mem: add automatic poll status functions mtd: spinand: use the spi-mem poll status APIs spi: stm32-qspi: add automatic poll status feature drivers/mtd/nand/spi/core.c | 17 ++++---- drivers/spi/spi-mem.c | 71 +++++++++++++++++++++++++++++++ drivers/spi/spi-stm32-qspi.c | 81 ++++++++++++++++++++++++++++++++---- include/linux/mtd/spinand.h | 1 + include/linux/spi/spi-mem.h | 10 +++++ 5 files changed, 164 insertions(+), 16 deletions(-) -- 2.17.1