From patchwork Mon Jan 8 10:48:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Xie X-Patchwork-Id: 1883620 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2604:1380:4601:e00::3; helo=am.mirrors.kernel.org; envelope-from=linux-pci+bounces-1782-incoming=patchwork.ozlabs.org@vger.kernel.org; receiver=patchwork.ozlabs.org) Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [IPv6:2604:1380:4601:e00::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4T7rmj1LR1z1yP7 for ; Mon, 8 Jan 2024 22:04:37 +1100 (AEDT) Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 16D741F225BE for ; Mon, 8 Jan 2024 11:04:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D9B2514011; Mon, 8 Jan 2024 11:03:37 +0000 (UTC) X-Original-To: linux-pci@vger.kernel.org Received: from CHN02-BJS-obe.outbound.protection.partner.outlook.cn (mail-bjschn02on2071.outbound.protection.partner.outlook.cn [139.219.17.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F4DF29412; Mon, 8 Jan 2024 11:03:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MZMGDbtUTigqpF4YG2ptl0pXzYfbe0vjbHP2RR5PP8npNBtDvgY0a5dv+T4lVKYt+CtweppyxOAt7QidJbt43VGVQhdhYIgXUS0mS4MJMRY6JwzvV+m0JI27uklHZoNYzQxhWmbjMLN+vRZDdee8feU8dc9iMVb8g2dl+h3czTuOCQSmc2n9/qeHoHVR8xE6Vj0W0frEHu1b99KynWt8fElAVI2VlPKaB584LFUfZVwX1vvVFQgls8PN2AZsoUeO2jfxKoZR8lMFN4dvz/d6a+0EYKVBqtm6whuNwxe7Vl1rsWFKsIkUT2+P1i8P07yXwOlN3njyp5NWTqbsinSNmw== 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=OnoNkc66yulR4F2JLKRij8viozjKKZejnS/oAoKO0QA=; b=bSzhpJFb5FMlAeFNNIkdP3nT5aUdZhX0WXBp7HhdVr/6LLQle9IQDIP6hTSp4wNweKObStdHHClqRPsRSdr//Zlfd5p4/0Qd5rKDxoGv7lBGqjzfv7Fy7qE9SpDbN6aBh5+YCxlCg1F1bGVjBw7Ska9jAnhttT/Ffn7KE9uVJuSkYkcuyvQzfwcCFL5oZ7pSRQLe0Pw53Vd0FxYABkPfvUegIcxG+cBzn+aGSBbGd6s3yNh/X7pnHVMADBVhRpHSA3J5Kd4m1ZNbDE3ssRoshAT9a3h108Lm7k/DaDo90Vzhh6LMsWOpXJP6RUgxLZPVsz/ueOR3Hk1AnCTJtDFncA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=starfivetech.com; dmarc=pass action=none header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none Received: from ZQ0PR01MB0981.CHNPR01.prod.partner.outlook.cn (2406:e500:c550::13) by ZQ0PR01MB1272.CHNPR01.prod.partner.outlook.cn (2406:e500:c550:18::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.32; Mon, 8 Jan 2024 10:48:10 +0000 Received: from ZQ0PR01MB0981.CHNPR01.prod.partner.outlook.cn ([fe80::936f:9f2f:6715:e402]) by ZQ0PR01MB0981.CHNPR01.prod.partner.outlook.cn ([fe80::936f:9f2f:6715:e402%6]) with mapi id 15.20.7159.015; Mon, 8 Jan 2024 10:48:10 +0000 From: Kevin Xie To: =?unknown-8bit?q?Kevin_Hilman_=3Ckhilman=40baylibre=2Ecom=3E=2C_Minda_Ch?= =?unknown-8bit?q?en_=3Cminda=2Echen=40starfivetech=2Ecom=3E=2C_Conor_Dooley?= =?unknown-8bit?q?_=3Cconor=40kernel=2Eorg=3E=2C_Krzysztof_Wilczy=A8=BDski__?= =?unknown-8bit?q?=3Ckw=40linux=2Ecom=3E=2C_Rob_Herring_=3Crobh+dt=40kernel?= =?unknown-8bit?q?=2Eorg=3E=2C_Bjorn_Helgaas_=3Cbhelgaas=40google=2Ecom=3E?= =?unknown-8bit?q?=2C_Lorenzo_Pieralisi_=3Clpieralisi=40kernel=2Eorg=3E=2C_D?= =?unknown-8bit?q?aire_McNamara_=3Cdaire=2Emcnamara=40microchip=2Ecom=3E=2C_?= =?unknown-8bit?q?Emil_Renner_Berthing_=3Cemil=2Erenner=2Eberthing=40canonic?= =?unknown-8bit?q?al=2Ecom=3E=2C_Krzysztof_Kozlowski_=3Ckrzysztof=2Ekozlowsk?= =?unknown-8bit?q?i+dt=40linaro=2Eorg=3E?= CC: "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "linux-pci@vger.kernel.org" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Philipp Zabel , Mason Huo , Leyfoon Tan , Minda Chen Subject: =?eucgb2312_cn?b?u9i4tDogu9i4tDogW1BBVENIIHYxMyAwLzIxXSBSZWZhY3RvcmluZyBN?= =?eucgb2312_cn?b?aWNyb2NoaXAgUENJZSBkcml2ZXIgYW5kIGFkZCBTdGFyRml2ZSBQQ0ll?= Thread-Topic: =?eucgb2312_cn?b?u9i4tDogW1BBVENIIHYxMyAwLzIxXSBSZWZhY3RvcmluZyBN?= =?eucgb2312_cn?b?aWNyb2NoaXAgUENJZSBkcml2ZXIgYW5kIGFkZCBTdGFyRml2ZSBQQ0ll?= Thread-Index: AQHaPpXiMe+t6/O8C0OnZGJ4Y32LtrDKgdAQgAD6TACABDOkUA== Date: Mon, 8 Jan 2024 10:48:10 +0000 Message-ID: References: <20231214072839.2367-1-minda.chen@starfivetech.com> <7hfrzeavmj.fsf@baylibre.com> <7h34vbbsfj.fsf@baylibre.com> In-Reply-To: <7h34vbbsfj.fsf@baylibre.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=starfivetech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZQ0PR01MB0981:EE_|ZQ0PR01MB1272:EE_ x-ms-office365-filtering-correlation-id: 4e52aeb4-1b16-4713-b5db-08dc10374e6e x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pA+qiCg4YESTo9mgbzSlXLXSw11wC2i6bcnbfXSpejURc9wd4/3ij60j7F33TNIzJaHlu/QgubBwfn7HdBiMLoObc+tGCjFKxrEttbegEFN0zsbp2nJ0vOVq+4OBRXijy/IwK+duKv8VzABGLQvK+In+7OlBjFUjtpw5cfsOs7GlYArKpSJJ/uSwOI9jBERPKz/tkGa4Y/ZLMH7m1L5dXnM86/5Od6bv/ehtiAN/83YwDVB8r9kX+/uCA3fmFihteHezjLTlMpc+Kb162h+jA6u1dOupZEDZGhQeWmH9+wikmRlagxA0CHYQPpFjmPqXllAW6lIJBkN88Tt8vhpsvoKq/ZRsUs/39YeVyUL9vqixil7jf4MA3Ibv+MIG81hTzqUaKaH+qhpZ/AgvGG+15LhK2AoGW17XZfE92Clq6gs4THK53mCLYNr8Vr55RyeHawSfh09lx3/8RnsTodDOkXM/fgY+jwUuymTW5Mknj40uOTLjs59CjKPtG7QGhGLjRsAw88EuiOFavMMYnfhf40hIQ+iEXRh6f42apeTicGLXd1tD4QOtXcMAGPyV7NPd x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZQ0PR01MB0981.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(366004)(39830400003)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(33656002)(40180700001)(86362001)(40160700002)(38100700002)(122000001)(224303003)(83380400001)(2906002)(26005)(9686003)(55016003)(7696005)(921011)(508600001)(71200400001)(66556008)(66946007)(76116006)(110136005)(66446008)(54906003)(64756008)(8936002)(5660300002)(4326008)(44832011)(7416002)(66476007)(38070700009)(41300700001)(107886003)(41320700001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?eucgb2312_cn?b?MTkwaGxOOXFZbHR3TGVQbFZa?= =?eucgb2312_cn?b?REk0UmhYTjBLeUM3RDRkWDlYTUI1RzhIdmEzN2xHcmE1OVo0T3RHVUxNSEJxNGc1?= =?eucgb2312_cn?b?cVdaWEY0ZXZGRVZGSTJYTE0zV0JvQWFoTFc1aFQ0WHhDRk4yUDE3c0hNMlpNNisr?= =?eucgb2312_cn?b?MFNBQXBaWHpHTUdBRzVIUVRKOFlzWVYzR3E2T2pRMjNMYXExL1Rqb0lpa3FZWktO?= =?eucgb2312_cn?b?UG9VQVV1V3NrODlzY2xlbkdXV29qYXhOTXlSakVjU3E0UkdoMVdFSk8ranlzNzll?= =?eucgb2312_cn?b?RHo0bkJBd3ovaEhEVlpxNHB6UVBSbzBQbncwODMxOFZ5Qlc0WnR5dzQwZlNqRE9v?= =?eucgb2312_cn?b?RnRYRDVzajhSZjFDMVFNd2pFSzR6b2plSE1yQkgwVjZPanVnUUV1Y1ZCVHg1aHFV?= =?eucgb2312_cn?b?NDVwMFRFUXdpK0JocEpvSnI4ZmMvN2ozcERlNmIxL21PMUw1d0hCcFhpNE4rYlRK?= =?eucgb2312_cn?b?a1ZLOGFwc2xVMVRLUFVSd0doL1pGNVpPbW1KbnY0ZjM4QWJ6OTJIQ3gwNUp6bG51?= =?eucgb2312_cn?b?MWFKZFozZ1BMRHdHckFWK2RJYnljeGw2WEk2VUI0R1B6eUJ2Vm5iQ3FFZGZ6RmNo?= =?eucgb2312_cn?b?L0RNcVo0OWl0NWxod3lsdGMyYWlUR09CSnlEclBBYlhIc1VhbUZuVmtsQlVEWGNS?= =?eucgb2312_cn?b?QjRDbXFMSXh2andMU2VucjZiY1E2SWJxazRCSXBlUzE2YUpWbzlvaFQzak9odFZx?= =?eucgb2312_cn?b?YnduaDJQR2tyaXIwYkpiSy96K2NnMlc1cEdoZ3dpclRGQ2FBb092YjcyQktDamRq?= =?eucgb2312_cn?b?Y2hKdSt2UzJrblZVZEFlWU1FS2JDaWdSSWxYOWdvcTQ4YUUweXJDdTFmUXY2bzZL?= =?eucgb2312_cn?b?NTJtYkhOSlRYTTlNeUpuUDI4RFBzV0lDMlFsOStNbG9RTEs5RTd5NjZJOUMxY1ZS?= =?eucgb2312_cn?b?T3FtZ2VEMmJ2V1lLYytkQm1IUEdMUTZIR01CSllhc0VVSFBsOXNoZ1U4NW1Ya2F3?= =?eucgb2312_cn?b?dW9HU2xudmF4N0MwMFc0K2VHakdZTnlJVDlGNU0zUDMxMkRML2tUOEl0YlBPVTlS?= =?eucgb2312_cn?b?NXV2cGlRTlJ0MnlBWDVvM3M1bllEb0VnMHhDSnk4c1F3QWdsL0Uvc1lSZS9sWkVT?= =?eucgb2312_cn?b?U29xYXBqcTZMVklocTVJUE1wTWs0bG5yWlljYUpNRkgzQmpCZFVLOFNoZTdYeFhq?= =?eucgb2312_cn?b?ZzExUGJZbWxRZ1UzSHd4RlN1dkI0end4ZWZseXF1cThRaGhKK1RzeWMrdFY1TlY1?= =?eucgb2312_cn?b?WDhZL05XTjAwMVR3VHNjMFVlaDYzbzlmamcxeTVwQW80N1hDZ0pHekpHdmUwUkNp?= =?eucgb2312_cn?b?bnJwSTZRdDhNSnR2a0N4Mnl2SDhIbzc2c2V6MU91RnRlRkswZE1BUG5iV0dUc2RQ?= =?eucgb2312_cn?b?a2RYRGVlVFZGUklyT0p0dVE0bng4M0xubkZRejQxZDc0YTdYN0JVdTluYldVYmFN?= =?eucgb2312_cn?b?alRUbXpqZU9qMThqYnRWNkRkQWIwNjN1ME1aUGk0L2pEU1ZXSzJ2N3JES0d1eWNB?= =?eucgb2312_cn?b?U2Jabm54alRpNXRXUG5TblZkZEtnRGc2VmJ4c0VZRUJ6QVdoemRmOThGbVpGZlJN?= =?eucgb2312_cn?b?eTFORCsvT3lEMmQweDFxK0FlblkvNTA1dHR3SWJFWTcxcGRrdVp1a0dvaFJqOWxX?= =?eucgb2312_cn?b?UlVLS2RFdkpWbi90UnVUYW1Bbk5HNVlmRFVVNXdnVFo2dUhubFZhYlZjdk0zUE5U?= =?eucgb2312_cn?b?ZGpLQWVmTWpTTHhXUXVaSDFWWmJYN3VocHFpMEYxSVFmYmZVd3pNbDgycy9lMHRX?= =?eucgb2312_cn?b?dkxjd1BLUTYydlpaSkZJWXROTXg4am9TWHhZRUVLM2hLZmd1S2JKeDg4VDlYZ3JR?= =?eucgb2312_cn?b?OEpqeG9rVmd2Lzl6R2FCN0VEODg0b2JOY2k5U05DV2h0aDRBdXB4Mk5OM1B6OG5B?= =?eucgb2312_cn?b?TGtRL2pwcWJaNjh5NDRWOVlGWU14YU9VZndVS1RqZTJXOFZNcG5ZUyt0dFh2VENT?= =?eucgb2312_cn?b?UVg1Z0xJUjgwYjNQWnFpUnFoUWI0Vy9WaUMxUHlGRmJRM1Fzb2dYTzd5R2M4ZDFH?= =?eucgb2312_cn?b?ek9sdGxaQmlXMndCc0ZLSEw5aTljSVRiTkhyaFFUdmpzd3VNZkswdzZla1dOb2J3?= =?eucgb2312_cn?b?WUpxMG0rZE5sY3p0UXBnOGs1QVpBVkFFL2RTL3Rrd0Q3T3M5SHM5NDBlVUVkeA==?= Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: starfivetech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZQ0PR01MB0981.CHNPR01.prod.partner.outlook.cn X-MS-Exchange-CrossTenant-Network-Message-Id: 4e52aeb4-1b16-4713-b5db-08dc10374e6e X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2024 10:48:10.4631 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 06fe3fa3-1221-43d3-861b-5a4ee687a85c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EjSJSNY9AdvsNHGBzztMic2AgEORtvxx1jnqVnsKj8aNPnkq2c0W/T9MX5bQqq+7ZNfSoBcdvPneKVwMG8Q+W/fjFdCULZZz87u4B/Zm+zE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZQ0PR01MB1272 > Kevin Xie writes: > > >> Minda Chen writes: > >> > >> > This patchset final purpose is add PCIe driver for StarFive JH7110 SoC. > >> > JH7110 using PLDA XpressRICH PCIe IP. Microchip PolarFire Using the > >> > same IP and have commit their codes, which are mixed with PLDA > >> > controller codes and Microchip platform codes. > >> > >> Thank you for this series. > >> > >> I tested this on a VisionFive v2 board, and it seems to probe and > >> find my > >> M.2 NVMe SSD, but then gets timeouts when trying to use the NVMe (e.g. > >> 'blkid' command) > >> > > > > Hi, Kevin: > > Could you please provide the manufacturer and model of the M.2 NVMe > > SSD you tested? > > I have a 256 Gb Silicon Power P34A60 M.2 NVMe SSD (part number: > sp256gbp34a60m28) > Thanks, Kevin, we will buy one to test. Before doing this refactoring, we encountered the same bug with Kingston M.2 SSD, and we workaround the problem with the below patch, please have a try: > Also for reference, I tested the same SSD on another arm platform (Khadas > VIM3) and it works fine. > > Kevin Hi, Bjorn: Do you have any idea about the late CQE phase update condition as mentioned in the patch comments above? This is an issue that occurs with a small probability on individual devices in our platform. Thus, I suggest the refactoring patch set should go forward. Later we will try to find a more formal solution instead, and send a new patch. diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 507bc149046d..5be37f1ee150 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -1059,6 +1059,16 @@ static inline int nvme_poll_cq(struct nvme_queue *nvmeq, { int found = 0; + /* + * In some cases, such as JH7110 SoC working with Kingston SSD, + * the CQE status may update a little bit later than the MSI, + * which cause an IRQ handle missing. + * As a workaround, here we will check the status first, and wait + * 1us if we get nothing. + */ + if (!nvme_cqe_pending(nvmeq)) + udelay(1); + while (nvme_cqe_pending(nvmeq)) { found++; /*