From patchwork Tue May 22 13:26:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Douglas X-Patchwork-Id: 918314 X-Patchwork-Delegate: lorenzo.pieralisi@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cadence.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cadence.com header.i=@cadence.com header.b="IzVxQ+dY"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40qxJg04nbz9s7P for ; Tue, 22 May 2018 23:27:15 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751339AbeEVN1M (ORCPT ); Tue, 22 May 2018 09:27:12 -0400 Received: from mail-by2nam03on0077.outbound.protection.outlook.com ([104.47.42.77]:32319 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751214AbeEVN1L (ORCPT ); Tue, 22 May 2018 09:27:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2yjp+mruRkiTVta8ZUnxaImSHMhviH2fLJWMlPtmnW8=; b=IzVxQ+dYxQA/EUhB9TFD9y+C3Qpmx9mO/TtGUxV8AXLZiCi+N0LT+fx0lLm9Qj4N4ogu8ZrsCgqrn2fD3dl61lEK/0+EC7J8Gez/modyfkyNTfePLR2RIN2DMminxOdo7VjMrSMY1eufohLVdUYcimp7LCWlJo1VT6R+NUz0saU= Received: from SN4PR0701CA0011.namprd07.prod.outlook.com (2603:10b6:803:28::21) by MWHPR0701MB3674.namprd07.prod.outlook.com (2603:10b6:301:7e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.11; Tue, 22 May 2018 13:27:08 +0000 Received: from BY2NAM05FT062.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::203) by SN4PR0701CA0011.outlook.office365.com (2603:10b6:803:28::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.776.11 via Frontend Transport; Tue, 22 May 2018 13:27:08 +0000 Authentication-Results: spf=softfail (sender IP is 158.140.1.28) smtp.mailfrom=cadence.com; arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=fail action=none header.from=cadence.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning cadence.com discourages use of 158.140.1.28 as permitted sender) Received: from sjmaillnx2.cadence.com (158.140.1.28) by BY2NAM05FT062.mail.protection.outlook.com (10.152.100.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.797.3 via Frontend Transport; Tue, 22 May 2018 13:27:05 +0000 Received: from maileu3.global.cadence.com (maileu3.cadence.com [10.160.88.99]) by sjmaillnx2.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDR2aE027541 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 22 May 2018 06:27:04 -0700 X-CrossPremisesHeadersFilteredBySendConnector: maileu3.global.cadence.com Received: from maileu3.global.cadence.com (10.160.88.99) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 22 May 2018 15:27:11 +0200 Received: from lvloginb.cadence.com (10.165.177.11) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 22 May 2018 15:27:11 +0200 Received: from lvloginb.cadence.com (localhost [127.0.0.1]) by lvloginb.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDR0DN008866; Tue, 22 May 2018 14:27:00 +0100 Received: (from adouglas@localhost) by lvloginb.cadence.com (8.14.4/8.14.4/Submit) id w4MDR0B9008844; Tue, 22 May 2018 14:27:00 +0100 From: Alan Douglas To: , , , CC: , , , Alan Douglas Subject: [RESEND PATCH 1/4] PCI: cadence: Update cdns_pcie_writel function signature Date: Tue, 22 May 2018 14:26:53 +0100 Message-ID: <1526995613-8560-1-git-send-email-adouglas@cadence.com> X-Mailer: git-send-email 2.2.2 MIME-Version: 1.0 X-OrganizationHeadersPreserved: maileu3.global.cadence.com X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:158.140.1.28; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(346002)(376002)(39860400002)(39380400002)(2980300002)(3190300001)(36092001)(189003)(199004)(426003)(105596002)(5660300001)(246002)(106466001)(8676002)(48376002)(478600001)(6666003)(54906003)(87636003)(336012)(50226002)(42186006)(316002)(16586007)(26826003)(110136005)(2906002)(8936002)(50466002)(36756003)(26005)(59450400001)(186003)(476003)(126002)(47776003)(486006)(51416003)(2616005)(2201001)(107886003)(86362001)(4326008)(305945005)(356003)(7636002)(2101003)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR0701MB3674; H:sjmaillnx2.cadence.com; FPR:; SPF:SoftFail; LANG:en; PTR:corp.cadence.com; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM05FT062; 1:osvlyBb9A1LpK3ketWiRnXYg6EGN+/LrQCL/f/mMIhweK0F0zn9qPYqQU/3l5HBJt85cC6ByzsJeRCG0FnGL/0HqzaFVqWtp5apDhvyvEgec/RhK1I++H7V8HfrouJpv X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:MWHPR0701MB3674; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3674; 3:STwuLMJPHvK/8KCzNyGmfZHtMNDqPpzTv/3tDLgSUzjvVktfcSJXh9jBugOQdUcBDURMGROqc7HnieuROpYKivX+fiPuW+D2AYeoWWPPnMzh7XLKYFdf4xGNUe0tEjyULirTS0fqNnbd4UVWsZo1apzA9Kh6g9pMj8PD7dvgrTP++ZcmMucPZqiEs9ExKTvnjwNY/YVynLILWDFVAUKOV5iMfc6Tg+MpvD8RsujOrJAmot+etiB63V5OvfcsJ1AjF9N1RJVPjomU8faWVDKX8747RJxsVOFqxrRiHCOVZxjF6AUQy0XlrZxYdetlPiX7R/bu/t4Tb644SfuannracQqzlNSNBzFmx9lvLKmTMsw=; 25:7KSoBIT4s350ghZFGbOpVvq6lnQKmUBqzEdJ/hC2slgJex2tWmFbleri7DqI5L6NTaS8oJ2kX+q49dr9DTzflE+g/ceQr8FxRILjFNLAiABp0Lq3B4D+nARM8vS5oCMW2sMowDfG+fFSyVmPKqPeGzkmgL0owDOhufYpbeB6GSgPweE5fiBJlz81AiguHuUy7Zf3+G+rvQvpsW81klp/KPbmJ9juAq69bPZjr+XgcsD1gaFqr3oB0xxkbLBDwxN7aujcRLZFINhlRONDds+WXJ9Vwiiu+U8/uLtoeQ02Y7UpEUj0dTH6h7lL3oE7qTgF9Pqg27Rwbn0DxiBM3Y1q+w== X-MS-TrafficTypeDiagnostic: MWHPR0701MB3674: X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3674; 31:wETYTVaLmRo2UlHEneBqJdXZJYFqN941KQw2pdSYm+xkUto6V4YpClYboEm7TrGxq1xKW9ab0vKLo+TuVfesFb4U1jz6VWLiO+bVlC+2OP5aK8ERExro/x1zpOHNHmYyccnQ670EYM9/fZTUymEH/YDig4ZzsakH+KKt6lTBiTdDNt2Q8dM66z0fUYdXm3gePxBNtUB7pQx6DxGDigH2GQdeNMkVaqbrqasEZdq7nA4=; 20:gOaCmxvXOuOF3jFeVzYz3pWpggOuk1b1J8Jr8NuEAh5ZvEYXRkIlQ/XEEAHOuljYK3c16CpWGTz0U4u9phN1X1kUoJdSmiRw7PvvgoeBg/A6965y3BgBOgyV7jkJl/MVdMinMw6YL4fWjJJfrdxJN58SFh1yog1pYNgw0zlqifc5oJiOi9BfMYO2X66QN37oBay2e5h8kllCvRX+lFifUh1kqywlH9HUiEFwdFQhlbfSaOsKrn4RqBxDVrL4qBDWn/YH8O9OrKW7ZE/yWoUo95nb/yypG+gYQvVMZ5exHzy4s4IL55T5AHWYshcdxPsfCttojQMx3Dn2rSui0TUUgTOe11Gs4KAZEfy/vDjyJF4ESWK/sYeHERu885bt/G80QyoyxC9U3cBXyBimaymDFSnbao/QNapJG8NFXQH6gEnwYceqC4gDT1ARBnga/DiMRJ8Nn3hbay1pqfmlh9c/vXmjIPg/NXlMIrGWY4clUc5Jt/VmMmfzB5AMYJXgg32p X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(72806322054110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231254)(944501410)(52105095)(93006095)(93003095)(149027)(150027)(6041310)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:MWHPR0701MB3674; BCL:0; PCL:0; RULEID:; SRVR:MWHPR0701MB3674; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3674; 4:t1hXjtNFcCblJ5lETcgYJks//wl/pucqlZtNZi495c3g/40/xAVRJgoZpEb4Ij0CzdzyptEnZFhXs0Gq/aCG84Qrtof2TBJ6H9KjDqsFo6Ie+n13o56sZ/n+btcYndw+ZI7Tspr5PyRsntUQnI+fvWETcDn8bFipRs2Xpt6RDJq3o0KNFouBN/jMKS/PRNo57thuZhDmiF995qSeoD62KSVae71YHEfS8euwujV8yjedtYDn38bfXGKGIpTteS9pmsSXeXE5Zl3FtOiRW8cSJYLENZZfXVsTEaYd9q8bnXF8eEyb9ILFpIjYtnwHL+aQ X-Forefront-PRVS: 0680FADD48 X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3674; 23:2/EM1bPrvLP68T7Re72NUUnqkogDrn424achzjZPO+/fAyZX8cm3ZQ/nzZozG2tTXa8rRwiN8U+cwu7Mor9X4VJIRD3/uvXUBy0qZu5AmrAZCea1AxuG2vmvxRAdQzwS27I+IdVhIhc8QPOtEZy6lV7ay6FTsGhuliXlevh31PaIZbcLmjmh1L+vRAaryBU8sNHaG6cKyZRRfIcY2jl9VcatY4jOd7Sr3Arl4hewt25gkZakmlrw7AuvwX6bvF4gPMBaOEncqsIfVY8VcAFeD4x3De6AEaieZaKZI12pLbOpu87bRK8u9R+9CsV1H/Jq0A1RHucYSMI99181gwl4dYnqY2QivzlCTM96/o2r/i8/yo/0TzlhFH0xhiPrNYptp/xSoTXpS7eO5tYvkR3/7jilCtyL1vKKfby7zZ4Vdj8JawO87E5DfC2X9tv31P2riGSz+tyNOCUAgXCSeOZB/Axujnd0UO4Nq5/HVDM3NOKMtLsp79blW7hzC+r0Yap+3lgg7SYXp2SG7+9TDtUb/vVruD53lP3hgQcX2c+oukfgZNCk/cVukPIPoBlxM3V72N1WLRyl+PNy5OKXGDgtdTRfhJWL9H+9T6b6ylfjVFAXcWMcY8Z+sWNIJ4npDt5RYu7KwSwvi92/+dUKTnYFdzUH5E2R0tSuPdkfrkyZV5/oCD2wEBvr7rL7kRkZpabW0gNbNEzcvcoMiiDyrCYdYu+X90X4CGgmdnyizQMhdjBLqR1p1+ZEh+rYNUKI+ePb/RuBLp6KwMffDDzZMIKB00dtlxdf1AQYBFN7W0VysKCtCInaWtHUVJqd6losyPhul2iCmS07FiOrD9PLuOOE1kSCqBCugW9CA1Dr2zLbh84AP5dN4uPoxyTS5D8lzNJTvpZj/QHALqqiuQl+4V+EJDlbZSPu3k+CyoSE3KA5IjtuUJEVM8f873kTKpaSNOf78Kr3UaTXlOEFAegOgk2i8KSsfEZ3mzWk9vJVU7bfi9qnS102zhx7RyHXwWCI9qNFxOiKLCeu1/dyuEvbgPQA5ISCrdpRorkBd04/yspGdBcQdqznTLBG/kaWQemg86GUEY8n1J//uTkLOGwraPGs+rpVBdd+xwuR04LO5yH98dT2ogvKrbyhvVLAdYruJeYM X-Microsoft-Antispam-Message-Info: c+O/4fbpzeNHlNAAwdzuqYU/P8YVUR7lXtE3uGOAoGP1sQbdHERCWiwfMMMt9PIYe52rYEO2da0SuKbvrtPdeuVRO6fGkvoqJ0/wraVVa+DeCk5SHBcUVKFHNmFWygJW1cmkUHq58saa59IBICQTYmNv71AjZUr/Za5S/ZX0vSjloZIG8Rd2T5Eq56C7DPaVxhgWzlZEF8M8IiHxxiGON+UuhyzvEGoN/goMHk6MLP7Tf4F3CKpa8iUecagL+pyU X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3674; 6:HDtEbaJxifwXSgCzrLjmTCb+7D0tpsMhDpdYjSYSZsf2p8906TRQdOGwMAblqHYj+hfqEwynERfvcsfBc/2LOjMxc7jdjkYn5IaFjLsk93wjxEVKEn+FUggv8Liswj058smE+PJrNEIkKdFY9rMw1QK8UJ4iV3canaYKZGpFJDyepMJxA92iLhv/Kh2h67eYJMCUjC0AwsH4zRM3XTHHaE0z888Nm4GJU/BonzJgdcKs7I2GdEohAQI7l5F+TXqm6h10Rn0m6Zemi48zaqJpkbQNwABXGNCUoI+sluJRuDUPzh2Nek2sS8EX/t4bfUNTh8taV1u4BhRik62Vk/bKZKDQHiPyUj3l4WtlnMfZZDMV7nmdMLyaToEUHAruTx3KWSEdVTfIFI513MiJ2W64NX6p5gR5r8ZKLuYpywh0wK6D3RLI+GoebfcFAxo9PjfHCISdpFmnMLz2eS2NXhf7rw==; 5:K4s5tdtyPnITwwZhCSkhzPNzUjwE0QUnHoNtTeCqt/HpBcK4GOsQnsjTM9iSDn3KJSBzW9MQwtFXYW8VJf7Y5RIPTe7qbFBheeCQo0jD1cQfzgJS/7dkwbT3xprGscf7nGT+RwYMZL1JZ3bTJhtc8/nl/BoxYje6QB6A2HFl/8k=; 24:5tFyuZMp8PfKHLJkmj6I17+TzO+tYKPnnay+2yxw/xJp0074kJMwd3gqBL0hGEf0WB4hx0OhucNJwb2DgKZjRVfMxNp4w/qKWYffIAaY+A8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3674; 7:y50hq280qolFZGccPTHi8VEGWDobjgQXqOWxiaVtJYCue49rrUJcYGt+I+8IxjywqmdkDVnjGJqH2lnQv3akjVKDJVjW0GVS2t3vFKo8JHtf5NdXxMSNknSU3hhli3XGL+TyHHqAsz7awK9Q+zyHRSkg1VzsGmBBZrr9DB5ksTdF8bh5B48TiCNZHLS/2jHSejTsHupwa/LLRA0fn4OYknR67nlUKprfdRIdrtpLat67qrToat9T6RrFKfVs7MP9; 20:QoFZivUxAiGt12mVI5ZsSXFa2rTvvOqdGLrF5M2HJXXhLSM9epLhpSlcYWiKgVqxdQaYZ/H8OzpFhlkiv/PsRvLESAQ0DToEq8r2jKpsKPc8//J2L55R5mEDD+btfgQEciZcLfL+fyXoZinHLfXVX7cSzrNn5MnuB8zIB0GQ19Mayo573VisBNF5C8ICyUYw4V+a/QgMEqpX7H4g/FbBvfqWFW5CaY8O1fRJ4j2hb6fECD5G3tNBNoH2t3LNd1Rs X-MS-Office365-Filtering-Correlation-Id: bb534e14-38f3-4013-27de-08d5bfe7b760 X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2018 13:27:05.2518 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bb534e14-38f3-4013-27de-08d5bfe7b760 X-MS-Exchange-CrossTenant-Id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d36035c5-6ce6-4662-a3dc-e762e61ae4c9; Ip=[158.140.1.28]; Helo=[sjmaillnx2.cadence.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0701MB3674 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Change cdns_pcie_writel() signature, u16 value changed to u32, since this function should write a long value Signed-off-by: Alan Douglas --- drivers/pci/cadence/pcie-cadence.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/cadence/pcie-cadence.h b/drivers/pci/cadence/pcie-cadence.h index 4bb2733..ed336cc 100644 --- a/drivers/pci/cadence/pcie-cadence.h +++ b/drivers/pci/cadence/pcie-cadence.h @@ -279,7 +279,7 @@ static inline void cdns_pcie_ep_fn_writew(struct cdns_pcie *pcie, u8 fn, } static inline void cdns_pcie_ep_fn_writel(struct cdns_pcie *pcie, u8 fn, - u32 reg, u16 value) + u32 reg, u32 value) { writel(value, pcie->reg_base + CDNS_PCIE_EP_FUNC_BASE(fn) + reg); } From patchwork Tue May 22 13:27:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Douglas X-Patchwork-Id: 918315 X-Patchwork-Delegate: lorenzo.pieralisi@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cadence.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cadence.com header.i=@cadence.com header.b="PM8eow/Z"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40qxJv4qB7z9s7P for ; Tue, 22 May 2018 23:27:27 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751308AbeEVN1Z (ORCPT ); Tue, 22 May 2018 09:27:25 -0400 Received: from mail-sn1nam02on0049.outbound.protection.outlook.com ([104.47.36.49]:22770 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751214AbeEVN1X (ORCPT ); Tue, 22 May 2018 09:27:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IRwufZp4om0wHduw7NVTpKIFWyPEuzAK4gC2W0YldI8=; b=PM8eow/ZdOImregfxBurjxe6AkXYQo+9svAjWjsbiefFhs7XtPCyjKYTPE/4mMe4aH2pnpgdLKHbe/uW/CP46VnPSe/2ChgbZXO4NwH7ortyq4JRxFESB5sUEIS0IjftXjbVsvncIreGcJMuAZdGQbU4FrEnLQgNoGkJ5jdDZ3s= Received: from SN4PR0701CA0005.namprd07.prod.outlook.com (2603:10b6:803:28::15) by BN3PR0701MB1186.namprd07.prod.outlook.com (2a01:111:e400:4010::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.776.11; Tue, 22 May 2018 13:27:19 +0000 Received: from BY2NAM05FT027.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::201) by SN4PR0701CA0005.outlook.office365.com (2603:10b6:803:28::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.776.11 via Frontend Transport; Tue, 22 May 2018 13:27:19 +0000 Authentication-Results: spf=temperror (sender IP is 158.140.1.28) smtp.mailfrom=cadence.com; arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=temperror action=none header.from=cadence.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of cadence.com: DNS Timeout) Received: from sjmaillnx1.cadence.com (158.140.1.28) by BY2NAM05FT027.mail.protection.outlook.com (10.152.100.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.797.3 via Frontend Transport; Tue, 22 May 2018 13:27:15 +0000 Received: from maileu3.global.cadence.com (maileu3.cadence.com [10.160.88.99]) by sjmaillnx1.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDRB8O020141 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 22 May 2018 06:27:13 -0700 X-CrossPremisesHeadersFilteredBySendConnector: maileu3.global.cadence.com Received: from maileu3.global.cadence.com (10.160.88.99) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 22 May 2018 15:27:20 +0200 Received: from lvloginb.cadence.com (10.165.177.11) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 22 May 2018 15:27:20 +0200 Received: from lvloginb.cadence.com (localhost [127.0.0.1]) by lvloginb.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDRA8A009509; Tue, 22 May 2018 14:27:10 +0100 Received: (from adouglas@localhost) by lvloginb.cadence.com (8.14.4/8.14.4/Submit) id w4MDR9qJ009494; Tue, 22 May 2018 14:27:09 +0100 From: Alan Douglas To: , , , CC: , , , Alan Douglas Subject: [RESEND PATCH 2/4] PCI: cadence: Add generic PHY support to host and EP drivers Date: Tue, 22 May 2018 14:27:06 +0100 Message-ID: <1526995626-9333-1-git-send-email-adouglas@cadence.com> X-Mailer: git-send-email 2.2.2 MIME-Version: 1.0 X-OrganizationHeadersPreserved: maileu3.global.cadence.com X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:158.140.1.28; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(346002)(376002)(39860400002)(39380400002)(396003)(2980300002)(3190300001)(199004)(189003)(36092001)(6666003)(2906002)(51416003)(246002)(50226002)(356003)(4326008)(186003)(8676002)(7636002)(8936002)(5660300001)(86362001)(63370400001)(63350400001)(126002)(305945005)(486006)(426003)(2616005)(2201001)(476003)(47776003)(110136005)(478600001)(16586007)(316002)(26826003)(42186006)(48376002)(106466001)(54906003)(36756003)(26005)(59450400001)(107886003)(105596002)(336012)(87636003)(50466002)(41533002)(217873001)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1186; H:sjmaillnx1.cadence.com; FPR:; SPF:TempError; LANG:en; PTR:corp.cadence.com; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM05FT027; 1:h09cumLkB+7b5s/q8bF6JBk651TRwkY+n/UKlVOQ71YZd2l33ESSKLGT82t9AYUOajY0TuK99M+rfq5NEArfTA0au7icdfCtZafJVtXXOetqcQK43IOTwn6xBS1DCIBw X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:BN3PR0701MB1186; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1186; 3:NFpFtMh1zLOgYrCWvguEaOcodkhw4gEdtvaW0vFmoWLcn7QSKr/Lzb/fPbeXm719HtkjT+YNlI/8jV465j516pQiMDUDLF0XJ4Ay+2Ktj3E31MqdgrhXM2MvNVb8Hd1Z/Utu79dOqkRbZTvu0cYHOyegbLbElDOs1ik4peDxqiYe9amXemNsq1AUTfbxaW8zKMW/gR4VaEn4/y+WuCHy1qX5hPPciCr2u17qZ6NiERAKZy7W6JacFLDv35DUMPusyFFJD/hYVt/Cm25cKNfhrOpSFq4BUKQMl/gy3hQrdbEvSiDJMLBoOZXXOfWZNbocvYDpCjQQZ26rdG9M+1S64ryTw+WX8UiojLh8AuNlpT0=; 25:6b+itop55xTXFRDM4qWvhki6AwS/nxJfyD9GL8ISMGcEuf7/4gO9sulxC75ToATvP09zsSIeLByzRwV+9TfDlytV4qRpSwkewYSkSSrLg/KN/G6Iqs+sGwxPgzwqljwJDvDZrLRc765NPttIGbH1nqzDfOcEPvrzMzsYQpKW4tvNRl8RyzZuvanHOv183KYHtWRy1im+yYTcobWMLIvmvw+CLrrE/d6ZcQZdyKTMekTTytkAQGWLXLqGPK1YIr/qH2eiFUL19qvyotquEZW0Sw3XwwWtp77FHyMH3mv4NmWYmDzeu8Evxd+Abc1TLpRbGenKIC/9E84ZSdyXldOD0A== X-MS-TrafficTypeDiagnostic: BN3PR0701MB1186: X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1186; 31:eK3hg2ve+74AOUARgdweippcIUgRoL+MbF/LB1dyPZoRZAGECmAY4GrCrGn/ECIWywviLqgbE36/c5HeFovfkxOSvDb+Q+OX3G+eykJm/ssxD+BcFZr2i45VoCqIOVh1nZflSpvAClXUSMQxG9/GQvkL5KR3sr9RpH3A1tYwYeBg7OFfRkFzd8IjcIa8QEbhoHdptNi5wkS91kXnbNafLpVcV/9Mzkchy7SjOWU8OV0=; 20:jVHLas93YMwTQH5bLuXqTmoos3RXU02D6CeuPCCghr/rLEzEHRV+8bCDLomB1tZIwi4MK5BbzEY5oyXkiqoKF7BW1SRsD3YQbn8j1VgUsQhm3GCXEDzAH5cVXBC2vbZlKJXNBCNXxOsUOO5gWkABuKC3GlzH5424KFqd1C4REOaFCbGR40yuwfGz0u6fGEfP5wgZO6zBG1krpIP8LXT55aI5BcaHMDiPcIe5qIl0FOKHrdPh0FGnfyI+u2qSaafKkK3e94ERcm+Nusrzjt5V5AgV05U+caTMulpGxEHLAdNjb7jEvtLP8vV6bVkAIBtbOSudNmwXmGYC5pSUVyiqZXd3AXAE03TKyNap9NOHA6T1D3Zqf+78eLTUzqo0ta25/cA9WSxBpmF/yxIHpqTOcEXK+Pulg+kbj6buOblUGa3QA20Jr+xoSwNEQcsJVfssXuOes8F9o2bDGWw/bLPTxxbVlW3GrS5qJ1iHFXlvzpAVrQkDV3IxzEFM+x0MHo3i X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(72806322054110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(3002001)(10201501046)(93006095)(93003095)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:BN3PR0701MB1186; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1186; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1186; 4:Z6hjwch7hvXUARJCQqUjULsQcxQgR2V9MoiVdT0TfljuiFsH21NCkY7FpOcuuZp7ycNKsGEr8paUfh0oa6CQ6En47e2b4wEpNtQg6iUUkY4lmtjKm/bYnzXQl7Onl5kix/gsjUFArCp0rPXDHEP9JYUZbipzSBLe2VGnfb6gDHhP9Vwrej//RAOJ+P75/TBFeoMg9ZogQMZIr14aWcqPhtNsCmBAxcMpR541Y9UIzQOri9snTFPLoAnUJyDehX1Avslsno5bIEOTRbhqpg0NKZzdYAskam6tYTnamLOsT9KNOOfd9fcC6fem3ZN3xK8G X-Forefront-PRVS: 0680FADD48 X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1186; 23:+ptkmWyX3MhY9FjTPqvkiekxG2BFvLQ+XMhZ/3tmgGop0YOsj8W5DUFeLRKXApNNL0kDehqYWYoPSU0Pp0bCioIl/Cd1mA0TmqXkOfRX0qT5/wY6W4feMbaxxVmnsTaPBlmN/E/jqxD6bX/Uu6q21RwOzCyciN8SEw8znFORRmOGjk3SzhXeEMMsRT1qXbrR9H8QW/RA5eZrw7g2/WLTGlBo/7J7xAIgntvWHDuNaRwtx+nE2fkT6PlQTqyfGUGdnLOFdT5vEyt/R7lzYzY+Qlhujonk6u7JVXXrVnBWaU+aFtri25uk301VbRx4Zjmej66g6G0eyP6EuGiw5l0wRvW8Z1GUuYi6rjLL21K/26eQspo2TTT5TunLEn0BqrOMsFV+0y6eXYNcb/+Q//sX9dZskvqOJHkCz+ObhFmO454271+c2TkSqNPYnIlh88NOCGz7E6Ra7SIlGbcD++lso8lsUFxDM4Z1chV4sqKEHEbnb57yQE/AqXV6FNzqsjdnBx+/AEKxp63X3lH+7UAdxjYpDpQygC+w93kMQYgvug133Bb7RcunSa22amVzXgBcWV8q5dWpu4RfAZ8EYsmtaO/7aKyadl7yy8lrSZOB33KldH+q8P9IZR9xWHA5YZRX9zJ2XnJ3lGq+gQdJkIxDL+cyVNM0zwM2oHB49TOHpRPx8uGDJJ/wuUgxglt4KDeH2jYvsgWId9Y7aNLvBRGdpQW9NofrmVNdwBVMOs1g5iI0VA5r0IHrtL4WZHp0cLlSdyODJVRQthBYWQzHAtaLHnnXcEmdJx3slpWO8+GVbfgeyMnYQlP5bDyx4qjwgaf4YSHk9rDs36ZBmyjtpbipUCYo6NCRCH2Fj1LWknOC90XKGGdGVB3ZyKgilFevuv1QOO12AU9qVbbr2BsTYC/b6adiIgSHRT9Zpx6L0DK/x5Bdyr784dBlGHmio582NpSVU5baKc4FUzR1x5OihTV1rbz6MmeB/6gOh1eTObeFkF3y3w28liAMmFM/kvdM/G59bS6j9G+SpTShE+3Nu81tuDo7XRLR1Hrv90zk9BWwZQVfGzQhequSzMWiOlhgBTMdfKjtguKWZ9cwL0EwvimcNP2Fj+bAyG2Zi/77E6rMG10/3iifJqhT2+TN6zrMKTt/miV9aWOfKGJuXzSJZ7vs3DFCkjwVEM4KRJ1xrnOQHM5jgfhLVHcTHQYmv9oigJEj X-Microsoft-Antispam-Message-Info: TgavQjEgfujIzRWwYnXsAwora5c0On/Ny9iVmZxelz/ETCJn/j+snMzPsELM4AZhnrWCMjHEy9tdpHJgYNRMV5kq/VVueIofTFGCbJMeukDG/dur/GLNCVddvfiyqjjRVWOiVcUygBOVk0UmO4Sg8IHoIwk3XAx+YMyEF3dlw4RdICQ+UK00BVwCoG16aevIySt3ayS/MrCCO9fhFXmMcQAd7GUDUoQD2FCUwo0j2lRJqleH0HCZNvYkBrPzhUVc X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1186; 6:GkkKNKpb6utpC2AqPbctcw/08okWSqaPfYcw08t4Rkl5RSnw4gTtG1h09zBCNTBzqMa9B37gwoFZ4hHdUt5tdgFxctFAxI2Cm5Xfc1BDRZIq5hTD+ywFRUxUpIs1cDVaQRSnXiI/MnmNGrevZ4ckwV2TuMtIfumo7IS3L4YUwNlpRmzbrLmifpQCql8e5EdxjmI4tioFdcHm1TLwxCvr41MUUJBin4L22ueq1ZsSeJWOuY15pWQdLQpL0DGJldWPe97ASSjbTuJUV8rlvQazS194CIOwBnh2iwJq8kEHXofxUtKSb+khnKFCVLhftHKmr8EAh6A3LlnEMW8CgYFRHEYPb0yP8BBxLsuNa0STiOGnc13qUFQf70tttUEuhGa9DHDec1uAJL5cD+RhQG5+ozCYC1oqgF+pZqCag2K+THCydFM/701HtEsdb6K4yX33r7+GksX7ISa+/83w+/w79Q==; 5:kNpjjVf3kwXHt2JY63mmOPgedwTKoGlQSzpaDFi9O7nhKbV67pr2J8Tyn9zAvLqVfwyCl7ettbSjjwQYLsryBpkYjY3/oAC1UABXlKlhiu16nhQhIqMArnpvIRCV3+G33uPI6e+DUdEjQ/uShpdTp2nZH+JqkvalW6j+f5PQah4=; 24:TwBOaD09/NsStIu2tpZpNWFfXeyL982dMSABJO9ftF5MZd039i5Fi2wt+stcLrl//6k5WqQxifHZtDtYp/axJE/j14a/Diw7XOaTSX+AMzM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1186; 7:SNFQ9V04WWvcWFQn/79aKkxgBt5XakRFcDKcEAjKecPD109c6cfqq1ArzNLmu3kdZQr0GMRVuA9gGe/pvWDwQUPRj56ruGBwZme4/+4DtoS1gteqLlU7VHzSyxNhbaCq1amH9uaHlItb5bZeoRWd5BMKCa3mXaURj6e+WxK7Kr0WsG1G1hNT1yYL0DcF60yqRE3ZaWqkEqYZMuMSeqKLRpeUO+l60+UcVKnXVg9ISulMbuP/y3ccWiMZ6GSqpFG2; 20:ByoRRgfSni6UPor43BumWaYuQZZcQIDTeYwsRZA2pXVPjIN6P1O6Yb6qz2tHoCEu040WNGwhd2fr950DaSAmx5QYaJWXOzFBFOVNj71tsMmJNGZqEyUCs3DzpxyynKDwem+nLmtOlem3XSXS1kpqvCrEAbMgL0WC+F2mmq2crRMkDzEald5aUqGB1X9HLdUct30TSItEtSJwEoSQFTydL2usN9d5TS2lq6m1djAV+9srNzA04yUXl8DZQzPPyddh X-MS-Office365-Filtering-Correlation-Id: a0da2b81-7ba0-42a8-1fb6-08d5bfe7bd6f X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2018 13:27:15.4163 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0da2b81-7ba0-42a8-1fb6-08d5bfe7bd6f X-MS-Exchange-CrossTenant-Id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d36035c5-6ce6-4662-a3dc-e762e61ae4c9; Ip=[158.140.1.28]; Helo=[sjmaillnx1.cadence.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1186 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org If PHYs are present, they will be initialized and enabled in driver probe, and disabled in driver shutdown. Signed-off-by: Alan Douglas --- drivers/pci/cadence/pcie-cadence-ep.c | 14 ++++- drivers/pci/cadence/pcie-cadence-host.c | 31 +++++++++++ drivers/pci/cadence/pcie-cadence.c | 93 +++++++++++++++++++++++++++++++++ drivers/pci/cadence/pcie-cadence.h | 7 +++ 4 files changed, 144 insertions(+), 1 deletion(-) diff --git a/drivers/pci/cadence/pcie-cadence-ep.c b/drivers/pci/cadence/pcie-cadence-ep.c index 3d8283e..2581caf 100644 --- a/drivers/pci/cadence/pcie-cadence-ep.c +++ b/drivers/pci/cadence/pcie-cadence-ep.c @@ -439,6 +439,7 @@ static int cdns_pcie_ep_probe(struct platform_device *pdev) struct pci_epc *epc; struct resource *res; int ret; + int phy_count; ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL); if (!ep) @@ -472,6 +473,12 @@ static int cdns_pcie_ep_probe(struct platform_device *pdev) if (!ep->ob_addr) return -ENOMEM; + ret = cdns_pcie_init_phy(dev, pcie); + if (ret) { + dev_err(dev, "failed to init phy\n"); + return ret; + } + platform_set_drvdata(pdev, pcie); pm_runtime_enable(dev); ret = pm_runtime_get_sync(dev); if (ret < 0) { @@ -520,6 +527,10 @@ static int cdns_pcie_ep_probe(struct platform_device *pdev) err_get_sync: pm_runtime_disable(dev); + cdns_pcie_disable_phy(pcie); + phy_count = pcie->phy_count; + while (phy_count--) + device_link_del(pcie->link[phy_count]); return ret; } @@ -527,6 +538,7 @@ static int cdns_pcie_ep_probe(struct platform_device *pdev) static void cdns_pcie_ep_shutdown(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct cdns_pcie *pcie = dev_get_drvdata(dev); int ret; ret = pm_runtime_put_sync(dev); @@ -535,7 +547,7 @@ static void cdns_pcie_ep_shutdown(struct platform_device *pdev) pm_runtime_disable(dev); - /* The PCIe controller can't be disabled. */ + cdns_pcie_disable_phy(pcie); } static struct platform_driver cdns_pcie_ep_driver = { diff --git a/drivers/pci/cadence/pcie-cadence-host.c b/drivers/pci/cadence/pcie-cadence-host.c index a4ebbd3..7536926a 100644 --- a/drivers/pci/cadence/pcie-cadence-host.c +++ b/drivers/pci/cadence/pcie-cadence-host.c @@ -58,6 +58,9 @@ static void __iomem *cdns_pci_map_bus(struct pci_bus *bus, unsigned int devfn, return pcie->reg_base + (where & 0xfff); } + /* Check that the link is up */ + if (!(cdns_pcie_readl(pcie, CDNS_PCIE_LM_BASE) & 0x1)) + return NULL; /* Update Output registers for AXI region 0. */ addr0 = CDNS_PCIE_AT_OB_REGION_PCI_ADDR0_NBITS(12) | @@ -239,6 +242,7 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) struct cdns_pcie *pcie; struct resource *res; int ret; + int phy_count; bridge = devm_pci_alloc_host_bridge(dev, sizeof(*rc)); if (!bridge) @@ -290,6 +294,13 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) } pcie->mem_res = res; + ret = cdns_pcie_init_phy(dev, pcie); + if (ret) { + dev_err(dev, "failed to init phy\n"); + return ret; + } + platform_set_drvdata(pdev, pcie); + pm_runtime_enable(dev); ret = pm_runtime_get_sync(dev); if (ret < 0) { @@ -322,15 +333,35 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) err_get_sync: pm_runtime_disable(dev); + cdns_pcie_disable_phy(pcie); + phy_count = pcie->phy_count; + while (phy_count--) + device_link_del(pcie->link[phy_count]); return ret; } +static void cdns_pcie_shutdown(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct cdns_pcie *pcie = dev_get_drvdata(dev); + int ret; + + ret = pm_runtime_put_sync(dev); + if (ret < 0) + dev_dbg(dev, "pm_runtime_put_sync failed\n"); + + pm_runtime_disable(dev); + cdns_pcie_disable_phy(pcie); +} + + static struct platform_driver cdns_pcie_host_driver = { .driver = { .name = "cdns-pcie-host", .of_match_table = cdns_pcie_host_of_match, }, .probe = cdns_pcie_host_probe, + .shutdown = cdns_pcie_shutdown, }; builtin_platform_driver(cdns_pcie_host_driver); diff --git a/drivers/pci/cadence/pcie-cadence.c b/drivers/pci/cadence/pcie-cadence.c index 138d113..681609a 100644 --- a/drivers/pci/cadence/pcie-cadence.c +++ b/drivers/pci/cadence/pcie-cadence.c @@ -124,3 +124,96 @@ void cdns_pcie_reset_outbound_region(struct cdns_pcie *pcie, u32 r) cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_CPU_ADDR0(r), 0); cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_CPU_ADDR1(r), 0); } + +void cdns_pcie_disable_phy(struct cdns_pcie *pcie) +{ + int i = pcie->phy_count; + + while (i--) { + phy_power_off(pcie->phy[i]); + phy_exit(pcie->phy[i]); + } +} + +int cdns_pcie_enable_phy(struct cdns_pcie *pcie) +{ + int ret; + int i; + + for (i = 0; i < pcie->phy_count; i++) { + ret = phy_init(pcie->phy[i]); + if (ret < 0) + goto err_phy; + + ret = phy_power_on(pcie->phy[i]); + if (ret < 0) { + phy_exit(pcie->phy[i]); + goto err_phy; + } + } + + return 0; + +err_phy: + while (--i >= 0) { + phy_power_off(pcie->phy[i]); + phy_exit(pcie->phy[i]); + } + + return ret; +} + +int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie) +{ + struct device_node *np = dev->of_node; + int phy_count; + struct phy **phy; + struct device_link **link; + int i; + int ret; + const char *name; + + phy_count = of_property_count_strings(np, "phy-names"); + if (phy_count < 1) { + dev_err(dev, "no phy-names. PHY will not be initialized\n"); + pcie->phy_count = 0; + return 0; + } + + phy = devm_kzalloc(dev, sizeof(*phy) * phy_count, GFP_KERNEL); + if (!phy) + return -ENOMEM; + + link = devm_kzalloc(dev, sizeof(*link) * phy_count, GFP_KERNEL); + if (!link) + return -ENOMEM; + + for (i = 0; i < phy_count; i++) { + of_property_read_string_index(np, "phy-names", i, &name); + phy[i] = devm_phy_get(dev, name); + if (IS_ERR(phy)) + return PTR_ERR(phy); + + link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS); + if (!link[i]) { + ret = -EINVAL; + goto err_link; + } + } + + pcie->phy_count = phy_count; + pcie->phy = phy; + pcie->link = link; + + ret = cdns_pcie_enable_phy(pcie); + if (ret) + goto err_link; + + return 0; + +err_link: + while (--i >= 0) + device_link_del(link[i]); + + return ret; +} diff --git a/drivers/pci/cadence/pcie-cadence.h b/drivers/pci/cadence/pcie-cadence.h index ed336cc..b342c80 100644 --- a/drivers/pci/cadence/pcie-cadence.h +++ b/drivers/pci/cadence/pcie-cadence.h @@ -8,6 +8,7 @@ #include #include +#include /* * Local Management Registers @@ -229,6 +230,9 @@ struct cdns_pcie { struct resource *mem_res; bool is_rc; u8 bus; + int phy_count; + struct phy **phy; + struct device_link **link; }; /* Register access */ @@ -307,5 +311,8 @@ void cdns_pcie_set_outbound_region_for_normal_msg(struct cdns_pcie *pcie, u8 fn, u32 r, u64 cpu_addr); void cdns_pcie_reset_outbound_region(struct cdns_pcie *pcie, u32 r); +void cdns_pcie_disable_phy(struct cdns_pcie *pcie); +int cdns_pcie_enable_phy(struct cdns_pcie *pcie); +int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie); #endif /* _PCIE_CADENCE_H */ From patchwork Tue May 22 13:32:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Douglas X-Patchwork-Id: 918317 X-Patchwork-Delegate: lorenzo.pieralisi@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cadence.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cadence.com header.i=@cadence.com header.b="fJrz9mSr"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40qxRh00Ltz9s7X for ; Tue, 22 May 2018 23:33:19 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751277AbeEVNdR (ORCPT ); Tue, 22 May 2018 09:33:17 -0400 Received: from mail-sn1nam01on0085.outbound.protection.outlook.com ([104.47.32.85]:59584 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751214AbeEVNdP (ORCPT ); Tue, 22 May 2018 09:33:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FAUS47lphVeBcLGkjf54Gp0DIlOn4AyiSzvLXMEjvHY=; b=fJrz9mSrCp5O1HmyJt85m3bhzRU/yHP/xVCjAiToz2qz8ioWlHwXuXT5P0kry4EicVoI3w6omqPAtjC+gCAoXvUNT4Q1eod3wY4nLxsliwWQlJ55r+CEqJq5GeRkjlZU+6gnnI3unB0mqmGFf2o0bN4PlMmxNUQMLsdNRJCty58= Received: from DM5PR07CA0057.namprd07.prod.outlook.com (2603:10b6:4:ad::22) by SN4PR0701MB3677.namprd07.prod.outlook.com (2603:10b6:803:4d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.16; Tue, 22 May 2018 13:33:13 +0000 Received: from BY2NAM05FT028.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::206) by DM5PR07CA0057.outlook.office365.com (2603:10b6:4:ad::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.776.16 via Frontend Transport; Tue, 22 May 2018 13:33:13 +0000 Authentication-Results: spf=softfail (sender IP is 158.140.1.28) smtp.mailfrom=cadence.com; arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=fail action=none header.from=cadence.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning cadence.com discourages use of 158.140.1.28 as permitted sender) Received: from sjmaillnx1.cadence.com (158.140.1.28) by BY2NAM05FT028.mail.protection.outlook.com (10.152.100.165) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.797.3 via Frontend Transport; Tue, 22 May 2018 13:33:12 +0000 Received: from maileu3.global.cadence.com (maileu3.cadence.com [10.160.88.99]) by sjmaillnx1.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDXAoV020710 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 22 May 2018 06:33:12 -0700 X-CrossPremisesHeadersFilteredBySendConnector: maileu3.global.cadence.com Received: from maileu3.global.cadence.com (10.160.88.99) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 22 May 2018 15:33:19 +0200 Received: from lvloginb.cadence.com (10.165.177.11) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 22 May 2018 15:33:19 +0200 Received: from lvloginb.cadence.com (localhost [127.0.0.1]) by lvloginb.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDX9OZ023678; Tue, 22 May 2018 14:33:09 +0100 Received: (from adouglas@localhost) by lvloginb.cadence.com (8.14.4/8.14.4/Submit) id w4MDX9KO023660; Tue, 22 May 2018 14:33:09 +0100 From: Alan Douglas To: , , , , CC: , , "Alan Douglas" Subject: [RESEND PATCH 3/4] dt-bindings: PCI: cadence: Add DT bindings for optional PHYs Date: Tue, 22 May 2018 14:32:32 +0100 Message-ID: <1526995952-22031-1-git-send-email-adouglas@cadence.com> X-Mailer: git-send-email 2.2.2 MIME-Version: 1.0 X-OrganizationHeadersPreserved: maileu3.global.cadence.com X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:158.140.1.28; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(346002)(376002)(396003)(2980300002)(3190300001)(36092001)(199004)(189003)(305945005)(336012)(478600001)(6666003)(87636003)(50466002)(426003)(4326008)(126002)(2616005)(476003)(246002)(8936002)(50226002)(48376002)(486006)(8676002)(7636002)(356003)(105596002)(26826003)(106466001)(186003)(42186006)(16586007)(2906002)(51416003)(36756003)(110136005)(59450400001)(47776003)(107886003)(2201001)(26005)(86362001)(316002)(575784001)(5660300001)(54906003)(2101003)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN4PR0701MB3677; H:sjmaillnx1.cadence.com; FPR:; SPF:SoftFail; LANG:en; PTR:corp.cadence.com; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM05FT028; 1:yCDZumkzCI7e7h68e+MMokDgQKo3J1an3XLQEZDvRPdmz7l1aPDQvjUmoTOiyrg2n1Fhe1dd9a/g0/yEeCDIDtyfJnUSB3KMJ6Ih3tGXNI19tvt3UBlWtgz0Drva2RJs X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:SN4PR0701MB3677; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3677; 3:LHgv6Ql8QehjxeXUd6WoyGd986FVETi6rsCspZB5ppKdEvep6/c7cZPdoRlv6VSjm0M/WYBWW+TrkTAaPy7KxTyP75NvIePb5Go9hPQ/1lUBt4OYXKFVJNeo0o/zToJGacdCbPdNjHYDQTo5ywdhng2nXiKhFvK825wFzoEEx8wfRL5zMbUnKA5pmi2mVxEl4NZZduD1IYHDXLgynv+ciR+82Jk/G51MWm9c28+P7ilodErQN1tp0sqLYDuuCXTrQdCZ4wL+o7yg0/kB15yg2PhEMn2EyJAemBteIQ2mfyl20XoxEMkNIDEVWVtbNz2GpC2yrS4p7ddF5E1tpxj005725WKLT8IvSYRlwGtgwtI=; 25:2OaY7RE6WdGxdPJKn0Jjv+PFV6rdzmxt/h0vXcICyT3wnqxLReGwHCAPFaQHj283z9PffUgfcr+wbTYeMBIA0QBd3Ow3J3jsChBJw53gsOf2zZ45PjkMBbF36di17mHwx9tuLM5vDtXQxIqcpArgd+9zTzrg2FK1r5u/5IHlC7PMqxuK3QJThfeONk6Zty62puttuf2FnoNve88xUfMfWsboczGCNNW9ox0pbjbw3fGmvF2tUjHC429/8kIxCoxNQRi9pVV4WAxRaAj7s3n52gtOxZITe3sYRLEoCUJxgMnVcJwGfTQ3BuBIoAWa83VvIkqQ+w5Tvdd/rmU7OyMKew== X-MS-TrafficTypeDiagnostic: SN4PR0701MB3677: X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3677; 31:SwLEj5ykp6doqn1uGA52P9rMKnzphxVFJXAR79t/EasXrfWMLlN3sp6S+98/TZVvmwgIZIZISC+BaFMNgbJUEoJukhpfeHa/+IIgkZp09siH3BJ3Ggnp3tTYnCo5bifsqzxa27xfaiV3106aB9tUZOB8R0BcFGllT00dvcGTai1Km5J1uQhQ3b5tcOiuRaiCEqqLWRfh1rV+rXB0GRnIDciXCdaLHY5RFZ76f6y79oA=; 20:EVyvE7JcnbW8ee4UUhlCHdAz40KxV8nNmw2gu7WP2/nIWTyQ8hUgIQj+R4Pvzk1AHFVcxsOhzOQ0LWMwPHaTUY8L4/SJq+DIDKst2jyRgyb4ky3Gv1v+npct9x/nuEySMS3sVGQELWYKthZzhLmXBy6rzfitUPclZj8tGiG9I04j1WQBq1j3lKYZI7pDPg1jLLTcpx7Gz5TrJb6AwjrZsfMX6U4BLLfFyM7YUDRJAGL1j1MMH9pJWhn8ggTgGuLjn7vjxdBYGuuReNtlD9QQbWOh5eGyOFgf+JQOWFS4X6Y2+OVH1lTjzGkFJb3eXzwCihdDj4fMJcPxr0CkQK9o0jFT4Rb/HzRWeoH8tFHHVqY/rd2L5GXGJGZTtm1DWBAdyJ2IeoQmKxas7zt3KOEvzDIf+uPFC6sAGszvx8/hhVR+7Bdy6NhYkoOfVFtLLUCyaGUmNrwN7ftD3F0IiScgLZ8B28Ahn6BxkVcTg6frBSiegzOlctxuRuf9n6sjGDAR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(72806322054110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(93006095)(93003095)(10201501046)(3002001)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:SN4PR0701MB3677; BCL:0; PCL:0; RULEID:; SRVR:SN4PR0701MB3677; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3677; 4:4wcy/HUuSdRY5WDo/VInHNlUcFGYh7sMkHNadewT30JX61xWnkIQjIQXHUL5UcRhBvcPEaTA3Czo2ncKtkwt0S1HAPuHFMlGfnEq+ZCsN3YOGNxiSwSwX+PDYVVTlga8Wwx0nNBUn1TP/Atzr6g9kIhcj3qCJq2nNH0Z/yLqG2dPS7GFc39aoJTKw6GwDEuIGL2eu2QrDShQGsKSfzB3jtYU5q3zabvdzOjxhtNDk74FTjsAOxA2M3YvzVPENS19+OlOX3rDlBi9aPj+QtKU5SZCiDJ3c2zJmwIhv9J39CUzTOSPREjLuAxajhXtyjUL X-Forefront-PRVS: 0680FADD48 X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3677; 23:Dr+vTfZYRoCA2aeVmOBnwup8V1/mCfPXngd5zf1yAy8plQ+9PLzsKI5nlbQhZhVxqUowNsSt6VAnQrHpnvoaZO+F+/LfQsOqXtn8q0iEi00orFBDSq5ujnbTd/THkCE2pjgc8ATI8JcHVZ5cTyhaB9V4eZTLDYNAamyVJJ0AtWKwneQj1ZiiVEHyf2gJS/YvDstWWqVSqFhhqzMhQJXg4gwyGlUmlT3aEqUCvcMm6Sh7CrK3A5G24u3uuRVIsn39E7dKEEAoeG5zfjsPDiu2LFBkAz6X5bJTjjy8FUoq17WZTTzVI2K4cpaU4qIVsUMEM+wZX7f8hBsDyS2D/F5IXiyHh98sDNhR3SuaE+uxs90N/52CzpTLGZfrhEtY9vWVuCzY2wxRJiyjkugKhfhmNyLKq3WXIGplGrU8Hj2uoiiFR8G6qp6MBZTYP8GJ3K1Yl2q449rRgf61N2KW9ayKEQxyGpviQvwgavnJukre/Y/rMifjCXYDO2CykWrIozikw9h62e0yQfMabDlVc1ovNE0fmljmtKhbReuvqGm1MgMdJova6Ai1CKF95I5SAgJJrpBO8ob7TIUZVrXWL0C3gJ0JieaIijxCP+BQAaF2bT0FViYoNO/WTEZEBM7+v1lbv8m1Bh8Sb6sFNflLrfIvF+3vU8HDELKdsuRtyG0e1y+3uZU6WwhwjuzyYDR/Wr/+jF83wn0ySj6wRQRni9P1c/95AGe+yYpBhFr72zGhyZPVcfa/Z1mIHPzZr8p9kEvIw4a9McA6LXMbxD1r7CtiDNLtIHNAK9mFJmOct+wVftzs6fEfsk5TztuFLXSJqDLRChVFNppDpLG6C9I8tuLHc7aEv7ujgXAabnZn17c2mP++cKrDTqiookmSdXR+IEdHu+m2LATBn7l2dbFOinyjkxGb58PjiOq27RtxIME9r64Ruv1OopVt13vr/DONxIC6DMgfu8o//sSudJo+B6T2AGicIqGLsguIn3oB1ob1xsTPCtiszJO+k4P8eBG6GuUgdBdIKPZP6j/9csYctSD+rNx1jbbiMEoiH96NxjZfUM6y2v5GpHP2uWQr0ZXFw3JLj1665OZksv0W74YHB6Gzsfarf8esAzInLtUH+b613wjVZk2TaacFP8njn3qLGIkTXqBCs2eWVmXi6fmz7MQrWg== X-Microsoft-Antispam-Message-Info: EmdvDmldn/YnhDgfzBQlhrVRNBFQJFFbcX4+gldxgPuvm42Ne+Qq284AWkS2YDQ8XVh9j4VxioH7UhrV6k4HHvYFl4HUbfwFRPG6oB364rrQq8Nx9Pp+BcnzHBp2bpirVqQ7gsunCDSxiyFfGNow1feEJd8/+QKTaokMDEDK8jztqqRsJYVQCBYSKqi/vZxZdnNqBeIvH/Xz1zQh4G2P7piqyEKI3MOuEZoQNPQkrWDrFXLxRzzEzx5cUv1t3WlN X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3677; 6:/2hn0k/5mPH1jV4ePj04CmzOzgPg+F032NHyfVetJQabYYtlF0A2bQAWO70yZwpKPuep4fHqX9tGs02JgzzUG4TUx3LiFRSqwpBpbkM6kCtCvE+c4VBDaRPwybwe3V/8FVrtL2ZNZrsOxUPNej8IarUMUXCCjZpoLaaQOawNwSftDiP+oh8ZNs5PHq3XTVpcb8Tv9kJvbvsR7gGH7GwkO9Z6IMcnaNV4DCdW9iMo+FBkiY60+OkH/yX2vUsMmGBRiKLC9Vo6uhVNJB1urqZa7avPVaLjEwSks1W2ThSbF8gY670m1R3fzKt0I5LwsjN3pGDomn2jOKcx3NCJnZIxQ/eeugmStnqbaKKeRpHlElUxHmfzRXqLIWzicFzKJsvNOOBxjbrxzds8X8BP3VlHAF0eYqSaZTXTpeb2rYLBqKyt7joXP8jeWj99Rgx7hrd9DSDdxM2Dwfkl0pR7CpRbVQ==; 5:oI8Omlb0SB8Ere8Pin9JC4GYwpGnBtMejQ062KFzp8ZQ+5pL9vKCIcXH9VkwvT+vPV31AQJlDDDtGml5FsurQqn5Z1OpcLaL3EgFRm8fiCybZjZTkaWmmv/14hPuGbohb7T9wLnAnHb/Q54yMJBK2NCcO6bQwSuAeqmb4e9K678=; 24:EzHneGK/ZlCbK5ljSmIvPRQPHkoO/HbuPyGfpzwA2kM7oUfYvlU/9Io0Cd6PK6JVqd0Zfn+LfGi07KhVLH8B0sxPAdqBnYH4RM5VzRKyC+g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3677; 7:+fgW5yYLPKw8/7K+GWbFHjtAOiSmlxGc0RMcYhpsaBi+G+P6FHLchVhjQP0aaW8PfgSO9bZBfsDkeFs7FOgKXzYiHTYl2vBwUYW8P4q4tOafqv7hFbCJqDJZOF4CwaqlX2wxkzNdm1bmuzGNpAY8IJZ3DphrXIH4vY+Sjx0BCYxbUZ7jUe8byBK3oQfpU+nuSv5lDYWt+VlIlTPVooOc36T9Lows781HMSA6r0aZrbkf/O5pbJnfN2QYIUdl5boW; 20:XFHqpgxSfryJ/KkKfsEuZoK6N0wQtD7Ta1jWr7r6/Bt/crhXdkAnUNckWjXfhJAS9JH8bLXr12RYuERHKequf6EZyxNLFmhWqlrhoV2fvMp+hsAanCUe7rdDQW9+2XPFsHSNfNpbiZYcQzPvuwTkUSBP2csXV4GXWNrXnFAZpvLNV9h/oTIJEQ8GVLAUhYbjMpWeSWOWTr0QXftWpFHe2CYsE2+5Lve8QbRp77n1ol/GwoqdTvWjpsDLMLJMSezi X-MS-Office365-Filtering-Correlation-Id: 43174d75-2a53-44df-e9d9-08d5bfe89139 X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2018 13:33:12.7915 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 43174d75-2a53-44df-e9d9-08d5bfe89139 X-MS-Exchange-CrossTenant-Id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d36035c5-6ce6-4662-a3dc-e762e61ae4c9; Ip=[158.140.1.28]; Helo=[sjmaillnx1.cadence.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR0701MB3677 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Update DT documentation to include optional PHYs for cadence PCIe host and endpoint controllers. Signed-off-by: Alan Douglas --- Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt | 4 ++++ Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt index 9a305237..e40c635 100644 --- a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt +++ b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt @@ -9,6 +9,8 @@ Required properties: Optional properties: - max-functions: Maximum number of functions that can be configured (default 1). +- phys: From PHY bindings: List of Generic PHY phandles. +- phy-names: List of names to identify the PHY. Example: @@ -19,4 +21,6 @@ pcie@fc000000 { reg-names = "reg", "mem"; cdns,max-outbound-regions = <16>; max-functions = /bits/ 8 <8>; + phys = <&ep_phy0 &ep_phy1>; + phy-names = "pcie-lane0","pcie-lane1"; }; diff --git a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt index 20a33f3..c0ca4c1 100644 --- a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt +++ b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt @@ -24,6 +24,8 @@ Optional properties: translations (default 32) - vendor-id: The PCI vendor ID (16 bits, default is design dependent) - device-id: The PCI device ID (16 bits, default is design dependent) +- phys: From PHY bindings: List of Generic PHY phandles. +- phy-names: List of names to identify the PHY. Example: From patchwork Tue May 22 13:33:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Douglas X-Patchwork-Id: 918318 X-Patchwork-Delegate: lorenzo.pieralisi@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cadence.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cadence.com header.i=@cadence.com header.b="FNhWrwJx"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40qxRp71FYz9s7P for ; Tue, 22 May 2018 23:33:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751369AbeEVNdZ (ORCPT ); Tue, 22 May 2018 09:33:25 -0400 Received: from mail-cys01nam02on0055.outbound.protection.outlook.com ([104.47.37.55]:43712 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751214AbeEVNdX (ORCPT ); Tue, 22 May 2018 09:33:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ua2lvjDlqn7df3Q6vHKmeSkxHYSUbmat6KVhzbS9SZY=; b=FNhWrwJxixqiHYy7xVADIfyI2LfwUcBm/8ZmfziCHrE6VgIUrQqlZB1/pGFpmVTTEd3SaV5VcDX2290JI/xepA+Sfy6c5/1nq9TifUH+AWRsCYj/il16aKYPYwUJh+fwBHMNwPhFFRyv42GuUxHMRr0UZQnTwah/JnajZkeaw1Y= Received: from CY1PR07CA0031.namprd07.prod.outlook.com (2a01:111:e400:c60a::41) by CY4PR0701MB3666.namprd07.prod.outlook.com (2603:10b6:910:93::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.797.11; Tue, 22 May 2018 13:33:21 +0000 Received: from BY2NAM05FT007.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::204) by CY1PR07CA0031.outlook.office365.com (2a01:111:e400:c60a::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.776.11 via Frontend Transport; Tue, 22 May 2018 13:33:21 +0000 Authentication-Results: spf=softfail (sender IP is 158.140.1.28) smtp.mailfrom=cadence.com; arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=fail action=none header.from=cadence.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning cadence.com discourages use of 158.140.1.28 as permitted sender) Received: from sjmaillnx2.cadence.com (158.140.1.28) by BY2NAM05FT007.mail.protection.outlook.com (10.152.100.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.797.3 via Frontend Transport; Tue, 22 May 2018 13:33:20 +0000 Received: from maileu3.global.cadence.com (maileu3.cadence.com [10.160.88.99]) by sjmaillnx2.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDXIks028110 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 22 May 2018 06:33:19 -0700 X-CrossPremisesHeadersFilteredBySendConnector: maileu3.global.cadence.com Received: from maileu3.global.cadence.com (10.160.88.99) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 22 May 2018 15:33:27 +0200 Received: from lvloginb.cadence.com (10.165.177.11) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 22 May 2018 15:33:27 +0200 Received: from lvloginb.cadence.com (localhost [127.0.0.1]) by lvloginb.cadence.com (8.14.4/8.14.4) with ESMTP id w4MDXHbp024024; Tue, 22 May 2018 14:33:17 +0100 Received: (from adouglas@localhost) by lvloginb.cadence.com (8.14.4/8.14.4/Submit) id w4MDXHrZ024021; Tue, 22 May 2018 14:33:17 +0100 From: Alan Douglas To: , , , CC: , , , Alan Douglas Subject: [RESEND PATCH 4/4] PCI: cadence: Add Power Management ops for host and EP Date: Tue, 22 May 2018 14:33:15 +0100 Message-ID: <1526995995-23872-1-git-send-email-adouglas@cadence.com> X-Mailer: git-send-email 2.2.2 MIME-Version: 1.0 X-OrganizationHeadersPreserved: maileu3.global.cadence.com X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:158.140.1.28; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(396003)(376002)(346002)(39860400002)(2980300002)(3190300001)(36092001)(189003)(199004)(26826003)(186003)(87636003)(478600001)(2906002)(426003)(47776003)(2616005)(8936002)(8676002)(126002)(5660300001)(486006)(48376002)(59450400001)(476003)(50466002)(26005)(336012)(50226002)(51416003)(2201001)(36756003)(86362001)(54906003)(42186006)(110136005)(316002)(305945005)(16586007)(4326008)(246002)(106466001)(7636002)(356003)(105596002)(107886003)(2101003)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3666; H:sjmaillnx2.cadence.com; FPR:; SPF:SoftFail; LANG:en; PTR:corp.cadence.com; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM05FT007; 1:u3LmBpLyO+fm7KSSpEMtzS1rOyDmXRLP6spC1cbPj7uF/05zG8XT4kejvjkh5xbIFiTlbsIi2OAo+zWe+ByxVXY3t0KKNdCcmURwgtlU7apvvoypv/4227N+iuNytuMJ X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:CY4PR0701MB3666; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 3:H1ecb16x+k3QHKMkIf6F9QwjkZCrqFQjHMBjjeXYR0wnwF5olLCIYj8LB6xuoZsjXW/WRqTK7rMybYKq8yVVqGcoygCDvsQFcdN2dMJMFujweKinTq3AvICt7+pN+kKyAQNCH0i2YTB/T0hIUTgBlt5pI/Z+GbIbpJjDPM76rhES+rtCNSy1/pX+CyHLDwLbq8zEc249lxI95B1DoelKv97+33iEE6PzMUP/6eZrm+D1G2vZyA7FsBgnd07fEYgT093591SAJWxXGTnZoVlq5TfERzEU5Dplf11Xwn6Y/XMfYW69bJapBHD0rZp3jwo/hLQCIm9HSHw71wwUO5/Wmqj7MxvP+q+5wz7C1pIIYR4=; 25:RdPN1GwJMRJaXpgnSJES0DZU2XuedtJLzWbagLScqHM9McBuznFCm6oQMAEfDEAdGt3Pqrh5Gv59R5kRxf5FJIY/s12b0jatr2cPdaBmsd7Ekt9GjG/r0+8O0IuA5W8Jlw1O6mI0orz/VCqEEYlTAqbyhXCnf3mkR7yzYIF605PynbygxrEq6nlif7fakfDumYIBW4vE0kdnevarNIZW6SAGOPslCMOViSO0xb5JAtTq7/qL8P14Im3bhJLg1rT8SnMqBfS9LbGeUsNUrB9G/kv7ApemHFjs0TLxstR9PE7FmYLO6HBRdye3juiTwkn0FPJG1taAC7kYIZQZHBVUEA== X-MS-TrafficTypeDiagnostic: CY4PR0701MB3666: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 31:rvOFdDwslGRtnhaf1Zq3MBAahFRyonTHACsUGsZiH/SaS5a1PykwbfoX3Fp8X2ddVv6PqIEVeqJbr2890EbSBwOOzqbB/PRwM9NFKFjWLrpYbJ7ngoiweZyBntWUIiSeSpqMlA0nOFz4vAFEQ0wdEk+EJpl6IWN3DR1B9WafyAYgpLxgDv6b90xXVSKKeA1++I33ZckRMiMB4XYoYQYCYQ4IeMJhtaH7vJ/e+MUcmwc=; 20:vql1Lj7dooKfDXhJf/qA/5mnbxkmUiviaIewd4AkLcHrrm1hqvlXDTnRmfghInX95xpDuDUqromG+eGay3Gg6mrqz0WvzmAx6HuQcia8mlvpHFJsnZ9yW797GKCcVLI9fEJmH8C5LEdRoMEwtO6wanLvR2crIrHqjonZr8duvcN7NKMNGD98jZ1eGCpnzgLfriYM0+8lcqPdtEe0q4bbrWcrtll7A8/svdePMiqen1QkbKAd7W7x939CPknWFTow12MixO8+dhzPQaBKEFAHgb4K3jmEBU+KADyrIYdN//OLe7MoO/YdPuFsZsagXl4pppoLKYT/leCdz3NZgCzc0mlgcMbgwjzrAtukVPtVk9hAk81KZdJPKSASXpGLWLyKWftdze1RHh7Eu/LMhJkdfSn2x/uf+fKVYF3mO10fxNjUq+Gwy84TbWo3H4LxGukRq09EgJ3QwYWOUtae5rUp5NyoKq0s/W95lSZjXZ24WZZtHO4i3awCW2h5uDvPhfvv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(72806322054110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231254)(944501410)(52105095)(93006095)(93003095)(149027)(150027)(6041310)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3666; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3666; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 4:+43vgpp2DDy9zUV0EJyASHdL0mrJIpjEYI4rmpwIOr7OprE694+KQ8pIXm7RRT6E5Ni+cGomY0CSim7dCRHPRrMfrTmiUWomOrQ1QAlJhZnS8zXSv1VkzI4Lg3EGf6+ub32EAs57IRWVlMw8/EYaR9feA0cVZ7/NJySCmIlBYi/vFC/LNmAJD+rMvHX1Y8QPt6mTrdfCbyVvSiEjkLl2k1XQVPzxPlvjDi2MjhKfBRaVRAJ5pcpa74ZpNAfPN3XvxNpPB9D0WSd7UFZCIm4npekEIS8x8qjtjC/ZYK4cZSp5+3+SVsN6eapLvYVh3pnc X-Forefront-PRVS: 0680FADD48 X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 23:0i66D+jZ/+6aYXZwohHWhVwGj3X9q+WZ+WH0sJB14okuXyK4WeQdAPU7AEPT1LoHRiO+rKNS5Q5Akn7cSZZ1wrWgikuAfaenZuzm9pHcmc8YGCcXZQUyShwkKBeqsQV4XFsmco/ESm4dNdihy/CXnU1Gt3WHUY7qFrz1HbadDI0NUUVfOlI0Vw21nSmuSud7Bk8L2tdFKBQEAgb7tZwDglQbiQnHuqW4jykO8H3g56c/wMiEifWfoLYjJ8Q4gTR6KIVETxsctWRD6ylZEqD2Ch4OBLN3RbRHkOZeZ92KR50L1gRzIxCZa90vfB/ZzeenXqEM326gr/n67i607zzgeh9KsWVJQahf6cnY1GXafdg30P0+oyXu6uPycs4fNmRQYkGZlbb8c7Ot4sWbdRjPbbfjbXn+QBLzyG4WxFb/PR/O0iJE+eyePyIU+SjuHpqbZQXyGN7ANRnyqrBIrsx5pMhvV+ailRCdcyVg8ai2VM0vpjrL6mAomtxlH31s63iJJklxi6MHC61vrCujRRSYIAtROycprgFoVz7U6UTRqZ8doyGWIbxbdvumzIfHbliyVsM3XdeD4g7mn2l7J0d1zM+sxtsHeiNAEig4FzpAOvy187UCznHCc0Ms9LXNY4ZqEi8jvZBtyh3RsgAuCC+JPI+AM68Q+FN/7sKapxNarl909xI0g+wuZU59iRJdWLIYBdzAlTeitZu1+pxHFl/7/KqpeVHnpyG7peL919n5JQXH22rE6ITK4Ay9BdB5tB5O+WtNcb13xL4I8SHQEZdGqizqo/fdA7d+6ACj9JS54TYVAewNFHHNSx6Y4Vxa+VuIN4OtyIiXLnZMb72B35hEZZdLC+nWQDHaRZniKOEjUWkdQ1JDWsByTYkF2VAwhoKw71jVf/5z7DDS7aSi/LchoBSR5RIB4hVkOtsQLYDVwJWSH/b1GrTaJyA7ZTzHuFUrxeWt76miocFuEijtGA0DGcjHqq979ZNwPUDSWEMZcpC/ez3ugkmNvNWym38sWiLwsSqf07iGcdSJPmSva6t/FKmMb4gPag+v62zkIv02eupmwie8gfHWo2mTRZZslIKOC+ZvcnJ7PhYhukiis0UjnSnM+VMId6h0Y1TiWXHVjB4= X-Microsoft-Antispam-Message-Info: FAp5Yi0+3Pshylv8rdrwT2vbioEuxQ8fhGJnrjle8ha2M0kJSxjWuw6L1i6qvEwrlE8qE9JttnDiMbdt3oISHpbcfsO41o7+mEfagloukHOm7G9hy6OTZpo3E7Rv0+y4IU/0Z3m+EtgI7fpUNKu11wJB2uXAZ3Ly8RR+kbv5k74iLrBI0Q8h1PRWNO/UUb/vr2vMUUpK1MNjgvQGuYMZfNT5VQEiLviDo3WWNsr18TqkPNlyuQ1iCMl0MVEL4V4o X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 6:T8Ipoblu+i3xWzwnGggxL5QNIw4O2JbVQlSGHcw0x7o2utpPyMZ2LOu9PZClcJCEFEI6kFP5DrCWtHMb8SlkyObG1MvDM1ixLAcGBzYKIFABLS6zZDYHX/j7Hw4PJjbzuGIaMVV7OhE9EQMJBfflbKjXaHJNznkz1ECJRcZwiVWXb3HESwm+LS3bizaXOVBFelxvWys136gIFWMy49yWCSGjH8rAg0YIj7uWHU09e8Pj61DxP36Dj6g88O1f7/W3fovIhKMdgWp25GRGshvvVqfdr9QnH9FY64y55HcAJqVOhjTTxWwq/+znUYPLDk0yaj7qXuNYWPXgKzU2V27f+B+mOC1wwGch2BUNgKz+OcsboM+kQ+fAckQBnCZAZP255RQ08cl5NYiQbXggdjZdHAnb1LoPaRExEtdNLeb1fD4wGIS2zSax8edkzsZ0YrUnPSDZrlgH3Fg1b1fFopL3cw==; 5:8w5Xa4gDn59LryJpu3gE8QnMus3MNAC/mujH8AzuhsPKTzCMcJiipKL7jLCjiLfmMSW4EAAfwlXdnechGt2MYSIXsw1T7dLSEjUmHF6Zq9byjsod6GeVZSCT7oMyBhBzfckNNLM2n+TVWQS1yaaUEeS4rSnGjdbklz3qFhVhSOI=; 24:eSpd+G8d+wVmR4DV6M3XvUNTd5vaYvC36YO9gFbeM8SKTj2LiQDNS6Z7GHw20PZFxYUdhCDplJU120mDgPrUGNf7+XVhFgsnbOwyw2PXL/o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 7:RbPP4hL346EaQdmvpPayvRKSqCwJzlANHNsL7aE+7yK0DFu3HI40KVwwh+bu30X5X9+Uqocz4SWTDbYVrAH0bTvbRLtrvsDUCTOY3SSLNyHwt8vSaOkdXayHw7LnIQgnvkXw/+U8oXOK21H9zyT/7bpPpqGzD4rYJqRKZZkVQr6wNp1OYAGZpmcxRVnqb6MEzMcaG6tVUUGaeJDsbNpu16/tZ1xqEbsrlg6ncwMBZ08JYnEibjgs8cmpS7ysF4lx; 20:W3aAlkDr0MQhs48jbk1cCXD+KoR1sKZD+jeVv5N64psN1aDvX1glSuvsiBKS6BWxw/wtDqZW5geys9HRFkX05vJVS7blMBM1jRMap6B1IU5nQRdAeTV/JN3MVhDjYwVLPqor/h0VGXxk31UA7r4dbXa49HoLXgJwqlUEOylONBKpLpda6652yMuQH3XoRNB7PyTHXShJ1szAXkkIMSk645ZZ/VLvLSTmm/W0EejL8x0uguofi2RzXotgfHZhFRAd X-MS-Office365-Filtering-Correlation-Id: 4a3ad26b-fb51-4f5e-deb4-08d5bfe895e4 X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2018 13:33:20.5446 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4a3ad26b-fb51-4f5e-deb4-08d5bfe895e4 X-MS-Exchange-CrossTenant-Id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d36035c5-6ce6-4662-a3dc-e762e61ae4c9; Ip=[158.140.1.28]; Helo=[sjmaillnx2.cadence.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3666 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org These PM ops will enable/disable the optional PHYs if present. The AXI link-down register in the host driver is now cleared in cdns_pci_map_bus since the link-down bit will be set if the PHY has been disabled. It is not cleared when enabling the PHY, since the link will not yet be up. Signed-off-by: Alan Douglas --- drivers/pci/cadence/pcie-cadence-ep.c | 1 + drivers/pci/cadence/pcie-cadence-host.c | 3 +++ drivers/pci/cadence/pcie-cadence.c | 30 ++++++++++++++++++++++++++++++ drivers/pci/cadence/pcie-cadence.h | 4 ++++ 4 files changed, 38 insertions(+) diff --git a/drivers/pci/cadence/pcie-cadence-ep.c b/drivers/pci/cadence/pcie-cadence-ep.c index 2581caf..e74b8a4 100644 --- a/drivers/pci/cadence/pcie-cadence-ep.c +++ b/drivers/pci/cadence/pcie-cadence-ep.c @@ -554,6 +554,7 @@ static struct platform_driver cdns_pcie_ep_driver = { .driver = { .name = "cdns-pcie-ep", .of_match_table = cdns_pcie_ep_of_match, + .pm = &cdns_pcie_pm_ops, }, .probe = cdns_pcie_ep_probe, .shutdown = cdns_pcie_ep_shutdown, diff --git a/drivers/pci/cadence/pcie-cadence-host.c b/drivers/pci/cadence/pcie-cadence-host.c index 7536926a..a8b5eda 100644 --- a/drivers/pci/cadence/pcie-cadence-host.c +++ b/drivers/pci/cadence/pcie-cadence-host.c @@ -61,6 +61,8 @@ static void __iomem *cdns_pci_map_bus(struct pci_bus *bus, unsigned int devfn, /* Check that the link is up */ if (!(cdns_pcie_readl(pcie, CDNS_PCIE_LM_BASE) & 0x1)) return NULL; + /* Clear AXI link-down status */ + cdns_pcie_writel(pcie, CDNS_PCIE_AT_LINKDOWN, 0x0); /* Update Output registers for AXI region 0. */ addr0 = CDNS_PCIE_AT_OB_REGION_PCI_ADDR0_NBITS(12) | @@ -360,6 +362,7 @@ static struct platform_driver cdns_pcie_host_driver = { .driver = { .name = "cdns-pcie-host", .of_match_table = cdns_pcie_host_of_match, + .pm = &cdns_pcie_pm_ops, }, .probe = cdns_pcie_host_probe, .shutdown = cdns_pcie_shutdown, diff --git a/drivers/pci/cadence/pcie-cadence.c b/drivers/pci/cadence/pcie-cadence.c index 681609a..7a34780 100644 --- a/drivers/pci/cadence/pcie-cadence.c +++ b/drivers/pci/cadence/pcie-cadence.c @@ -217,3 +217,33 @@ int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie) return ret; } + +#ifdef CONFIG_PM_SLEEP +static int cdns_pcie_suspend_noirq(struct device *dev) +{ + struct cdns_pcie *pcie = dev_get_drvdata(dev); + + cdns_pcie_disable_phy(pcie); + + return 0; +} + +static int cdns_pcie_resume_noirq(struct device *dev) +{ + struct cdns_pcie *pcie = dev_get_drvdata(dev); + int ret; + + ret = cdns_pcie_enable_phy(pcie); + if (ret) { + dev_err(dev, "failed to enable phy\n"); + return ret; + } + + return 0; +} +#endif + +const struct dev_pm_ops cdns_pcie_pm_ops = { + SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(cdns_pcie_suspend_noirq, + cdns_pcie_resume_noirq) +}; diff --git a/drivers/pci/cadence/pcie-cadence.h b/drivers/pci/cadence/pcie-cadence.h index b342c80..ae6bf2a 100644 --- a/drivers/pci/cadence/pcie-cadence.h +++ b/drivers/pci/cadence/pcie-cadence.h @@ -166,6 +166,9 @@ #define CDNS_PCIE_AT_IB_RP_BAR_ADDR1(bar) \ (CDNS_PCIE_AT_BASE + 0x0804 + (bar) * 0x0008) +/* AXI link down register */ +#define CDNS_PCIE_AT_LINKDOWN (CDNS_PCIE_AT_BASE + 0x0824) + enum cdns_pcie_rp_bar { RP_BAR0, RP_BAR1, @@ -314,5 +317,6 @@ void cdns_pcie_reset_outbound_region(struct cdns_pcie *pcie, u32 r); void cdns_pcie_disable_phy(struct cdns_pcie *pcie); int cdns_pcie_enable_phy(struct cdns_pcie *pcie); int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie); +extern const struct dev_pm_ops cdns_pcie_pm_ops; #endif /* _PCIE_CADENCE_H */