From nobody Mon Feb 9 21:23:20 2026 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9111346FD2; Tue, 27 Jan 2026 11:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769513709; cv=none; b=P/FYm+AG1ujPXhzu+3vJaR4oxdRTeClFhU8CRicFYjeZdm259lxvTjXlMRWCpu9C7UilzdsxbHW9yR2RKsqsCAanATj4dRbSbofk5YBxpxfWDiyUl0UK9s2EH3ck8eRV7TAYqZ+wIrKzEklA5nAG/q39QPmXsilSXLkxNzSXFdA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769513709; c=relaxed/simple; bh=ijqw2O8M7EUIc2BLl4oLs4GoBTynTXwFnDwtGiVmiy8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OASEI9mHta5RFbt1sDEBBFUOB96rYf4ZJTs+R23rnNPS+3dSPlIPxFNvqfpp0Vj+Scp0KZ5So0OKrYUDDRTaGDISbnTZ5DK63vqE3S4nbG+ZjYLbgZ7sAnybB/QTuCiPU9cCzjKV0mf0nD7rAFOJI+Rsp5VldD64I3ndxR1Pkzg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn; spf=pass smtp.mailfrom=realsil.com.cn; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b=EvP+/7ja; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b="EvP+/7ja" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 60RBYRNZ02868624, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realsil.com.cn; s=dkim; t=1769513668; bh=ZxtqcX2ExE4wGpUEJrq36UPhDozF5UQGFh/ckwekslw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Content-Type; b=EvP+/7jaBi+HNj2q/rj+aX2YvO29pZ6EzOc48j4TzxEZC5V49YL1wgOJgKhRDQawi CUSK3SZvh6TBtmfyqE1KcDxRGyOmJfgK5Sprn6knI4bkXXWhk/CpVq77GJUYlCBnQB xFN63+xX/sEgNPQ9YOWPRjF3UdDs14PBvJReAz9rwZajy51lCui6OlwQz6U71Jck2U fEkCzpDjm2Hp3X09M2A0IfBlnaDW2ixGaGG8MY0jhmojiAW3m7DjULhQs8LPcRpR6w mgUK3fhODA4tVzK2mij1prArgc4Bam6W+gfwrxKHe0x2xChnl50uJJzvM4QfqVpesj +mpDlbNVBtOyg== Received: from RS-EX-MBS4.realsil.com.cn ([172.29.17.104]) by rtits2.realtek.com.tw (8.15.2/3.21/5.94) with ESMTPS id 60RBYRNZ02868624 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 27 Jan 2026 19:34:27 +0800 Received: from RS-EX-MBS1.realsil.com.cn (172.29.17.101) by RS-EX-MBS4.realsil.com.cn (172.29.17.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.39; Tue, 27 Jan 2026 19:34:27 +0800 Received: from 172.29.37.154 (172.29.37.152) by RS-EX-MBS1.realsil.com.cn (172.29.17.101) with Microsoft SMTP Server id 15.2.1748.39 via Frontend Transport; Tue, 27 Jan 2026 19:34:27 +0800 From: javen To: , , , , , , , CC: , , Javen Xu Subject: [PATCH net-next v1 1/3] r816e: add a fake driver r816e for RTL8116af Date: Tue, 27 Jan 2026 19:34:23 +0800 Message-ID: <20260127113425.1989-2-javen_xu@realsil.com.cn> X-Mailer: git-send-email 2.50.1.windows.1 In-Reply-To: <20260127113425.1989-1-javen_xu@realsil.com.cn> References: <20260127113425.1989-1-javen_xu@realsil.com.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Javen Xu The driver is for the #fun which DID is 0x816e. The kernel could set correct power state for #fun through the driver when suspending. Signed-off-by: Javen Xu --- drivers/net/ethernet/realtek/r816e/r816e.c | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 drivers/net/ethernet/realtek/r816e/r816e.c diff --git a/drivers/net/ethernet/realtek/r816e/r816e.c b/drivers/net/ether= net/realtek/r816e/r816e.c new file mode 100644 index 000000000000..71674019de2c --- /dev/null +++ b/drivers/net/ethernet/realtek/r816e/r816e.c @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * r816e is the Linux device driver released for Realtek RTL8116AF nic + * with PCI-Express interface, which is used for power management. + * + * Copyright(c) 2026 Realtek Semiconductor Corp. + */ + +#include +#include +#include +#include + +static struct pci_device_id rtl816e_pci_tbl[] =3D { + { PCI_VDEVICE(REALTEK, 0x816e), }, + { 0, }, +}; + +MODULE_DEVICE_TABLE(pci, rtl816e_pci_tbl); + +static int rtl816e_probe(struct pci_dev *pdev, + const struct pci_device_id *ent) +{ + int rc; + + /* enable device (incl. PCI PM wakeup and hotplug setup) */ + rc =3D pcim_enable_device(pdev); + if (rc < 0) + return dev_err_probe(&pdev->dev, rc, "enable failure\n"); + + dev_info(&pdev->dev, "enable device\n"); + + return rc; +} + +static void rtl816e_remove(struct pci_dev *pdev) {} + +static int rtl816e_pm_suspend(struct device *device) +{ + return 0; +} + +static int rtl816e_pm_resume(struct device *device) +{ + return 0; +} + +static const struct dev_pm_ops rtl816e_pm_ops =3D { + SYSTEM_SLEEP_PM_OPS(rtl816e_pm_suspend, rtl816e_pm_resume) +}; + +static struct pci_driver rtl816e_pci_driver =3D { + .name =3D "r816e", + .id_table =3D rtl816e_pci_tbl, + .probe =3D rtl816e_probe, + .remove =3D rtl816e_remove, +#ifdef CONFIG_PM + .driver.pm =3D pm_ptr(&rtl816e_pm_ops), +#endif +}; + +static int __init rtl816e_init_module(void) +{ + return pci_register_driver(&rtl816e_pci_driver); +} + +static void __exit rtl816e_cleanup_module(void) +{ + pci_unregister_driver(&rtl816e_pci_driver); +} + +module_init(rtl816e_init_module); +module_exit(rtl816e_cleanup_module); +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("RealTek RTL816E driver"); --=20 2.43.0 From nobody Mon Feb 9 21:23:20 2026 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC5152EE5FC; Tue, 27 Jan 2026 11:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769513709; cv=none; b=i+RJLSbdyBQLYPBXr4c+dZejGb55AvYSSq7i0vJ+2f18mbYGqeoUBbJFNZK7HttZHwmsitqYUikpQUMw0mw/QmncGWt8ZJP4B/YEGaTM6ZNff3NtcZ/8xEgCejSnu8r3WJ4atQm8h9Lc1yr8GHyrsd8AD9NKBCWjVYqLnTyy5G0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769513709; c=relaxed/simple; bh=TcxQG3Uk1qVoNLXSi42PKRy+0aSvGUu1h4ix3ulP84g=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=TXnsEB35R+/QvZsEndAycXWxtMlzxGnYamxJjI4100Uhoa9EH/ZLsKCtNKfRfwHrToaaPSQ8VAUIYFoXzpfF9UrzxzjGPjSEddOZ2PjBYq6Cg+es7LRMsv2Z0uKPm9hNHnF99sz8Mvh5u5At6MgDDcpv/OKb/UpPP33LaoBO39o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn; spf=pass smtp.mailfrom=realsil.com.cn; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b=PQ2bAgZq; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b="PQ2bAgZq" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 60RBYRVE02868626, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realsil.com.cn; s=dkim; t=1769513668; bh=HPkFL8AOlRYLXUCPkupQ62Marl/S2MmVMmJBQIb0WxU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Content-Type; b=PQ2bAgZqJIjjm96by8M72FMuQENLb6iY5i5Upj8ISZZrDo1Yu0Xol6/esRgj6kW18 x2dbx7O3pB9upphp5ZKbdCwmP+SipRmuZ4R/U0r17z2dsq9C0e6V/P8h7fiX3PkGWU wlpU0ilARvNNxQMDpL5Pvd52VMVQ6uJ9MbEPPvs6kj4f4Q0TCY8ecYWKquhKpUPSNT VC6O1VwXWoNiWtZVpK/9MboMuV023PLwBlXyYt1IAPriZD4JF6kAFV5WuIoQRQQYLm shSM+Hr+SyGhOv2tfpprHJ2NWVwnGAnsLc0JjiTWYl4KkdOt8K5VPxr4SIht+o8L3I MvuJfAEKGtZnw== Received: from RS-EX-MBS1.realsil.com.cn ([172.29.17.101]) by rtits2.realtek.com.tw (8.15.2/3.21/5.94) with ESMTPS id 60RBYRVE02868626 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 27 Jan 2026 19:34:28 +0800 Received: from RS-EX-MBS1.realsil.com.cn (172.29.17.101) by RS-EX-MBS1.realsil.com.cn (172.29.17.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.39; Tue, 27 Jan 2026 19:34:27 +0800 Received: from 172.29.37.154 (172.29.37.152) by RS-EX-MBS1.realsil.com.cn (172.29.17.101) with Microsoft SMTP Server id 15.2.1748.39 via Frontend Transport; Tue, 27 Jan 2026 19:34:27 +0800 From: javen To: , , , , , , , CC: , , Javen Xu Subject: [PATCH net-next v1 2/3] r816e: Add a Makefile in the r816e folder Date: Tue, 27 Jan 2026 19:34:24 +0800 Message-ID: <20260127113425.1989-3-javen_xu@realsil.com.cn> X-Mailer: git-send-email 2.50.1.windows.1 In-Reply-To: <20260127113425.1989-1-javen_xu@realsil.com.cn> References: <20260127113425.1989-1-javen_xu@realsil.com.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Javen Xu Add a Makefile in the r816e folder to build r816e driver. Signed-off-by: Javen Xu --- drivers/net/ethernet/realtek/r816e/Makefile | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 drivers/net/ethernet/realtek/r816e/Makefile diff --git a/drivers/net/ethernet/realtek/r816e/Makefile b/drivers/net/ethe= rnet/realtek/r816e/Makefile new file mode 100644 index 000000000000..0f028c7ce7bf --- /dev/null +++ b/drivers/net/ethernet/realtek/r816e/Makefile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +# Copyright(c) 2026 Realtek Semiconductor Corp. All rights reserved. + +# +# Makefile for the Realtek R816E power management driver +# + +obj-$(CONFIG_R816E) +=3D r816e.o --=20 2.43.0 From nobody Mon Feb 9 21:23:20 2026 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC58F346E5F; Tue, 27 Jan 2026 11:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769513710; cv=none; b=gGQSbE3UVvk6RVvd5vYImKg/B+Wc/v9rNAjo9S9IPtRcs0UFoD7K586nTroGJ0rtQkWAHX1MkrAj1gW1Y4DX7HvrEPaKBHQbBRaVZ38/GelpXxo2un2cABEC10XXNp5DbsEmytLKLCu7dtS9SIYKnvInCDIFGBRECzQUbMKgVxw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769513710; c=relaxed/simple; bh=GVspYd10DxPhbhP46uvJwpu59C//6wmJDjpQq5xM1xo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JtmIiTQfPOMxnQqICM0l6YW2vxnroj+prAjrYJsuNg0ghyfoH5zvfFIMQZVtZAoKmV+KncGveOb0uw7z3waA9qPxEKp18JtFveVrSKG9a2zmcj4ZIP9rxk8vsj1rzjH9Jrueeb+kVThNwv169UG4ctq0TrzjKNCXMpgRPCPGIp8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn; spf=pass smtp.mailfrom=realsil.com.cn; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b=eXEeqGAQ; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b="eXEeqGAQ" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 60RBYSS602868731, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realsil.com.cn; s=dkim; t=1769513669; bh=Vo0aMRzYf1jl6v9fuoTunTjRKBFOkKzeqCas/adOSu4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Content-Type; b=eXEeqGAQCEzDe0UwSKkL4ygsLYryyEr+yR6Ajd4Nnk74nWexCvAltMCQXCdz5cAOx QM+Ge1F+4P7r7yhD0G5GIwM9N37HPQ2zZeGQxRefqftKIPjbE4udi2nHWSBlgu84Gk PqW3S7+ABIkPS/70OmQKG2+K0K2N0SLHJf8T+hHOK0OV6lMF96a59dXJ6zRkJeKoQM GJs3oae8HjPOI5F8VAmtbeoswVgfumxSIO8FPHtCuHkgI8qxEFuT7tcxsM+NdM0Uhd /3y4CEX3RT7LEccRAKFeyLS15vhHStWe6Um9ADvPXMyJDl4uPaac+hPcjAPQX2OzBH ASu0A75mySUKg== Received: from RS-EX-MBS4.realsil.com.cn ([172.29.17.104]) by rtits2.realtek.com.tw (8.15.2/3.21/5.94) with ESMTPS id 60RBYSS602868731 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 27 Jan 2026 19:34:29 +0800 Received: from RS-EX-MBS1.realsil.com.cn (172.29.17.101) by RS-EX-MBS4.realsil.com.cn (172.29.17.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.39; Tue, 27 Jan 2026 19:34:28 +0800 Received: from 172.29.37.154 (172.29.37.152) by RS-EX-MBS1.realsil.com.cn (172.29.17.101) with Microsoft SMTP Server id 15.2.1748.39 via Frontend Transport; Tue, 27 Jan 2026 19:34:28 +0800 From: javen To: , , , , , , , CC: , , Javen Xu Subject: [PATCH net-next v1 3/3] realtek: Update Makefile and Kconfig Date: Tue, 27 Jan 2026 19:34:25 +0800 Message-ID: <20260127113425.1989-4-javen_xu@realsil.com.cn> X-Mailer: git-send-email 2.50.1.windows.1 In-Reply-To: <20260127113425.1989-1-javen_xu@realsil.com.cn> References: <20260127113425.1989-1-javen_xu@realsil.com.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Javen Xu This patch adds the R816E entry in the Kconfig and adds the CONFIG_R816E entry in the Makefile. Signed-off-by: Javen Xu --- drivers/net/ethernet/realtek/Kconfig | 7 +++++++ drivers/net/ethernet/realtek/Makefile | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/net/ethernet/realtek/Kconfig b/drivers/net/ethernet/re= altek/Kconfig index 9b0f4f9631db..f2d7edaf299d 100644 --- a/drivers/net/ethernet/realtek/Kconfig +++ b/drivers/net/ethernet/realtek/Kconfig @@ -126,4 +126,11 @@ config RTASE To compile this driver as a module, choose M here: the module will be called rtase. This is recommended. =20 +config R816E + tristate "Realtek RTL8116AF power management support" + depends on PCI + help + Say Y here and it will be complied to ensure the device enters correct + power state if you have Realtek PCIe nic RTL8116AF. + endif # NET_VENDOR_REALTEK diff --git a/drivers/net/ethernet/realtek/Makefile b/drivers/net/ethernet/r= ealtek/Makefile index 12a9c399f40c..c027667df74f 100644 --- a/drivers/net/ethernet/realtek/Makefile +++ b/drivers/net/ethernet/realtek/Makefile @@ -9,3 +9,4 @@ r8169-y +=3D r8169_main.o r8169_firmware.o r8169_phy_config= .o r8169-$(CONFIG_R8169_LEDS) +=3D r8169_leds.o obj-$(CONFIG_R8169) +=3D r8169.o obj-$(CONFIG_RTASE) +=3D rtase/ +obj-$(CONFIG_R816E) +=3D r816e/ --=20 2.43.0