From patchwork Mon Aug 12 07:28:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Appana Durga Kedareswara rao X-Patchwork-Id: 11089387 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 35644912 for ; Mon, 12 Aug 2019 07:29:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1F14720502 for ; Mon, 12 Aug 2019 07:29:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 128E3271E6; Mon, 12 Aug 2019 07:29:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0511320502 for ; Mon, 12 Aug 2019 07:28:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qRJk038OmHbWH4Yti0UJjBQOfhRbMhDvBKVyAwL97tc=; b=oHxfOUB1ilxwYr GKap9D1kLT9N/Lw9erIPeBObZw4LAKqGx9GWb/7K3n7H+GpJ9VLSXfZab0bmOw+IdxlYdxx1XfVEh TNLZHzbk3X+Zopo9QpUnMvePkougyHTGFrFdcayExxfbYvwPeiw/UarxApNlPa40oD99MIaL5hhqI PLdDWhmNYL1bsqLpbjq4bukVSxgzKALxxZ/QUcRePJNvDD5b71JR0G0iJKdWLinxy2n2XehenVxRp +mXzLCrwXpxEBVBa7wl6Goz/z64IwLsHizcuktqKma5rwm2PcKqhm5dV8cNXeR0Y3hVYhQxjcgY2x 4BNHpBbYlqwgFmzXiMow==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lF-0002Ga-3w; Mon, 12 Aug 2019 07:28:57 +0000 Received: from mail-eopbgr700082.outbound.protection.outlook.com ([40.107.70.82] helo=NAM04-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lB-0002GH-Vv for linux-arm-kernel@lists.infradead.org; Mon, 12 Aug 2019 07:28:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R9YmZwUSi2+B08oPkJuyCSrlma5ABiFRxgXFJ93m0c18fgapqMoUjmPSlxo83kq10dc/oaz9UUVCKZoyxJqqM35T1JavzOm4g3i+5NI5L2M8F/Y5H9n31Va06mEzdohwggPIMo+VmxOJVBX3JfW0+zKBTtS73zCUyAh2+RzzELdMmMNaLwqdFphDS8gDt7p5KSBhgWqRbXA78SwXuLiHiSqjHPrzn4rVWvxFgmtrtLIF4rju35en6sHyiDoDmrggHtsPG7Nf3PUK+4Z7sjntjRkAq7KiBmqf96twlrJ73k+n5O82Og7DiCwovMGr6JFBTiplajwXhfbTpApYRUiybQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W8aKgSiYW3EFieVi3U16SD+TF8QQc/icXf/BNagDnRc=; b=Lav8nWQm7423OteX5uACBTxnWz6cTWFARhyA4qnqaNvhyUTcP3i0wmocCgXyWxm0rBc6rw+CzpXUJyXLjVL5g7ql5L8zJLUx4SncwfF0TuH77DaEo92mKnwJF7FLCHgf/Y1s8dV8yp/A5dcI7IqJHsCihJSaQLh7bJHixk7gqOPu8zY0Cy46QFf02E8Gi+rNpE9Ztg5YzdR2uzQAqTwesuiNxhjWE2hsoJ8hcVJVkwQtEI8qKLbi7cWFT2gai5O6WGQ0VAejNfKTJERNz+LWPJvJYjYFZWD4qxB+EDpV/y6uC+lSJF5FRvxg+dEgUEjw2WzBcHqIaBGg7UajXoXFbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.100) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W8aKgSiYW3EFieVi3U16SD+TF8QQc/icXf/BNagDnRc=; b=nZ1zx6LHZH+KoSPkOEk4Du1/QLL5I8IdbC8xgLMWMYo4sPs56aToChHcu0+V7xo6aPHJpama1o5wfGUAh3lEjdDuXrR9uajuKWzwER2RfwCMBrS5gpmaecJwQk9SNgi97NGEL6f/KG/uU0ApXbHFL/pD9xvMQgJNEEo3wQICJLY= Received: from BN6PR02CA0029.namprd02.prod.outlook.com (2603:10b6:404:5f::15) by DM6PR02MB4825.namprd02.prod.outlook.com (2603:10b6:5:10::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.16; Mon, 12 Aug 2019 07:28:51 +0000 Received: from SN1NAM02FT036.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::203) by BN6PR02CA0029.outlook.office365.com (2603:10b6:404:5f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.14 via Frontend Transport; Mon, 12 Aug 2019 07:28:50 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by SN1NAM02FT036.mail.protection.outlook.com (10.152.72.149) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2157.15 via Frontend Transport; Mon, 12 Aug 2019 07:28:50 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:47617 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1hx4l7-00072L-Rm; Mon, 12 Aug 2019 00:28:49 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1hx4l2-0000dz-OW; Mon, 12 Aug 2019 00:28:44 -0700 Received: from xsj-pvapsmtp01 (xsj-smtp1.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x7C7ShEB021521; Mon, 12 Aug 2019 00:28:43 -0700 Received: from [10.140.6.6] (helo=xhdappanad40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4l0-0000d9-RZ; Mon, 12 Aug 2019 00:28:43 -0700 From: Appana Durga Kedareswara rao To: wg@grandegger.com, mkl@pengutronix.de, davem@davemloft.net, michal.simek@xilinx.com Subject: [PATCH 1/5] can: xilinx_can: defer the probe if clock is not found Date: Mon, 12 Aug 2019 12:58:30 +0530 Message-Id: <1565594914-18999-2-git-send-email-appana.durga.rao@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> References: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(346002)(396003)(376002)(39860400002)(136003)(2980300002)(189003)(199004)(486006)(446003)(2616005)(63266004)(14444005)(336012)(70586007)(47776003)(316002)(476003)(106002)(51416003)(50226002)(426003)(36386004)(7696005)(9786002)(11346002)(70206006)(36756003)(50466002)(4326008)(6666004)(305945005)(186003)(356004)(48376002)(5660300002)(8936002)(81156014)(16586007)(76176011)(6636002)(81166006)(126002)(107886003)(478600001)(8676002)(2906002)(26005)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR02MB4825; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8a44a75b-03d5-4861-b272-08d71ef6b8a6 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(4709080)(1401327)(2017052603328); SRVR:DM6PR02MB4825; X-MS-TrafficTypeDiagnostic: DM6PR02MB4825: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:1186; X-Forefront-PRVS: 012792EC17 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: Se716XDVyWFgNMYCUY89d/28A8BdfceQvmoOPieudO4pGGInDN10AiPh/FFgruKrpTA5JuEuMaA237NoV9I8mmg9q3IhHoVzsFMqopx69qN9TID3IVtcTcESnufDUNdrOTjOr2JRQwW2aV+P9I3zQ2vkSmZHadBB3NRy1sxp3H5HrG5TQ5HBF1lTClQLBrxiMqj445HbpMu6zr5U2m1qejkzKJhMLwwsnEUBS5EE17kB7YkMOlBPKepUJozZjOK4eX8yHLAX1BriYTdlPOPOK1cYkoimvPJzaC+SXaMkcxLVcY/w0p3MF6/xueFA6RHj/X8WKZe4Nh3wdqntQvWOj+l3ZZLGYdlbobBi9KWibwc006WxkvQPHQkajQUjpfCqbK2OHJmLjm33+tif7SH9InkC1u2kcBGtTq7yxYuXH3s= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2019 07:28:50.2062 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8a44a75b-03d5-4861-b272-08d71ef6b8a6 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB4825 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190812_002854_030411_6CD86106 X-CRM114-Status: GOOD ( 12.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org, Venkatesh Yadav Abbarapu , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Venkatesh Yadav Abbarapu It's not always the case that clock is already available when can driver get probed at the first time, e.g. the clock is provided by clock wizard which may be probed after can driver. So let's defer the probe when devm_clk_get() call fails and give it chance to try later. Signed-off-by: Venkatesh Yadav Abbarapu Signed-off-by: Michal Simek --- drivers/net/can/xilinx_can.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index bd95cfa..ac175ab 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -1791,7 +1791,8 @@ static int xcan_probe(struct platform_device *pdev) /* Getting the CAN can_clk info */ priv->can_clk = devm_clk_get(&pdev->dev, "can_clk"); if (IS_ERR(priv->can_clk)) { - dev_err(&pdev->dev, "Device clock not found.\n"); + if (PTR_ERR(priv->can_clk) != -EPROBE_DEFER) + dev_err(&pdev->dev, "Device clock not found.\n"); ret = PTR_ERR(priv->can_clk); goto err_free; } From patchwork Mon Aug 12 07:28:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Appana Durga Kedareswara rao X-Patchwork-Id: 11089395 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0133B13AC for ; Mon, 12 Aug 2019 07:30:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DB8B226E55 for ; Mon, 12 Aug 2019 07:30:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CA2EA27F4B; Mon, 12 Aug 2019 07:30:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 30E9F26E55 for ; Mon, 12 Aug 2019 07:30:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7AxZM1obpX9YqCLWcIK2Iqhoj7SBNfMNaOCTndeyHC8=; b=cCkGhRy5nIZAbv 52E2JhapzVNwstREutZMYFJ7KisalfntqKr9a/wAy3ifce95qJZqlLEdKdL1k4KxSkweKoZdbvTjm l7BBjKThU2lL5KrEasZZKw0HmPNSo/C/+6zJ4pJvCvyfuOozRqNOwgKpDv8TcRlHJndomqB3xkgSm 7NP8H9PgjVljAk+HRYV5hjgLSaumZY83YDZxKXvUthgOkqjQ5UyrxZUZQNjzeY6yZIGH5U5l7ZPLt W3G2Wxmh3nHE0Yhh3SsbyeHZI3GoCd2vZdaVvGWQvHJuqC45plswn2LxPn4BM4XUnzbv1wZZlI2Vm dF6t1U03fq1ebhyVcNxw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hx4mP-0003nz-AP; Mon, 12 Aug 2019 07:30:10 +0000 Received: from mail-eopbgr800057.outbound.protection.outlook.com ([40.107.80.57] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lN-0002Ou-U2 for linux-arm-kernel@lists.infradead.org; Mon, 12 Aug 2019 07:29:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oHv4uihfxWAQ4p7kBFhMe5AqIs87/l/TEgZxm/IxJ8mtbPmrujOSS7PHHgvPrZ7sIPOlhpt6+XZxM69RWM8OvDpRY0wCUJ51Bf2UzLXmDwCm8CiyEHKPCiNaUnwgXxWIWQ/pRvSCGARX5QX0Gxs2tW2N0TYoGa7/go5GnVvAx1vLjT/Jjmx3BNaKhVot65vvUX/55cNLBV2g/4mjoP9vYinqfWWrlym/dEmrfWoSREvO1vhDXEmV19NZeRDe+OJBnQYHMYxXzKKRoHA/UH7YhEq7N0ATw4OLOCZ9pjvNnnNIcMWB3ZrqnCTNxSVOuvhAmHmiDjPeax3c3xe/y1Ev8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7XSGZwcTzQF1bLhmOV2mLxLRC5K+S177LYiWGvO4Lns=; b=WAvrHe9OUaLnKHshgBrBCwIZKlyf1rR5niuAdox09bxjObAUWhK5MnDbTsc64ISF/DctbgS4A6iTkasJBqrfKyo3G6FG0upa4gex0u2L1/1xZfWZdLC4YlbR0IjWkBgjxrcXyLxqKUs7mz61XxqHvurZ7RDSICuK0jhd9a308pzTmipDUXVYHtorajS8LMI080i6GdiVdyBzRag3ih1GfPxOiy9R/7opqxsxrypl+KAzTw832vS7CSrb2aBvPHgzbajd3emUgn5T2r8mmGj81LV03Z1YubY0rJ73TVWFMzDWtm+u8rX34rYgB//dIIwmzgxm7m33rPsBMvTxaFnaXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7XSGZwcTzQF1bLhmOV2mLxLRC5K+S177LYiWGvO4Lns=; b=R6RO7XnsvluC7QMgM7I28cp6JOoi7+VCie51e1NKTFb/1KCA+EwSN635weeGW05DQr1BgAIfxGq5oWhO4+ArNpc6FG58x2ItRAQENWj02n/vcVKBKO3wrA6WEQfZd3p4uJGEgY8fPxxbpz+6SH3k303/HlTFKleQJ/i+549PI5w= Received: from BN7PR02CA0006.namprd02.prod.outlook.com (2603:10b6:408:20::19) by DM5PR0201MB3622.namprd02.prod.outlook.com (2603:10b6:4:78::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.18; Mon, 12 Aug 2019 07:29:02 +0000 Received: from CY1NAM02FT045.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::207) by BN7PR02CA0006.outlook.office365.com (2603:10b6:408:20::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2157.18 via Frontend Transport; Mon, 12 Aug 2019 07:29:01 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT045.mail.protection.outlook.com (10.152.75.111) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2157.15 via Frontend Transport; Mon, 12 Aug 2019 07:29:00 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4lI-0001ga-1r; Mon, 12 Aug 2019 00:29:00 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1hx4lC-0000eU-Uv; Mon, 12 Aug 2019 00:28:54 -0700 Received: from xsj-pvapsmtp01 (mail.xilinx.com [149.199.38.66] (may be forged)) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x7C7SksL021531; Mon, 12 Aug 2019 00:28:46 -0700 Received: from [10.140.6.6] (helo=xhdappanad40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4l3-0000d9-KS; Mon, 12 Aug 2019 00:28:46 -0700 From: Appana Durga Kedareswara rao To: wg@grandegger.com, mkl@pengutronix.de, davem@davemloft.net, michal.simek@xilinx.com Subject: [PATCH 2/5] can: xilinx_can: Fix FSR register handling in the rx path Date: Mon, 12 Aug 2019 12:58:31 +0530 Message-Id: <1565594914-18999-3-git-send-email-appana.durga.rao@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> References: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(4636009)(346002)(376002)(396003)(39860400002)(136003)(2980300002)(189003)(199004)(76176011)(186003)(5660300002)(51416003)(7696005)(446003)(336012)(426003)(2616005)(476003)(126002)(486006)(36386004)(305945005)(63266004)(11346002)(50466002)(6636002)(356004)(6666004)(2906002)(48376002)(26005)(478600001)(4326008)(70586007)(50226002)(8936002)(81156014)(14444005)(8676002)(70206006)(9786002)(81166006)(16586007)(106002)(316002)(47776003)(36756003)(107886003)(42866002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0201MB3622; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9e4d64cc-72c4-4bb6-75bf-08d71ef6befe X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(4709080)(1401327)(2017052603328); SRVR:DM5PR0201MB3622; X-MS-TrafficTypeDiagnostic: DM5PR0201MB3622: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:758; X-Forefront-PRVS: 012792EC17 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: ARslWlvPvCEKDBgQl9yM6boH9DdtstbRADjPl/WGJKvkArsiUS0L70qzb8t5+2hUovtiwxn4B30vWDgTXT+fddPQ+mOXqUzF5LxrgZme/5IqHPuNA7ZgyqcoXflWKCD0OFdeu/6nEW5wbP9ZagC3Z40bWwDi8jzGCjdUZmzWQDb9mq62Cl66tQlosz+ypCadbiKZCeREM4d/noHQXoa5qogus9YmzTy9dDw5fAbfL0KOpfiweTDgKPWiltmtpRHzQNXCXS2LP8Mw/lrW3/fQ3Xf78MxwA/Puuyaf2fStPPwamFpIRUHdgw29/ppULxj42x0T7RJxeWkSz/PLICzHaM0pZNzaxTxRQ0D7lAiJWN+QXxpdq/d+5g5zJMDMeKUBwERnmodlgYjvL8jEPC7Z43ge+p3EhYjkEvLVHoCOa/o= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2019 07:29:00.6366 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9e4d64cc-72c4-4bb6-75bf-08d71ef6befe X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0201MB3622 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190812_002906_013589_B545A7CD X-CRM114-Status: GOOD ( 13.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org, Appana Durga Kedareswara rao , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP After commit c223da689324 ("can: xilinx_can: Add support for CANFD FD frames") Driver is updating the FSR IRI index multiple times(i.e in xcanfd_rx() and xcan_rx_fifo_get_next_frame()), It should be updated once per rx packet this patch fixes this issue, also this patch removes the unnecessary fsr register checks in xcanfd_rx() API. Reviewed-by: Radhey Shyam Pandey Reviewed-by: Shubhrajyoti Datta Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Michal Simek --- drivers/net/can/xilinx_can.c | 139 ++++++++++++++++++++----------------------- 1 file changed, 63 insertions(+), 76 deletions(-) diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index ac175ab..2d3399e 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -819,91 +819,78 @@ static int xcanfd_rx(struct net_device *ndev, int frame_base) u32 id_xcan, dlc, data[2] = {0, 0}, dwindex = 0, i, fsr, readindex; fsr = priv->read_reg(priv, XCAN_FSR_OFFSET); - if (fsr & XCAN_FSR_FL_MASK) { - readindex = fsr & XCAN_FSR_RI_MASK; - id_xcan = priv->read_reg(priv, - XCAN_FRAME_ID_OFFSET(frame_base)); - dlc = priv->read_reg(priv, XCAN_FRAME_DLC_OFFSET(frame_base)); - if (dlc & XCAN_DLCR_EDL_MASK) - skb = alloc_canfd_skb(ndev, &cf); - else - skb = alloc_can_skb(ndev, (struct can_frame **)&cf); + readindex = fsr & XCAN_FSR_RI_MASK; + id_xcan = priv->read_reg(priv, XCAN_FRAME_ID_OFFSET(frame_base)); + dlc = priv->read_reg(priv, XCAN_FRAME_DLC_OFFSET(frame_base)); + if (dlc & XCAN_DLCR_EDL_MASK) + skb = alloc_canfd_skb(ndev, &cf); + else + skb = alloc_can_skb(ndev, (struct can_frame **)&cf); - if (unlikely(!skb)) { - stats->rx_dropped++; - return 0; - } + if (unlikely(!skb)) { + stats->rx_dropped++; + return 0; + } - /* Change Xilinx CANFD data length format to socketCAN data - * format - */ - if (dlc & XCAN_DLCR_EDL_MASK) - cf->len = can_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >> + /* Change Xilinx CANFD data length format to socketCAN data + * format + */ + if (dlc & XCAN_DLCR_EDL_MASK) + cf->len = can_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >> + XCAN_DLCR_DLC_SHIFT); + else + cf->len = get_can_dlc((dlc & XCAN_DLCR_DLC_MASK) >> XCAN_DLCR_DLC_SHIFT); - else - cf->len = get_can_dlc((dlc & XCAN_DLCR_DLC_MASK) >> - XCAN_DLCR_DLC_SHIFT); - - /* Change Xilinx CAN ID format to socketCAN ID format */ - if (id_xcan & XCAN_IDR_IDE_MASK) { - /* The received frame is an Extended format frame */ - cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; - cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> - XCAN_IDR_ID2_SHIFT; - cf->can_id |= CAN_EFF_FLAG; - if (id_xcan & XCAN_IDR_RTR_MASK) - cf->can_id |= CAN_RTR_FLAG; - } else { - /* The received frame is a standard format frame */ - cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> - XCAN_IDR_ID1_SHIFT; - if (!(dlc & XCAN_DLCR_EDL_MASK) && (id_xcan & - XCAN_IDR_SRR_MASK)) - cf->can_id |= CAN_RTR_FLAG; - } - /* Check the frame received is FD or not*/ - if (dlc & XCAN_DLCR_EDL_MASK) { - for (i = 0; i < cf->len; i += 4) { - if (priv->devtype.flags & XCAN_FLAG_CANFD_2) - data[0] = priv->read_reg(priv, + /* Change Xilinx CAN ID format to socketCAN ID format */ + if (id_xcan & XCAN_IDR_IDE_MASK) { + /* The received frame is an Extended format frame */ + cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; + cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> + XCAN_IDR_ID2_SHIFT; + cf->can_id |= CAN_EFF_FLAG; + if (id_xcan & XCAN_IDR_RTR_MASK) + cf->can_id |= CAN_RTR_FLAG; + } else { + /* The received frame is a standard format frame */ + cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> + XCAN_IDR_ID1_SHIFT; + if (!(dlc & XCAN_DLCR_EDL_MASK) && (id_xcan & + XCAN_IDR_SRR_MASK)) + cf->can_id |= CAN_RTR_FLAG; + } + + /* Check the frame received is FD or not*/ + if (dlc & XCAN_DLCR_EDL_MASK) { + for (i = 0; i < cf->len; i += 4) { + if (priv->devtype.flags & XCAN_FLAG_CANFD_2) + data[0] = priv->read_reg(priv, (XCAN_RXMSG_2_FRAME_OFFSET(readindex) + (dwindex * XCANFD_DW_BYTES))); - else - data[0] = priv->read_reg(priv, + else + data[0] = priv->read_reg(priv, (XCAN_RXMSG_FRAME_OFFSET(readindex) + - (dwindex * XCANFD_DW_BYTES))); - *(__be32 *)(cf->data + i) = - cpu_to_be32(data[0]); - dwindex++; - } - } else { - for (i = 0; i < cf->len; i += 4) { - if (priv->devtype.flags & XCAN_FLAG_CANFD_2) - data[0] = priv->read_reg(priv, - XCAN_RXMSG_2_FRAME_OFFSET(readindex) + i); - else - data[0] = priv->read_reg(priv, - XCAN_RXMSG_FRAME_OFFSET(readindex) + i); - *(__be32 *)(cf->data + i) = - cpu_to_be32(data[0]); - } + (dwindex * XCANFD_DW_BYTES))); + *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); + dwindex++; + } + } else { + for (i = 0; i < cf->len; i += 4) { + if (priv->devtype.flags & XCAN_FLAG_CANFD_2) + data[0] = priv->read_reg(priv, + XCAN_RXMSG_2_FRAME_OFFSET(readindex) + + i); + else + data[0] = priv->read_reg(priv, + XCAN_RXMSG_FRAME_OFFSET(readindex) + i); + *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); } - /* Update FSR Register so that next packet will save to - * buffer - */ - fsr = priv->read_reg(priv, XCAN_FSR_OFFSET); - fsr |= XCAN_FSR_IRI_MASK; - priv->write_reg(priv, XCAN_FSR_OFFSET, fsr); - fsr = priv->read_reg(priv, XCAN_FSR_OFFSET); - stats->rx_bytes += cf->len; - stats->rx_packets++; - netif_receive_skb(skb); - - return 1; } - /* If FSR Register is not updated with fill level */ - return 0; + stats->rx_bytes += cf->len; + stats->rx_packets++; + netif_receive_skb(skb); + + return 1; } /** From patchwork Mon Aug 12 07:28:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Appana Durga Kedareswara rao X-Patchwork-Id: 11089393 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A4E98112C for ; Mon, 12 Aug 2019 07:29:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8F46620502 for ; Mon, 12 Aug 2019 07:29:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 83730271E6; Mon, 12 Aug 2019 07:29:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0F2E020502 for ; Mon, 12 Aug 2019 07:29:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+iXAyivi5mL4kIhk8H0idxb737k4HyNf3UZWfaJyhvc=; b=ZQqiOQEVd6L2XS tGOJmPeOf+IDnHI5PCD9vj0VLrPbxrgMO+i9AqiUAk4xI8+XEuXt/TeqfUMbCVLCmQWJzc2kRQUpa u/P3r4w37Vw1PIzVT+lVaJiwVKC79jVnFEwNKhdEx/s+V+yWummtQdduvwQqv3dMNDOMLHW3fY0dq /vR8Bj1v1U+fCkOT+u26x+eC2lCUWeytvSFuHyihiZO7YDPjkE80I2isHfNmltCScz7z98uoROKil qbhE9vFQsyOd6xv3LjNLCqtXGFluZUHuCwALNxWNXB0F100EuzIq12Pg9tUEmNbugZDM9hnvMoiqH qFTCTO/NNVYsmn2xM8Fg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hx4m3-0002y0-H0; Mon, 12 Aug 2019 07:29:47 +0000 Received: from mail-eopbgr800073.outbound.protection.outlook.com ([40.107.80.73] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lM-0002MS-2g for linux-arm-kernel@lists.infradead.org; Mon, 12 Aug 2019 07:29:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZKgGb6amhUCMBJCDbuoR363apBBPzT6HKsu+ORqeNralAdRQqvSiyiPoy6wbw1aZTNpEyzoKvOsdPAZ/FpyUuTCHnrxacqsCd2MCCE3Rd73G489dK4IvYd2ixAd/hTNF+8ksfKZVZ6lBPPdSt/R5OAbZW7hK1hox5splyGYvQwDSQLNZsX9rpCP/dpFQfrOcKpfI7dQeU8tdOIhZuk/GfrjWC4jia+lEtQBE1mN+kiMlDresU0a/mAGXRzmLrYVKGkIlujaTN4AOQrlvesHYkSqTfMg+Sf9fEIZoiNUpG7HUQyktKs4PCckfIMv3NKBZnXBBlQYWlhmF5a+GFCi4RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cSMmvAeIgCvSvsajDhb72aGebUIKVXn6o/W6hDVlOJ0=; b=XfKgfhSqjDMyUaSfD/bxE0p6JHYVPLCGL6xL/qbcAq2vnHjmHMX9JSBnFa4OI9BtJYoac1JUcQtzBYO7M8yhjy1LfKz0oCyFyC1tVAhokrRHMMO+DsKoAxqGYyS8D8WaFJ5W4p5wiucSpRPBm8CBUNLo4oJ2nC3908sZLbfvW1fyVzpaHmKD9rET9lrR/zN8SB9o00/mWOfb2KPqqYw5J0mkBw9eFy7mHE7gfRSC0eUfFXJa0Tz5KRwHdwj6nQu/9NFEaw9UG9gHaMoTXLZElrqIuScfDC6deAhJ0DkB+QNnc7BVkrXliB26Z4ojyHD+2Jaz4faNrfTfcwGOA8uXyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cSMmvAeIgCvSvsajDhb72aGebUIKVXn6o/W6hDVlOJ0=; b=cL267T861NiikgjfOWVnZ0ND8+lkRkKkx7mxbFtaCxXVLK5DYLcTgOP7WBdyd82+e40himvoAwNipze1ntAtqNulV8NTgzJJXsQBKcA8Bh/bLlXxgY0gxbXUzLoizkQXtMi5Qg6gvNog8a/p0aR4uSgnRKSLpu/6ZByQtj1ISGc= Received: from BN6PR02CA0036.namprd02.prod.outlook.com (2603:10b6:404:5f::22) by SN6PR02MB4832.namprd02.prod.outlook.com (2603:10b6:805:98::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.18; Mon, 12 Aug 2019 07:29:01 +0000 Received: from SN1NAM02FT036.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::203) by BN6PR02CA0036.outlook.office365.com (2603:10b6:404:5f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.16 via Frontend Transport; Mon, 12 Aug 2019 07:29:00 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT036.mail.protection.outlook.com (10.152.72.149) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2157.15 via Frontend Transport; Mon, 12 Aug 2019 07:29:00 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4lI-0001gb-3I; Mon, 12 Aug 2019 00:29:00 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1hx4lD-0000eU-08; Mon, 12 Aug 2019 00:28:55 -0700 Received: from xsj-pvapsmtp01 (smtp2.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x7C7SmfD021535; Mon, 12 Aug 2019 00:28:49 -0700 Received: from [10.140.6.6] (helo=xhdappanad40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4l6-0000d9-E0; Mon, 12 Aug 2019 00:28:48 -0700 From: Appana Durga Kedareswara rao To: wg@grandegger.com, mkl@pengutronix.de, davem@davemloft.net, michal.simek@xilinx.com Subject: [PATCH 3/5] can: xilinx_can: Fix the data updation logic for CANFD FD frames Date: Mon, 12 Aug 2019 12:58:32 +0530 Message-Id: <1565594914-18999-4-git-send-email-appana.durga.rao@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> References: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(346002)(136003)(376002)(39860400002)(396003)(2980300002)(199004)(189003)(356004)(6666004)(81166006)(8676002)(81156014)(6636002)(36386004)(478600001)(4326008)(316002)(16586007)(63266004)(47776003)(48376002)(36756003)(305945005)(106002)(50466002)(107886003)(50226002)(5660300002)(26005)(8936002)(486006)(70586007)(336012)(2906002)(11346002)(186003)(2616005)(476003)(70206006)(446003)(426003)(126002)(51416003)(7696005)(76176011)(9786002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR02MB4832; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; A:1; MX:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9d1b9bf3-c843-4e90-0943-08d71ef6bec8 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(4709080)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328); SRVR:SN6PR02MB4832; X-MS-TrafficTypeDiagnostic: SN6PR02MB4832: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:366; X-Forefront-PRVS: 012792EC17 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: ZQjE22ZkLQxq3quEUFQ+oBBy0aXnKwMidLDz2MGV1Fxa/Xz5rZTg2z4Lo0ueKVYPDbLMSwRuh9Sdrj8u/9W/0kXVacx2U7eR/bIsm7unj+z1ptO4q4xkzPysYAy6sz3BC8ecUs5tj7xkMlm2zm+ij/SiUyh5kOX78r0v/00FwJ62rAe7UKonXV91sqOyv4SCvR4H8vcnA6Tzpvzkr8UH2OV5dSGdJuo7FKci/Pv2tn24JqVpH+EUpw8wLhMFtJHNEIJUlhtDmr7ee0YZPITkyWFEzghnJLXR656iDgxa/uq5mQXSB49nlgK9+CQIj+PfiSVgVDwWitD9P7QBCOBABB1mjIJ1TvI51bke/NB4FYknnjFNGeNMURrmibarallQkpI1hrtskP2hFMgW3M7BUCuGexwFrEMEntH0BtUrbWI= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2019 07:29:00.4510 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9d1b9bf3-c843-4e90-0943-08d71ef6bec8 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR02MB4832 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190812_002904_291268_AA667A7B X-CRM114-Status: GOOD ( 11.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org, Appana Durga Kedareswara rao , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP commit c223da689324 ("can: xilinx_can: Add support for CANFD FD frames") is writing data to a wrong offset for FD frames. This patch fixes this issue. Reviewed-by: Radhey Shyam Pandey Reviewed-by: Shubhrajyoti Datta Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Michal Simek --- drivers/net/can/xilinx_can.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index 2d3399e..c9b951b 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -66,8 +66,7 @@ enum xcan_reg { #define XCAN_FRAME_DLC_OFFSET(frame_base) ((frame_base) + 0x04) #define XCAN_FRAME_DW1_OFFSET(frame_base) ((frame_base) + 0x08) #define XCAN_FRAME_DW2_OFFSET(frame_base) ((frame_base) + 0x0C) -#define XCANFD_FRAME_DW_OFFSET(frame_base, n) (((frame_base) + 0x08) + \ - ((n) * XCAN_CANFD_FRAME_SIZE)) +#define XCANFD_FRAME_DW_OFFSET(frame_base) ((frame_base) + 0x08) #define XCAN_CANFD_FRAME_SIZE 0x48 #define XCAN_TXMSG_FRAME_OFFSET(n) (XCAN_TXMSG_BASE_OFFSET + \ @@ -600,7 +599,7 @@ static void xcan_write_frame(struct xcan_priv *priv, struct sk_buff *skb, if (priv->devtype.cantype == XAXI_CANFD || priv->devtype.cantype == XAXI_CANFD_2_0) { for (i = 0; i < cf->len; i += 4) { - ramoff = XCANFD_FRAME_DW_OFFSET(frame_offset, dwindex) + + ramoff = XCANFD_FRAME_DW_OFFSET(frame_offset) + (dwindex * XCANFD_DW_BYTES); priv->write_reg(priv, ramoff, be32_to_cpup((__be32 *)(cf->data + i))); @@ -816,10 +815,8 @@ static int xcanfd_rx(struct net_device *ndev, int frame_base) struct net_device_stats *stats = &ndev->stats; struct canfd_frame *cf; struct sk_buff *skb; - u32 id_xcan, dlc, data[2] = {0, 0}, dwindex = 0, i, fsr, readindex; + u32 id_xcan, dlc, data[2] = {0, 0}, dwindex = 0, i, dw_offset; - fsr = priv->read_reg(priv, XCAN_FSR_OFFSET); - readindex = fsr & XCAN_FSR_RI_MASK; id_xcan = priv->read_reg(priv, XCAN_FRAME_ID_OFFSET(frame_base)); dlc = priv->read_reg(priv, XCAN_FRAME_DLC_OFFSET(frame_base)); if (dlc & XCAN_DLCR_EDL_MASK) @@ -863,26 +860,16 @@ static int xcanfd_rx(struct net_device *ndev, int frame_base) /* Check the frame received is FD or not*/ if (dlc & XCAN_DLCR_EDL_MASK) { for (i = 0; i < cf->len; i += 4) { - if (priv->devtype.flags & XCAN_FLAG_CANFD_2) - data[0] = priv->read_reg(priv, - (XCAN_RXMSG_2_FRAME_OFFSET(readindex) + - (dwindex * XCANFD_DW_BYTES))); - else - data[0] = priv->read_reg(priv, - (XCAN_RXMSG_FRAME_OFFSET(readindex) + - (dwindex * XCANFD_DW_BYTES))); + dw_offset = XCANFD_FRAME_DW_OFFSET(frame_base) + + (dwindex * XCANFD_DW_BYTES); + data[0] = priv->read_reg(priv, dw_offset); *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); dwindex++; } } else { for (i = 0; i < cf->len; i += 4) { - if (priv->devtype.flags & XCAN_FLAG_CANFD_2) - data[0] = priv->read_reg(priv, - XCAN_RXMSG_2_FRAME_OFFSET(readindex) + - i); - else - data[0] = priv->read_reg(priv, - XCAN_RXMSG_FRAME_OFFSET(readindex) + i); + dw_offset = XCANFD_FRAME_DW_OFFSET(frame_base); + data[0] = priv->read_reg(priv, dw_offset + i); *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); } } From patchwork Mon Aug 12 07:28:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Appana Durga Kedareswara rao X-Patchwork-Id: 11089391 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 60D8E912 for ; Mon, 12 Aug 2019 07:29:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4BA6020502 for ; Mon, 12 Aug 2019 07:29:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3F169271E6; Mon, 12 Aug 2019 07:29:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D24D120502 for ; Mon, 12 Aug 2019 07:29:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3EoebHqEmYfC5s+YZnY6cLAqMQGq9/idknwx0GJ1eb4=; b=UxI/ZE5VWxw9jo TD/R8UBnFGh5zZz7div51+a2SNCcpd1rTS0gonejl9g1UIhpD4Nyl3PZnA72yd7kZZE1G8I6dRhqn Ob2p5g9zmgB3AspPOrQRu8hJbpOVWt/tI6YE4Ba+3Oh9XmMLzwt7sqKiRv1b+/9zb8Z7rOoWxdGsL 16XMdo8WgNBtaF7qU9unCb3GLZa6VXBvdLR5we6LhfVTq+zbdFGZ5HzLcLv57n5yifHxOQPw5R/1B +QGraMNCDfnV8LOB/C9JmwPBBjP5kFIYv/VgY8Vv+TLW9f0htAkRM9C8JYkQI2QVBkfbjC3SmyGsW 5f/fNySdooABaXgkxWNg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lj-0002ik-1z; Mon, 12 Aug 2019 07:29:27 +0000 Received: from mail-eopbgr800057.outbound.protection.outlook.com ([40.107.80.57] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lM-0002MP-1a for linux-arm-kernel@lists.infradead.org; Mon, 12 Aug 2019 07:29:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dvkh/FTUE1le5E6g5S9IbPKito31gSo8d6gbQLKwFhSvkMIJ+gZC0MKc0w220WqAu82K+H40LL/+t3sdSeMGyyVeFkIQFcsW3adIqxomn/Hhlo7xSNcQiTFhb84+pmztNGhgAEGwH8VI2pmQDmmwsFj4HLODVTw4MbvrFkryfJ76Z0drQOOCasf+sHu1pSGBsHRM5nezLSGgtoCn5zdxOGJpzTv1DNDJ4GalIXUXQnxc/0y72/50CdVNSnznzAGZv7XAfmosn/H+5Pm31+khkG0vrWmXsMB2aj5L/j3qsAZYRCw23liBVQ5I1FIZc45UQNJvVhGpihnsnFemBpjY5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/qVZ0wFDVKK80MuPDiwvZsmQAaAhZEwv2iP05Jp3938=; b=TSSbKcc8vd0sNd+oabV59j+fm+r8hwQUVZKCsecq2gwYDSsGpUwrI6ixI8XtcTsU7j4PrMjC+wmPd0PH34Q8sLOgvwAvgY/tkCUKM6RE6obkC/0iwbrHIJU4qr8G2gxYMLudn8X4FVcnb1eDEhDceTAgHEIVOA8v4nxsJD0PxShjxtdbzOsYoc2HNPEnJaErMWm+sKmSXOJyPHk97zyh82Im0CA7WZYljpvD0gcc9JOxri3JWZeYXAhBJ0J2+8NKtBym3HwBQwybVXf7ITLe3rwpo+62WlSKpARj7yp94HPVhMYk12avEthofG15dZgJQn66lnl4OrtAbOWz3jefsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.100) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/qVZ0wFDVKK80MuPDiwvZsmQAaAhZEwv2iP05Jp3938=; b=A/no516jOFhiMMviOb4I3MdqBbLgCYAhsKdFfdTO7MM7qJaa9tZveLNphiLnmbMUFS0jZAklsCXQx04YaxjOnkQFe1nvtj7+ntVtj66YkjGauBljTJ2L4jdFxbt2b4gl3qfTeXuJDqMM2NyVknu73bQ28WtK1jFkTE2/0iImNio= Received: from BYAPR02CA0023.namprd02.prod.outlook.com (2603:10b6:a02:ee::36) by SN6PR02MB4830.namprd02.prod.outlook.com (2603:10b6:805:98::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.21; Mon, 12 Aug 2019 07:29:02 +0000 Received: from CY1NAM02FT031.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::202) by BYAPR02CA0023.outlook.office365.com (2603:10b6:a02:ee::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2157.15 via Frontend Transport; Mon, 12 Aug 2019 07:29:01 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by CY1NAM02FT031.mail.protection.outlook.com (10.152.75.180) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2157.15 via Frontend Transport; Mon, 12 Aug 2019 07:29:00 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:47674 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1hx4lI-00072S-Aj; Mon, 12 Aug 2019 00:29:00 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1hx4lD-0000eU-7S; Mon, 12 Aug 2019 00:28:55 -0700 Received: from xsj-pvapsmtp01 (mailhub.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x7C7SpOX019453; Mon, 12 Aug 2019 00:28:52 -0700 Received: from [10.140.6.6] (helo=xhdappanad40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4l9-0000d9-5e; Mon, 12 Aug 2019 00:28:51 -0700 From: Appana Durga Kedareswara rao To: wg@grandegger.com, mkl@pengutronix.de, davem@davemloft.net, michal.simek@xilinx.com Subject: [PATCH 4/5] can: xilinx_can: Fix FSR register FL and RI mask values for canfd 2.0 Date: Mon, 12 Aug 2019 12:58:33 +0530 Message-Id: <1565594914-18999-5-git-send-email-appana.durga.rao@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> References: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(346002)(39860400002)(396003)(376002)(136003)(2980300002)(189003)(199004)(50466002)(316002)(16586007)(446003)(6636002)(126002)(48376002)(486006)(106002)(11346002)(2616005)(476003)(5660300002)(186003)(26005)(305945005)(51416003)(8676002)(81166006)(81156014)(76176011)(14444005)(47776003)(7696005)(9786002)(36386004)(8936002)(4326008)(63266004)(50226002)(36756003)(70206006)(70586007)(426003)(2906002)(356004)(478600001)(6666004)(336012)(107886003)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR02MB4830; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; LANG:en; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f726ddd1-b75a-4e33-8235-08d71ef6bf22 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(4709080)(1401327)(2017052603328); SRVR:SN6PR02MB4830; X-MS-TrafficTypeDiagnostic: SN6PR02MB4830: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-Forefront-PRVS: 012792EC17 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: 9oaaFPU+q35fRnWzanvrewqMFRwZvwl7asF0odbBtFv2c6ASxfxvNFI54+vdbr0aug8IjXIiRloES0wwc9LzcZDCwWeb5q35uZk0Vs9+OZQEQd97vtCBfq0dvLkyucwCWM6/Eoq3IQ7D9yT0IUmFwrL2EnBdwYpNxgtl6Ag2/AZv4ZUpcB+5uUFB7zcbhniMPnQIpcn5Fp5bUvP5VJM+5u/wqbEgWMIyGs0nS3teBRQvWki7RxCuPH5cYGZRKgn2Zu092kBpi6q/M2XmBH/8fkIUxXoGPc2nloJVgEHgUQXlYVlV9nkbig5pe6pqStYqBeaFAresIGnvlEopNTffsVMK4H4onnfIc9ykGW6aW2uO65G0rbQpcKnOAejjsk8vwh0WfJ/9Ea9elv9aG9XGR3mUodxyXj3LrCitnFPqD9E= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2019 07:29:00.9350 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f726ddd1-b75a-4e33-8235-08d71ef6bf22 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR02MB4830 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190812_002904_263282_C29CD287 X-CRM114-Status: GOOD ( 10.30 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org, Appana Durga Kedareswara rao , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP For CANFD 2.0 IP configuration existing driver is using incorrect mask values for FSR register FL and RI fields. Signed-off-by: Appana Durga Kedareswara rao Acked-by: Shubhrajyoti Datta Signed-off-by: Michal Simek --- drivers/net/can/xilinx_can.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index c9b951b..4cb8c1c9 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -123,8 +123,10 @@ enum xcan_reg { #define XCAN_IDR_RTR_MASK 0x00000001 /* Remote TX request */ #define XCAN_DLCR_DLC_MASK 0xF0000000 /* Data length code */ #define XCAN_FSR_FL_MASK 0x00003F00 /* RX Fill Level */ +#define XCAN_2_FSR_FL_MASK 0x00007F00 /* RX Fill Level */ #define XCAN_FSR_IRI_MASK 0x00000080 /* RX Increment Read Index */ #define XCAN_FSR_RI_MASK 0x0000001F /* RX Read Index */ +#define XCAN_2_FSR_RI_MASK 0x0000003F /* RX Read Index */ #define XCAN_DLCR_EDL_MASK 0x08000000 /* EDL Mask in DLC */ #define XCAN_DLCR_BRS_MASK 0x04000000 /* BRS Mask in DLC */ @@ -1138,7 +1140,7 @@ static int xcan_rx_fifo_get_next_frame(struct xcan_priv *priv) int offset; if (priv->devtype.flags & XCAN_FLAG_RX_FIFO_MULTI) { - u32 fsr; + u32 fsr, mask; /* clear RXOK before the is-empty check so that any newly * received frame will reassert it without a race @@ -1148,12 +1150,17 @@ static int xcan_rx_fifo_get_next_frame(struct xcan_priv *priv) fsr = priv->read_reg(priv, XCAN_FSR_OFFSET); /* check if RX FIFO is empty */ - if (!(fsr & XCAN_FSR_FL_MASK)) + if (priv->devtype.flags & XCAN_FLAG_CANFD_2) + mask = XCAN_2_FSR_FL_MASK; + else + mask = XCAN_FSR_FL_MASK; + + if (!(fsr & mask)) return -ENOENT; if (priv->devtype.flags & XCAN_FLAG_CANFD_2) offset = - XCAN_RXMSG_2_FRAME_OFFSET(fsr & XCAN_FSR_RI_MASK); + XCAN_RXMSG_2_FRAME_OFFSET(fsr & XCAN_2_FSR_RI_MASK); else offset = XCAN_RXMSG_FRAME_OFFSET(fsr & XCAN_FSR_RI_MASK); From patchwork Mon Aug 12 07:28:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Appana Durga Kedareswara rao X-Patchwork-Id: 11089397 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DF92C13AC for ; Mon, 12 Aug 2019 07:30:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CB29326E55 for ; Mon, 12 Aug 2019 07:30:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BF02B27F4B; Mon, 12 Aug 2019 07:30:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7061426E55 for ; Mon, 12 Aug 2019 07:30:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=N0ycp66VnSzD+Fk4u87XVZMscHzVEk43bMnC8/lFEKE=; b=ajkg6U/5H53z8T 0Ag0I4IJ9vwm7ASImr0ZfOCMTbWJyzRK7uAW6eWz2BX+bbzOI3dgjoX8HZLmH27DhF+rJ1jCvaxwg sw7IBsxl0TszIndRgyGGdn90fsU/5BAsUie5wmS9b782IAo5eZjSsTN18pm5NJePV6H+T3GkLf6Xl rkGz6MTrSR9hxDw43tCyluI32j5p1ZsOgBMB4AYcttK5VigIaFcAg1o5YHyNqYmfmaGXiOyFmzKqr aJrVFIaflaXVXguosFupkSfsuXP1XpRYpwTK4CSCOpn1gm+UDE1D1WIhxJEA74lFVUnzX/yeIDwMH 70XJucdWQCm7Nt387tRw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hx4me-0004eg-Jq; Mon, 12 Aug 2019 07:30:24 +0000 Received: from mail-eopbgr690065.outbound.protection.outlook.com ([40.107.69.65] helo=NAM04-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hx4lW-0002X1-TB for linux-arm-kernel@lists.infradead.org; Mon, 12 Aug 2019 07:29:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y48GWkyDWbU8hsGUymZsZAkFH98ENCsXe7Uu1pJjJ0iJ7d3a57OrDPDbXTwqbwZIUhfhK6Trb7FZOnxcBUimpT1/8WHvIbelZcu4ZisMKLwZnwAOf/kPtZAhL9H/+QAhqyXBOOj7tM+HfO9yTbD6y4SeMIajf5GXfx9qCIEWcXkYLIvHuSfJbkVIB7RHNCeJcw2JBCkWIuVorkwghX574GA36MpSVjjf5vuLCFkUvyGPapg/e3D8r/oCQwPCwPpuop021hs/KOHP5YFDAAZTOh9tJ8fee7AVZRuN0cQtH/nz9vJ13yv/YQVtB412wBUEFpVGb2D7LgWE4sPB17SdgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XmYCJiOPkOguhih9u3keBjFyHQJiwN9tjcr4KkyQS/E=; b=c1I7khnjAmmJ0Ivl+rRp150Y65L9C0ehlbFi4EWRba84NFW9JlX72hvkB7Fs1zXi0xfHTw3R6e+tWxYSyDelR2ePytkAltmS9Nw+9AysNlHptK9fM/4JRPgpUkqJ9Hkxx0+YrDgryXX1c+/ayaoDNC5LCflzw59ELqtpDTEzDCtaMxSUn6qXbZJrrXuCX0vRZbC88IKYRsN0WT+RpHPajgOFZWrRYbmuGh6+6ddzULcuyat11Lj9tqZuYFvoVq2wftjAZflLX4gn+xMGTnNB8nKCKo6/nk0lcMe1coSTo2r4DOXXhE7RUXlItvtJYJXFDcg4fn7lZ4Pl6TopfLHy7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.100) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XmYCJiOPkOguhih9u3keBjFyHQJiwN9tjcr4KkyQS/E=; b=ZJd1+i9Mz2pvMWsU/JLU7I8QtuKA3SI46fml0wSCFwpqI0EcA1q0Wp4sQyupMwHTYxkAkicfEOKkQgbORpxz4bOHY/i/IoJJjhMoEFP2jsvrJl0HX5r0rJRB5//EM0HIVfsvMWGwMGHqx/7meRpFWP8kSedu5LEXOiog495cBww= Received: from CY4PR02CA0017.namprd02.prod.outlook.com (2603:10b6:903:18::27) by MWHPR0201MB3626.namprd02.prod.outlook.com (2603:10b6:301:77::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.18; Mon, 12 Aug 2019 07:29:12 +0000 Received: from SN1NAM02FT032.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::209) by CY4PR02CA0017.outlook.office365.com (2603:10b6:903:18::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.14 via Frontend Transport; Mon, 12 Aug 2019 07:29:12 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by SN1NAM02FT032.mail.protection.outlook.com (10.152.72.126) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2157.15 via Frontend Transport; Mon, 12 Aug 2019 07:29:11 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:47951 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1hx4lS-00072d-FV; Mon, 12 Aug 2019 00:29:10 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1hx4lN-0000hp-CK; Mon, 12 Aug 2019 00:29:05 -0700 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x7C7SsGs021540; Mon, 12 Aug 2019 00:28:54 -0700 Received: from [10.140.6.6] (helo=xhdappanad40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1hx4lC-0000d9-5D; Mon, 12 Aug 2019 00:28:54 -0700 From: Appana Durga Kedareswara rao To: wg@grandegger.com, mkl@pengutronix.de, davem@davemloft.net, michal.simek@xilinx.com Subject: [PATCH 5/5] can: xilinx_can: Fix the data phase btr1 calculation Date: Mon, 12 Aug 2019 12:58:34 +0530 Message-Id: <1565594914-18999-6-git-send-email-appana.durga.rao@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> References: <1565594914-18999-1-git-send-email-appana.durga.rao@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(346002)(396003)(136003)(39850400004)(2980300002)(199004)(189003)(8676002)(70206006)(70586007)(63266004)(81156014)(48376002)(81166006)(478600001)(6636002)(186003)(4326008)(486006)(305945005)(126002)(426003)(9786002)(336012)(76176011)(6666004)(356004)(7696005)(51416003)(106002)(16586007)(446003)(316002)(4744005)(36386004)(2616005)(476003)(5660300002)(47776003)(14444005)(2906002)(11346002)(50226002)(107886003)(36756003)(50466002)(8936002)(26005)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR0201MB3626; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6b36ce4f-5e3e-4a94-2a69-08d71ef6c594 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(4709080)(1401327)(2017052603328); SRVR:MWHPR0201MB3626; X-MS-TrafficTypeDiagnostic: MWHPR0201MB3626: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:4303; X-Forefront-PRVS: 012792EC17 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: XVvaD0A9dfnjEGSqvWcz0IQo+v4oaUiALxBC5skXGnJw1MKtsO2yp/Nv4H1ZO49r7KIVGlj+9GU9Y3rWCjyUmvScdX7ic70POl7mrSGPdEsiHGkv9EA6Vek8ZkFwun7DakwCvIecYEFtq9L9tvSG/lSxdUKNQsl1AixEw6LrfXfaLlRgFQfmT9ke+M9eQgZUyGxXuXcO2MerVg0H5c2aY2mNWpG/96C3WOgWZeH0vI0tFVw8qXLiy9cvBGOpUZjzrjIbH8zoqtR0fItBOQyakQlNNK9NLjPhpQFXfk4m7F37fnmizHykXtbnnCWlg/+IJEz2upTvLHLVlagMlyl3LtdI7GDdbX9C5CJXnsyOXaXQFv+5GkCLPgorZRk5rSHnZqe1Y9RvrQv3SIOR+BWA6LztRsfIV5Pg5ueA6QjKDf8= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2019 07:29:11.8932 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b36ce4f-5e3e-4a94-2a69-08d71ef6c594 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3626 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190812_002915_050020_7C5A7C9D X-CRM114-Status: GOOD ( 10.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org, Srinivas Neeli , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Srinivas Neeli While calculating bitrate for the data phase, the driver is using phase segment 1 of the arbitration phase instead of the data phase. Signed-off-by: Srinivas Neeli Acked-by: Shubhrajyoti Datta Signed-off-by: Michal Simek --- drivers/net/can/xilinx_can.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index 4cb8c1c9..ab26691 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -425,7 +425,7 @@ static int xcan_set_bittiming(struct net_device *ndev) btr0 = dbt->brp - 1; /* Setting Time Segment 1 in BTR Register */ - btr1 = dbt->prop_seg + bt->phase_seg1 - 1; + btr1 = dbt->prop_seg + dbt->phase_seg1 - 1; /* Setting Time Segment 2 in BTR Register */ btr1 |= (dbt->phase_seg2 - 1) << priv->devtype.btr_ts2_shift;