From nobody Mon Feb 9 09:53:53 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=est.tech) ARC-Seal: i=2; a=rsa-sha256; t=1685273171; cv=pass; d=zohomail.com; s=zohoarc; b=U7CwAhPhpQunzun8yjvmDfqVE0nrw4qOA+zoSV0Mf7FyJQKZpcFkqpYQ0HU0WMPQwRepmU+qeZAlsCO/tgoeHVzQZeK9ptRJQcljrVxkTNlMcc8fcM/AqnVD3TnXeesSkB7fIVSTH2Db7KSgUypq3fZQjZKRv4tOQCWnJJvh66o= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685273171; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Jcn/B7GAqcDu/e2BJE9NwuznCgmq9hmTuXATNmYpIm4=; b=mhB/qiCETrqenENzaZ9AJ26ne+BHoobwaCcotHYBRAXXw6k/r/9zuwma0lrp5JLzOOb6INgsY8v3C9MPt1pfbNOo+5FsXXkNJtmehS0+SGIrvOXsjEt5ycdi9Me+60NCgIN5pJn0SKBm6ss5EnX4PLbDr5bR3GzF++wqOhMityE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=est.tech) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685273171330548.9089599615528; Sun, 28 May 2023 04:26:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3EWc-0006bF-2h; Sun, 28 May 2023 07:25:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q3EWX-0006Zh-PO for qemu-devel@nongnu.org; Sun, 28 May 2023 07:25:21 -0400 Received: from mail-dbaeur03on2070e.outbound.protection.outlook.com ([2a01:111:f400:fe1a::70e] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q3EWV-0007aZ-6p for qemu-devel@nongnu.org; Sun, 28 May 2023 07:25:21 -0400 Received: from DBBP189MB1433.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:1e7::15) by PR3P189MB0857.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:4e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.21; Sun, 28 May 2023 11:25:15 +0000 Received: from DBBP189MB1433.EURP189.PROD.OUTLOOK.COM ([fe80::57d:1bb3:9180:73b6]) by DBBP189MB1433.EURP189.PROD.OUTLOOK.COM ([fe80::57d:1bb3:9180:73b6%4]) with mapi id 15.20.6433.020; Sun, 28 May 2023 11:25:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kzWolVmsmXs5D6+CGNEA7rV/VjL5pM1BINwHgR47q88vvMUgI/rdmeHX8njrl/WyIknFziNoUFDdMwwc12v6eYLwZSF1bUCfwhRyoX21Cs+HIIw/VUD0GmcnCP1NjK2vj0KOL4D3It+Y1F4PjyB0biesK6X55tnKxMXOtpEi9xZqG/VhBu4wrZXw0qe1kYXXdDeZK4CXgxrdzLhBhWBp4Tq9rw+5HMfnPp/3FxXjWcgjikT/nr2st32EsEN06mBUka4yqfH3Auwhmxv0gFVoxG6akeRV1DFTTQKBnkMZCVVNhBlgSDaknq4d8Ore44CFpBYatb6/+UIOSNtBZ7YH2g== 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=Jcn/B7GAqcDu/e2BJE9NwuznCgmq9hmTuXATNmYpIm4=; b=EQkDv/lihUnv85iCQc4Xe7Dy8tWMDNpJL6zhSuq1Z48VNDDWZMUdOGvdHyVyQ0l11SmpXHL88day3k0i2twgNpoq96axbxMY0d67HXT5cOFWBWfw0K7ur6llX1XAd2qZlcuYJ/gJMif12jF5Q5AXnHSAHtAPQaw0VE4vimuihQXetxWv9txQY5rihJoSEKt45I3RFlUt8HIzY1AbLMLMBJGhNCoHC8MXCV7Rx4E2BUShACrcaCpTTDnYhZAk1ljRK4dwCEVJSJO+ZHUr/iGIxtOzyaOW4Vxnhl6FOasX0Tkgy5XAm0TM+hNH5ki0J0g4d+gb70gUb3aqtU9pJnWypw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=estab.onmicrosoft.com; s=selector2-estab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jcn/B7GAqcDu/e2BJE9NwuznCgmq9hmTuXATNmYpIm4=; b=H5lkwz70I3cZH778L1n3itfev1FHtIut3lsz8bBVDy0XT5hSIdVWjOsVkFYvt/0DRo+2STLx3NT4G3Ui/HFY5DOTr9Q9BHDhiF1fwp4cBnvp6TP/ZarN1VljINJBFukqOgcYG+jLr4aPcsL5edPJg3Go7KEZkGjJ/clI5grZv3s= From: Sriram Yagnaraman To: Sriram Yagnaraman , =?utf-8?B?Q8OpZHJpYyBMZSBHb2F0ZXI=?= , "qemu-devel@nongnu.org" CC: Akihiko Odaki , Jason Wang Subject: RE: [PATCH] igb: Add Function Level Reset to PF and VF Thread-Topic: [PATCH] igb: Add Function Level Reset to PF and VF Thread-Index: AQHZj/fQujQCROZFWkiFuksETv6UNa9vggJggAAL0XA= Date: Sun, 28 May 2023 11:25:14 +0000 Message-ID: References: <20230526173035.69055-1-clg@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DBBP189MB1433:EE_|PR3P189MB0857:EE_ x-ms-office365-filtering-correlation-id: 104a4bb4-b827-419a-8512-08db5f6e3564 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vET47StpQuxD0Ws41+6nS+PXgbJRPn/exkYxEj/06DjueCQ81XzW2H8/z2iwMLt0zlLigdzLIF7VymdTUd6inzY043P33isKzG0kZZfiQJmoseAqdCO0fvgjoYMFbatszoPceiv69K6bfbNx11laktkoniAoBj4ybbXCCKRiepA/ercG09ThNnoxmtvsKq6lr3rroMjitqGZwJV2MSl2lu4DL1D3sRhJIRA8yr5WJM3mxTBs7APljpceER/BvRvQjIFL+ntsbORB3858TcDO+jBhn0/HyoS2XkrAa17DDHZb0BoUN5Ll63JxaYUbWVX3rg0T51pUgNJ4ef4FuFmhYPDgs+Wph18Awzk3z3kJXYmk/ggnGXktNDeZAJiHZ887yIswFLEjrI1ZDg63ihksswndwdUF8QW5P/dpEA5v8riXb/0wy5eoMcwEtdtWK8vJzBAwgUDn+uAP5sSUK9XuOx3LbDsJpWtkK/tm8sCQNgj7eIcAT7aYmckVUZzDrQWrpdtYNPZc8skPl0sLn3vbhWCIZHx+JX5L72L0sBsoDMrGH09P6r687R9QqlWt8rFD0ehzS3/ilrtqfR+GXSa6APkwRcF/pZn3NPN0/09RyXmJKnBLGiNE35ovWAIwc5lR x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBP189MB1433.EURP189.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230028)(366004)(39830400003)(376002)(136003)(346002)(396003)(451199021)(38100700002)(122000001)(41300700001)(2940100002)(38070700005)(316002)(4326008)(33656002)(71200400001)(86362001)(8676002)(8936002)(2906002)(7696005)(52536014)(66946007)(76116006)(9686003)(110136005)(66446008)(66476007)(66556008)(53546011)(64756008)(54906003)(44832011)(6506007)(26005)(83380400001)(478600001)(66574015)(5660300002)(186003)(55016003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S0R4Qkdyck1rQkJSNzgyQkdXMkg2VjRIV1pBeGw1VjNqUnlwUW1pVmJOelgv?= =?utf-8?B?b0VLZWNqYXZOKzNLK1JobUlZSlpIWStsVy9TNVBHcFp0N0hoR1U1ZzNHRkRJ?= =?utf-8?B?RmdQS3AvK1FJdjFxckVvRWpvdUZVVjhMbVZDb1dkSWZhekp2Tzd5ZHlMd2Ja?= =?utf-8?B?MHlIZ1pwWnBSTkJLUWIzMkpuM1RBSDdSbDliNWdDUkltelZYL2JJandQSFp2?= =?utf-8?B?amllYzQ1MEdIbnlKakFBQ1o2VXE1Q0NSdEJxandaN0NXYUlZb1lkL2lKam5j?= =?utf-8?B?T05pSzNuSE5DMXhxN0UwS1IxdW9RM1B6a2UreGlkQkU5K0RNb3pMbUVQOWlU?= =?utf-8?B?Q2FBUHh0QkpibDVFbG1IdzRobTRTdW9QTVRlL1hHS0tZQUdjMU5aMVpqNlJF?= =?utf-8?B?NTdKcXQ1M2N5ODFLZ3J3aG5Jd00xWXdWaklHdXR4dnpiWUs3dis2YzBqM2oz?= =?utf-8?B?RWZ2RHhpcEtWRWFUU2ZhMXVYY1NTQjZTWjdpTnN4YS9pUGZkcHpDcEZocGhn?= =?utf-8?B?bC9YQ1UyenVneCsxVEdkcEdJV0p3M01saVlYd2QrVm1sZGt2ZUtPUjJNTER0?= =?utf-8?B?T0lBYjBIZFliNEgycVU4UTU0bUVBOXVLcWJjaStaNFl0WU0xRnpDZTlGZkdO?= =?utf-8?B?L1lTdWJ6aVdiU2M3RFlHTGl0ajVLTVAvdG0zUWRXOHNCMlJqUlBqazVGTkx1?= =?utf-8?B?VXVGdWFZc0FEZ2x4NERoWVNEcXBZNkxMeDZDY1lHR2IwQ3FXVk5DallqcEkz?= =?utf-8?B?QWVENkYyYlR6eU9SVkhCck9qOUlEZDNKVEtMMElGRUI0ZW9jSW9YRk9PNkIr?= =?utf-8?B?T2RDNEVsRUdyK3ZyZXVKeUNkRFJrUFpkNWpkMmZuTURoOHlXSE54TFF2OTJD?= =?utf-8?B?MW9DNVB5SXhJQ1BYekJKUk45VHdUVk5vZll5VjNodkd4bHovQThRdUFSajlm?= =?utf-8?B?VEliL3lvVWN3MHVCclZzUWxldS9yRlM3Y1dqaXJnaVBVNWVSSWdMM3NsamF4?= =?utf-8?B?WDlMQ1E0YzJCYkY4ZnFmTjJ1NVRjT2tsdWhxSG5sS2ozblNwL1dSVTRrYXA0?= =?utf-8?B?eCs3VkhqNXlYSituN09lMDNOemM2UC9wOWZZWFNiWFJuVS9kZU4xdTQ5b1hS?= =?utf-8?B?QnFUZGlCc2NuWmc2SDJTWGIrS2ZRTkNNNjhTUXR1a2k5c0Qza2UzemFvNDFm?= =?utf-8?B?Z0xWdHozV2NKdUtSYjdBRjR2b2krN0tiU2g4dS9TaENiZUc1SHFKKzVHMExL?= =?utf-8?B?S21oWU95NlptS01nYmpDT1RyUks0Y0tSckNCLzRoRGdDMm8yRVZ3WGZibkh4?= =?utf-8?B?SHQwUkJDUWhvT0U3a3R2TDZTUUVIaHVMaFk3OHRuMXdjYmpWeVdCTGRYTnl3?= =?utf-8?B?UXE1NEJpZFM5ek1Ka0RDbjdSVGNRYXJvZU1BbWlIcVhhSXFqVWcwcUFnYkQ4?= =?utf-8?B?aWd2Vmc4NUIzZ1lzcWNPMnJLQ1BMZE4yejBYdmhDNlprWlZaY2tHUEhSQk1E?= =?utf-8?B?Sml4ZlgzQzd5TlM2K2QzYzJFdFY0K1JOSW10Ri9WV1lDVTBDWHQ1U2NiajFt?= =?utf-8?B?UkZtdnBxNFdvVVR0b3VpcWI2aHdacTZCZlhIWmY2YTdDY0JUQU1xV2w3QUp6?= =?utf-8?B?VW1nb3pxaXhGMTRvbTZZVkpuRC9ZNFhuQkVOWlI5bDAyaG5HQWdzdktqeHA0?= =?utf-8?B?aUl3UWoyMmZUeUMzM3c5US9BdE9HdTZRdElXQjcwQVZsRS9oWGM3eEMwOEpR?= =?utf-8?B?a01BMy9yNi92MVR6d2wvUXlsQnRhcHBYQlA2S1orbFNPbTQraGhBSE1DajI5?= =?utf-8?B?WnptRzcwUXB1alhQSlZZeDZNSVJPSTJIOCtGSFltMHJvcnlScTFMZmE3NDJt?= =?utf-8?B?ODNkdk5wMWE1aGtUYlFsZFZERkFDci9EdUpybWlGNGw0R251M25ELzRSWXRa?= =?utf-8?B?YzQxR09RVWRTem1RWXBDOU51bGhLODRPdVNxZUFnMFV0dE1MeUZaeUJ1OFFQ?= =?utf-8?B?YWlyQ2Z5RjVJNXFucW9Qc3B0MitCVGdySkpURkNWWW9kc3BkZFgyT3NUTzlh?= =?utf-8?B?TVpWRHdBVDlxYmRWYUlRS1dKaEkzYzNpQWtQbi90WTd2NTBhbXZrcGFKUURV?= =?utf-8?Q?zve+7M6bw64N6LMW0W7XrZJSm?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBBP189MB1433.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 104a4bb4-b827-419a-8512-08db5f6e3564 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2023 11:25:14.9592 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YxH+7rxgP5ny/a9JnckuxlH5X+z5a5+GcmOmLYNMRHzffHnOK4c4hx2cNjS090q0Tci1wqvRAbZSUolcjWIOmJc151uCD5KaZG44CZ1AQcI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P189MB0857 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe1a::70e; envelope-from=sriram.yagnaraman@est.tech; helo=EUR03-DBA-obe.outbound.protection.outlook.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @estab.onmicrosoft.com) X-ZM-MESSAGEID: 1685273173417100002 > -----Original Message----- > From: qemu-devel-bounces+sriram.yagnaraman=3Dest.tech@nongnu.org > On Behalf > Of Sriram Yagnaraman > Sent: Sunday, 28 May 2023 12:51 > To: C=C3=A9dric Le Goater ; qemu-devel@nongnu.org > Cc: Akihiko Odaki ; Jason Wang > > Subject: RE: [PATCH] igb: Add Function Level Reset to PF and VF >=20 >=20 > > -----Original Message----- > > From: C=C3=A9dric Le Goater > > Sent: Friday, 26 May 2023 19:31 > > To: qemu-devel@nongnu.org > > Cc: Akihiko Odaki ; Sriram Yagnaraman > > ; Jason Wang ; > C=C3=A9dric > > Le Goater > > Subject: [PATCH] igb: Add Function Level Reset to PF and VF > > > > The Intel 82576EB GbE Controller say that the Physical and Virtual > > Functions support Function Level Reset. Add the capability to each devi= ce > model. > > > > Cc: Akihiko Odaki > > Fixes: 3a977deebe6b ("Intrdocue igb device emulation") > > Signed-off-by: C=C3=A9dric Le Goater > > --- > > hw/net/igb.c | 3 +++ > > hw/net/igbvf.c | 3 +++ > > 2 files changed, 6 insertions(+) > > > > diff --git a/hw/net/igb.c b/hw/net/igb.c index > > 1c989d767725..08e389338dca > > 100644 > > --- a/hw/net/igb.c > > +++ b/hw/net/igb.c > > @@ -101,6 +101,7 @@ static void igb_write_config(PCIDevice *dev, > > uint32_t addr, > > > > trace_igb_write_config(addr, val, len); > > pci_default_write_config(dev, addr, val, len); > > + pcie_cap_flr_write_config(dev, addr, val, len); > > > > if (range_covers_byte(addr, len, PCI_COMMAND) && > > (dev->config[PCI_COMMAND] & PCI_COMMAND_MASTER)) { @@ - > 427,6 > > +428,8 @@ static void igb_pci_realize(PCIDevice *pci_dev, Error > > +**errp) > > } > > > > /* PCIe extended capabilities (in order) */ > > + pcie_cap_flr_init(pci_dev); > > + > > if (pcie_aer_init(pci_dev, 1, 0x100, 0x40, errp) < 0) { > > hw_error("Failed to initialize AER capability"); > > } > > diff --git a/hw/net/igbvf.c b/hw/net/igbvf.c index > > 284ea611848b..0a58dad06802 100644 > > --- a/hw/net/igbvf.c > > +++ b/hw/net/igbvf.c > > @@ -204,6 +204,7 @@ static void igbvf_write_config(PCIDevice *dev, > > uint32_t addr, uint32_t val, { > > trace_igbvf_write_config(addr, val, len); > > pci_default_write_config(dev, addr, val, len); > > + pcie_cap_flr_write_config(dev, addr, val, len); > > } > > > > static uint64_t igbvf_mmio_read(void *opaque, hwaddr addr, unsigned > > size) @@ -266,6 +267,8 @@ static void igbvf_pci_realize(PCIDevice > > *dev, Error > > **errp) > > hw_error("Failed to initialize PCIe capability"); > > } > > > > + pcie_cap_flr_init(dev); >=20 > Sorry for my naive question, and perhaps not related to your patch, IGBVF > device class doesn't seem to have any reset functions registered via > igbvf_class_init(). So, I am guessing an FLR will not trigger igb_vf_rese= t(), which > is probably what we want. >=20 Something like this perhaps? Not compile tested, just an idea. diff --git a/hw/net/igbvf.c b/hw/net/igbvf.c index 284ea61184..9f07983bc9 100644 --- a/hw/net/igbvf.c +++ b/hw/net/igbvf.c @@ -283,9 +283,17 @@ static void igbvf_pci_uninit(PCIDevice *dev) msix_uninit(dev, &s->msix, &s->msix); } =20 +static void igbvf_qdev_reset_hold(Object *obj) +{ + trace_e1000e_cb_qdev_reset_hold(); + + igbvf_mmio_write(obj, E1000_CTRL, E1000_CTRL_RST, 0x4); /* Write to VT= CTRL to trigger VF reset */ +} + static void igbvf_class_init(ObjectClass *class, void *data) { DeviceClass *dc =3D DEVICE_CLASS(class); + ResettableClass *rc =3D RESETTABLE_CLASS(class); PCIDeviceClass *c =3D PCI_DEVICE_CLASS(class); =20 c->realize =3D igbvf_pci_realize; @@ -295,6 +303,8 @@ static void igbvf_class_init(ObjectClass *class, void *= data) c->revision =3D 1; c->class_id =3D PCI_CLASS_NETWORK_ETHERNET; =20 + rc->phases.hold =3D igbvf_qdev_reset_hold; + dc->desc =3D "Intel 82576 Virtual Function"; dc->user_creatable =3D false; > > + > > if (pcie_aer_init(dev, 1, 0x100, 0x40, errp) < 0) { > > hw_error("Failed to initialize AER capability"); > > } > > -- > > 2.40.1