From patchwork Sun Apr 28 20:28:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092331 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="X6Qf3DuC"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfdT6r4Dz9s47 for ; Mon, 29 Apr 2019 06:33:49 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 50502C21CB1; Sun, 28 Apr 2019 20:30:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 4F7B3C21DAF; Sun, 28 Apr 2019 20:30:01 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 965D1C21DA2; Sun, 28 Apr 2019 20:29:13 +0000 (UTC) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by lists.denx.de (Postfix) with ESMTPS id 53BDFC21DF3 for ; Sun, 28 Apr 2019 20:29:09 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id i21so701610pgi.12 for ; Sun, 28 Apr 2019 13:29:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XFnoE+OQs19b63FjEbv4Y2p2pUKJN+c47WNEYs4N3ls=; b=X6Qf3DuCEXEA9aP3wp7k5sOXo/xxZCknlea8U0mK2lpAU9VQ0wwD9h/4eC/FNdejpA 6KeON9KTco78BML5F4cRtdpYiX6NWDInUiVXTWgQPfYHK3pQh7ZcspqtpzYy6rvPTdf+ rEEAr53so6i/9yNDZjY3xvyxnMN+MXptsTDv0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XFnoE+OQs19b63FjEbv4Y2p2pUKJN+c47WNEYs4N3ls=; b=pnp4ltOtk0wfA67GpwHyYp/TN83zzRSACZpz0RRGDbfNLvKBjPlp7Hb083t8HzUWdn m1JHm6CFh13yKrBDzxpBQm6QntDE1VqC+aR0ewisgnPCClByyMbTw80OZgt9STK5tKc0 JdU6BWTxLwMp31kyX0fYpwOcCPzS5cig8W8OzSBQ1Su1fiC7qSqVuCaG+1QER+8zcq1K nHzrILtq1q0BdVz1N4Xx0WZiGwa+G70ZfDkkYq+Uyqh2CB+3vVmy3APlcXDmeyXLDFqR cq50JQXkbmd8B0+V7rpC2Ill3jNdRAjW1QJQK1glhamO6BAC377iVJbj0ycy20mRkJRc wmQw== X-Gm-Message-State: APjAAAVhqEbsYwoCVWxXh80lYnzewhS+MdChmbMJStZLtRr5/nlFlLSc kzq2sTUmpYA7Onj/4hSksDZRK0TIzs8= X-Google-Smtp-Source: APXvYqz1cBavukB1bQp5h0bAICDB5ebMMeS8qf3sv33DIHDhAZA1aWkj3H+ryUqUiRzpUhcIT+stTQ== X-Received: by 2002:a63:6842:: with SMTP id d63mr55716104pgc.49.1556483347895; Sun, 28 Apr 2019 13:29:07 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:07 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:36 +0530 Message-Id: <20190428202854.8590-2-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 01/19] spi: mpc8xxx: Use short type names X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six The function signatures in the driver are quite long as is. Use short type names (uint etc.) to make them more readable. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 8d6d86d2b0..0c77f95159 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -20,8 +20,7 @@ #define SPI_TIMEOUT 1000 -struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, - unsigned int max_hz, unsigned int mode) +struct spi_slave *spi_setup_slave(uint bus, uint cs, uint max_hz, uint mode) { struct spi_slave *slave; @@ -68,17 +67,16 @@ int spi_claim_bus(struct spi_slave *slave) void spi_release_bus(struct spi_slave *slave) { - } -int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout, - void *din, unsigned long flags) +int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, + ulong flags) { volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi; - unsigned int tmpdout, tmpdin, event; + uint tmpdout, tmpdin, event; int numBlks = DIV_ROUND_UP(bitlen, 32); int tm, isRead = 0; - unsigned char charSize = 32; + uchar charSize = 32; debug("spi_xfer: slave %u:%u dout %08X din %08X bitlen %u\n", slave->bus, slave->cs, *(uint *) dout, *(uint *) din, bitlen); From patchwork Sun Apr 28 20:28:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092341 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="JUJ3dskP"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfpD5vyLz9s47 for ; Mon, 29 Apr 2019 06:41:24 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 7B6C0C21E1E; Sun, 28 Apr 2019 20:36:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 63BE7C21E0F; Sun, 28 Apr 2019 20:36:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A3266C21D9A; Sun, 28 Apr 2019 20:29:15 +0000 (UTC) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by lists.denx.de (Postfix) with ESMTPS id 1F61BC21DD3 for ; Sun, 28 Apr 2019 20:29:12 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id l18so4153417pgj.6 for ; Sun, 28 Apr 2019 13:29:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EhfwlnJ+VTp2k1DHa3nsNWfNJy1Zc5vNptQUuQyKYbM=; b=JUJ3dskPwsm+grm6fjQYI5HESDxxQlq0NZXEEzfIAimO4qxewwtV1DtQBkGwDLstoG ZjiglNeEKRCrsuLHnpx+7HQ4WwSidqkEOJsU7wi4d1UNmU0OKy9n25VQR3cckwIuWWSn DNUw9YX4fEqIB3fZ5RSFWpB9y8hY6R3FdV8tI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EhfwlnJ+VTp2k1DHa3nsNWfNJy1Zc5vNptQUuQyKYbM=; b=NxMtQjemMe6rO+zElPttXE2JBecshj4K7lfdKTTi/Jhej3bqT/PbiUxyvE4pqlQxM7 feRKtlxtEWf29LgLkn1NwtVFbcecInotleQF/zSdORF/2UTdgCVuBz6E0wB02iaOYGRx x02lqaYZAg028zPYx4TKMd9RYZAeIuHZ24iv26oiM8tT3IofDEYWk7eec0F4f49XsbN7 xD4/vbcKPxkwyy0PNTBpHHRWEa0zDIRngxep6LBhdp+VhNs5Z6Clnx46fbvNSY8Y8Thr +jskDBFKE8KNql7HCPHpyUdNryjTS1+Nxb1jyg9G9QUA1q9yzmkL0HM9K/yRETixK7WY zvng== X-Gm-Message-State: APjAAAXMYfo7AhZRCuOeMpReJi1wnEX/bOuEwnWSSV2mWWaFFQcD9Jte en94K3wMdB8Vq5eERBHzF8mP+w== X-Google-Smtp-Source: APXvYqwtMokQEdA5AIgF3hhobR4Is8APFaDLcSUhwndnRZiZWZZNLmov3Fx7TvyVYA505UUkSRG1bA== X-Received: by 2002:a62:4852:: with SMTP id v79mr59361221pfa.72.1556483350660; Sun, 28 Apr 2019 13:29:10 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:09 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:37 +0530 Message-Id: <20190428202854.8590-3-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 02/19] spi: mpc8xxx: Fix comments X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six There are some comments on the same line as the code they document. Put comments above the code lines they document, so the line length is not unnecessarily increased. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 0c77f95159..3016cfe2ca 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -53,11 +53,14 @@ void spi_init(void) * some registers */ spi->mode = SPI_MODE_REV | SPI_MODE_MS | SPI_MODE_EN; - spi->mode = (spi->mode & 0xfff0ffff) | BIT(16); /* Use SYSCLK / 8 - (16.67MHz typ.) */ - spi->event = 0xffffffff; /* Clear all SPI events */ - spi->mask = 0x00000000; /* Mask all SPI interrupts */ - spi->com = 0; /* LST bit doesn't do anything, so disregard */ + /* Use SYSCLK / 8 (16.67MHz typ.) */ + spi->mode = (spi->mode & 0xfff0ffff) | BIT(16); + /* Clear all SPI events */ + spi->event = 0xffffffff; + /* Mask all SPI interrupts */ + spi->mask = 0x00000000; + /* LST bit doesn't do anything, so disregard */ + spi->com = 0; } int spi_claim_bus(struct spi_slave *slave) @@ -84,9 +87,10 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, if (flags & SPI_XFER_BEGIN) spi_cs_activate(slave); - spi->event = 0xffffffff; /* Clear all SPI events */ + /* Clear all SPI events */ + spi->event = 0xffffffff; - /* handle data in 32-bit chunks */ + /* Handle data in 32-bit chunks */ while (numBlks--) { tmpdout = 0; charSize = (bitlen >= 32 ? 32 : bitlen); @@ -120,7 +124,9 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, spi->mode |= SPI_MODE_EN; - spi->tx = tmpdout; /* Write the data out */ + /* Write the data out */ + spi->tx = tmpdout; + debug("*** spi_xfer: ... %08x written\n", tmpdout); /* From patchwork Sun Apr 28 20:28:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092334 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="N4/zEtFH"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfjS4y0Zz9s47 for ; Mon, 29 Apr 2019 06:37:16 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 52C8EC21DA6; Sun, 28 Apr 2019 20:35:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id B9858C21C93; Sun, 28 Apr 2019 20:35:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8C2D6C21C2F; Sun, 28 Apr 2019 20:29:18 +0000 (UTC) Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by lists.denx.de (Postfix) with ESMTPS id 909F4C21DFB for ; Sun, 28 Apr 2019 20:29:14 +0000 (UTC) Received: by mail-pf1-f193.google.com with SMTP id e24so4280976pfi.12 for ; Sun, 28 Apr 2019 13:29:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TXnmJXWzQZbceoQ13rsAItoSdwmGHt2K3HR8Es2Fhzs=; b=N4/zEtFHreYKyaQzvFmjp7e0rlYK6hKVlJzOtDYTvW6krIIqC9U4uxZSaCL+JEv5Ox xbuWM8SfzH6iuLvajF0UZS7mLXnfjKBzeUI+AzP8krzeVpAGjv3BDmpnJD3zI65X+PNA uaMmfN2M29Ip7h6kIpzzCgmurZofhD111aLwY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TXnmJXWzQZbceoQ13rsAItoSdwmGHt2K3HR8Es2Fhzs=; b=BR943jN6BcbZxs+EM25RpPHYr2E4GWgA97Dgov+IysBC3IcjeLsBb16LmHwGRIJw8B 1QFG3XGhkf1eQCocFHlBZNXBZvVecag4P4iYVjypwE4slNgaLiIY6P4er4rwfP+aB8Gr DboOy9V2peVWIgt1+m5d5ZC4ig5go245KZ3546RivIMpTfafZoCGfZrSJOaEQulcMw7L +9lQsrtRBzY/W5cNQk5gqUSN5UT4bFcAiTzTph/AVSzoR2WsY3X0pLDNvyAjqt1TXLOi RaHMX1VfUAy8fYy+tSNJg3XHCljYv8X5jVIi7nmCz2O/hCQ4xubtakWZDMzZJkpVj3Ua B/Lw== X-Gm-Message-State: APjAAAWPUoS3h8mhKpe7+Ru8+5I8bBzHUmwCS3/Fq/HSDuNZ2A3H7d2D 6Xmed3E6Ikdx0ieQqjNDsRPnjQ== X-Google-Smtp-Source: APXvYqzZlyIWxO2h9RYVOk+E/2alK1QZoM5v88JENfEgp5oMQyJ4kvqas+X7Ef6rquTREPFkey/+qw== X-Received: by 2002:a63:1654:: with SMTP id 20mr10034237pgw.166.1556483353171; Sun, 28 Apr 2019 13:29:13 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:12 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:38 +0530 Message-Id: <20190428202854.8590-4-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 03/19] spi: mpc8xxx: Rename camel-case variables X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six There are three variables that have camel-case names, which is not the preferred naming style. Give those variables more compliant names instead. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 3016cfe2ca..0393765b6f 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -77,9 +77,9 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, { volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi; uint tmpdout, tmpdin, event; - int numBlks = DIV_ROUND_UP(bitlen, 32); - int tm, isRead = 0; - uchar charSize = 32; + int num_blks = DIV_ROUND_UP(bitlen, 32); + int tm, is_read = 0; + uchar char_size = 32; debug("spi_xfer: slave %u:%u dout %08X din %08X bitlen %u\n", slave->bus, slave->cs, *(uint *) dout, *(uint *) din, bitlen); @@ -91,12 +91,12 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, spi->event = 0xffffffff; /* Handle data in 32-bit chunks */ - while (numBlks--) { + while (num_blks--) { tmpdout = 0; - charSize = (bitlen >= 32 ? 32 : bitlen); + char_size = (bitlen >= 32 ? 32 : bitlen); /* Shift data so it's msb-justified */ - tmpdout = *(u32 *) dout >> (32 - charSize); + tmpdout = *(u32 *) dout >> (32 - char_size); /* The LEN field of the SPMODE register is set as follows: * @@ -134,15 +134,15 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * or time out (1 second = 1000 ms) * The NE event must be read and cleared first */ - for (tm = 0, isRead = 0; tm < SPI_TIMEOUT; ++tm) { + for (tm = 0, is_read = 0; tm < SPI_TIMEOUT; ++tm) { event = spi->event; if (event & SPI_EV_NE) { tmpdin = spi->rx; spi->event |= SPI_EV_NE; - isRead = 1; + is_read = 1; - *(u32 *) din = (tmpdin << (32 - charSize)); - if (charSize == 32) { + *(u32 *) din = (tmpdin << (32 - char_size)); + if (char_size == 32) { /* Advance output buffer by 32 bits */ din += 4; } @@ -153,7 +153,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * in the future put an arbitrary delay after writing * the device. Arbitrary delays suck, though... */ - if (isRead && (event & SPI_EV_NF)) + if (is_read && (event & SPI_EV_NF)) break; } if (tm >= SPI_TIMEOUT) From patchwork Sun Apr 28 20:28:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092337 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="c2vBzZEh"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfm51TN7z9s47 for ; Mon, 29 Apr 2019 06:39:33 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id C2637C21DFA; Sun, 28 Apr 2019 20:35:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 71DD6C21D9A; Sun, 28 Apr 2019 20:35:26 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 146DCC21DB5; Sun, 28 Apr 2019 20:29:20 +0000 (UTC) Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by lists.denx.de (Postfix) with ESMTPS id E6969C21DCA for ; Sun, 28 Apr 2019 20:29:16 +0000 (UTC) Received: by mail-pf1-f194.google.com with SMTP id b3so4306129pfd.1 for ; Sun, 28 Apr 2019 13:29:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3htuolda1tctbiIjFrQItpUVWObxyyaNpBTNv3Hd9MU=; b=c2vBzZEhM982QOg6sl0CmmbL3LCAH2TesXKcvbYPBWhXdckOhMiYwUtK3CC++HZQL+ yJdF6LmCokP7RfoMESaR6sbxzB0fu9HkEXAOnNuRlFWJTNYmLB7BDSG0XkajzSXkuW6B +uwYLdy13bGJc8V4NCuG5e0BBqy+JJSDONoeg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3htuolda1tctbiIjFrQItpUVWObxyyaNpBTNv3Hd9MU=; b=uZYH3N0O51NBmlw/ddiUziBqRAmTRlTeXJC08a9FctBtdn92Yj5LfiMCNus/jojlwz cHZ6r+L33JwF915JOx1NAbgutfZkRgc7sQMdpYwXt5Ft/orS65Smd+vYmcn7VadGFCar eFLqP1UsVhy8xFZPWmoQul2Q7wf2w6X2q34aLgMpvQI370N2zQf7YBjPzhymRgtvVwC4 V8F622ZondVZYiJv8W+vmHTs5C08+U7l0x0w1MH/lnmghCiZZSZUMYHtCNoyCON6dzxA xu7zGlv5wbbDWSiDgj9yxSwFRHkN51bq1fYF4JLFJZQHUXAh3GFYqgGobygXNeLQ34sj 8iTw== X-Gm-Message-State: APjAAAU5Hg1X59p5VXgYS24KqTVPHoGGF8J1lQ4K98HiasjQ1yjdou0q 0T+0f4oNB15T9jyHZGAN4YPH8RtGqsk= X-Google-Smtp-Source: APXvYqyRJFRw3R7rdMBOIQt4XM5EKRFIARRHWFlkyYDz9lp71nCOnhGyDDZdEksSrZxYeBKzkpfj8Q== X-Received: by 2002:a63:6cc4:: with SMTP id h187mr42590160pgc.437.1556483355519; Sun, 28 Apr 2019 13:29:15 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:14 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:39 +0530 Message-Id: <20190428202854.8590-5-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 04/19] spi: mpc8xxx: Fix space after cast X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Fix all "superfluous space after case" style errors. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 0393765b6f..1424e7febe 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -82,7 +82,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, uchar char_size = 32; debug("spi_xfer: slave %u:%u dout %08X din %08X bitlen %u\n", - slave->bus, slave->cs, *(uint *) dout, *(uint *) din, bitlen); + slave->bus, slave->cs, *(uint *)dout, *(uint *)din, bitlen); if (flags & SPI_XFER_BEGIN) spi_cs_activate(slave); @@ -96,7 +96,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, char_size = (bitlen >= 32 ? 32 : bitlen); /* Shift data so it's msb-justified */ - tmpdout = *(u32 *) dout >> (32 - char_size); + tmpdout = *(u32 *)dout >> (32 - char_size); /* The LEN field of the SPMODE register is set as follows: * @@ -141,7 +141,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, spi->event |= SPI_EV_NE; is_read = 1; - *(u32 *) din = (tmpdin << (32 - char_size)); + *(u32 *)din = (tmpdin << (32 - char_size)); if (char_size == 32) { /* Advance output buffer by 32 bits */ din += 4; From patchwork Sun Apr 28 20:28:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092347 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="CD258NEf"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfqm2SfZz9s47 for ; Mon, 29 Apr 2019 06:42:44 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id CDED5C21E18; Sun, 28 Apr 2019 20:38:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id E90D2C21DD9; Sun, 28 Apr 2019 20:38:12 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 961C1C21DB5; Sun, 28 Apr 2019 20:29:23 +0000 (UTC) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by lists.denx.de (Postfix) with ESMTPS id 6115AC21DDC for ; Sun, 28 Apr 2019 20:29:19 +0000 (UTC) Received: by mail-pl1-f196.google.com with SMTP id y3so3244890plp.0 for ; Sun, 28 Apr 2019 13:29:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=G7AIHLmAS66RR8+cPmcKh66XwDN0DltyVAK/3cKVBx4=; b=CD258NEf7It/zCAQiP8ZHK/Y0ZmWI/I+chf5SzHdR/eJCrpElq7KLb4BNfobRyIBlM IS1rkZ6feuk8V3vb14pa8Y1CUditNU61q5d7MgYxA+Nlzo56G4+6KP0yzvA+Qc+s4s1c 3dIU3HipYETnCloJFu+Dl040a1+/3IkvhAC/4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=G7AIHLmAS66RR8+cPmcKh66XwDN0DltyVAK/3cKVBx4=; b=bRhfBVLM70Wrz1X4HpKDGINkeAkDuvvocp+qoedSl8CqIcKnO9UsP/XcIMgl5RgY9p 8z7xYxZe9E/WXHwVETYMZ+KtwwqwatII5wVq6ppiJC9cdwUBA37n/ru1DN7IAfnSh21R ndlj8sdYGVkydJVn3NASEOagMk3kPcHc4SwShbHC1UZL6rCCk8t2P/PPR06H8z2xKIZU ZXgmgoCUbJIg+r3sU84p4vqjmvp7w2oQhKhRum3PZatlsiXUr4KeLLrFoE9XNcphADX9 zwVsbKeQy/jOU+IDzAbr2vzUFUz41dIgTKV6iIO95PQROLnVV9+/kr0eV0xUcJEuxDPF CPcw== X-Gm-Message-State: APjAAAW0OrxG0d+50YJHcuCNeiWy86KSyaO7GiGXUfHlNA67K0O279FA PiquZQKdkQ5naNr0tFTjF7gNHWR4Wjo= X-Google-Smtp-Source: APXvYqxhvWSctepfb9O2NGh5GY9zMs1SS8baSfWy79GmDCK8LMWQ0oSXr9WoFl5zh3cHljUsS47TYQ== X-Received: by 2002:a17:902:29c9:: with SMTP id h67mr58641065plb.114.1556483357969; Sun, 28 Apr 2019 13:29:17 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:17 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:40 +0530 Message-Id: <20190428202854.8590-6-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 05/19] spi: mpc8xxx: Fix function names in strings X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Replace the function name with a "%s" format string and the __func__ variable in debug statements (as proposed by checkpatch). Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 1424e7febe..91b639f1e6 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -81,7 +81,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, int tm, is_read = 0; uchar char_size = 32; - debug("spi_xfer: slave %u:%u dout %08X din %08X bitlen %u\n", + debug("%s: slave %u:%u dout %08X din %08X bitlen %u\n", __func__, slave->bus, slave->cs, *(uint *)dout, *(uint *)din, bitlen); if (flags & SPI_XFER_BEGIN) @@ -127,7 +127,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, /* Write the data out */ spi->tx = tmpdout; - debug("*** spi_xfer: ... %08x written\n", tmpdout); + debug("*** %s: ... %08x written\n", __func__, tmpdout); /* * Wait for SPI transmit to get out @@ -157,9 +157,10 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, break; } if (tm >= SPI_TIMEOUT) - puts("*** spi_xfer: Time out during SPI transfer"); + debug("*** %s: Time out during SPI transfer\n", + __func__); - debug("*** spi_xfer: transfer ended. Value=%08x\n", tmpdin); + debug("*** %s: transfer ended. Value=%08x\n", __func__, tmpdin); } if (flags & SPI_XFER_END) From patchwork Sun Apr 28 20:28:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092340 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="p0VCetkn"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfmT1h6yz9s47 for ; Mon, 29 Apr 2019 06:39:53 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id F340EC21E15; Sun, 28 Apr 2019 20:33:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 12C14C21DEC; Sun, 28 Apr 2019 20:33:15 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B3C7FC21CB1; Sun, 28 Apr 2019 20:29:25 +0000 (UTC) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by lists.denx.de (Postfix) with ESMTPS id AAB53C21DB6 for ; Sun, 28 Apr 2019 20:29:21 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id i21so701729pgi.12 for ; Sun, 28 Apr 2019 13:29:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nSqHcrr6BR1bt08FkCONc5tzPnqtk3OYZmvPa2WM1jw=; b=p0VCetknuXxyKrFyiOAI7CpOQLW5s5ZwI95HFlFPtd19+OdCwh7pzkI3YLif2cS32c foqdZ+s94sD0TnifErUB9Hoy4d/evKhHvQeEUaa91o0tPX1kDXj9Gh6nzH9ezuY70ACT KdmiMpxfxbN601t0nt5PGNJdpRi69+RVT6BJc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nSqHcrr6BR1bt08FkCONc5tzPnqtk3OYZmvPa2WM1jw=; b=RuK2cfQJfEl1++KaOFAiuEde2TXujSjabO2n64qJZRB3YMoiuTqBqicCXX+HfMcq5R bZlwbEYXTw5kTTnNXORWTEt4rh4iN9jcM1ARovT47T0/bnxXOQ1utByL4UE1VgeOJ9nK 5CRlwseF6YTqDQPURVM9QshHy2gvGHMo9Fg1Z2sQFJkDsTd/T1pOViukGoL0YHq+zHs6 aqP3d7ftl258tHSue7TLGNN9mW2cawIZN1zBNUbMejMLr6FK9InRnEXvKBVUR9XzSHk6 HZgCYjJNieLp2IhskwBUK97n+RaYS+XPD5vpky6GCts6v+GrbLnHMaiEAxcV3og5CclV ht8A== X-Gm-Message-State: APjAAAVR6KWu5DuSVFhjL0qNAM90kiX+HGLEwkYEzPFLp28h9Adbs5fF W7rITv80Wp62QDOcbOfCP+jSWQ== X-Google-Smtp-Source: APXvYqy+gnEzyQqJNyL69D+R/0ekkcG4/b+bGDoaRBwNf1jdmE6uRWfSns8DrkygAVLFL6QyDFjmXQ== X-Received: by 2002:a62:6a81:: with SMTP id f123mr60400771pfc.40.1556483360309; Sun, 28 Apr 2019 13:29:20 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:19 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:41 +0530 Message-Id: <20190428202854.8590-7-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 06/19] spi: mpc8xxx: Replace defines with enums X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Replace pre-processor defines with proper enums, and use the BIT macro where applicable. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 91b639f1e6..7b2ab1e4af 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -10,13 +10,25 @@ #include #include -#define SPI_EV_NE (0x80000000 >> 22) /* Receiver Not Empty */ -#define SPI_EV_NF (0x80000000 >> 23) /* Transmitter Not Full */ - -#define SPI_MODE_LOOP (0x80000000 >> 1) /* Loopback mode */ -#define SPI_MODE_REV (0x80000000 >> 5) /* Reverse mode - MSB first */ -#define SPI_MODE_MS (0x80000000 >> 6) /* Always master */ -#define SPI_MODE_EN (0x80000000 >> 7) /* Enable interface */ +enum { + SPI_EV_NE = BIT(31 - 22), /* Receiver Not Empty */ + SPI_EV_NF = BIT(31 - 23), /* Transmitter Not Full */ +}; + +enum { + SPI_MODE_LOOP = BIT(31 - 1), /* Loopback mode */ + SPI_MODE_CI = BIT(31 - 2), /* Clock invert */ + SPI_MODE_CP = BIT(31 - 3), /* Clock phase */ + SPI_MODE_DIV16 = BIT(31 - 4), /* Divide clock source by 16 */ + SPI_MODE_REV = BIT(31 - 5), /* Reverse mode - MSB first */ + SPI_MODE_MS = BIT(31 - 6), /* Always master */ + SPI_MODE_EN = BIT(31 - 7), /* Enable interface */ + + SPI_MODE_LEN_MASK = 0xf00000, + SPI_MODE_PM_MASK = 0xf0000, + + SPI_COM_LST = BIT(31 - 9), +}; #define SPI_TIMEOUT 1000 From patchwork Sun Apr 28 20:28:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092343 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="fplu6g99"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfpX4Hk7z9s9G for ; Mon, 29 Apr 2019 06:41:40 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id EAD6BC21D83; Sun, 28 Apr 2019 20:38:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 68859C21DFD; Sun, 28 Apr 2019 20:38:29 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 78565C21D83; Sun, 28 Apr 2019 20:29:28 +0000 (UTC) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by lists.denx.de (Postfix) with ESMTPS id 265D7C21D9A for ; Sun, 28 Apr 2019 20:29:24 +0000 (UTC) Received: by mail-pl1-f194.google.com with SMTP id b3so4080593plr.7 for ; Sun, 28 Apr 2019 13:29:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pQRuhVVoE0yWd3mKjSZGAd435raNgPLT517CJjGksNc=; b=fplu6g99SmFX0tbLh45CogcYXECLkrvAYMbDNjBk2Yo3BJV9rI1JXdVoxhotkwegsM r4I7ZOBJbXNf/Nbh2Xg+GJoczj4FYRO3tJm78r/phYIcPBQXh3wn753AiLn9I0hd+bBP Ccs6hc6YO4vVH7qBGmxHZcDrWV/p0uO9nRyE8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pQRuhVVoE0yWd3mKjSZGAd435raNgPLT517CJjGksNc=; b=fFDZgAh2jwcRRyBSun92HQGqm7/W2zWeqbOy1daob13CjAnOkb52RteZQUKxpGr0OD 3ykEBCWm2uwq3kGP3nZcqydSy1a2UyAGsm5bh/DXLilAaxblw7bs2tXJvaEtm1AzKLN6 qwZY231NEJDLzSJBymoETVOAxtzS3musJZ/Vxe2z0Lp3GkSDzCIw7IMVQG3PWm8GHEnP 5mFL+6gSNTvRN7GDWk7LBmnxzJtn4BLDa713V8HjHaUUdA646gJ0bvNYYLgKXwvm+jxk 5Ilk38xYTygY5n/dgDVc0EX38CNbm/ovQ1EQDbB7ZwaM40DSRTiDBLR0adOAP+HCD9zs qamA== X-Gm-Message-State: APjAAAXxrW5U23PEvqgassLHtedplRQjlWdRVoTrIxabc5paF3co7BQU D72u9US3ItPwlXpujJbDEONHgQ== X-Google-Smtp-Source: APXvYqzq/oVgHiy5G+CT5rH5GcljsdAn5EFxAyHRlFaiYgGZZRdl8MXNaVt2cXGA1QdYrmRMn0iuzA== X-Received: by 2002:a17:902:2b89:: with SMTP id l9mr3789693plb.331.1556483362700; Sun, 28 Apr 2019 13:29:22 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:22 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:42 +0530 Message-Id: <20190428202854.8590-8-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 07/19] spi: mpc8xxx: Use IO accessors X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Accesses to the register map are currently done by directly reading and writing the structure. Switch to the appropriate IO accessors instead. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 7b2ab1e4af..da9e1e3f98 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -58,21 +58,21 @@ void spi_free_slave(struct spi_slave *slave) void spi_init(void) { - volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi; + spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi; /* * SPI pins on the MPC83xx are not muxed, so all we do is initialize * some registers */ - spi->mode = SPI_MODE_REV | SPI_MODE_MS | SPI_MODE_EN; + out_be32(&spi->mode, SPI_MODE_REV | SPI_MODE_MS | SPI_MODE_EN); /* Use SYSCLK / 8 (16.67MHz typ.) */ - spi->mode = (spi->mode & 0xfff0ffff) | BIT(16); + clrsetbits_be32(&spi->mode, 0x000f0000, BIT(16)); /* Clear all SPI events */ - spi->event = 0xffffffff; + setbits_be32(&spi->event, 0xffffffff); /* Mask all SPI interrupts */ - spi->mask = 0x00000000; + clrbits_be32(&spi->mask, 0xffffffff); /* LST bit doesn't do anything, so disregard */ - spi->com = 0; + out_be32(&spi->com, 0); } int spi_claim_bus(struct spi_slave *slave) @@ -87,7 +87,7 @@ void spi_release_bus(struct spi_slave *slave) int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, ulong flags) { - volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi; + spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi; uint tmpdout, tmpdin, event; int num_blks = DIV_ROUND_UP(bitlen, 32); int tm, is_read = 0; @@ -100,7 +100,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, spi_cs_activate(slave); /* Clear all SPI events */ - spi->event = 0xffffffff; + setbits_be32(&spi->event, 0xffffffff); /* Handle data in 32-bit chunks */ while (num_blks--) { @@ -118,26 +118,26 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * len > 16 0 */ - spi->mode &= ~SPI_MODE_EN; + clrbits_be32(&spi->mode, SPI_MODE_EN); if (bitlen <= 16) { if (bitlen <= 4) - spi->mode = (spi->mode & 0xff0fffff) | - (3 << 20); + clrsetbits_be32(&spi->mode, 0x00f00000, + (3 << 20)); else - spi->mode = (spi->mode & 0xff0fffff) | - ((bitlen - 1) << 20); + clrsetbits_be32(&spi->mode, 0x00f00000, + ((bitlen - 1) << 20)); } else { - spi->mode = (spi->mode & 0xff0fffff); + clrbits_be32(&spi->mode, 0x00f00000); /* Set up the next iteration if sending > 32 bits */ bitlen -= 32; dout += 4; } - spi->mode |= SPI_MODE_EN; + setbits_be32(&spi->mode, SPI_MODE_EN); /* Write the data out */ - spi->tx = tmpdout; + out_be32(&spi->tx, tmpdout); debug("*** %s: ... %08x written\n", __func__, tmpdout); @@ -147,10 +147,10 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * The NE event must be read and cleared first */ for (tm = 0, is_read = 0; tm < SPI_TIMEOUT; ++tm) { - event = spi->event; + event = in_be32(&spi->event); if (event & SPI_EV_NE) { - tmpdin = spi->rx; - spi->event |= SPI_EV_NE; + tmpdin = in_be32(&spi->rx); + setbits_be32(&spi->event, SPI_EV_NE); is_read = 1; *(u32 *)din = (tmpdin << (32 - char_size)); From patchwork Sun Apr 28 20:28:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092348 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="AlC+hMGl"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfrb5N3Jz9s47 for ; Mon, 29 Apr 2019 06:43:27 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 7570BC21E16; Sun, 28 Apr 2019 20:38:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 265B1C21DA2; Sun, 28 Apr 2019 20:38:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id AE860C21DDC; Sun, 28 Apr 2019 20:29:29 +0000 (UTC) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by lists.denx.de (Postfix) with ESMTPS id 61155C21D8A for ; Sun, 28 Apr 2019 20:29:26 +0000 (UTC) Received: by mail-pl1-f195.google.com with SMTP id z8so4092252pln.4 for ; Sun, 28 Apr 2019 13:29:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=b6Eec9qVRXvJMUOqgwcEo2biB8N8n2ZN2Fv/Qr8PBR0=; b=AlC+hMGl7FA3SwGXa1ZhKMT9FXcqhqPKG+6+WBZOPbY9ghtEfdbLV0MJib6QqVnptM janyh36/eBtFxKb9LMl0DFF7jv+p3h5oS6kC0jJHgg1c3y+EhNEzefYcnCC/cGa5yHJp /oNSTKsmjMaj5tmL/st29K+xBmsebm5hVMwX8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=b6Eec9qVRXvJMUOqgwcEo2biB8N8n2ZN2Fv/Qr8PBR0=; b=q8qb4tCeTJemrUJV0buStPMn3PeKb5JNgWbzh8mEKIG7CTo3j8QXhTY2ag9PZsrVKe VwzBpa+YUeKvzIYQjXvN0Id7uLoyNFePmIIDPYh2xFaslylzqAG4YLYImS5ExASeu5P6 +IO+nVuGNe1i7O5nxXwhXClCcxgDH+30vZLeO9QeYu7DAh36NIg1mCXwTJjV/ruTOkw5 /idkKxeoEuGXVJ5Uh9iKZB+MBURDEI9x/qTVbEKVHg9QgZEq3HyxbwmVHXMxyRsugyKw v/mTTnS1N20O/x8kw6kZ1HFeEzrWV/85XDcpkuOvgqqHpfoAce6nXo4uwuzIDErFGofA 6CDA== X-Gm-Message-State: APjAAAVHwoulL61oPjtRmIMYFMjEzxGWdkfo8zjuxDE3HnBI3J99EUHY HRPHAblweRKba7NA2zG/wTtg/5sNzLc= X-Google-Smtp-Source: APXvYqyL8vY9Cw0zJ1OoZhcND1srXSW0brHjrOGR9fU9LMO6zcg0Y8qHQwdP13MAOUfXI+B9/oXOqw== X-Received: by 2002:a17:902:86:: with SMTP id a6mr57641661pla.277.1556483365043; Sun, 28 Apr 2019 13:29:25 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:24 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:43 +0530 Message-Id: <20190428202854.8590-9-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 08/19] spi: mpc8xxx: Simplify if X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Instead of having a nested if block, just have two branches within the overarching if block to eliminate one nesting level. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index da9e1e3f98..ca34570901 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -120,13 +120,11 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, clrbits_be32(&spi->mode, SPI_MODE_EN); - if (bitlen <= 16) { - if (bitlen <= 4) - clrsetbits_be32(&spi->mode, 0x00f00000, - (3 << 20)); - else - clrsetbits_be32(&spi->mode, 0x00f00000, - ((bitlen - 1) << 20)); + if (bitlen <= 4) { + clrsetbits_be32(&spi->mode, 0x00f00000, (3 << 20)); + } else if (bitlen <= 16) { + clrsetbits_be32(&spi->mode, 0x00f00000, + ((bitlen - 1) << 20)); } else { clrbits_be32(&spi->mode, 0x00f00000); /* Set up the next iteration if sending > 32 bits */ From patchwork Sun Apr 28 20:28:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092338 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="d25zGYn+"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfmD6xVxz9s47 for ; Mon, 29 Apr 2019 06:39:40 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 77EDEC21DA2; Sun, 28 Apr 2019 20:31:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0232BC21D8A; Sun, 28 Apr 2019 20:31:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B601FC21DFB; Sun, 28 Apr 2019 20:29:32 +0000 (UTC) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by lists.denx.de (Postfix) with ESMTPS id E84FEC21DD3 for ; Sun, 28 Apr 2019 20:29:28 +0000 (UTC) Received: by mail-pl1-f196.google.com with SMTP id z8so4092271pln.4 for ; Sun, 28 Apr 2019 13:29:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tlg7S/5yavDNw1bG++IXicLM4kjsM/wdZz52Nn7kN+U=; b=d25zGYn+9sOCoHPU+C1EQI9tCPFdzSwvM9uhN20Jk95NMt5jPdjsF5uVoEQc69gJ9I LXfhUSvwYbZD0kXyKQf3oxiW99mRx19/P1/jkO1hSdBLjBiyAI8wVDPgA9/tS10fu4eS iqADfW+HDCd+MqBdEjYwBeVoVVBHvCDgP661s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tlg7S/5yavDNw1bG++IXicLM4kjsM/wdZz52Nn7kN+U=; b=ZnHTymORp+9RFOYXY9VivGV8t1gul6LU8LV336EAwTaZ3CRaz53dkosDtFMINu8wzr p/M1FMDFCftKQg36PhEkAJtUuBQQdTK4Xx4186Wj5JCDs+teTAyQRlzBuO4yiDmTe4T4 3Vm+uUSYQbx0+N4FRbXh+RjlYseA3WsNVqDBIOLCKEnsUHNwazdSrUtnQ7Oi07DeV9bJ cYoT+Z/qK8A8IhP5nPjXX3TOQI7MRqemMnXCncYzmQFI7gWuaOzjnAbS5/9LaUBwrGh/ ylgidav9zOIMT82UzxYwSveWw2iXsJcKPLlEtSRpHz6s8kQxHDc62BhHEqxEQIxpuRAZ rRAQ== X-Gm-Message-State: APjAAAXlHWs2nFBX1EAk+2fUvXG2lV8+wpEmv3jDwopOnGwKBJldpLy+ erwjlA4dP5zWvvzHtzyr8g9tfw== X-Google-Smtp-Source: APXvYqyGJtfV6oUvu2PJBOe3uoOjLpgZjtHmiH7+kpPxm7NWvg4JBs4He/bMKyesOkOMHOtxh7HEiA== X-Received: by 2002:a17:902:20c9:: with SMTP id v9mr58111292plg.239.1556483367546; Sun, 28 Apr 2019 13:29:27 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:26 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:44 +0530 Message-Id: <20190428202854.8590-10-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 09/19] spi: mpc8xxx: Get rid of is_read X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Get rid of the is_read variable, and just keep the state of the "not empty" and "not full" events in two boolean variables within the loop body. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index ca34570901..962ef710f8 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -90,7 +90,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi; uint tmpdout, tmpdin, event; int num_blks = DIV_ROUND_UP(bitlen, 32); - int tm, is_read = 0; + int tm; uchar char_size = 32; debug("%s: slave %u:%u dout %08X din %08X bitlen %u\n", __func__, @@ -144,12 +144,14 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * or time out (1 second = 1000 ms) * The NE event must be read and cleared first */ - for (tm = 0, is_read = 0; tm < SPI_TIMEOUT; ++tm) { + for (tm = 0; tm < SPI_TIMEOUT; ++tm) { event = in_be32(&spi->event); - if (event & SPI_EV_NE) { + bool have_ne = event & SPI_EV_NE; + bool have_nf = event & SPI_EV_NF; + + if (have_ne) { tmpdin = in_be32(&spi->rx); setbits_be32(&spi->event, SPI_EV_NE); - is_read = 1; *(u32 *)din = (tmpdin << (32 - char_size)); if (char_size == 32) { @@ -163,7 +165,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * in the future put an arbitrary delay after writing * the device. Arbitrary delays suck, though... */ - if (is_read && (event & SPI_EV_NF)) + if (have_ne && have_nf) break; } if (tm >= SPI_TIMEOUT) From patchwork Sun Apr 28 20:28:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092346 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="VyJA/7wF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfqY60xFz9s47 for ; Mon, 29 Apr 2019 06:42:33 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 83712C21D9A; Sun, 28 Apr 2019 20:33:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 72A89C21DA2; Sun, 28 Apr 2019 20:33:31 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D07D8C21C2F; Sun, 28 Apr 2019 20:29:35 +0000 (UTC) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by lists.denx.de (Postfix) with ESMTPS id ADD16C21DB6 for ; Sun, 28 Apr 2019 20:29:31 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id d31so4148301pgl.7 for ; Sun, 28 Apr 2019 13:29:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DTO6ewJO6LxtcHMlk6isa3AoPn6RhI6b3q543pvVwGE=; b=VyJA/7wF0KKeOSOGvLvoSkd61GmgSztdQaXXQcFn2MN8oDj/pWX4eehQj/TIyDEfM8 5ftKSXbVpxeTQeUClbhzFcIFrAhc/fWOTLeMo/3soekX520IH1ep7th2i3dA4WS0QFX9 jndYsU1+YSFdiEU2R8HE0z4Fo+mUiUjh+vNrM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DTO6ewJO6LxtcHMlk6isa3AoPn6RhI6b3q543pvVwGE=; b=slv5jsfXvcw80MklY3yhaa3oeynUhQ6NIRWs2KMB4DM6Z2cTfkpxIBkANNDX+8Knvm CijkpWHehi/wsjfDAuVv7f1Laq2rkHDEBYVye2SibHY5bOtvfVMHvWAo9fReii4fAmtn NvqT6FMXQ9cBXKv/I9iSFeEfxtAhzNL3SKeGLPw8mqhf5X3DV8wuizy8xolmmmxcufLd dU4Sa99VzJ6lU1/IoUCOiMEMnXEKbQVy1e8/alUIDnVMRny4vkNaXSdMo7yu0BT1F7xV auEcaLP3dU5EXu1McUx4kZ1wu3WBNAYHkjhrWmwL8MMcI3wLnQjVyX6gnpgKIypMZIOo Nbzg== X-Gm-Message-State: APjAAAUD0eAWjP77bzE6jGXGfCk0zFz4zk49JaLp7PggbBUTxvx/1iQe rLieNOIgQDSTl06qNjALRwGD7w== X-Google-Smtp-Source: APXvYqylIxPKJFOeHoACN557oDMei1iBnTncSlGxaRKozFaSD82HF8TPVA/y4nuhhcE8xPycmW/1Uw== X-Received: by 2002:a63:5b4d:: with SMTP id l13mr54842512pgm.160.1556483370258; Sun, 28 Apr 2019 13:29:30 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:29 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:45 +0530 Message-Id: <20190428202854.8590-11-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 10/19] spi: mpc8xxx: Simplify logic a bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six We do nothing in the loop if the "not empty" event was not detected. To simplify the logic, check if this is the case, and skip the execution of the loop early to reduce the nesting level and flag checking. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 962ef710f8..a2e698ea17 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -149,25 +149,28 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, bool have_ne = event & SPI_EV_NE; bool have_nf = event & SPI_EV_NF; - if (have_ne) { - tmpdin = in_be32(&spi->rx); - setbits_be32(&spi->event, SPI_EV_NE); - - *(u32 *)din = (tmpdin << (32 - char_size)); - if (char_size == 32) { - /* Advance output buffer by 32 bits */ - din += 4; - } + if (!have_ne) + continue; + + tmpdin = in_be32(&spi->rx); + setbits_be32(&spi->event, SPI_EV_NE); + + *(u32 *)din = (tmpdin << (32 - char_size)); + if (char_size == 32) { + /* Advance output buffer by 32 bits */ + din += 4; } + /* * Only bail when we've had both NE and NF events. * This will cause timeouts on RO devices, so maybe * in the future put an arbitrary delay after writing * the device. Arbitrary delays suck, though... */ - if (have_ne && have_nf) + if (have_nf) break; } + if (tm >= SPI_TIMEOUT) debug("*** %s: Time out during SPI transfer\n", __func__); From patchwork Sun Apr 28 20:28:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092345 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="ifooX0V5"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfq42Pr6z9s47 for ; Mon, 29 Apr 2019 06:42:08 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id E90ADC21D8E; Sun, 28 Apr 2019 20:34:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 9F3A0C21DB5; Sun, 28 Apr 2019 20:34:03 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 62974C21CB6; Sun, 28 Apr 2019 20:29:37 +0000 (UTC) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by lists.denx.de (Postfix) with ESMTPS id EC5EFC21DCA for ; Sun, 28 Apr 2019 20:29:33 +0000 (UTC) Received: by mail-pl1-f195.google.com with SMTP id b3so4080686plr.7 for ; Sun, 28 Apr 2019 13:29:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=p2yOgWDOu2LU09nRm/oHIlXZTD47h62ToxLJhnnyR9E=; b=ifooX0V5KTlmGpgF7fL4FHOT3PrdnH1e6QTKO0WHcrQ9DfEqMFq3hRtModnTUps7SU 3QDzHykS2SE8ll13GYgRnf0VVD26+d+DWKAmqaMFHCBYenx9Us/gR83Js2axpksxaprs Ubuq5xAL8EVJQZuJ5eEdMpRQe/O9GVwmWRkSc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=p2yOgWDOu2LU09nRm/oHIlXZTD47h62ToxLJhnnyR9E=; b=iFokFTCyFVyGkhYungDOgLxPIi0gYrNu96OniaMFTo2RrjmP1rAnCwUbGpe2Ztbuva P45TmOwcZpHuSotmcBWH6D9Hs/IsSHTizPY+ezhzqAcMm44luWyZk/9FZFzqTkbt8hgg WTSI2nldukaxf1XdNs5+Q17hoB4WJm1nw4EPZVouqwhcraS8qWmt84LqjjpcEBrFvhEV h2Xuekc5+jMoX0xOjjsVG1zZWD4TVxxu3bZlgQmgGeH5JNSVsPm7ZNtcyD2Pd2o5c1Eo AMdumngs/eK7uWMmPHRVvon6wCwHAjEPOKgFkjzw1bU1YGASeLJiSkzIrNTRRdv21PXd GdRA== X-Gm-Message-State: APjAAAVEgubW0V2BS1vbufzKPI1XcSuqbUS7J3caBCfIyOZZMGvoRY8V es33vkop1+M3z2u7FnWJ5OlqOqzYJeY= X-Google-Smtp-Source: APXvYqw2TmpECTx5VgiIuVHz81sSU9T2MhK8oEVH43JevKI3kIK0CGsbf9J6QFbBQ/QjPBokCI/kqA== X-Received: by 2002:a17:902:9a95:: with SMTP id w21mr58785332plp.74.1556483372584; Sun, 28 Apr 2019 13:29:32 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:32 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:46 +0530 Message-Id: <20190428202854.8590-12-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 11/19] spi: mpc8xxx: Reduce scope of loop variables X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six The transmission loop starts with setting some variables, which are only used inside the loop. Reduce the scope to the loop to make the declaration and initialization of these variables coincide. In the case of char_size this also always initializes the variable immediately with the final value actually used in the loop (instead of the placeholder value 32). Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index a2e698ea17..2a0f3cc06a 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -88,10 +88,8 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, ulong flags) { spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi; - uint tmpdout, tmpdin, event; + u32 tmpdin; int num_blks = DIV_ROUND_UP(bitlen, 32); - int tm; - uchar char_size = 32; debug("%s: slave %u:%u dout %08X din %08X bitlen %u\n", __func__, slave->bus, slave->cs, *(uint *)dout, *(uint *)din, bitlen); @@ -104,8 +102,9 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, /* Handle data in 32-bit chunks */ while (num_blks--) { - tmpdout = 0; - char_size = (bitlen >= 32 ? 32 : bitlen); + int tm; + u32 tmpdout = 0; + uchar char_size = (bitlen >= 32 ? 32 : bitlen); /* Shift data so it's msb-justified */ tmpdout = *(u32 *)dout >> (32 - char_size); @@ -145,7 +144,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * The NE event must be read and cleared first */ for (tm = 0; tm < SPI_TIMEOUT; ++tm) { - event = in_be32(&spi->event); + u32 event = in_be32(&spi->event); bool have_ne = event & SPI_EV_NE; bool have_nf = event & SPI_EV_NF; From patchwork Sun Apr 28 20:28:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092330 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="Gj0/sgbw"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfcr0lHWz9s47 for ; Mon, 29 Apr 2019 06:33:16 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id BF849C21CB1; Sun, 28 Apr 2019 20:31:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 33E31C21CB1; Sun, 28 Apr 2019 20:30:58 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E254FC21D8E; Sun, 28 Apr 2019 20:29:39 +0000 (UTC) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by lists.denx.de (Postfix) with ESMTPS id 58284C21DD9 for ; Sun, 28 Apr 2019 20:29:36 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id u17so332468pfn.7 for ; Sun, 28 Apr 2019 13:29:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9z7Tvb7YtJKfwSMCWjYsme2ZetdCxq/rCgs8WiN4acI=; b=Gj0/sgbwVwtbMYmLr+E97X4XbmHNc3JvT3gswbJCDkgjDryKH12gqgueVHdk8g5HmM MpXkATfxzBAoA/6k/IevroNKHUtqtEMFdgDlL3z2bkmyIGg4gyNsuRxe+rb0LlxG/D/i wmelMF2CAr/+F7NgDpGLZ4jhD7pDFzb9TlIls= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9z7Tvb7YtJKfwSMCWjYsme2ZetdCxq/rCgs8WiN4acI=; b=UZlQoKbtfImeOtR0E5volJATeLI7Cxil9dyUD94tWSF03i9myWz3F1xdUJpE72lIyb LQzOxnUw5TfCG9jVZqVbCBEbaAiAVeoS9APGFcZMljPRUbEyPR7AyoRLg+f/Y3KPluYG cf6mdsNYNP77q7iS4JR79ZeyQrin4xvlSAaZoPx0SO5oNTsdAiNIQUl12w+w7pTmHP2q OYNewl91pix1GjL/xvpCU25nryWgJJydh5PDvg36aH9zs40Xsou5HDLpcYIxFJbVW2B6 ZcTareV67F4cVuXEAXdsvTYatx5qd3NsYuaUnxbfzuuWLNMK2umnq2dic+RF7lBRyf9K OVHQ== X-Gm-Message-State: APjAAAXNZHp6muh1BksWiajyhaAIQJVVLCb0FZvGY2C6aD40VpXxU6sj MuFh2Vc8cMY6nAYadLsZa2rhYw== X-Google-Smtp-Source: APXvYqx554djwnj+XeN3Hsn2PuKN9kdwu14qy1/5gaIFZw5zYLme7RLPGM+cIYNbh/O1ZcW2+UG8rQ== X-Received: by 2002:aa7:8a92:: with SMTP id a18mr60052550pfc.218.1556483374949; Sun, 28 Apr 2019 13:29:34 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:34 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:47 +0530 Message-Id: <20190428202854.8590-13-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 12/19] spi: mpc8xxx: Make code more readable X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Introduce the to_prescale_mod and set_char_len inline functions to make the code more readable. Note that the added "if (bitlen > 16)" check does not change the semantics of the current code, and hence only preserves the current error (this will be fixed in a later patch in the series). Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 2a0f3cc06a..83fd8b3cc1 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -30,6 +30,16 @@ enum { SPI_COM_LST = BIT(31 - 9), }; +static inline u32 to_prescale_mod(u32 val) +{ + return (min(val, (u32)15) << 16); +} + +static void set_char_len(spi8xxx_t *spi, u32 val) +{ + clrsetbits_be32(&spi->mode, SPI_MODE_LEN_MASK, (val << 20)); +} + #define SPI_TIMEOUT 1000 struct spi_slave *spi_setup_slave(uint bus, uint cs, uint max_hz, uint mode) @@ -66,7 +76,7 @@ void spi_init(void) */ out_be32(&spi->mode, SPI_MODE_REV | SPI_MODE_MS | SPI_MODE_EN); /* Use SYSCLK / 8 (16.67MHz typ.) */ - clrsetbits_be32(&spi->mode, 0x000f0000, BIT(16)); + clrsetbits_be32(&spi->mode, SPI_MODE_PM_MASK, to_prescale_mod(1)); /* Clear all SPI events */ setbits_be32(&spi->event, 0xffffffff); /* Mask all SPI interrupts */ @@ -119,13 +129,14 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, clrbits_be32(&spi->mode, SPI_MODE_EN); - if (bitlen <= 4) { - clrsetbits_be32(&spi->mode, 0x00f00000, (3 << 20)); - } else if (bitlen <= 16) { - clrsetbits_be32(&spi->mode, 0x00f00000, - ((bitlen - 1) << 20)); - } else { - clrbits_be32(&spi->mode, 0x00f00000); + if (bitlen <= 4) + set_char_len(spi, 3); + else if (bitlen <= 16) + set_char_len(spi, bitlen - 1); + else + set_char_len(spi, 0); + + if (bitlen > 16) { /* Set up the next iteration if sending > 32 bits */ bitlen -= 32; dout += 4; From patchwork Sun Apr 28 20:28:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092332 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="PH9y7yF6"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfhZ4yBdz9s47 for ; Mon, 29 Apr 2019 06:36:30 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 3D574C21D9A; Sun, 28 Apr 2019 20:32:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 531B9C21BE5; Sun, 28 Apr 2019 20:32:22 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 86FB4C21DED; Sun, 28 Apr 2019 20:29:42 +0000 (UTC) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by lists.denx.de (Postfix) with ESMTPS id AF38FC21DA2 for ; Sun, 28 Apr 2019 20:29:38 +0000 (UTC) Received: by mail-pl1-f195.google.com with SMTP id w20so3470307plq.3 for ; Sun, 28 Apr 2019 13:29:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DvxOHgjATfWl2XuOb3BuIsm23gd4oYcGplmjAwTQIp8=; b=PH9y7yF6JUdrhbf8suuaLZhfp9v38TZ1swqeL+nw4pPIMAlBN/0NkV+MDbncYIMgl7 +I1UN0KFLnO4yfQ9lGkOeVX15MluFaIwPOxJu/WqMH9JcpDGfh6NLbKpO4wLgGigDwaU Fm2V+geS8aBc5C/RIMMngB/XzWDdUe7LNBDZY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DvxOHgjATfWl2XuOb3BuIsm23gd4oYcGplmjAwTQIp8=; b=JytRrtC9JDgPZyX1jH8Kkrc5wvV2FoqZfYiLwaYCgTLNah3DXEtqeE91/xPdIoCDj6 hvyRrGI6p//TTJ30R4Wo//86vrevAOacHFx+7U8OnH7jdf8f4sHQ442LPk9YB6cCItw1 PTit6Apj+ZUWMogzzcG5mAcpdU14A4+7I0Bt5IkuIgFiXs+T0rsEbtn9okvoCtAqJiIt yVsGB6ImvY2S5t1gBrZ++p3qul7ZSRjHCMsqFvSXWlg2QwFoDM8b9wIl9NTHQnqDi9XR ZLNrir4A2YhD+aybW9+rJGRBxOkMmJ6kBlwnSPCfWIEnR2/S2LXJYz6237jJ1Bw8feku uyQA== X-Gm-Message-State: APjAAAVjoYD6HjGVHuOi3lj1mCj6Cqr/Aeeuljra5v5javHKTnxdtmQh ZXeJRZoMR06EBX68pVt9CoGksQ== X-Google-Smtp-Source: APXvYqz2MbB8Vtj9FToi1tL/G+U2xVns8YIYJ3WkMOp3+pmevzRrqujdZf3n5GH48jhC5UxKUNuvcg== X-Received: by 2002:a17:902:6ac6:: with SMTP id i6mr58293518plt.313.1556483377368; Sun, 28 Apr 2019 13:29:37 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:36 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:48 +0530 Message-Id: <20190428202854.8590-14-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 13/19] spi: mpc8xxx: Rename variable X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six The variable "char_size" holds the number of bits to be transferred in the current loop iteration. A better name would be "xfer_bitlen", which we rename this variable to. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 83fd8b3cc1..63d956a295 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -114,10 +114,10 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, while (num_blks--) { int tm; u32 tmpdout = 0; - uchar char_size = (bitlen >= 32 ? 32 : bitlen); + uchar xfer_bitlen = (bitlen >= 32 ? 32 : bitlen); /* Shift data so it's msb-justified */ - tmpdout = *(u32 *)dout >> (32 - char_size); + tmpdout = *(u32 *)dout >> (32 - xfer_bitlen); /* The LEN field of the SPMODE register is set as follows: * @@ -165,8 +165,8 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, tmpdin = in_be32(&spi->rx); setbits_be32(&spi->event, SPI_EV_NE); - *(u32 *)din = (tmpdin << (32 - char_size)); - if (char_size == 32) { + *(u32 *)din = (tmpdin << (32 - xfer_bitlen)); + if (xfer_bitlen == 32) { /* Advance output buffer by 32 bits */ din += 4; } From patchwork Sun Apr 28 20:28:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092339 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="MPqxGtQn"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfmH0n4vz9s47 for ; Mon, 29 Apr 2019 06:39:42 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id ACDEEC21D8A; Sun, 28 Apr 2019 20:33:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 2F87EC21DCA; Sun, 28 Apr 2019 20:33:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 925B6C21DA2; Sun, 28 Apr 2019 20:29:44 +0000 (UTC) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by lists.denx.de (Postfix) with ESMTPS id 5CB58C21D8A for ; Sun, 28 Apr 2019 20:29:41 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id u17so332506pfn.7 for ; Sun, 28 Apr 2019 13:29:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5iUy/onrKyb2vM2ZlUwsLfl5EkxNlnANZNxhJT3G9LY=; b=MPqxGtQnFZQuwq8HXXb/7xFj1VbRT83+gkWfRto15FCZb17f4zUc0vaNEARFwQmLcH yC4LzuoByGtEXomEjHDv6wGVkeMgi+CNU1iAjbNMSe5JkThog6hB5mEVKv4aY3U2hmfy J5cTEXd/94qhKt8J4D52VfcMrBjo7ZBfd+huU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5iUy/onrKyb2vM2ZlUwsLfl5EkxNlnANZNxhJT3G9LY=; b=cnaco0oE+QNIzS0dumfqYpIZAzFS+3gk/ZXCqxfGlZbIxt+ufn7klNv4UuwvMWLlYA IVAlM2/C6qPoYz5/k5XDa9jnq9HRK/8IKLjfCmdjEbjG+qyphIPP8PiI7gOq0qUDJptH SQmAknf1k9P2s5p0fT4ZAIHSwcHR1eb8vHtr3Ixj4xAcd16mVlNHLkvAFkOqHCdyvwX5 2NvoELFk5g4qGxPZQ8/oENIywYg3aLJA97V2QKI8/5TDjX9YPNRznpGGn+JY8IzYmBHq XU1herm2Z3hwdtxNDb2c49ZsD/3jaEV3sXl3chUF+eUyb+LNnmlr3OD3TAsFBg4yPqmW 0VEw== X-Gm-Message-State: APjAAAW9odgUYrsyyGqPgZw3H/1MehhZrQ2iGk7wnbhG0vW+vQN9462Z 2ZfyE9UIHLX2lfC1P3XmdjA8xg== X-Google-Smtp-Source: APXvYqx51aTgT6sZxHspoRbsel6X+mkpYOCwDlEFwnW9EeHSM8VJ6TMG7DmsRul7oUcftnZV/28smg== X-Received: by 2002:a62:b40b:: with SMTP id h11mr57546179pfn.133.1556483379972; Sun, 28 Apr 2019 13:29:39 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:39 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:49 +0530 Message-Id: <20190428202854.8590-15-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 14/19] spi: mpc8xxx: Document LEN setting better X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Instead of having a table right before the code implementing the length setting for documentation, have inline comments for the if branches actually implementing the length setting described table's entries (which is readable thanks to the set_char_len function). Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 63d956a295..1dd5bd9799 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -119,21 +119,15 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, /* Shift data so it's msb-justified */ tmpdout = *(u32 *)dout >> (32 - xfer_bitlen); - /* The LEN field of the SPMODE register is set as follows: - * - * Bit length setting - * len <= 4 3 - * 4 < len <= 16 len - 1 - * len > 16 0 - */ - clrbits_be32(&spi->mode, SPI_MODE_EN); - if (bitlen <= 4) + /* Set up length for this transfer */ + + if (bitlen <= 4) /* 4 bits or less */ set_char_len(spi, 3); - else if (bitlen <= 16) + else if (bitlen <= 16) /* at most 16 bits */ set_char_len(spi, bitlen - 1); - else + else /* more than 16 bits -> full 32 bit transfer */ set_char_len(spi, 0); if (bitlen > 16) { From patchwork Sun Apr 28 20:28:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092335 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="HVDWAzPL"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfjr4CLKz9s47 for ; Mon, 29 Apr 2019 06:37:36 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 42D2FC21DFA; Sun, 28 Apr 2019 20:34:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id DAA18C21D9A; Sun, 28 Apr 2019 20:34:00 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BA9EFC21DAF; Sun, 28 Apr 2019 20:29:47 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by lists.denx.de (Postfix) with ESMTPS id C8203C21DCA for ; Sun, 28 Apr 2019 20:29:43 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id f6so4147199pgs.8 for ; Sun, 28 Apr 2019 13:29:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Af0JQDkiw7NwHTMJnvOcv/QQFGgcR9xzFcMmqc8Aacs=; b=HVDWAzPLY3JvviYwrugoMn71pVuhNv0XxzRvs8MY5dX7Ojdqp51EFFdL6Zi44LYTKV 8Q835DELBAxGQglTYd5MSrljgRL+tk7+bSXgmwUUlG2ZsM7+vicZK2ME9Q8Uxv9d53fJ R3uQVwDaRDvPXNVQyOI4e56CYEQQTZn50X/HE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Af0JQDkiw7NwHTMJnvOcv/QQFGgcR9xzFcMmqc8Aacs=; b=KPOnj1ogCj9N202q+M0i79yaQ9iPr2k/fcAxEH3Vtm3O9uSILLYUzXaSdScYOZTWIq kFmpwKwmECqqRz9Vfb9GukBMxrW2KNRCvkH7yLGfWQqQWPa63Lg3eQZx4J53UAT3AP3h sGVGlU4jQefaOmpaFIZMUVmoDj0SLC8l3LtqlUD6Cvh7SOg5I/mcSfqR6VOyPWQ4o04n b1ldHXw+t0M11owgUkDRpxpO0LOURo8JVm5O6PFlRnHrn95I+ioB5GadZyTFqAqy7Tq+ t2RGFOBwM8gAk+F7xS1bi6hXAIwqH4BrP7IpnNATbTpL8dRa5LxVpRlSGtsD10QMZC0E 5wxA== X-Gm-Message-State: APjAAAXBRraCu5q/pngbrzGvZuKzCdymhmkhizfOfWRmB4DHF418dozR xaYiyKY/ums9XyVeKi8Aa/FCgQ== X-Google-Smtp-Source: APXvYqynDtzyTol0wqqeEpIywbHc6+/yyx/8FhsDwVXJFQztWUXXQAgLhKtrGmqC8SE1sCNYpY/isg== X-Received: by 2002:aa7:8e55:: with SMTP id d21mr9096991pfr.62.1556483382383; Sun, 28 Apr 2019 13:29:42 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:41 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:50 +0530 Message-Id: <20190428202854.8590-16-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 15/19] spi: mpc8xxx: Re-order transfer setup X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Minize the time the adapter is disabled (via SPI_MODE_EN clearing/setting) to just the character length setting, and only set up the temporary data writing variable right before we need it, so there is a more clear distinction between setting up the SPI adapter, and setting up the data to be written. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 1dd5bd9799..1e7c0144c2 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -116,9 +116,6 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, u32 tmpdout = 0; uchar xfer_bitlen = (bitlen >= 32 ? 32 : bitlen); - /* Shift data so it's msb-justified */ - tmpdout = *(u32 *)dout >> (32 - xfer_bitlen); - clrbits_be32(&spi->mode, SPI_MODE_EN); /* Set up length for this transfer */ @@ -130,14 +127,17 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, else /* more than 16 bits -> full 32 bit transfer */ set_char_len(spi, 0); + setbits_be32(&spi->mode, SPI_MODE_EN); + + /* Shift data so it's msb-justified */ + tmpdout = *(u32 *)dout >> (32 - xfer_bitlen); + if (bitlen > 16) { /* Set up the next iteration if sending > 32 bits */ bitlen -= 32; dout += 4; } - setbits_be32(&spi->mode, SPI_MODE_EN); - /* Write the data out */ out_be32(&spi->tx, tmpdout); From patchwork Sun Apr 28 20:28:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092344 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="Waoj0AbG"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfpl3zzpz9s47 for ; Mon, 29 Apr 2019 06:41:51 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 407D6C21E1B; Sun, 28 Apr 2019 20:33:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 09D9CC21DFB; Sun, 28 Apr 2019 20:33:20 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B5A35C21C93; Sun, 28 Apr 2019 20:29:50 +0000 (UTC) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by lists.denx.de (Postfix) with ESMTPS id 1A1C6C21D83 for ; Sun, 28 Apr 2019 20:29:46 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id d31so4148447pgl.7 for ; Sun, 28 Apr 2019 13:29:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=duQcG3hEbT6ithd7O9rAGFAiDOa0nOfhdjNb0drRc+E=; b=Waoj0AbGuY5qdzkWP2jKbmyX1BYJgP1li3eAmBNFVB+bzf4lfva5svuUbBGTrjfjyE 4/2b4eDm0MstG7+A9dnnOAeAMO7SxbL3pkcCfnGwaBBO0s6yLhLhCvwzQnzqwHmJSNbM DML9GSDQkeb1SkK4pEWDhiwRVsSUGs6ZZJnig= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=duQcG3hEbT6ithd7O9rAGFAiDOa0nOfhdjNb0drRc+E=; b=CEpYRdhtEakSZGVJV20+H2AWaapNf6fsroIgRZnQ2FfyUrb7ZZkwqBmAvRKk7cR2qt F13n3a/f1yT9XNTLTNRtikC7gGMjzGZbZJHtGCT/AjqSIHrMz3IRUWS8lGV/uwo6eN5F RPwRdsXuxMxq2oe1tfQdyQoEZiHYPoQbf2ToMdZj9qeKbddg6oDYdlElbqXiHXv4zM7i PRFJC+uRLJtTV4czdEthoc8fsYrsj6aTHCJSzSH0LEfknViU5tZLoOWdVe4j6UNAm003 tQF6yRDrhlH/z162xpFk+sGOHXbJtjr/7hDXuqbDwNqNmZPMXgpnW7YENlYROOV+TOWe CCkw== X-Gm-Message-State: APjAAAUI2dL2FEX+ERKPFgTjlV7/eJCdklGMkJsm09DB76HUDeLn3kyP ObztZMXFFic4IPUk5jP++aU3Rgzu+Oc= X-Google-Smtp-Source: APXvYqyGb8whLTziY2yS52acGz9g8ZtsKA9UwhzqFbExcz403rudxmswkiJ4E21Gnoizgk6Qi4o3RQ== X-Received: by 2002:a65:644e:: with SMTP id s14mr2431391pgv.290.1556483384743; Sun, 28 Apr 2019 13:29:44 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:44 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:51 +0530 Message-Id: <20190428202854.8590-17-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 16/19] spi: mpc8xxx: Fix if check X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six Decreasing the bit length and increasing the write data pointer should be done when there are more than 32 bit of data, not 16 bit. This did not produce incorrect behavior, because the only time where the two checks produce different outcomes is the case of 16 < bitlen < 32, and in this case the subsequent transmission is the last one regardless, hence the additional bit length decrease and write data pointer increase has no effect anyway. Still, the correct check is the check for "bitlen > 32", so correct this behavior. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 1e7c0144c2..e09e91c8e9 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -132,7 +132,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, /* Shift data so it's msb-justified */ tmpdout = *(u32 *)dout >> (32 - xfer_bitlen); - if (bitlen > 16) { + if (bitlen > 32) { /* Set up the next iteration if sending > 32 bits */ bitlen -= 32; dout += 4; From patchwork Sun Apr 28 20:28:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092342 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="XDafTVZc"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfpW4kx5z9s47 for ; Mon, 29 Apr 2019 06:41:39 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 57223C21E08; Sun, 28 Apr 2019 20:33:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 62EA6C21DF9; Sun, 28 Apr 2019 20:32:58 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CF2D4C21DFB; Sun, 28 Apr 2019 20:29:52 +0000 (UTC) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by lists.denx.de (Postfix) with ESMTPS id 731F1C21D8A for ; Sun, 28 Apr 2019 20:29:48 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id k19so4166705pgh.0 for ; Sun, 28 Apr 2019 13:29:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IgaR4FUCQnO0Df8jzFpeiy0ayqG5b2rwTivOAhw7crw=; b=XDafTVZcM03OkpT6JJZU6X86Y8/3l8LgFKBZic+T7wnLpP5HpJVtw+p0Ne/2kBVOYn nkhozJIZFZr31a5wdE0t22Tl7ofzFnSY0A78PxPHzQseImHQjlp5UtPlIg1IH71XZSPN Y+Zos7wleI//JduzBPW8vswmRHdMKnxbw0awQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IgaR4FUCQnO0Df8jzFpeiy0ayqG5b2rwTivOAhw7crw=; b=kpPTv57r/J8XHb2eoWgUyq26mEsosZ9KPKhxa2Cgn58xNfddgI1UmWTXJli+bJGZZj xhE1RhAjRvuKYuAZDw/VgYHSAhp15lTTGsUbIEUrGQTc6Q4AE/Dt+chUr7OFF5Mx9SEp uR1KfioYpnfnZrDR4QnZwsxf+ML5QKehSgZQhz0zmOszdTbpdsqB7TWhugN1m+mixCwf y5c8/UPCFNXcTHd6iOKbreOt0vkt5BRmg20XqOHTup+QtHJspPyaFFDf9Ucjz6gz1cgO 9GQl7O2OY+LvPFzZYqDKYcAFOhPaIlnM1SDFnHdbWNK5hInk7ZIBouJLstCDPZJ6XnWw GocQ== X-Gm-Message-State: APjAAAW7HlJgMHUHR9HUiiPe6lZg816cHQQJOvZJgUoNg3UUGMG/Mnj2 x2yy0TlvwpAN4jNnjPaea8Pigg== X-Google-Smtp-Source: APXvYqzshLckLeSyrv240cX7zhPt/0Pxreb1i7q3ROkIUu9ThhGQVDx8GvKBeDM86zkLJJC2uQyHPA== X-Received: by 2002:a63:d016:: with SMTP id z22mr1569291pgf.116.1556483387084; Sun, 28 Apr 2019 13:29:47 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:46 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:52 +0530 Message-Id: <20190428202854.8590-18-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 17/19] spi: mpc8xxx: Use get_timer X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Mario Six The comment before the transmission loop in conjunction with the definition of SPI_TIMEOUT as 1000 implies that the loop is supposed to have a timeout value of 1000 ms. But since there is no mdelay(1) or similar in the loop body, the loop just runs 1000 times, without regard for the time elapsed. To correct this, use the standard get_timer functionality to properly time out the loop after 1000 ms. Signed-off-by: Mario Six --- drivers/spi/mpc8xxx_spi.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index e09e91c8e9..63e1a150f8 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -112,9 +112,9 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, /* Handle data in 32-bit chunks */ while (num_blks--) { - int tm; u32 tmpdout = 0; uchar xfer_bitlen = (bitlen >= 32 ? 32 : bitlen); + ulong start; clrbits_be32(&spi->mode, SPI_MODE_EN); @@ -148,7 +148,8 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, * or time out (1 second = 1000 ms) * The NE event must be read and cleared first */ - for (tm = 0; tm < SPI_TIMEOUT; ++tm) { + start = get_timer(0); + do { u32 event = in_be32(&spi->event); bool have_ne = event & SPI_EV_NE; bool have_nf = event & SPI_EV_NF; @@ -173,9 +174,11 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, */ if (have_nf) break; - } - if (tm >= SPI_TIMEOUT) + mdelay(1); + } while (get_timer(start) < SPI_TIMEOUT); + + if (get_timer(start) >= SPI_TIMEOUT) debug("*** %s: Time out during SPI transfer\n", __func__); From patchwork Sun Apr 28 20:28:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092329 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="N1h6NeEa"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfc91j5Yz9s47 for ; Mon, 29 Apr 2019 06:32:41 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id EA526C21D74; Sun, 28 Apr 2019 20:31:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id C2236C21DD9; Sun, 28 Apr 2019 20:31:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3CD56C21C57; Sun, 28 Apr 2019 20:29:54 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by lists.denx.de (Postfix) with ESMTPS id 0D07BC21C29 for ; Sun, 28 Apr 2019 20:29:51 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id z16so4140224pgv.11 for ; Sun, 28 Apr 2019 13:29:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VjHrEClNEEFz6xuzS8rY93E6SfSRBp015JRdcaSLA+g=; b=N1h6NeEa5Kdnu7gOWfwNraXzhYczLhPeKrCrczHTf3qhMQ0XwdtWWfiO8Wbar+m6KK UsUZgjTW4H4eMnb6C2j3C8GMzCGOasZQeIah9dtyJXl2A2GcZ/JEdsHFFXI4myKYicS1 DelajHZ/4QMa+DmzGQOrXw0+vNSXqQw08o2z8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VjHrEClNEEFz6xuzS8rY93E6SfSRBp015JRdcaSLA+g=; b=NtrJRGpu+EwP1ONvUiqKSzwZx8s5pmMGrgjZXzREjFjpajhRTXIUKjup/kCPcazk+N 8ImxJEk7pep/MfZwz90Cixwh5IQMpp362slBjpEqjPKo+CKb8MauKN1y/hG933GcGyfe LHCnBjKDx49t01yfTrXf6iCt8NxArucbFKf5bKR6745f0ktcIK70d5a0i0drkOA0UX0d 5WcHceBLmGU/2fmJuLW2jAehTKPoXcbWj2ih/pHfHWnO7gFlDWtzpvZbxKBGPjZgmFvT 4YBCtkwGL9P3zOqknZDC8FHXzTm1MzdMmvkhLwCVFQlkPNUaxO0RT4a1e9jloej5b9u7 rFog== X-Gm-Message-State: APjAAAXdHPw08tEN4TKV8xDBdsIwhsCthLYQ3TttCDyrwm1OMFzWWJxf mkmNlLy/dRQurQsqTsEsPlTm7g== X-Google-Smtp-Source: APXvYqyfhJlQaI5M615zcEJUc/4/XidyAJPTIj7ZrMk5u5OhtvmTBJ5Bv5AGlFMCpFjBSPi9rXEM0Q== X-Received: by 2002:a65:4185:: with SMTP id a5mr54988688pgq.82.1556483389620; Sun, 28 Apr 2019 13:29:49 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:49 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:53 +0530 Message-Id: <20190428202854.8590-19-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 18/19] spi: mpc8xxx: Convert to DM X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Support DM in the MPC8xxx SPI driver, and remove the legacy SPI interface. Signed-off-by: Mario Six Signed-off-by: Jagan Teki --- drivers/spi/Kconfig | 10 +-- drivers/spi/mpc8xxx_spi.c | 144 ++++++++++++++++++++++++++++---------- 2 files changed, 112 insertions(+), 42 deletions(-) diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index fb794adae7..e196f64e2f 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -131,6 +131,11 @@ config MPC8XX_SPI help Enable support for SPI on MPC8XX +config MPC8XXX_SPI + bool "MPC8XXX SPI Driver" + help + Enable support for SPI on the MPC8XXX PowerPC SoCs. + config MT7621_SPI bool "MediaTek MT7621 SPI driver" depends on ARCH_MT7620 @@ -364,11 +369,6 @@ config LPC32XX_SSP help Enable support for SPI on LPC32xx -config MPC8XXX_SPI - bool "MPC8XXX SPI Driver" - help - Enable support for SPI on the MPC8XXX PowerPC SoCs. - config MXC_SPI bool "MXC SPI Driver" help diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 63e1a150f8..1c7bf10f91 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -5,10 +5,12 @@ */ #include - +#include +#include #include #include #include +#include enum { SPI_EV_NE = BIT(31 - 22), /* Receiver Not Empty */ @@ -30,6 +32,12 @@ enum { SPI_COM_LST = BIT(31 - 9), }; +struct mpc8xxx_priv { + spi8xxx_t *spi; + struct gpio_desc gpios[16]; + int max_cs; +}; + static inline u32 to_prescale_mod(u32 val) { return (min(val, (u32)15) << 16); @@ -42,70 +50,90 @@ static void set_char_len(spi8xxx_t *spi, u32 val) #define SPI_TIMEOUT 1000 -struct spi_slave *spi_setup_slave(uint bus, uint cs, uint max_hz, uint mode) +static int __spi_set_speed(spi8xxx_t *spi, uint speed) { - struct spi_slave *slave; + /* TODO(mario.six@gdsys.cc): This only ever sets one fixed speed */ - if (!spi_cs_is_valid(bus, cs)) - return NULL; - - slave = spi_alloc_slave_base(bus, cs); - if (!slave) - return NULL; - - /* - * TODO: Some of the code in spi_init() should probably move - * here, or into spi_claim_bus() below. - */ + /* Use SYSCLK / 8 (16.67MHz typ.) */ + clrsetbits_be32(&spi->mode, SPI_MODE_PM_MASK, to_prescale_mod(1)); - return slave; + return 0; } -void spi_free_slave(struct spi_slave *slave) +static int mpc8xxx_spi_ofdata_to_platdata(struct udevice *dev) { - free(slave); + struct mpc8xxx_priv *priv = dev_get_priv(dev); + int ret; + + priv->spi = (spi8xxx_t *)dev_read_addr(dev); + + /* TODO(mario.six@gdsys.cc): Read clock and save the value */ + + ret = gpio_request_list_by_name(dev, "gpios", priv->gpios, + ARRAY_SIZE(priv->gpios), GPIOD_IS_OUT | GPIOD_ACTIVE_LOW); + if (ret < 0) + return -EINVAL; + + priv->max_cs = ret; + + return 0; } -void spi_init(void) +static int mpc8xxx_spi_probe(struct udevice *dev) { - spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi; + struct mpc8xxx_priv *priv = dev_get_priv(dev); /* * SPI pins on the MPC83xx are not muxed, so all we do is initialize * some registers */ - out_be32(&spi->mode, SPI_MODE_REV | SPI_MODE_MS | SPI_MODE_EN); - /* Use SYSCLK / 8 (16.67MHz typ.) */ - clrsetbits_be32(&spi->mode, SPI_MODE_PM_MASK, to_prescale_mod(1)); + out_be32(&priv->spi->mode, SPI_MODE_REV | SPI_MODE_MS | SPI_MODE_EN); + + __spi_set_speed(priv->spi, 16666667); + /* Clear all SPI events */ - setbits_be32(&spi->event, 0xffffffff); + setbits_be32(&priv->spi->event, 0xffffffff); /* Mask all SPI interrupts */ - clrbits_be32(&spi->mask, 0xffffffff); + clrbits_be32(&priv->spi->mask, 0xffffffff); /* LST bit doesn't do anything, so disregard */ - out_be32(&spi->com, 0); + out_be32(&priv->spi->com, 0); + + return 0; } -int spi_claim_bus(struct spi_slave *slave) +static void mpc8xxx_spi_cs_activate(struct udevice *dev) { - return 0; + struct mpc8xxx_priv *priv = dev_get_priv(dev->parent); + struct dm_spi_slave_platdata *platdata = dev_get_parent_platdata(dev); + + dm_gpio_set_dir_flags(&priv->gpios[platdata->cs], GPIOD_IS_OUT); + dm_gpio_set_value(&priv->gpios[platdata->cs], 0); } -void spi_release_bus(struct spi_slave *slave) +static void mpc8xxx_spi_cs_deactivate(struct udevice *dev) { + struct mpc8xxx_priv *priv = dev_get_priv(dev->parent); + struct dm_spi_slave_platdata *platdata = dev_get_parent_platdata(dev); + + dm_gpio_set_dir_flags(&priv->gpios[platdata->cs], GPIOD_IS_OUT); + dm_gpio_set_value(&priv->gpios[platdata->cs], 1); } -int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, - ulong flags) +static int mpc8xxx_spi_xfer(struct udevice *dev, uint bitlen, + const void *dout, void *din, ulong flags) { - spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi; - u32 tmpdin; + struct udevice *bus = dev->parent; + struct mpc8xxx_priv *priv = dev_get_priv(bus); + spi8xxx_t *spi = priv->spi; + struct dm_spi_slave_platdata *platdata = dev_get_parent_platdata(dev); + u32 tmpdin = 0; int num_blks = DIV_ROUND_UP(bitlen, 32); - debug("%s: slave %u:%u dout %08X din %08X bitlen %u\n", __func__, - slave->bus, slave->cs, *(uint *)dout, *(uint *)din, bitlen); + debug("%s: slave %s:%u dout %08X din %08X bitlen %u\n", __func__, + bus->name, platdata->cs, *(uint *)dout, *(uint *)din, bitlen); if (flags & SPI_XFER_BEGIN) - spi_cs_activate(slave); + mpc8xxx_spi_cs_activate(dev); /* Clear all SPI events */ setbits_be32(&spi->event, 0xffffffff); @@ -178,15 +206,57 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din, mdelay(1); } while (get_timer(start) < SPI_TIMEOUT); - if (get_timer(start) >= SPI_TIMEOUT) + if (get_timer(start) >= SPI_TIMEOUT) { debug("*** %s: Time out during SPI transfer\n", __func__); + return -ETIMEDOUT; + } debug("*** %s: transfer ended. Value=%08x\n", __func__, tmpdin); } if (flags & SPI_XFER_END) - spi_cs_deactivate(slave); + mpc8xxx_spi_cs_deactivate(dev); + + return 0; +} + +static int mpc8xxx_spi_set_speed(struct udevice *dev, uint speed) +{ + struct mpc8xxx_priv *priv = dev_get_priv(dev); + + return __spi_set_speed(priv->spi, speed); +} +static int mpc8xxx_spi_set_mode(struct udevice *dev, uint mode) +{ + /* TODO(mario.six@gdsys.cc): Using SPI_CPHA (for clock phase) and + * SPI_CPOL (for clock polarity) should work + */ return 0; } + +static const struct dm_spi_ops mpc8xxx_spi_ops = { + .xfer = mpc8xxx_spi_xfer, + .set_speed = mpc8xxx_spi_set_speed, + .set_mode = mpc8xxx_spi_set_mode, + /* + * cs_info is not needed, since we require all chip selects to be + * in the device tree explicitly + */ +}; + +static const struct udevice_id mpc8xxx_spi_ids[] = { + { .compatible = "fsl,spi" }, + { } +}; + +U_BOOT_DRIVER(mpc8xxx_spi) = { + .name = "mpc8xxx_spi", + .id = UCLASS_SPI, + .of_match = mpc8xxx_spi_ids, + .ops = &mpc8xxx_spi_ops, + .ofdata_to_platdata = mpc8xxx_spi_ofdata_to_platdata, + .probe = mpc8xxx_spi_probe, + .priv_auto_alloc_size = sizeof(struct mpc8xxx_priv), +}; From patchwork Sun Apr 28 20:28:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1092333 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="RTF7rLoy"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sfhx23srz9s47 for ; Mon, 29 Apr 2019 06:36:49 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 0E069C21D8A; Sun, 28 Apr 2019 20:34:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id CD1A1C21DFA; Sun, 28 Apr 2019 20:34:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id DFED2C21DFA; Sun, 28 Apr 2019 20:29:58 +0000 (UTC) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by lists.denx.de (Postfix) with ESMTPS id 4D20BC21DA1 for ; Sun, 28 Apr 2019 20:29:53 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id p6so4143922pgh.9 for ; Sun, 28 Apr 2019 13:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZHnh0SdHPqV5X5kpI8VHQMRjr7lCLTL/vWrH92Z3qlM=; b=RTF7rLoy82qSUNQtIdY2dcMQU5wpT6ZkwFl4ZgWT0EHC5yAnFCMzotXATm8/IF0KYk HJVp3bveehlu2yGyvCp1KYEO7uOl4JsNukqBIJJfAcQyufzPrG5SCdWjnxcwTFw6d1Vi pxUnafcPHDxvv3I7MRpA2b10Ji1vCpXKS80Kg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZHnh0SdHPqV5X5kpI8VHQMRjr7lCLTL/vWrH92Z3qlM=; b=h2/jXYJzURH/ptJUJalNlyj+W7BIb/UfwvNl6XN4YGnB1jMkfg/u3WyiQLIEvMAohS ea+sg3q8IGyVX9pgbaMUm8UY7PqZrdg+9YCWhKFspyRc2QyV9BMK0Itgad9eIeUkyfkc XOl/53HFkQokSk6at1N4EsYi7TDr1T3FVIeBShK9XNZ2+0p2YVelqJFwvC4EA4HPmrQf +VJDoXOv+albGj2jp69tUv5MOBtSnUqsFVeIRv2wElqPXiSVMulDdAiQGLEWRSA8PC1O 9oTIycAp58+WAByPejAHFQJpgdmZDOXoslO/cN9vq5A4kKRWD3DMV9YkqYCnA5KS/ift k1aA== X-Gm-Message-State: APjAAAWsxW8urgGWOo3FTPLvOT9O5Sj989krx1M4+DV9dbkeICr1ZQgE GnPfoNEgugtFgDFZNJuKfa6iXQ== X-Google-Smtp-Source: APXvYqy1BB1x6IeNFDjVztIxqnfBa/e1foVWoLIr2HpVp2YmjjtMM7L6kV8XapGosbNju1djnKQTgA== X-Received: by 2002:a63:c145:: with SMTP id p5mr54649613pgi.339.1556483391938; Sun, 28 Apr 2019 13:29:51 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id x66sm68841439pfb.78.2019.04.28.13.29.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 13:29:51 -0700 (PDT) From: Jagan Teki To: Heiko Schocher , Tom Rini Date: Mon, 29 Apr 2019 01:58:54 +0530 Message-Id: <20190428202854.8590-20-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190428202854.8590-1-jagan@amarulasolutions.com> References: <20190428202854.8590-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com Subject: [U-Boot] [PATCH v2 19/19] dm: MIGRATION: Update migration status for SPI X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Now, we have few driver are fully converted into dm and few are partially converted. So, update the migration status accordingly. Signed-off-by: Jagan Teki --- doc/driver-model/MIGRATION.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/doc/driver-model/MIGRATION.txt b/doc/driver-model/MIGRATION.txt index df659f3dd9..d38be3538a 100644 --- a/doc/driver-model/MIGRATION.txt +++ b/doc/driver-model/MIGRATION.txt @@ -59,10 +59,7 @@ No dm conversion yet: drivers/spi/cf_spi.c drivers/spi/fsl_espi.c drivers/spi/lpc32xx_ssp.c - drivers/spi/mpc8xx_spi.c - drivers/spi/mpc8xxx_spi.c drivers/spi/mxs_spi.c - drivers/spi/sh_qspi.c drivers/spi/sh_spi.c drivers/spi/soft_spi_legacy.c @@ -70,13 +67,12 @@ No dm conversion yet: Deadline: 2019.04 Partially converted: - drivers/spi/atcspi200_spi.c drivers/spi/davinci_spi.c drivers/spi/fsl_dspi.c - drivers/spi/fsl_qspi.c drivers/spi/kirkwood_spi.c drivers/spi/mxc_spi.c drivers/spi/omap3_spi.c + drivers/spi/sh_qspi.c Status: In progress Deadline: 2019.07