From patchwork Mon Jun 19 09:51:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arvind Yadav X-Patchwork-Id: 777658 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wrmV76DMcz9s76 for ; Mon, 19 Jun 2017 19:52:15 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RqqO1sfA"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753850AbdFSJwO (ORCPT ); Mon, 19 Jun 2017 05:52:14 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:35478 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753795AbdFSJwN (ORCPT ); Mon, 19 Jun 2017 05:52:13 -0400 Received: by mail-pf0-f193.google.com with SMTP id s66so15603890pfs.2; Mon, 19 Jun 2017 02:52:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=I6bsSe/eS/BHpJRZjU8JKesujyQurwar54clYXCaZcE=; b=RqqO1sfACoKXCDI5RzbFFMV0RkWWbEo4XiX5DNy1HANfbanvd9tbdsna/iGjfTq4rM 3TKcBq+fmhU1vldSspThNq2/4+Bt08F7/8tf/AWw6wBQ481VMKIPwnJsjFsyHXFG6hif 02m515nGAKwxffI/TcIXQiJyrYktuGH2CPFNMFpGuJkiSV6a3Q9Vxx9H5Q1vnITpASfv jFGrhw58HKEu4dXwF49Wm7LfenPuTmkKiozhYihBnoyI1UdU/3o6w7agN3/FrwpWmEXN zxubvE8VvtOk7l03Fwpo4WdEyjG7HqbquH0pavWUqD1FcO6/3TSwcTOogciBZ/puwE8f 0+6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=I6bsSe/eS/BHpJRZjU8JKesujyQurwar54clYXCaZcE=; b=D03nsOkTZNgocElgBUlPGTrvYC+0SJCwTj7sAtby2NwpmI+AZA06XvK9XAAthYG7fv TWl9BVaXLCvD7P/Bp0AqKdrCQGWrg7Wqgm5u71Q7SVoC096oDlkgxzRyqvUS45yvDpqF uHgq9ypJH+cHucjMc/cvw+HXm/duWnCRtJhgynYu8onJovyMTnTrS/Wtp7gvXB/9HnCP kcEUpX3yUEPteSZDrktONsIC/06Wn8QQAcHtxBy+TzjIiqkqYDpBXR6YwQni58anM7u6 roMOgEtleiatb6PObJ8aBFs6IqC1r9yOh9ywXfZLa6xmTBd3o6xKvK8PxtMExw1rDace hDOQ== X-Gm-Message-State: AKS2vOxaSmmKjhkfMkhxw6qv8TvMRPmuTAFScK3EcdOtPhS/gS0/1LpH 3HhYVa6F3YMmvg== X-Received: by 10.98.58.83 with SMTP id h80mr23713377pfa.50.1497865932764; Mon, 19 Jun 2017 02:52:12 -0700 (PDT) Received: from symbol-HP-Z420-Workstation.zebra.lan ([223.31.70.102]) by smtp.googlemail.com with ESMTPSA id y12sm3680190pgr.61.2017.06.19.02.52.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 19 Jun 2017 02:52:12 -0700 (PDT) From: Arvind Yadav To: kishon@ti.com, bhelgaas@google.com Cc: linux-omap@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4] PCI: dwc: dra7xx: Fix incorrect usage of IRQSTATUS_* registers Date: Mon, 19 Jun 2017 15:21:36 +0530 Message-Id: <9ebe7f77c2fd10219f78ecbae3c672064102444d.1497865713.git.arvind.yadav.cs@gmail.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org 'commit 47ff3de911a7 ("PCI: dra7xx: Add TI DRA7xx PCIe driver")' in order to clear MSI and MAIN interrupts requests wrote '0' to PCIECTRL_TI_CONF_IRQSTATUS_MSI and PCIECTRL_TI_CONF_IRQSTATUS_MAIN registers. However the TRM has mentioned to write '1' to clear pending event in these two registers. Fix it here. This also helps to get rid of the following compilation warning: drivers/pci/dwc/pci-dra7xx.c: In function ‘dra7xx_pcie_enable_msi_interrupts’: drivers/pci/dwc/pci-dra7xx.c:177:7: warning: large integer implicitly truncated to unsigned type [-Woverflow] ~LEG_EP_INTERRUPTS & ~MSI); ^ drivers/pci/dwc/pci-dra7xx.c: In function ‘dra7xx_pcie_enable_wrapper_interrupts’: drivers/pci/dwc/pci-dra7xx.c:187:7: warning: large integer implicitly truncated to unsigned type [-Woverflow] ~INTERRUPTS); Signed-off-by: Arvind Yadav --- drivers/pci/dwc/pci-dra7xx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/dwc/pci-dra7xx.c b/drivers/pci/dwc/pci-dra7xx.c index 8decf46..668dc15 100644 --- a/drivers/pci/dwc/pci-dra7xx.c +++ b/drivers/pci/dwc/pci-dra7xx.c @@ -174,7 +174,7 @@ static int dra7xx_pcie_establish_link(struct dw_pcie *pci) static void dra7xx_pcie_enable_msi_interrupts(struct dra7xx_pcie *dra7xx) { dra7xx_pcie_writel(dra7xx, PCIECTRL_DRA7XX_CONF_IRQSTATUS_MSI, - ~LEG_EP_INTERRUPTS & ~MSI); + LEG_EP_INTERRUPTS | MSI); dra7xx_pcie_writel(dra7xx, PCIECTRL_DRA7XX_CONF_IRQENABLE_SET_MSI, @@ -184,7 +184,7 @@ static void dra7xx_pcie_enable_msi_interrupts(struct dra7xx_pcie *dra7xx) static void dra7xx_pcie_enable_wrapper_interrupts(struct dra7xx_pcie *dra7xx) { dra7xx_pcie_writel(dra7xx, PCIECTRL_DRA7XX_CONF_IRQSTATUS_MAIN, - ~INTERRUPTS); + INTERRUPTS); dra7xx_pcie_writel(dra7xx, PCIECTRL_DRA7XX_CONF_IRQENABLE_SET_MAIN, INTERRUPTS); }