mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
r8125: Enabling realtek ethernet driver support
Bug 5091558 Change-Id: Idb013a451e81ad1e7a664d85f024eebb17f92b77 Signed-off-by: Mahesh Patil <maheshp@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3316987 Reviewed-by: Shobek Attupurath <sattupurath@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
@@ -110,6 +110,7 @@ kernel_module(
|
|||||||
"drivers/net/ethernet/microchip/lan743x.ko",
|
"drivers/net/ethernet/microchip/lan743x.ko",
|
||||||
"drivers/net/ethernet/nvidia/nvethernet/nvethernet.ko",
|
"drivers/net/ethernet/nvidia/nvethernet/nvethernet.ko",
|
||||||
"drivers/net/ethernet/nvidia/pcie/tegra_vnet.ko",
|
"drivers/net/ethernet/nvidia/pcie/tegra_vnet.ko",
|
||||||
|
"drivers/net/ethernet/realtek/r8125/r8125.ko",
|
||||||
"drivers/net/ethernet/realtek/r8126/r8126.ko",
|
"drivers/net/ethernet/realtek/r8126/r8126.ko",
|
||||||
"drivers/net/ethernet/realtek/r8168/r8168.ko",
|
"drivers/net/ethernet/realtek/r8168/r8168.ko",
|
||||||
"drivers/nv-p2p/nvidia-p2p.ko",
|
"drivers/nv-p2p/nvidia-p2p.ko",
|
||||||
|
|||||||
@@ -8,3 +8,7 @@ endif
|
|||||||
ifneq ($(NV_OOT_REALTEK_R8126_SKIP_BUILD),y)
|
ifneq ($(NV_OOT_REALTEK_R8126_SKIP_BUILD),y)
|
||||||
obj-m += r8126/
|
obj-m += r8126/
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef CONFIG_TEGRA_SYSTEM_TYPE_ACK
|
||||||
|
obj-m += r8125/
|
||||||
|
endif
|
||||||
|
|||||||
@@ -30,30 +30,185 @@
|
|||||||
# US6,570,884, US6,115,776, and US6,327,625.
|
# US6,570,884, US6,115,776, and US6,327,625.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
KFLAG := 2$(shell uname -r | sed -ne 's/^2\.[4]\..*/4/p')x
|
CONFIG_SOC_LAN = n
|
||||||
|
ENABLE_FIBER_SUPPORT = n
|
||||||
|
ENABLE_REALWOW_SUPPORT = n
|
||||||
|
ENABLE_DASH_SUPPORT = n
|
||||||
|
ENABLE_DASH_PRINTER_SUPPORT = n
|
||||||
|
CONFIG_DOWN_SPEED_100 = n
|
||||||
|
CONFIG_ASPM = y
|
||||||
|
ENABLE_S5WOL = y
|
||||||
|
ENABLE_S5_KEEP_CURR_MAC = n
|
||||||
|
ENABLE_EEE = y
|
||||||
|
ENABLE_S0_MAGIC_PACKET = n
|
||||||
|
ENABLE_TX_NO_CLOSE = y
|
||||||
|
ENABLE_MULTIPLE_TX_QUEUE = n
|
||||||
|
ENABLE_PTP_SUPPORT = n
|
||||||
|
ENABLE_PTP_MASTER_MODE = n
|
||||||
|
ENABLE_RSS_SUPPORT = n
|
||||||
|
ENABLE_LIB_SUPPORT = n
|
||||||
|
ENABLE_USE_FIRMWARE_FILE = n
|
||||||
|
DISABLE_WOL_SUPPORT = n
|
||||||
|
DISABLE_MULTI_MSIX_VECTOR = n
|
||||||
|
ENABLE_DOUBLE_VLAN = n
|
||||||
|
ENABLE_PAGE_REUSE = n
|
||||||
|
ENABLE_RX_PACKET_FRAGMENT = n
|
||||||
|
|
||||||
all: clean modules install
|
ifneq ($(KERNELRELEASE),)
|
||||||
|
obj-m := r8125.o
|
||||||
|
r8125-objs := r8125_n.o rtl_eeprom.o rtltool.o
|
||||||
|
ifeq ($(CONFIG_SOC_LAN), y)
|
||||||
|
EXTRA_CFLAGS += -DCONFIG_SOC_LAN
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_FIBER_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_fiber.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_FIBER_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_REALWOW_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_realwow.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_REALWOW_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_DASH_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_dash.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_DASH_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_DASH_PRINTER_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_dash.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_DASH_SUPPORT -DENABLE_DASH_PRINTER_SUPPORT
|
||||||
|
endif
|
||||||
|
EXTRA_CFLAGS += -DCONFIG_R8125_NAPI
|
||||||
|
EXTRA_CFLAGS += -DCONFIG_R8125_VLAN
|
||||||
|
ifeq ($(CONFIG_DOWN_SPEED_100), y)
|
||||||
|
EXTRA_CFLAGS += -DCONFIG_DOWN_SPEED_100
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_ASPM), y)
|
||||||
|
EXTRA_CFLAGS += -DCONFIG_ASPM
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_S5WOL), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_S5WOL
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_S5_KEEP_CURR_MAC), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_S5_KEEP_CURR_MAC
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_EEE), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_EEE
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_S0_MAGIC_PACKET), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_S0_MAGIC_PACKET
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_TX_NO_CLOSE), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_TX_NO_CLOSE
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_MULTIPLE_TX_QUEUE), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_MULTIPLE_TX_QUEUE
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_PTP_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_ptp.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_PTP_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_PTP_MASTER_MODE), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_PTP_MASTER_MODE
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_RSS_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_rss.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_RSS_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_LIB_SUPPORT), y)
|
||||||
|
r8125-objs += r8125_lib.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_LIB_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_USE_FIRMWARE_FILE), y)
|
||||||
|
r8125-objs += r8125_firmware.o
|
||||||
|
EXTRA_CFLAGS += -DENABLE_USE_FIRMWARE_FILE
|
||||||
|
endif
|
||||||
|
ifeq ($(DISABLE_WOL_SUPPORT), y)
|
||||||
|
EXTRA_CFLAGS += -DDISABLE_WOL_SUPPORT
|
||||||
|
endif
|
||||||
|
ifeq ($(DISABLE_MULTI_MSIX_VECTOR), y)
|
||||||
|
EXTRA_CFLAGS += -DDISABLE_MULTI_MSIX_VECTOR
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_DOUBLE_VLAN), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_DOUBLE_VLAN
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_PAGE_REUSE), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_PAGE_REUSE
|
||||||
|
endif
|
||||||
|
ifeq ($(ENABLE_RX_PACKET_FRAGMENT), y)
|
||||||
|
EXTRA_CFLAGS += -DENABLE_RX_PACKET_FRAGMENT
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
BASEDIR := /lib/modules/$(shell uname -r)
|
||||||
|
KERNELDIR ?= $(BASEDIR)/build
|
||||||
|
PWD :=$(shell pwd)
|
||||||
|
DRIVERDIR := $(shell find $(BASEDIR)/kernel/drivers/net/ethernet -name realtek -type d)
|
||||||
|
ifeq ($(DRIVERDIR),)
|
||||||
|
DRIVERDIR := $(shell find $(BASEDIR)/kernel/drivers/net -name realtek -type d)
|
||||||
|
endif
|
||||||
|
ifeq ($(DRIVERDIR),)
|
||||||
|
DRIVERDIR := $(BASEDIR)/kernel/drivers/net
|
||||||
|
endif
|
||||||
|
RTKDIR := $(subst $(BASEDIR)/,,$(DRIVERDIR))
|
||||||
|
|
||||||
|
KERNEL_GCC_VERSION := $(shell cat /proc/version | sed -n 's/.*gcc version \([[:digit:]]\.[[:digit:]]\.[[:digit:]]\).*/\1/p')
|
||||||
|
CCVERSION = $(shell $(CC) -dumpversion)
|
||||||
|
|
||||||
|
KVER = $(shell uname -r)
|
||||||
|
KMAJ = $(shell echo $(KVER) | \
|
||||||
|
sed -e 's/^\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*.*/\1/')
|
||||||
|
KMIN = $(shell echo $(KVER) | \
|
||||||
|
sed -e 's/^[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*.*/\1/')
|
||||||
|
KREV = $(shell echo $(KVER) | \
|
||||||
|
sed -e 's/^[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/')
|
||||||
|
|
||||||
|
kver_ge = $(shell \
|
||||||
|
echo test | awk '{if($(KMAJ) < $(1)) {print 0} else { \
|
||||||
|
if($(KMAJ) > $(1)) {print 1} else { \
|
||||||
|
if($(KMIN) < $(2)) {print 0} else { \
|
||||||
|
if($(KMIN) > $(2)) {print 1} else { \
|
||||||
|
if($(KREV) < $(3)) {print 0} else { print 1 } \
|
||||||
|
}}}}}' \
|
||||||
|
)
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: print_vars clean modules install
|
||||||
|
|
||||||
|
print_vars:
|
||||||
|
@echo
|
||||||
|
@echo "CC: " $(CC)
|
||||||
|
@echo "CCVERSION: " $(CCVERSION)
|
||||||
|
@echo "KERNEL_GCC_VERSION: " $(KERNEL_GCC_VERSION)
|
||||||
|
@echo "KVER: " $(KVER)
|
||||||
|
@echo "KMAJ: " $(KMAJ)
|
||||||
|
@echo "KMIN: " $(KMIN)
|
||||||
|
@echo "KREV: " $(KREV)
|
||||||
|
@echo "BASEDIR: " $(BASEDIR)
|
||||||
|
@echo "DRIVERDIR: " $(DRIVERDIR)
|
||||||
|
@echo "PWD: " $(PWD)
|
||||||
|
@echo "RTKDIR: " $(RTKDIR)
|
||||||
|
@echo
|
||||||
|
|
||||||
|
.PHONY:modules
|
||||||
modules:
|
modules:
|
||||||
ifeq ($(KFLAG),24x)
|
#ifeq ($(call kver_ge,5,0,0),1)
|
||||||
$(MAKE) -C src/ -f Makefile_linux24x modules
|
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
|
||||||
else
|
#else
|
||||||
$(MAKE) -C src/ modules
|
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) modules
|
||||||
endif
|
#endif
|
||||||
|
|
||||||
|
.PHONY:clean
|
||||||
clean:
|
clean:
|
||||||
ifeq ($(KFLAG),24x)
|
#ifeq ($(call kver_ge,5,0,0),1)
|
||||||
$(MAKE) -C src/ -f Makefile_linux24x clean
|
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
|
||||||
else
|
#else
|
||||||
$(MAKE) -C src/ clean
|
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) clean
|
||||||
endif
|
#endif
|
||||||
|
|
||||||
|
.PHONY:install
|
||||||
install:
|
install:
|
||||||
ifeq ($(KFLAG),24x)
|
#ifeq ($(call kver_ge,5,0,0),1)
|
||||||
$(MAKE) -C src/ -f Makefile_linux24x install
|
$(MAKE) -C $(KERNELDIR) M=$(PWD) INSTALL_MOD_DIR=$(RTKDIR) modules_install
|
||||||
else
|
#else
|
||||||
$(MAKE) -C src/ install
|
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) INSTALL_MOD_DIR=$(RTKDIR) modules_install
|
||||||
|
#endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user