From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 27BFE23EA83; Wed, 1 Jul 2026 18:02:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782928921; cv=none; b=Swxo6C8ef24Kd0rJDDLYBD6enE1z7hLMLEV9F4KhxIk20GdsVZb2LgefSg9liKCv8Tk1uVS18Suo4Wp9GwOGtxVZ+d3WQwxL0KImZj7ZtXuzy4jiaNUcZXz8ogz3l0V9gGQB26VuOEW5WIF6AwVJp4Q37Xr0hIILhKoSTEW+awA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782928921; c=relaxed/simple; bh=C9C0ey+KBcaGrThFNVqe2/kSM+kUFfA/ngJvtaQ0tPQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=O2rtEeupuDjOS9a5ZZT+oPcLq8HHafj+9FfmGF3/pPZBbnTq4pCbe+eJNF0OFxufGOcBEfL4aHzGOREoIVkckGaTNtI252K69dxHhHa4i4uXRFA7sysqQxb9Hn8KEO6lmY8hCNRW7au5zQGwn9j7Qk65p1z5BrbckHHT8kAzt+Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=GJ01IfUn; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="GJ01IfUn" Received: by linux.microsoft.com (Postfix, from userid 1006) id AFE9120B7166; Wed, 1 Jul 2026 11:01:58 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com AFE9120B7166 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1782928918; bh=V7Xqk09lMVg9r2BuTyp9Jy+9Qj+FKgjsTH7SgjTZ0+o=; h=From:To:Cc:Subject:Date:From; b=GJ01IfUnf4SYLucS7EKDtBU+/eeKisPThbRwG9A9rEfkP+uMO9MtTk5cJMVDUDP0F ZQZS16EgbJQEkgiI4uTZFl5aO67Iiij1K6bO6RKVvt2W+HMzcFYI8TFynHCal+Zjmm krAttasFGrp5siydJKnJEOAtkm8T48qTXNm16Cg8= From: Haiyang Zhang To: linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Erni Sri Satya Vennela , Dipayaan Roy , Aditya Garg , Shradha Gupta , linux-kernel@vger.kernel.org Cc: paulros@microsoft.com Subject: [PATCH net-next v2] net: mana: Add handler for sriov configure Date: Wed, 1 Jul 2026 11:01:09 -0700 Message-ID: <20260701180116.507690-1-haiyangz@linux.microsoft.com> X-Mailer: git-send-email 2.43.7 Precedence: bulk X-Mailing-List: linux-hyperv@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Haiyang Zhang Add callback function for the pci_driver / sriov_configure. It asks the NIC to provide certain number of VFs, or disable VFs if the request is zero. Signed-off-by: Haiyang Zhang --- v2: No longer change VF autoprobe as discussed with Leon Romanovsky and Bjorn Helgaas. --- drivers/net/ethernet/microsoft/mana/gdma_main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c index a0fdd052d7f1..0b7380fd1da8 100644 --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c @@ -2446,6 +2446,20 @@ static void mana_gd_shutdown(struct pci_dev *pdev) pci_disable_device(pdev); } +static int mana_sriov_configure(struct pci_dev *pdev, int numvfs) +{ + int err = 0; + + dev_info(&pdev->dev, "Requested num VFs: %d\n", numvfs); + + if (numvfs > 0) + err = pci_enable_sriov(pdev, numvfs); + else + pci_disable_sriov(pdev); + + return err ? err : numvfs; +} + static const struct pci_device_id mana_id_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, MANA_PF_DEVICE_ID) }, { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, MANA_PF2_DEVICE_ID) }, @@ -2461,6 +2475,7 @@ static struct pci_driver mana_driver = { .suspend = mana_gd_suspend, .resume = mana_gd_resume, .shutdown = mana_gd_shutdown, + .sriov_configure = mana_sriov_configure, }; static int __init mana_driver_init(void) -- 2.34.1