Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2098464pxb; Wed, 9 Feb 2022 10:47:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJyqedDQVk84Xvda7kbKgXDw+HnE3A4qEaYj59FQ3+pTQ0D/+5X3YlLkY1C56hQsetEWENNS X-Received: by 2002:a63:6985:: with SMTP id e127mr2957602pgc.567.1644432468129; Wed, 09 Feb 2022 10:47:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644432468; cv=none; d=google.com; s=arc-20160816; b=NZpVeLTHNYNIcT5P5qugPMAoOkB5USGuJnH6ZKGhX+h1EkmXC2/r+L4xyaFnYagMIv UNR+URiw0ssbTgwfj6YGbQO7zUihn8YcyG60wwB+GDSOT1dJU0ufoms/scodZSNpik7V MqKm/l3LSObzyBHgu60dzVyi+VgHkar+PpNeZvt0WehkHY5XB0WP/zK+E9MD8VIxdzcU 5xOkWa0Hv9ebIRPilqWQUlzzo/bX0ZMwJwZUKWsjs9NYFWbLjMHlIy2vAQK4PEClH9hk prq+B8Hs7BR4ui4lIbw/3fhopK+7xuGi5zYEoe2HC/6qToQ2421cL9KA9OzEvWRLGfS6 iWqA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4UTTvRrzeTRJOdizHYUX8cf7mZAe9x8FEwJMBgQ6kUE=; b=Um3XqysWqlF/EgZE4KQhPA3k6j1QrAYrHvTQabfvo2LeLzdvk7WU6w62lfONAS3iGr q9JhC6Avh/M7wSftR2LNa9+OPM19J2LlCQ+Btp53wWbY+DYKxO7WbNwMbxLh1pdETKx3 uRTU9fUaka97rE1MizRYegezRTJ1OeOjomidwPW5rsFgA4xrcYqba4ZVYH4QnreWi5wf 4S5TWvgfc6PHp0x6FcgGvnyi2hqCu4PMOuwEir+2rtfCSSG9egSU72fZDAoBLVJDP6do AoULQy+BB0bJ3tfpPtjFBHAwLDbuQtm0vPTvWS9STGc60Bdj2r8H9XBJC+29A+GJNY3d uIEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=YsI2gsJw; 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=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mi11si5527682pjb.124.2022.02.09.10.47.34; Wed, 09 Feb 2022 10:47:48 -0800 (PST) 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=@collabora.com header.s=mail header.b=YsI2gsJw; 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=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237565AbiBIQ5x (ORCPT + 99 others); Wed, 9 Feb 2022 11:57:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59758 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237550AbiBIQ5v (ORCPT ); Wed, 9 Feb 2022 11:57:51 -0500 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 73070C0613C9; Wed, 9 Feb 2022 08:57:54 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: tonyk) with ESMTPSA id E07041F44E10 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1644425873; bh=gDeJVriYJKox6JwOjdk2huzH6vrKOPc2eK3IYUX/B7w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YsI2gsJwgYNIrBTMfbLCFTCFvEEIJoTTWI53JxX0v19jd6k1Z7niBc/UkPLc6fHYE 5tXt7xk/aQb7jfnXkXNX7A/IF2davQRZ49Q7wpz7kYJKN83ukuqTr7v+wP5L6SXE/+ EGifGGaNipaJj1UB6AvxV7NGZ/pnHvr72C7UsI1MWcDQVrzbRGBqKk+B4GLBk9TDX4 CNfro9r5SXDEcZMzlFJYPM1mSLK6S8DDB58CiGW98q5k1AYsvBS/Lso51tChO7iVz9 E2e1rvITB1IGFHemUUFvKawOjCmLnQjVkcCK1rU1x6cnFCGQvjRg9YgU1LDYLPGKIG Vzk8yWa7y33dw== From: =?UTF-8?q?Andr=C3=A9=20Almeida?= To: Sanjay R Mehta , Mark Brown , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@collabora.com, Lucas Tanure , Nehal Bakulchandra Shah , Charles Keepax Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= Subject: [PATCH 1/3] spi: amd: Use iopoll for busy waiting Date: Wed, 9 Feb 2022 13:57:31 -0300 Message-Id: <20220209165733.43134-2-andrealmeid@collabora.com> X-Mailer: git-send-email 2.35.0 In-Reply-To: <20220209165733.43134-1-andrealmeid@collabora.com> References: <20220209165733.43134-1-andrealmeid@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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 Instead of implementing a custom IO busy wait function, just use readl_poll_timeout(). Signed-off-by: André Almeida --- drivers/spi/spi-amd.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/spi/spi-amd.c b/drivers/spi/spi-amd.c index 4b3ac7aceaf6..899b8d90ff61 100644 --- a/drivers/spi/spi-amd.c +++ b/drivers/spi/spi-amd.c @@ -12,6 +12,7 @@ #include #include #include +#include #define AMD_SPI_CTRL0_REG 0x00 #define AMD_SPI_EXEC_CMD BIT(16) @@ -103,16 +104,10 @@ static inline void amd_spi_set_tx_count(struct amd_spi *amd_spi, u8 tx_count) static int amd_spi_busy_wait(struct amd_spi *amd_spi) { - int timeout = 100000; + u32 val; - /* poll for SPI bus to become idle */ - while (amd_spi_readreg32(amd_spi, AMD_SPI_CTRL0_REG) & AMD_SPI_BUSY) { - usleep_range(10, 20); - if (timeout-- < 0) - return -ETIMEDOUT; - } - - return 0; + return readl_poll_timeout(amd_spi->io_remap_addr + AMD_SPI_CTRL0_REG, + val, !(val & AMD_SPI_BUSY), 20, 2000000); } static int amd_spi_execute_opcode(struct amd_spi *amd_spi) -- 2.35.0