From patchwork Fri Oct 25 01:03:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183679 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmBt4M0zz9sPf for ; Fri, 25 Oct 2019 12:05:58 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="vZdO+ber"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmBt3CqHzDqbs for ; Fri, 25 Oct 2019 12:05:58 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::443; helo=mail-pf1-x443.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="vZdO+ber"; dkim-atps=neutral Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm8h0ybKzDqg9 for ; Fri, 25 Oct 2019 12:04:03 +1100 (AEDT) Received: by mail-pf1-x443.google.com with SMTP id v19so403341pfm.3 for ; Thu, 24 Oct 2019 18:04:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F+gkZCMr02Gj6aQ8ieUEjo3h5iMWxRu21G6weOdR30Y=; b=vZdO+berPnWzNYOfi0n0iZcP3rmiFpKPDg0Tx/7vGz/5KjEKG5L+osGGun8AVKpGnP APbSmeeBoHeoJ8Vd/cLsrJymlEKQfNiifJg1uq9KBsf34Zc4a7/0N1l5xvRdSdhIi/2m 6CeA09bEp3hbUabpLgo7ISE52GHErAiTcghZ8qrHymwt1KTgqxXhgJYCJ0CYf7BBMX+M zHp0+wUuGsQocf4vT5q5pLx204e9kxqnBxdjWicafg3PunJdR8vArrRdgvOIFZf/wJl9 ymv5fJOUUai+FY7eW4xqcTuocGeaxbiIZpSH3ZO0ZWJfuJ+TTifUWbey/o+YIce51zYX n3Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=F+gkZCMr02Gj6aQ8ieUEjo3h5iMWxRu21G6weOdR30Y=; b=fiubnsrxJyIEf0gM3LT/0MtaqZNJgUnLuYxVMMYwjc1W3TbVhmd/l9lp+c+ZY74EFO wTmxLoX91Meh/XvJ3GwlHzrdf7HUKepwz/ygk87hK7PyPaDXfeP3pk23tYsb9Ceo1TFz h4EZUCaREx0cUHjswhewiLMSdrWaSJkG1K0Vf3IUz43A2aUy3B65c9ZdxwHCAjS5PPJ2 +88so7hONVW7ZWH6KitPmJMjsXVelmtWI+DIiiM+jCq2bSSpdpmHCWThuaHErDnSEGe7 NTbs7CHd8gUK+sH73z9TF82h2kofoTVeO/60meo+uwwDuzj189hL+ECqxNmDy0++N1rl Bcwg== X-Gm-Message-State: APjAAAWzS8kBtGNgLDGBP7QLniWQUon0YsdxOwX9fdV0bt8frZfEJMf8 kay6LTQes3S1CcVKQ/okFCc= X-Google-Smtp-Source: APXvYqxziExWp6TyNmrcu+FPwGgXDAvV9/vsEmqLfUAoMCvrEFKQsVG8LC9o2mL4wpKaQ7KGx88Vjw== X-Received: by 2002:aa7:9289:: with SMTP id j9mr1030593pfa.70.1571965441865; Thu, 24 Oct 2019 18:04:01 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.03.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:01 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 1/7] fsi: aspeed: busy loop in the write case Date: Fri, 25 Oct 2019 12:03:45 +1100 Message-Id: <20191025010351.30298-2-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" We busy loop in the read case, make the write case the same. Note that this may cause issues when doing a break, which takes a long time. Signed-off-by: Joel Stanley Acked-by: Andrew Jeffery --- drivers/fsi/fsi-master-aspeed.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index 3524b3dfe549..59537cab4f68 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -204,7 +204,7 @@ static u32 opb_write(void __iomem *base, uint32_t addr, uint32_t val, ret = readl_poll_timeout(base + OPB_IRQ_STATUS, reg, (reg & OPB0_XFER_ACK_EN) != 0, - 1, 10000); + 0, 10000); status = readl(base + OPB0_STATUS); From patchwork Fri Oct 25 01:03:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183681 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmD419zrz9sPf for ; Fri, 25 Oct 2019 12:07:00 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AnYzQJbW"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmD36KlXzDqdV for ; Fri, 25 Oct 2019 12:06:59 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::441; helo=mail-pf1-x441.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AnYzQJbW"; dkim-atps=neutral Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm8k6Mh4zDqg9 for ; Fri, 25 Oct 2019 12:04:06 +1100 (AEDT) Received: by mail-pf1-x441.google.com with SMTP id q7so388054pfh.8 for ; Thu, 24 Oct 2019 18:04:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HmbTxMVNmqYtjZO4QqW8Gui6ZrBzqGCcDHtGz8UUhzE=; b=AnYzQJbW1sLhr6ij1TuLT82482MXx/JmxBfB+DlELyv3oi+QyKg/Zgyqyhlf4yBbs1 6PdeLIFxLnsbo2m4mTM57PNfKEkZrr0LvS9JBWUjimkTMpjCdIM9YC+uuKR7VvQ1fII0 jJ2/vWPutSqnwaLREH1FPeVu6yoK/+MqNBWWT6azw61uOBNAkL2Qlc6XZpOgtiqB3KRY RPQAY173R/fxfi8UTmoWl3CyblakTG65EUNx4Rm8NiAP5TTfpWP33ju9A9FRu2dojWTS JadctmHkjhApZVnLASiUHMokFS0HSLNadNd9hVsRti8V91vxbC216dRDZ+ioMpcu8dD8 bozw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=HmbTxMVNmqYtjZO4QqW8Gui6ZrBzqGCcDHtGz8UUhzE=; b=Qyas4oztqG8WL/IbnAfvJ4iX3JM7YF9l95r4lXR6eRV4lkBm40XYpbP0sJxJCYOC+w ifUqTWz632Dli8VV1mQBtYH0aA8WW8x6v7O0oOEnP8B3Xf9mLOnXbw2JlSmK/7tasBGo dDGzoxc9GuxiIMyemosXPjoNLRRYJLxRxviVlD2QdYnTHZhFQkEvRo0AaKJ64POUBy3X SgzKpFrO/YeNFXVauVNDb1EmdvMVWX5/YxDRBIZVHWvgwLrABxMTNQF9qZbSzCOsFdP9 03t8lmG0FYlCW6496e7+D2Ewe8HI44BjjAkt8goj39f9fDI19wgICA1ESAqOAQiAsANV bRpQ== X-Gm-Message-State: APjAAAUJCh8Zjm6t8kLwzgQWkYG5sNdnyEpASFKXU49QzhRonJWmLJVQ sQWvosucNG9vA/v5HmCQ9R8= X-Google-Smtp-Source: APXvYqz0yJc726OwUMMXhir3GUK9FAMtbtkY5OwKqmN0F/xhwa+kc9YCG8Hkz3qHA2h01krR8c3Wlw== X-Received: by 2002:aa7:97b3:: with SMTP id d19mr1042134pfq.50.1571965444330; Thu, 24 Oct 2019 18:04:04 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.04.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:03 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 2/7] fsi: master: Change default divisor to 14 Date: Fri, 25 Oct 2019 12:03:46 +1100 Message-Id: <20191025010351.30298-3-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" We were running at 127, which equates to a bus clock speed of approx 1.4MHz. This changes that to approx 14MHz, which works on the EVB and is reliable on the Tacoma systems. Signed-off-by: Joel Stanley Acked-by: Andrew Jeffery --- drivers/fsi/fsi-master-aspeed.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index 59537cab4f68..bef7690a0ddf 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -76,6 +76,8 @@ #define FSI_NUM_DEBUGFS_ENTRIES 17 +#define DEFAULT_DIVISOR 14 + struct fsi_master_aspeed; struct fsi_master_aspeed_debugfs_entry { @@ -441,7 +443,8 @@ static int aspeed_master_init(struct fsi_master_aspeed *aspeed) opb_write(aspeed->base, ctrl_base + FSI_MECTRL, reg, 4); reg = cpu_to_be32(FSI_MMODE_ECRC | FSI_MMODE_EPC - | fsi_mmode_crs0(0x7f) | fsi_mmode_crs1(0x7f) + | fsi_mmode_crs0(DEFAULT_DIVISOR) + | fsi_mmode_crs1(DEFAULT_DIVISOR) | FSI_MMODE_P8_TO_LSB); opb_write(aspeed->base, ctrl_base + FSI_MMODE, reg, 4); From patchwork Fri Oct 25 01:03:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183683 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmFP0j2Gz9sPf for ; Fri, 25 Oct 2019 12:08:09 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tP0J3PH3"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmFN6g4rzDqgP for ; Fri, 25 Oct 2019 12:08:08 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::544; helo=mail-pg1-x544.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tP0J3PH3"; dkim-atps=neutral Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm8n6ccgzDqg9 for ; Fri, 25 Oct 2019 12:04:08 +1100 (AEDT) Received: by mail-pg1-x544.google.com with SMTP id f19so358527pgn.13 for ; Thu, 24 Oct 2019 18:04:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SZyDETyQz9XATFcjY6UWXc/6c+7mCj6WxtyTA0bAYRM=; b=tP0J3PH3bng2rzq9d8iuyA+ZqX7EXiLcXEkZYgLp8ahLGxaFFUJwNQtaC381aF+oQs bKQByPFGr0o1AUJsEgRcBVbPBDyvIUHfazuGMbj79Whh6VC63F4I7P31PKrwvr6bjb3G t20j5tKeGBAcIwkoL1/ttLXAAlEyAbf8H3wIAy2BUqqClhE/v6l5yQT9UaKVpBOyj/Si K+8jQMH2hMmdSoJC+MtqcxCnAkD5XagmRixJ8UMeKI6Afko06WhXRqYcudzHuXrw1bIQ ZnmwLeKEcOKJvvps75O+NIi7yEMNKvVxh/kKK4lQi2FvaRmzIjQAIFSdQ7ibj9VrFtYG nkXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=SZyDETyQz9XATFcjY6UWXc/6c+7mCj6WxtyTA0bAYRM=; b=f0I+yxJNmKrTNTeqeHXJcu6feqDsgoXNcjpsb4QDfYIACUPlKvzDirZ/ZNw/fG9Tx2 hvH/f/K7WYx0/s4kX4FjR+RkwNWueU3CefzzIBN1KlomFAPHNh/RwQ/aogdBkTdOhtGa 6gD1oVQTtYo6y3zyZE56zaxvj0kuFqmCITg+Z2orfn5C5wkZqjhyCfjGrStvdYQhY/z8 ShZcYfl5jW78vtV8NfT+H85zoCkfSzV5qLki7xZZo+KZTijbaIe84SGn+sdj/SSbVT8X 5KFSy75/U8i7mCI7R1K2iidmaowQLwN5VvRDBsfF8aiKh55jjBLwKtxYhtVNeHO2wdyc GvSw== X-Gm-Message-State: APjAAAUTY6HtgL/tulByMaNdHsK1nYSkXxRNiOhh2/AZ1iQOH7PQP4m/ FDiLb98trDi6ulr/buvY23wwIAlZ2Jo= X-Google-Smtp-Source: APXvYqw32FKSgmrIxO7p0E3xQvNIqQm+XXjUt6UJ8oZGn/6b/VDS13f8aYjTYUmUUSsCQ1jOu5uJew== X-Received: by 2002:a62:685:: with SMTP id 127mr966558pfg.227.1571965447051; Thu, 24 Oct 2019 18:04:07 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.04.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:06 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 3/7] fsi: aspeed: Enable relative addressing Date: Fri, 25 Oct 2019 12:03:47 +1100 Message-Id: <20191025010351.30298-4-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" Signed-off-by: Joel Stanley Reviewed-by: Andrew Jeffery --- drivers/fsi/fsi-master-aspeed.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index bef7690a0ddf..d2c01956663f 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -42,6 +42,7 @@ /* MMODE: Mode control */ #define FSI_MMODE_EIP 0x80000000 /* Enable interrupt polling */ #define FSI_MMODE_ECRC 0x40000000 /* Enable error recovery */ +#define FSI_MMODE_RELA 0x20000000 /* Enable relative address commands */ #define FSI_MMODE_EPC 0x10000000 /* Enable parity checking */ #define FSI_MMODE_P8_TO_LSB 0x00000010 /* Timeout value LSB */ /* MSB=1, LSB=0 is 0.8 ms */ @@ -442,7 +443,7 @@ static int aspeed_master_init(struct fsi_master_aspeed *aspeed) reg = cpu_to_be32(FSI_MECTRL_EOAE | FSI_MECTRL_P8_AUTO_TERM); opb_write(aspeed->base, ctrl_base + FSI_MECTRL, reg, 4); - reg = cpu_to_be32(FSI_MMODE_ECRC | FSI_MMODE_EPC + reg = cpu_to_be32(FSI_MMODE_ECRC | FSI_MMODE_EPC | FSI_MMODE_RELA | fsi_mmode_crs0(DEFAULT_DIVISOR) | fsi_mmode_crs1(DEFAULT_DIVISOR) | FSI_MMODE_P8_TO_LSB); From patchwork Fri Oct 25 01:03:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183684 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmGZ6Vssz9sPf for ; Fri, 25 Oct 2019 12:09:10 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="uXWbg/EZ"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmGZ5MBlzDqmq for ; Fri, 25 Oct 2019 12:09:10 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::444; helo=mail-pf1-x444.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="uXWbg/EZ"; dkim-atps=neutral Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm8s3CmdzDqlW for ; Fri, 25 Oct 2019 12:04:13 +1100 (AEDT) Received: by mail-pf1-x444.google.com with SMTP id 21so382333pfj.9 for ; Thu, 24 Oct 2019 18:04:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XPF2DIyO14fi1JYvcaZsyqKvKScZ8tNNAk4x4OQ2S38=; b=uXWbg/EZ9oE2Qx6u9/K7XAFa5bE4Hcq5fwYEjYvIA3CIpzEEqp8DQXl4To8llgoXoK 2CSTKEpnhowEL5nnZPVo0jbSygEbCFM4L7MxoxA7HzIHg+H4VEnPL2fr46cbsJAoPg1m j8RaSfpklJ6nqbUwrtt1sxDC1VRsNEmUYI6B9hqTtDLo84w+pldQVpWK4eLkDuIUBf5C Pu14ckJPuA0+vxkDjtID7FNL3VG3m8PIEK9dT8QHJ8g2/uTQkU5JjnBPd0hSxDvU+a2y yWyZtZwcAzl1R/O/fcleIfcn0FiHXdvrv49G/c74vTBI4Y3DRiPxwvGOw746SZiJWMpO 0ERw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=XPF2DIyO14fi1JYvcaZsyqKvKScZ8tNNAk4x4OQ2S38=; b=EGXU2ZueHgPCYo662Cw7NlcPmlKwYuFjiaHNgAM/7VSxxhvkIVrOXK3XVxDJx7/yt7 FL6whaOwBNvH3r1tHMaMbKTJU72Z1BDFj/E8ya1xFT/3afF6AlH5Juz92/JMJ0sG+GDw qQToiQFQbyhwSmeq3m6YtxN6MxWcjFBcpGYk5IaFcXb9YlTfuf9HHsXv821opZc7bLLb ghfGkMcRjSH4Sk9bXFks3kVMoN0X2cKKXm/YcClbz57ZRVD5IW8NgtJLrFOtlZBZax2p 1nggiIR3Ivbw10C6EXr0ygyWpvphC+U3jBDb1/edJAr4TeFIEXeg1x/AFAS6MidyPbQ4 98Qg== X-Gm-Message-State: APjAAAXWXu8ltqJC46VcqrO53pFIWtNgAyPk/aaXfUiUMO1zE3NB7mth g83UbuSSDBjQtK+p1JyPPHm1EZd5On4= X-Google-Smtp-Source: APXvYqzjyYsmiXNfpNxdkdtd4EhEiHOkdaFv/SU6LPLHx2pjKROZsw0hhBsc906NMxCNH1HQJOiNVw== X-Received: by 2002:a63:4f1d:: with SMTP id d29mr1066093pgb.115.1571965449843; Thu, 24 Oct 2019 18:04:09 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.04.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:09 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 4/7] fsi: aspeed: Only select OPB0 once Date: Fri, 25 Oct 2019 12:03:48 +1100 Message-Id: <20191025010351.30298-5-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" The driver can leve OPB0 selected to save a AHB write per OPB operation. Signed-off-by: Joel Stanley Reviewed-by: Andrew Jeffery --- drivers/fsi/fsi-master-aspeed.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index d2c01956663f..58b090e2cf46 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -197,7 +197,6 @@ static u32 opb_write(void __iomem *base, uint32_t addr, uint32_t val, if (xfer_size < 0) return xfer_size; - writel(0x1, base + OPB0_SELECT); writel(CMD_WRITE, base + OPB0_RW); writel(xfer_size, base + OPB0_XFER_SIZE); writel(addr, base + OPB0_FSI_ADDR); @@ -233,7 +232,6 @@ static int opb_read(void __iomem *base, uint32_t addr, size_t size, u32 *out) if (xfer_size < 0) return xfer_size; - writel(0x1, base + OPB0_SELECT); writel(CMD_READ, base + OPB0_RW); writel(xfer_size, base + OPB0_XFER_SIZE); writel(addr, base + OPB0_FSI_ADDR); @@ -596,6 +594,13 @@ static int fsi_master_aspeed_probe(struct platform_device *pdev) writel(0x0011bb1b, aspeed->base + OPB0_W_ENDIAN); writel(0xffaa5500, aspeed->base + 0x50); + /* + * Select OPB0 for all operations. + * Will need to be reworked when enabling DMA or anything that uses + * OPB1. + */ + writel(0x1, aspeed->base + OPB0_SELECT); + rc = opb_read(aspeed->base, ctrl_base + FSI_MVER, 4, &raw); if (rc) { dev_err(&pdev->dev, "failed to read hub version\n"); From patchwork Fri Oct 25 01:03:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183687 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmHj3PZ5z9sPf for ; Fri, 25 Oct 2019 12:10:09 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KxYZv5Hv"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmHj1cNnzDqlW for ; Fri, 25 Oct 2019 12:10:09 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::444; helo=mail-pf1-x444.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KxYZv5Hv"; dkim-atps=neutral Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm8t5qZfzDqmJ for ; Fri, 25 Oct 2019 12:04:14 +1100 (AEDT) Received: by mail-pf1-x444.google.com with SMTP id v19so403578pfm.3 for ; Thu, 24 Oct 2019 18:04:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g9Qh9KVE1ppMbnYtXQGdN8eBPKJY5W1H02syqdWhLmw=; b=KxYZv5HvLvIKSXrUN3rPYmwteaT22dB2fUqmPM8hj0TtwvpLg+yGq8sxH1RThD20Q3 G020wYcmy/SgrjXMemVa4jGHWBudhycpZKlRsUUxeeuEwGassW18oWJVy/OMs/U1/SHe pB7Fz7f4nYC/SK8cvvy5RVK7EzOVD7BfrbtnyjCNOlTVfJgPg49REuaozS5HhUzvYm+w Z3xSbE1baiKLwOgcU2vji3iJK8wELggLsaSC5mlp2hePRyysdch/sxZ+ZxF9kRUSgetD koxSNALyI4pLem8gpas8y/mXIdN/IthoWtndKShOp9zfcrYrxUieUn3jlZUBstDENVMu DOuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=g9Qh9KVE1ppMbnYtXQGdN8eBPKJY5W1H02syqdWhLmw=; b=B8wyqUmAL7NJoLfyvtSA16f3JBZsNKJkyHByuRseXVhUkX/Nze+opGl4mXEFckcFc2 VqGjjdcgOVSg+/qKwk7DHlOqVK50JXBgzdc/V07SngB4YoT58g0aJHWzJV6uMPjLdsaK sHbinfOeWUyMS27XEGnqm+Lb1nO/ts98Ovs326ZnC4rdAIklKe31WWDqyy+TU6PwAadH 9u6KP7LQPK+5XnMcfcnxMq8HCzJUhXg0c9+/ITvDZAtzFQoXb8JiTQNO3q/ry4rrxn7i 3HAnyYImOXiXVgOQGVnJnzFte4zy2gXKJoy3hFBKAh5g1oGsSFMHrJhKIjCkn5nG54rk iM4A== X-Gm-Message-State: APjAAAV8EVNIHWGS2EAx6aZAZw+kkOd1+/F7gX4pfq3MzGAC0keecDrD 0jEpgEtQU+Frk+QfzGQeGr0= X-Google-Smtp-Source: APXvYqxBnYOzXrM8Pt0VClUqb7tj9O9rHnD9hzHw0dfSvEYRbYA4FPCtcR6VvLgft0QuP49sucfxMA== X-Received: by 2002:a63:6586:: with SMTP id z128mr1110240pgb.260.1571965452874; Thu, 24 Oct 2019 18:04:12 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.04.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:12 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 5/7] fsi: aspeed: Avoid copying read data twice Date: Fri, 25 Oct 2019 12:03:49 +1100 Message-Id: <20191025010351.30298-6-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" Signed-off-by: Joel Stanley Reviewed-by: Andrew Jeffery --- drivers/fsi/fsi-master-aspeed.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index 58b090e2cf46..c98b1bf179a8 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -303,20 +303,17 @@ static int aspeed_master_read(struct fsi_master *master, int link, { struct fsi_master_aspeed *aspeed = to_fsi_master_aspeed(master); int ret; - u32 data; if (id != 0) return -EINVAL; addr += link * FSI_HUB_LINK_SIZE; - ret = opb_read(aspeed->base, fsi_base + addr, size, &data); + ret = opb_read(aspeed->base, fsi_base + addr, size, val); ret = check_errors(aspeed, ret); if (ret) return ret; - memcpy(val, &data, size); - return 0; } From patchwork Fri Oct 25 01:03:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183694 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmKL29nfz9sPk for ; Fri, 25 Oct 2019 12:11:34 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FvCGTGL8"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmKL0TtRzDqlD for ; Fri, 25 Oct 2019 12:11:34 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::543; helo=mail-pg1-x543.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FvCGTGL8"; dkim-atps=neutral Received: from mail-pg1-x543.google.com (mail-pg1-x543.google.com [IPv6:2607:f8b0:4864:20::543]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm8x4fJJzDqlf for ; Fri, 25 Oct 2019 12:04:17 +1100 (AEDT) Received: by mail-pg1-x543.google.com with SMTP id f19so358723pgn.13 for ; Thu, 24 Oct 2019 18:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QbSV3kOSC3Q0zbJogYNKiHw9Cu3WR58c54PYFvFMNyQ=; b=FvCGTGL84Ay4RQadiysNkI/8vAZdPcgFClB1ftG1F7XX3lAoLzGs9F0G05Av+3h0t1 7HWv+nj3EWZvUgEwcC6PRFR2cJh7uLM3JtNeC5m2nE3A+MtDfq/HJvshk8PwVaWVq0BG P3WbuCbiIpD9VZyQwAemgLYdsfmGlVvjtotIB/y0Qe33b8FIU+yZlSn6/9RLg6Bi4V1N AoxNvAnZ9z+EQm/3dOunA623h9xuaWskJog5XaBjAxUho1OmpshFfPMQ71IC2vO/QG22 gpaT+JWPxyjDR6Eo8H5JiQ1xTYssotWKn+BUcP+23eGlkjwMwEFRzZIgFGqJcLAsyiIm OCUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=QbSV3kOSC3Q0zbJogYNKiHw9Cu3WR58c54PYFvFMNyQ=; b=Oii8ClVr8FISYizCEd699k0S9Kyv1x2a+FcIP+H2eAkgopNX5JKqfb+cUGd2PPNbHy n0qN2klLbukOLXQloQl5x7r2uoyqiP6kw8XGkH6+ZYqlqTFHC4lDm+XkS9+NUwVUfW2K nQ43YWYrilXgkotD9TXLnXgU6XpqqPDZ9wD2IBthl2MnFKsOEVAEanHFG03xoSg8O1GC fYTcw1WRqCf3UEbTuZ0GwkQQxB80cX9SWPF3vkbA4WZKu3c77CXVnTwNgj/UHmWxI7/V JoBSRDHC7pDbo6Vl+XYI0kxXAxUGMZFAPF5xeaMPgbqAtCSkUOY4gmJIwxi1SGp6/0rq CImw== X-Gm-Message-State: APjAAAVB7p7N3TFVd+qlaLKw5QXEXaSZO0WD8K4Mqn2TcdTAHgq5Shos ebpfelz5VxbN9Tx/G8Pgz0Z/dFh7QvA= X-Google-Smtp-Source: APXvYqzS0jvMq9xmOOco/oiK6W6a1/YTpkG/RdPwx5KxPn5KFZX+hA5i46WcnPyJa2lNpIrdx1+9sw== X-Received: by 2002:a63:2348:: with SMTP id u8mr1066020pgm.422.1571965455531; Thu, 24 Oct 2019 18:04:15 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.04.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:14 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 6/7] fsi: aspeed: Pass fsi_master_aspeed insead of base Date: Fri, 25 Oct 2019 12:03:50 +1100 Message-Id: <20191025010351.30298-7-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" In preparation for a future change. Signed-off-by: Joel Stanley --- drivers/fsi/fsi-master-aspeed.c | 61 +++++++++++++++++---------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index c98b1bf179a8..7e515b43b7a6 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -188,9 +188,10 @@ static u32 get_xfer_size(size_t size) { } } -static u32 opb_write(void __iomem *base, uint32_t addr, uint32_t val, - size_t size) +static u32 opb_write(struct fsi_master_aspeed *aspeed, uint32_t addr, + uint32_t val, size_t size) { + void __iomem *base = aspeed->base; u32 reg, ret, status, xfer_size; xfer_size = get_xfer_size(size); @@ -223,8 +224,10 @@ static u32 opb_write(void __iomem *base, uint32_t addr, uint32_t val, return 0; } -static int opb_read(void __iomem *base, uint32_t addr, size_t size, u32 *out) +static int opb_read(struct fsi_master_aspeed *aspeed, uint32_t addr, + size_t size, u32 *out) { + void __iomem *base = aspeed->base; u32 result, reg, xfer_size; int status, ret; @@ -271,9 +274,9 @@ static int check_errors(struct fsi_master_aspeed *aspeed, int err) if (trace_fsi_master_aspeed_opb_error_enabled()) { __be32 mresp0, mstap0, mesrb0; - opb_read(aspeed->base, ctrl_base + FSI_MRESP0, 4, &mresp0); - opb_read(aspeed->base, ctrl_base + FSI_MSTAP0, 4, &mstap0); - opb_read(aspeed->base, ctrl_base + FSI_MESRB0, 4, &mesrb0); + opb_read(aspeed, ctrl_base + FSI_MRESP0, 4, &mresp0); + opb_read(aspeed, ctrl_base + FSI_MSTAP0, 4, &mstap0); + opb_read(aspeed, ctrl_base + FSI_MESRB0, 4, &mesrb0); trace_fsi_master_aspeed_opb_error( be32_to_cpu(mresp0), @@ -285,7 +288,7 @@ static int check_errors(struct fsi_master_aspeed *aspeed, int err) /* Check MAEB (0x70) ? */ /* Then clear errors in master */ - ret = opb_write(aspeed->base, ctrl_base + 0xd0, + ret = opb_write(aspeed, ctrl_base + 0xd0, cpu_to_be32(0x20000000), 4); if (ret) { /* TODO: log? return different code? */ @@ -308,7 +311,7 @@ static int aspeed_master_read(struct fsi_master *master, int link, return -EINVAL; addr += link * FSI_HUB_LINK_SIZE; - ret = opb_read(aspeed->base, fsi_base + addr, size, val); + ret = opb_read(aspeed, fsi_base + addr, size, val); ret = check_errors(aspeed, ret); if (ret) @@ -327,7 +330,7 @@ static int aspeed_master_write(struct fsi_master *master, int link, return -EINVAL; addr += link * FSI_HUB_LINK_SIZE; - ret = opb_write(aspeed->base, fsi_base + addr, *(uint32_t *)val, size); + ret = opb_write(aspeed, fsi_base + addr, *(uint32_t *)val, size); ret = check_errors(aspeed, ret); if (ret) @@ -347,12 +350,12 @@ static int aspeed_master_link_enable(struct fsi_master *master, int link) reg = cpu_to_be32(0x80000000 >> bit); - result = opb_write(aspeed->base, ctrl_base + FSI_MSENP0 + (4 * idx), + result = opb_write(aspeed, ctrl_base + FSI_MSENP0 + (4 * idx), reg, 4); mdelay(FSI_LINK_ENABLE_SETUP_TIME); - ret = opb_read(aspeed->base, ctrl_base + FSI_MENP0 + (4 * idx), + ret = opb_read(aspeed, ctrl_base + FSI_MENP0 + (4 * idx), 4, &result); if (ret) return ret; @@ -428,46 +431,46 @@ static int aspeed_master_init(struct fsi_master_aspeed *aspeed) reg = cpu_to_be32(FSI_MRESP_RST_ALL_MASTER | FSI_MRESP_RST_ALL_LINK | FSI_MRESP_RST_MCR | FSI_MRESP_RST_PYE); - opb_write(aspeed->base, ctrl_base + FSI_MRESP0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MRESP0, reg, 4); /* Initialize the MFSI (hub master) engine */ reg = cpu_to_be32(FSI_MRESP_RST_ALL_MASTER | FSI_MRESP_RST_ALL_LINK | FSI_MRESP_RST_MCR | FSI_MRESP_RST_PYE); - opb_write(aspeed->base, ctrl_base + FSI_MRESP0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MRESP0, reg, 4); reg = cpu_to_be32(FSI_MECTRL_EOAE | FSI_MECTRL_P8_AUTO_TERM); - opb_write(aspeed->base, ctrl_base + FSI_MECTRL, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MECTRL, reg, 4); reg = cpu_to_be32(FSI_MMODE_ECRC | FSI_MMODE_EPC | FSI_MMODE_RELA | fsi_mmode_crs0(DEFAULT_DIVISOR) | fsi_mmode_crs1(DEFAULT_DIVISOR) | FSI_MMODE_P8_TO_LSB); - opb_write(aspeed->base, ctrl_base + FSI_MMODE, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MMODE, reg, 4); reg = cpu_to_be32(0xffff0000); - opb_write(aspeed->base, ctrl_base + FSI_MDLYR, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MDLYR, reg, 4); reg = cpu_to_be32(~0); - opb_write(aspeed->base, ctrl_base + FSI_MSENP0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MSENP0, reg, 4); /* Leave enabled long enough for master logic to set up */ mdelay(FSI_LINK_ENABLE_SETUP_TIME); - opb_write(aspeed->base, ctrl_base + FSI_MCENP0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MCENP0, reg, 4); - opb_read(aspeed->base, ctrl_base + FSI_MAEB, 4, NULL); + opb_read(aspeed, ctrl_base + FSI_MAEB, 4, NULL); reg = cpu_to_be32(FSI_MRESP_RST_ALL_MASTER | FSI_MRESP_RST_ALL_LINK); - opb_write(aspeed->base, ctrl_base + FSI_MRESP0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MRESP0, reg, 4); - opb_read(aspeed->base, ctrl_base + FSI_MLEVP0, 4, NULL); + opb_read(aspeed, ctrl_base + FSI_MLEVP0, 4, NULL); /* Reset the master bridge */ reg = cpu_to_be32(FSI_MRESB_RST_GEN); - opb_write(aspeed->base, ctrl_base + FSI_MRESB0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MRESB0, reg, 4); reg = cpu_to_be32(FSI_MRESB_RST_ERR); - opb_write(aspeed->base, ctrl_base + FSI_MRESB0, reg, 4); + opb_write(aspeed, ctrl_base + FSI_MRESB0, reg, 4); return 0; } @@ -478,7 +481,7 @@ static int fsi_master_aspeed_debugfs_get(void *data, u64 *val) u32 out; struct fsi_master_aspeed_debugfs_entry *entry = data; - rc = opb_read(entry->aspeed->base, ctrl_base + entry->addr, 4, &out); + rc = opb_read(entry->aspeed, ctrl_base + entry->addr, 4, &out); if (rc) return rc; @@ -491,7 +494,7 @@ static int fsi_master_aspeed_debugfs_set(void *data, u64 val) u32 in = cpu_to_be32((u32)(val & 0xFFFFFFFFULL)); struct fsi_master_aspeed_debugfs_entry *entry = data; - rc = opb_write(entry->aspeed->base, ctrl_base + entry->addr, in, 4); + rc = opb_write(entry->aspeed, ctrl_base + entry->addr, in, 4); if (rc) return rc; @@ -507,7 +510,7 @@ static int fsi_master_aspeed_clock_debugfs_get(void *data, u64 *val) u32 out; int rc; - rc = opb_read(aspeed->base, ctrl_base, 4, &out); + rc = opb_read(aspeed, ctrl_base, 4, &out); if (rc) return rc; @@ -525,7 +528,7 @@ static int fsi_master_aspeed_clock_debugfs_set(void *data, u64 val) if (val > 0x3ff) return -EINVAL; - rc = opb_read(aspeed->base, ctrl_base, 4, &raw); + rc = opb_read(aspeed, ctrl_base, 4, &raw); if (rc) return rc; @@ -534,7 +537,7 @@ static int fsi_master_aspeed_clock_debugfs_set(void *data, u64 val) reg &= ~(0x3ff << 18); reg |= (val & 0x3ff) << 18; - rc = opb_write(aspeed->base, ctrl_base, cpu_to_be32(reg), 4); + rc = opb_write(aspeed, ctrl_base, cpu_to_be32(reg), 4); if (rc) return rc; @@ -598,7 +601,7 @@ static int fsi_master_aspeed_probe(struct platform_device *pdev) */ writel(0x1, aspeed->base + OPB0_SELECT); - rc = opb_read(aspeed->base, ctrl_base + FSI_MVER, 4, &raw); + rc = opb_read(aspeed, ctrl_base + FSI_MVER, 4, &raw); if (rc) { dev_err(&pdev->dev, "failed to read hub version\n"); return rc; From patchwork Fri Oct 25 01:03:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1183698 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zmM01YSJz9sPf for ; Fri, 25 Oct 2019 12:13:00 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f0CjRVk1"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 46zmM00S6jzDqgC for ; Fri, 25 Oct 2019 12:13:00 +1100 (AEDT) X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::541; helo=mail-pg1-x541.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=jms.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f0CjRVk1"; dkim-atps=neutral Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46zm9075QpzDqll for ; Fri, 25 Oct 2019 12:04:20 +1100 (AEDT) Received: by mail-pg1-x541.google.com with SMTP id 15so378224pgt.7 for ; Thu, 24 Oct 2019 18:04:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=C5auRmtaEk9cyj8O+bA/pjEj1sOtqSs7hhGUsEfKBrk=; b=f0CjRVk1igUy3ZnmzujkzwosgDNoOYvbVuVgM0MycIId2jaB/RYfUz3H0dlRPxAMEw erj0kOTiZsfNgd2W3F/CyuHVfpZc/GNOUGjTU/lc5aKANDb5ldJAebfGuxBUfkuKVw8N i7pP43sSiIxpwbvf2z8u8D9ITLajWCBC3KMKvF+HlPhY5V3U0u+5le4uglSoHEdyx9tS Cgj1VO23kWMb5ALOH76J0OQIx8NxRDMWupNtk54++V04yoGK8gCKQ2vNuLrd1BZO14dt 7rtI7W5dZwcXrm1zINVu0H1hM8ZeRbARFLG9hZEGBJACWhWtIZvvNKN/GNjqQElFMwG1 5pYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=C5auRmtaEk9cyj8O+bA/pjEj1sOtqSs7hhGUsEfKBrk=; b=Jy2aB9zLFFgsLPi8vTO8PzD7g5ioJiRu7/oKtnqgEI2t+jWdRgZuWBvzkUuIWFKhFO 5ET+S/kVHvqbqabUsJ3BbCRELLjS/uGXQWg83v0JqgW27/SoY1BdogaFCDBPiFYZKYva l23c6CiFKZm+GH2UonJJzawNmf9P3bv7jw5e2KmJ4VAMuSkZbrE5HDZKzhbxMiKAmFhA I8ij6cBimrbuh/G2qOKcMwu3U4Dbc6rgilxt9Z0o9g0RlnDczHlGN9a24t0ABve6QbzY CiE6QvHHcNF+UUdnkHNg/+O4f3H2E5N/mLBrpXSwGwTZ2zla5cQX7iGdEKuJptIPXJSK gEsg== X-Gm-Message-State: APjAAAUyT2lq/DVzY8sGxWLCeBLQvp5QPysjsEpwvC4rPQHH7UMCT9G/ YttJg98Mfxd5tcFf4vE3Oaw= X-Google-Smtp-Source: APXvYqwvWHRR5zyVxVVBYtnVsKxxMgmAG2QvQLvAWt/t/Bl+hFEXKc1yyNvn6Kb61V/tRQVqnE6Sow== X-Received: by 2002:a17:90a:ad95:: with SMTP id s21mr613907pjq.11.1571965458310; Thu, 24 Oct 2019 18:04:18 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id l22sm231786pgj.4.2019.10.24.18.04.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 18:04:17 -0700 (PDT) From: Joel Stanley To: Jeremy Kerr , Andrew Jeffery Subject: [PATCH linux dev-5.3 7/7] fsi: aspeed: Special case repeated full word reads Date: Fri, 25 Oct 2019 12:03:51 +1100 Message-Id: <20191025010351.30298-8-joel@jms.id.au> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191025010351.30298-1-joel@jms.id.au> References: <20191025010351.30298-1-joel@jms.id.au> MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: openbmc@lists.ozlabs.org Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" The driver can skip doing some of the AHB2OPB setup if the operation is of the same type. Experiment with this for full word reads, which could be extended to writes if it shows an improvement. Signed-off-by: Joel Stanley --- drivers/fsi/fsi-master-aspeed.c | 50 ++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index 7e515b43b7a6..30e818728402 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -92,6 +92,8 @@ struct fsi_master_aspeed { void __iomem *base; struct clk *clk; + bool last_was_fw_read; + struct dentry *debugfs_dir; struct fsi_master_aspeed_debugfs_entry debugfs[FSI_NUM_DEBUGFS_ENTRIES]; }; @@ -205,6 +207,8 @@ static u32 opb_write(struct fsi_master_aspeed *aspeed, uint32_t addr, writel(0x1, base + OPB_IRQ_CLEAR); writel(0x1, base + OPB_TRIGGER); + aspeed->last_was_fw_read = false; + ret = readl_poll_timeout(base + OPB_IRQ_STATUS, reg, (reg & OPB0_XFER_ACK_EN) != 0, 0, 10000); @@ -224,6 +228,43 @@ static u32 opb_write(struct fsi_master_aspeed *aspeed, uint32_t addr, return 0; } +static int opb_read_repeat_fullword(struct fsi_master_aspeed *aspeed, + uint32_t addr, u32 *out) +{ + void __iomem *base = aspeed->base; + u32 result, reg; + int status, ret; + + writel(addr, base + OPB0_FSI_ADDR); + writel(0x1, base + OPB_IRQ_CLEAR); + writel(0x1, base + OPB_TRIGGER); + + ret = readl_poll_timeout(base + OPB_IRQ_STATUS, reg, + (reg & OPB0_XFER_ACK_EN) != 0, + 0, 10000); + + status = readl(base + OPB0_STATUS); + + result = readl(base + OPB0_FSI_DATA_R); + + trace_fsi_master_aspeed_opb_read(addr, 4, result, + readl(base + OPB0_STATUS), + reg); + + /* Return error when poll timed out */ + if (ret) + return ret; + + /* Command failed, master will reset */ + if (status & STATUS_ERR_ACK) + return -EIO; + + if (out) + memcpy(out, &result, 4); + + return 0; +} + static int opb_read(struct fsi_master_aspeed *aspeed, uint32_t addr, size_t size, u32 *out) { @@ -241,6 +282,9 @@ static int opb_read(struct fsi_master_aspeed *aspeed, uint32_t addr, writel(0x1, base + OPB_IRQ_CLEAR); writel(0x1, base + OPB_TRIGGER); + if (size == 4) + aspeed->last_was_fw_read = true; + ret = readl_poll_timeout(base + OPB_IRQ_STATUS, reg, (reg & OPB0_XFER_ACK_EN) != 0, 0, 10000); @@ -311,7 +355,11 @@ static int aspeed_master_read(struct fsi_master *master, int link, return -EINVAL; addr += link * FSI_HUB_LINK_SIZE; - ret = opb_read(aspeed, fsi_base + addr, size, val); + + if (aspeed->last_was_fw_read) + ret = opb_read_repeat_fullword(aspeed, fsi_base + addr, val); + else + ret = opb_read(aspeed, fsi_base + addr, size, val); ret = check_errors(aspeed, ret); if (ret)