From patchwork Sun Oct 2 12:23:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 9359617 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8DB8A6075E for ; Sun, 2 Oct 2016 12:24:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8050028AE9 for ; Sun, 2 Oct 2016 12:24:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7529E28AF3; Sun, 2 Oct 2016 12:24:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 236D828AE9 for ; Sun, 2 Oct 2016 12:24:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751736AbcJBMYV (ORCPT ); Sun, 2 Oct 2016 08:24:21 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:33652 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751006AbcJBMYU (ORCPT ); Sun, 2 Oct 2016 08:24:20 -0400 Received: by mail-wm0-f65.google.com with SMTP id p138so10385754wmb.0 for ; Sun, 02 Oct 2016 05:24:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:subject:to:references:cc:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=BvkkZPmgUpvB1NR7E2P/yr7gQV3zDX60QHJvov1B4nQ=; b=wzIZJ5jvFDP5YVKpR9I42QN+NAYDtKntFJ9MjcFe/eWw6e0tBzyuJE3cX6fci1uvIF hKQ1JEEZFNl2veIHe2O7nL0KlJtaBFq79KvDYU69WfjVymrUeQ8JgqvwIjV3/ZBHsgHz T3eaC0sGddZk6GKhWIY15LYC3L2ZWs8wHVChTZ+lOt8MBRZzYZKs/Y63sVi+Oqrbp3Vt EklHcn+Wh8Hc39cNIBn5SojewD4Ej7aidUxAUQRcGljyq7P/sFUrnGx5Tg2qOeS8Td2v Rz7MHTb6v9ITT3vRd97wv4jYQUssSKmy+mJFs7LWLBMRO/LLPIiVIjHasLMHAFjxM3yF e7jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:cc:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=BvkkZPmgUpvB1NR7E2P/yr7gQV3zDX60QHJvov1B4nQ=; b=kJAeJlb/oDZjPGCWPzJYk6FTTGVbye/Xm15+RwHZH16irrueO1Ral44VVQSlS3Loc3 S0u20E4EL29zdqTlvb3I74GVilHdOa1R5od8t5Uh8Nbr0oe5jslPcHjpdSkXwTbCcMbC vvcsUohW5OKqKid0iuuX/3vv2oQmHEap4yNPRJ0gVefTTIqRWc2pEgd0w6ph0w8v6k48 fpESXUtHxDJxu4jhKYBU76AEMqJMuI0r275WOaQllcySUTFn4p5Aeqxg/8QPfHCpUQaC k62lkUK3Giz21NsWzAm9rm90vyBpdaXK+IVg8iOXXGFLh+ZBjf2XMIN5uMknB4Yl/vTD 5u6w== X-Gm-Message-State: AA6/9RkJgylBY7az9HEN741neG7i/CQcAwD7kh8Io9ItHKireDMCRdHM+Z5H/lk4sHxiAw== X-Received: by 10.194.202.166 with SMTP id kj6mr13066400wjc.72.1475411059562; Sun, 02 Oct 2016 05:24:19 -0700 (PDT) Received: from ?IPv6:2003:62:5f1b:3000:8dbc:eb8a:fb9c:9173? ([2003:62:5f1b:3000:8dbc:eb8a:fb9c:9173]) by smtp.googlemail.com with ESMTPSA id p3sm10579936wjr.31.2016.10.02.05.24.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 02 Oct 2016 05:24:19 -0700 (PDT) From: Heiner Kallweit Subject: [PATCH 06/11] spi: fsl-espi: simplify and inline function fsl_espi_change_mode To: Mark Brown References: <5b98be38-17a2-79a2-14da-fb2bb6f8820f@gmail.com> Cc: "linux-spi@vger.kernel.org" Message-ID: <0aeb49f0-dbfb-7acb-3829-cabafe4e7291@gmail.com> Date: Sun, 2 Oct 2016 14:23:22 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <5b98be38-17a2-79a2-14da-fb2bb6f8820f@gmail.com> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The ESPI spec mentions no requirement to turn off the ESPI unit prior to changing the mode. Most likely the ESPI unit is only turned off to clear the FIFO's as before this patch series single bytes could remain in the TX FIFO after transfer end. Therefore remove disabling / re-enabling the ESPI unit. Signed-off-by: Heiner Kallweit --- drivers/spi/spi-fsl-espi.c | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/drivers/spi/spi-fsl-espi.c b/drivers/spi/spi-fsl-espi.c index d9d9f7f..c3e55c8 100644 --- a/drivers/spi/spi-fsl-espi.c +++ b/drivers/spi/spi-fsl-espi.c @@ -223,26 +223,6 @@ static void fsl_espi_fill_tx_fifo(struct mpc8xxx_spi *mspi, u32 events) } } -static void fsl_espi_change_mode(struct spi_device *spi) -{ - struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); - struct spi_mpc8xxx_cs *cs = spi->controller_state; - u32 tmp; - unsigned long flags; - - /* Turn off IRQs locally to minimize time that SPI is disabled. */ - local_irq_save(flags); - - /* Turn off SPI unit prior changing mode */ - tmp = fsl_espi_read_reg(mspi, ESPI_SPMODE); - fsl_espi_write_reg(mspi, ESPI_SPMODE, tmp & ~SPMODE_ENABLE); - fsl_espi_write_reg(mspi, ESPI_SPMODEx(spi->chip_select), - cs->hw_mode); - fsl_espi_write_reg(mspi, ESPI_SPMODE, tmp); - - local_irq_restore(flags); -} - static void fsl_espi_setup_transfer(struct spi_device *spi, struct spi_transfer *t) { @@ -276,7 +256,8 @@ static void fsl_espi_setup_transfer(struct spi_device *spi, cs->hw_mode |= CSMODE_PM(pm); - fsl_espi_change_mode(spi); + fsl_espi_write_reg(mpc8xxx_spi, ESPI_SPMODEx(spi->chip_select), + cs->hw_mode); } static int fsl_espi_bufs(struct spi_device *spi, struct spi_transfer *t)