From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1CF7FC433F5 for ; Tue, 19 Oct 2021 08:14:14 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E13076112D for ; Tue, 19 Oct 2021 08:14:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E13076112D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/4WaAyqhXSHYTGimMM9O3Sjf0RCc/PAbsLMYAM0FfRk=; b=H9EAZSqSatqVBl sHXoVZVG4mDZGifOFNX6bDyHkuAbrcdQfIYmp1em5VR72VVnYRnD4KUvxpgtwdfGkJBp6yjhWZPfU CYvEP/3KQV0fnbs8VZunJPFPMs36r2+vkadnzXTvNYBdYBUDf4XdrrbXj5PN2oktrgH8UJj6c2i2s oKUmwNrtyCNEqdUH9KKGXq1VKLSZ7GkPUxi0qJvuXC4BBdXkAaG5SM6D9yjpk/mb3GqxnA7Helltf T2tpDDDahzAQ2HyMOW4l25acAyEEUFkG3GJm84NZHw6liSatpDdDH36mJRDtb62dLizcctDvyB8/D VOuqMOTgX5Fbvysdjv1A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mckEk-000VxP-B3; Tue, 19 Oct 2021 08:12:42 +0000 Received: from mail-eopbgr150087.outbound.protection.outlook.com ([40.107.15.87] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mckEg-000VwX-43 for linux-arm-kernel@lists.infradead.org; Tue, 19 Oct 2021 08:12:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AJLY0NpJiHgSEkW3ag9I/cSStQG7vwArgW8QyAKvr7D+uIyHrqVVUA5uMBwYbhmzvlL+s3iivhtcm3xGQ/SgpNzEvEqKkd4YryPTiuTZ59yq5bPH76ie+s8w5ve+q0H9BDvtY9ltFVdqOjC3b9RQC7LyiZVfGC9R9pV9vho3iaDXKJAkK3p+vgU2oOlI1x/zQ2aHXnrDnLSqSBL1F/FlX3jZe4pTOQGTo96VLMVhuUWPaownti0dUVzy5Se20PlLEh3Gu7mY6t9Nre0RWddCzB6YUkznwebaEZEuvcBw1wJDbqbnuli3DpnMUixkLdriCM7ThCSVdbnxrATkgR4R5A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=s1S/ZGOtQZ60mLbhmY6/nTvEtFqYCrp3ys8IrpQTZKg=; b=ogkVPG/SscvsRTU4IPYkjWWyOJsdI0vH5eyhaWb3rpU/gQJ/xUJxqQASZJdHXIwejj9QOcC9bQatFQ/03Xcd9rIeAuRAY/ya3mYxWMEE0dJbZFU6ocptrZrzDNxkuF5Pl7rMNSASHSK9ZK1V73Y/uiOGAZbki3JsIzZrJQsYA+vjlpOgLydNxDshb+X9IBGsFzfCBskyESOtGFmRd46OQ3eNJIQVJr9SUK++9ab8Wru6nlk7x7lyGLDD+aqW8YD4Rv7vM9oLU/IdUiKhbLT2cVd7hHRyztiunivnbt69e06Y9BUZoKwDMNci1kmctQXXoRX8vjWpkA0h1W7OeYnIXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s1S/ZGOtQZ60mLbhmY6/nTvEtFqYCrp3ys8IrpQTZKg=; b=Q29zerwUScRGJ41IdPXMmnL430gqX2sqaVtnxILQMDTKKERE9uZqWhCbbUN3ClF/s8Lb/fsI02BhAAxtvscwqQNXhhcI2XXobzn6HXzqMBD7pLwCq3YwyAgwK4uovaSCt8PiM5hRHajlczn5eE/yh0032TIm/Y6h3+9OxP/C0e0= Received: from AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) by AS8PR04MB8436.eurprd04.prod.outlook.com (2603:10a6:20b:347::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Tue, 19 Oct 2021 08:12:30 +0000 Received: from AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::b059:46c6:685b:e0fc]) by AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::b059:46c6:685b:e0fc%4]) with mapi id 15.20.4608.018; Tue, 19 Oct 2021 08:12:30 +0000 From: Richard Zhu To: Lucas Stach , "bhelgaas@google.com" , "lorenzo.pieralisi@arm.com" CC: "linux-pci@vger.kernel.org" , dl-linux-imx , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "kernel@pengutronix.de" Subject: RE: [RESEND v2 5/5] PCI: imx6: Add the compliance tests mode support Thread-Topic: [RESEND v2 5/5] PCI: imx6: Add the compliance tests mode support Thread-Index: AQHXwY4wgyFzpFI0cEKio4xhVLYB7qvUYd2AgAWcudA= Date: Tue, 19 Oct 2021 08:12:30 +0000 Message-ID: References: <1634277941-6672-1-git-send-email-hongxing.zhu@nxp.com> <1634277941-6672-6-git-send-email-hongxing.zhu@nxp.com> <52a13aa3b7798d0cb77d45b20993f5494c91f014.camel@pengutronix.de> In-Reply-To: <52a13aa3b7798d0cb77d45b20993f5494c91f014.camel@pengutronix.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: pengutronix.de; dkim=none (message not signed) header.d=none;pengutronix.de; dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7422ec5d-0f6f-432a-d67d-08d992d8322d x-ms-traffictypediagnostic: AS8PR04MB8436: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: M//R9VV8STrQ1icn9RF16Jate/iVGUiRvRTmaM1AEhqIcZ4CelKLgB/LJkdKqQcl88OAUYFzwxP8gIiKe8WgiOr3D1OBZgorokmm5S2HHMnZ/5tDWrWhA1oYg7BN7PdRM0AZ9rt69J5PS1AsLsXx2RLt6VYlWvxs+Zr3gobc8giEo97muZOXn8UJjHiR6mJO684DkuxQZ2koXI6spDa4rEygFYOIEmwFLix/sic6uxh6E156h2DU2+efmMIkyKlmBAjyh//9j9+tFvPBZ1Mw6CXRfx0OjIlxbAxMZQ90ZUS7WKJaCrSs5xMbpy6vJFo5yac8yzC2hM806AKfSqzXA6S1WCBRqoCQoq6PLwOOhUjSeqC2wtgCAdEZIufxd9yXT5txOKXJhRNSU7XTtQjxumBCBFS2ERpkO5WTUu6FTxBHUqy6BX1aLZi1EJt04O8erulL9dqG0s/2qmDlngbCEDfAavTq9Lb4diDQerUGnuVAMkh8fmARjusJzGet2ObPiuB5E7BWM7VHuOwe/MELtveyPqB4dukMvzmwyksB1ZRvmUCSZ8PsfVRDJwRaZrLl7Rv7JJR4pfzOzPaIjcpDxDK9Dehz6XoyjaCOWHEGBjNlJMGMqKTxXpAoz2zLj5G1G5L90hLE68SB+s+hm9dQGvCl1UtfLuWyzRikOSMdl5TWE+E0dS40KMKeancku+cCnGnAHhKtlPVIDHPogQajLA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB8676.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(316002)(26005)(186003)(4326008)(64756008)(55016002)(54906003)(71200400001)(5660300002)(122000001)(38100700002)(53546011)(6506007)(33656002)(7696005)(8936002)(66946007)(86362001)(83380400001)(76116006)(8676002)(66446008)(66556008)(66476007)(9686003)(52536014)(2906002)(110136005)(38070700005)(508600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bktzSnRFblF6b3huNjdRR05tenhRRitJSzdsK2Y5MVdyU1JQUVdnWDM2ajNl?= =?utf-8?B?SjlyMmw5NUNCalA0RVdLcm12NjFQa2xWZ2ZscktCZHFpNWFnYTdVYWpCZDFw?= =?utf-8?B?dzdnVVBVaDNJYWxNMXJudk5JOHhnQ3ExVzJpQWZBWmpHN3RZTzdreEcyOGEw?= =?utf-8?B?c0dGbnN3elZmVTdRRy9vS0JlTENJdlBPZ2ZQUkQwQ2h0VUF0dC93NmYwUWR0?= =?utf-8?B?VHVYekpibXRKT2d2M1dhT1M1L1lXTDZhTzB0dkU5MVBrK0tkZUdnbXFqTmpv?= =?utf-8?B?ZGxLSzlwT3ord1BGaGJEVFEzY3dCSFd0dGs2WFJvY1BJd1FrWEVlNWp2L1Z3?= =?utf-8?B?dStNVS9aOGozR0Roa1JiczQ1eGlzR2JtMTlWQy9XSFQ3K1BXME8xMHBYazFD?= =?utf-8?B?a0RCeGpXU3IyNjA2V1E4cmZpVzFqZ0tPZzF6amdwMXdQRnNsV1dxMUVBc3lQ?= =?utf-8?B?MENITW5tK0hMK2xrbHZpK09NcjNZOFp2QnNvc0c1OWpZaTVIZEFNSE1KaHJH?= =?utf-8?B?YzJ6b2ZmTzdEWWFaTFV4VzRYNHozSHloVW42WkxLRElrRTllZkRUZWpPU3M3?= =?utf-8?B?Y0c1ZDRZbHQ3cnNHRXJFL0o4dnd5WHhKNzJPeTJrYy96NkRreFFZc3QwUy96?= =?utf-8?B?OUxPVDl1eWYyYmtFd2Z6TDQyT1BJeDh4bXRuZzQ4MWhEVE1VdTZrZE5PMmVo?= =?utf-8?B?d1ZRVGY2MUdGajR0c3hyQjNHL2Fna01RQXdJQ0EvNVB6MDhDWG9qZGF2V2RI?= =?utf-8?B?SnAwcW1TZkc2M0lWRlpRS1lyWGgyV0RYYVJFbVpmVUhndDFDaHpEYnFVWHRB?= =?utf-8?B?TlhHNGFnRGw2NWxzd1l4R3hUeW9sTjFxcjJIM3B3VnEvRW5HUnVxNWNqTkpG?= =?utf-8?B?TUJZOWRLSjJiRHZvVDFwYXpBRmRQVnBrS3NmL2NxWlFYL2xEREJML3JPTStV?= =?utf-8?B?T3pBcFpueU5ocXlmRFNXWUVVMmNhTTQwb0VzaEZzc1ZxZHRBWTRjUjRRM1M2?= =?utf-8?B?dGpyaURKdnZkU2dKUzYzNDV3NDFMcHFYRW5ObU5CUnBsM1plUHZmb0l6NzVv?= =?utf-8?B?S2NJUDQ3OHdYLzQ2b0ZUS1p0NyttSGhRV0lQd291VkJ3bVlxZVFidW11V2E1?= =?utf-8?B?eVZBM0h5aVFET2gyZkZncmFxTDdUV256dnRvRExtSVFlUGo1b2lydmhJZ1Bi?= =?utf-8?B?UG1YL2k4R1JMSjcrd2dpRi9xVzZSYVQvZjg5MHFMOXU5bUlmYUpXOG9nczMw?= =?utf-8?B?ZVJ4ZS9BSUl6dURXelNTUGlqMjh4U3o0R3E0SThmQ1BwZllOZkRLMnhrRkFG?= =?utf-8?B?eXpHY1FYMWRrMDRtVmJqdlNuNXEzQldxVWxLa1BaNlhJYTN2SjFObVJOZDZ1?= =?utf-8?B?QlhNSjJoQ2pKUEwxYU5yUmxIWEZOS2FWNTl6b1MwMHRQQkhzd09zR1pnSC9R?= =?utf-8?B?ZlFSNFY1aC9hcTNlR0hkU2tQbzFPRnJFUkxYNUNBb2o1NDZ5N1VteTZQZEZU?= =?utf-8?B?V09ncWtqNVlRNVVscGNNT29JWjU3RnNOVkpUdFhrVVl0NzR0UWhMUGx2RlY1?= =?utf-8?B?Uk0rYXNNS3BwejlML01lVUMyRkFiODg3eEVBSTVaVFI2eWxtbUFOZHNtSkpF?= =?utf-8?B?Y1VYQVJPLzBTSUFoZUZFTUJwbzRDT1BPYkRXN24zVmg0bnVrVUEyMVRHZTBj?= =?utf-8?B?a3pNWFlZR2NxeW5Uczd2Wm4vcEZvWTJwVlYzT0FVc2NFRGJDaXdlcTlOaEJj?= =?utf-8?Q?1X7FodVgrrTHbRwntPUTtQzEuCytCLIkSAmXKVI?= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7422ec5d-0f6f-432a-d67d-08d992d8322d X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2021 08:12:30.1474 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: V8O7b6+JZT535uF68ETfv8RhaBe28GawsqSkc4Z6ykav+M1a0EWG4beeUQDdW0DIdRbqbLt0f7RsG7Q7fSq0fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8436 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211019_011238_193718_216406DF X-CRM114-Status: GOOD ( 34.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > -----Original Message----- > From: Lucas Stach > Sent: Saturday, October 16, 2021 2:29 AM > To: Richard Zhu ; bhelgaas@google.com; > lorenzo.pieralisi@arm.com > Cc: linux-pci@vger.kernel.org; dl-linux-imx ; > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; > kernel@pengutronix.de > Subject: Re: [RESEND v2 5/5] PCI: imx6: Add the compliance tests mode > support > > Am Freitag, dem 15.10.2021 um 14:05 +0800 schrieb Richard Zhu: > > Refer to the system board signal Quality of PCIe archiecture PHY test > > specification. Signal quality tests(for example: jitters, > > differential eye opening and so on ) can be executed with devices in > > the polling.compliance state. > > > > To let the device support polling.compliance stat, the clocks and > > powers shouldn't be turned off when the probe of device driver is failed. > > > > Based on CLB(Compliance Load Board) Test Fixture and so on test > > equipments, the PHY link would be down during the compliance tests. > > Refer to this scenario, add the i.MX PCIe compliance tests mode enable > > support, and keep the clocks and powers on, and finish the driver > > probe without error return. > > > > Use the "pci_imx6.compliance=1" in kernel command line to enable the > > compliance tests mode. > > > > Signed-off-by: Richard Zhu > > --- > > drivers/pci/controller/dwc/pci-imx6.c | 32 > > ++++++++++++++++++++------- > > 1 file changed, 24 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c > > b/drivers/pci/controller/dwc/pci-imx6.c > > index d6a5d99ffa52..e861a516d517 100644 > > --- a/drivers/pci/controller/dwc/pci-imx6.c > > +++ b/drivers/pci/controller/dwc/pci-imx6.c > > @@ -143,6 +143,10 @@ struct imx6_pcie { > > #define PHY_RX_OVRD_IN_LO_RX_DATA_EN BIT(5) > > #define PHY_RX_OVRD_IN_LO_RX_PLL_EN BIT(3) > > > > +static bool imx6_pcie_cmp_mode; > > +module_param_named(compliance, imx6_pcie_cmp_mode, bool, 0644); > > +MODULE_PARM_DESC(compliance, "i.MX PCIe compliance test mode > > +(1=compliance test mode enabled)"); > > + > > static int pcie_phy_poll_ack(struct imx6_pcie *imx6_pcie, bool > > exp_val) { > > struct dw_pcie *pci = imx6_pcie->pci; @@ -812,10 +816,12 @@ static > > int imx6_pcie_start_link(struct dw_pcie *pci) > > * started in Gen2 mode, there is a possibility the devices on the > > * bus will not be detected at all. This happens with PCIe switches. > > */ > > - tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); > > - tmp &= ~PCI_EXP_LNKCAP_SLS; > > - tmp |= PCI_EXP_LNKCAP_SLS_2_5GB; > > - dw_pcie_writel_dbi(pci, offset + PCI_EXP_LNKCAP, tmp); > > + if (!imx6_pcie_cmp_mode) { > > + tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); > > + tmp &= ~PCI_EXP_LNKCAP_SLS; > > + tmp |= PCI_EXP_LNKCAP_SLS_2_5GB; > > + dw_pcie_writel_dbi(pci, offset + PCI_EXP_LNKCAP, tmp); > > + } > > > > /* Start LTSSM. */ > > imx6_pcie_ltssm_enable(dev); > > @@ -876,9 +882,12 @@ static int imx6_pcie_start_link(struct dw_pcie > *pci) > > dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG0), > > dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG1)); > > imx6_pcie_reset_phy(imx6_pcie); > > Is it correct to reset the PHY here when in compliance test mode? [Richard Zhu] It doesn't matter. PHY reset just let the PHY enter into a dedicated stat after link is down. This wouldn't impact the compliance tests mode later. Best Regards Richard Zhu > > > - imx6_pcie_clk_disable(imx6_pcie); > > - if (imx6_pcie->vpcie && regulator_is_enabled(imx6_pcie->vpcie) > 0) > > - regulator_disable(imx6_pcie->vpcie); > > + if (!imx6_pcie_cmp_mode) { > > + imx6_pcie_clk_disable(imx6_pcie); > > + if (imx6_pcie->vpcie > > + && regulator_is_enabled(imx6_pcie->vpcie) > 0) > > + regulator_disable(imx6_pcie->vpcie); > > + } > > return ret; > > } > > > > @@ -1183,8 +1192,15 @@ static int imx6_pcie_probe(struct > platform_device *pdev) > > return ret; > > > > ret = dw_pcie_host_init(&pci->pp); > > - if (ret < 0) > > + if (ret < 0) { > > + if (imx6_pcie_cmp_mode) { > > + dev_info(dev, "Driver loaded with compliance test mode > enabled.\n"); > > + ret = 0; > > + } else { > > + dev_err(dev, "Unable to add pcie port.\n"); > > + } > > return ret; > > + } > > > > if (pci_msi_enabled()) { > > u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI); > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel