Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1680075pxj; Wed, 19 May 2021 11:18:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYJqK5Xaq0PyolCcPCEcVgbMgOKNuMgrId0n51OxeOakM23avBFIsZuzAf+toXXeXdl1CF X-Received: by 2002:a17:906:2559:: with SMTP id j25mr476599ejb.42.1621448297891; Wed, 19 May 2021 11:18:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621448297; cv=none; d=google.com; s=arc-20160816; b=cuychK534KEByLT+nyUrB+LRFQj4cEhJgB25pmvlz+eAohc0Thd/BBSG70DHNkjXjw VDNsMhws4/HYhpKTA4kbmbsmiYM6WnSpcF2+yO5Nu2wo2SnLwD04DEbPPO6GkwyQU2aK lSDxBA798D4lbbAUG9WZYmel3edYGKLi5UThX+0rcGIS6xd5T5t7j9NPcAseHOfaGpDX 5RzaydlUSYYCdAfCR12zk/GP2woISuOdZPvHlkP+0RR7Rk9JF3fnn+mnxrI03H0XC63K LpyaxHYNzy19q4RS4Khn508njITsINeNBZF2SizR/fEwRkyNgdubuy2FKilFvwOpFtah mrdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=vUe5ghgawAWActSBIB6oOHRnlS3umJ/eDjUnUdw6AU8=; b=dJ1055qSRnA5THUnadq3jnxRxFeCi4YsmnILKPC/rcD+1muNtGEEHi3A1iExwLZD/Q YP507wpb/SgjN9eWxlT7/jdtsDNZ/JnQTf+6gDAV7JxTbsy5Nbqu35Lzcx6x3YTu5Nhc pdC7Vpx1SwbmS/e/80g4qGd2Gu5eQ1paM6KAMXo0IpfoQQoh+pKh1SdoRiLFlfQ7Mw84 VUFkqnUt0dxtVKSGD72puj3CFpu4u7UDMRP9U4O2fnlhW9wU2BfumOShnyUsI2tBiivQ okkhBBXWXZ5OGqgAqMGoNA9pT6EjzWBPcS2hGrwJmfiexCVpvGoQAZGTzr7OQVyZIVGP Y3OA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ka15si349162ejc.148.2021.05.19.11.17.54; Wed, 19 May 2021 11:18:17 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233396AbhEROia (ORCPT + 99 others); Tue, 18 May 2021 10:38:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56978 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233018AbhEROia (ORCPT ); Tue, 18 May 2021 10:38:30 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17104C061573; Tue, 18 May 2021 07:37:12 -0700 (PDT) Received: from localhost (unknown [IPv6:2a01:e0a:2c:6930:5cf4:84a1:2763:fe0d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: bbrezillon) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 8815F1F42F11; Tue, 18 May 2021 15:37:10 +0100 (BST) Date: Tue, 18 May 2021 16:37:07 +0200 From: Boris Brezillon To: Cc: Mark Brown , Miquel Raynal , Vignesh Raghavendra , , Alexandre Torgue , , , , , Subject: Re: [PATCH v4 3/3] spi: stm32-qspi: add automatic poll status feature Message-ID: <20210518163707.0e6bd120@collabora.com> In-Reply-To: <20210518134332.17826-4-patrice.chotard@foss.st.com> References: <20210518134332.17826-1-patrice.chotard@foss.st.com> <20210518134332.17826-4-patrice.chotard@foss.st.com> Organization: Collabora X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 18 May 2021 15:43:32 +0200 wrote: > +static int stm32_qspi_poll_status(struct spi_mem *mem, const struct spi_mem_op *op, > + u16 mask, u16 match, > + unsigned long initial_delay_us, > + unsigned long polling_rate_us, > + unsigned long timeout_ms) > +{ > + struct stm32_qspi *qspi = spi_controller_get_devdata(mem->spi->master); > + int ret; > + The spi_mem_supports_op() call is still missing. > + ret = pm_runtime_get_sync(qspi->dev); > + if (ret < 0) { > + pm_runtime_put_noidle(qspi->dev); > + return ret; > + } > + > + mutex_lock(&qspi->lock); > + > + writel_relaxed(mask, qspi->io_base + QSPI_PSMKR); > + writel_relaxed(match, qspi->io_base + QSPI_PSMAR); > + qspi->fmode = CCR_FMODE_APM; > + qspi->status_timeout = timeout_ms; > + > + ret = stm32_qspi_send(mem, op); > + mutex_unlock(&qspi->lock); > + > + pm_runtime_mark_last_busy(qspi->dev); > + pm_runtime_put_autosuspend(qspi->dev); > + > + return ret; > +}