diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-2.6.23/700-ssb-gigabit-ethernet-driver.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-2.6.23/700-ssb-gigabit-ethernet-driver.patch | 78 |
1 files changed, 41 insertions, 37 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.23/700-ssb-gigabit-ethernet-driver.patch b/target/linux/brcm47xx/patches-2.6.23/700-ssb-gigabit-ethernet-driver.patch index 90346e289e..38df059be2 100644 --- a/target/linux/brcm47xx/patches-2.6.23/700-ssb-gigabit-ethernet-driver.patch +++ b/target/linux/brcm47xx/patches-2.6.23/700-ssb-gigabit-ethernet-driver.patch @@ -1,16 +1,16 @@ Index: linux-2.6.23.16/drivers/ssb/Kconfig =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/Kconfig 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/Kconfig 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/Kconfig 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/Kconfig 2008-02-29 01:01:00.000000000 +0100 @@ -120,4 +120,13 @@ config SSB_DRIVER_EXTIF If unsure, say N +config SSB_DRIVER_GIGE -+ bool "SSB Broadcom Gigabit Ethernet driver (EXPERIMENTAL)" -+ depends on SSB_PCIHOST_POSSIBLE && SSB_EMBEDDED && MIPS && EXPERIMENTAL ++ bool "SSB Broadcom Gigabit Ethernet driver" ++ depends on SSB_PCIHOST_POSSIBLE && SSB_EMBEDDED && MIPS + help -+ Driver the the Sonics Silicon Backplane attached ++ Driver for the Sonics Silicon Backplane attached + Broadcom Gigabit Ethernet. + + If unsure, say N @@ -18,8 +18,8 @@ Index: linux-2.6.23.16/drivers/ssb/Kconfig endmenu Index: linux-2.6.23.16/drivers/ssb/Makefile =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/Makefile 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/Makefile 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/Makefile 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/Makefile 2008-02-28 12:52:40.000000000 +0100 @@ -11,6 +11,7 @@ ssb-y += driver_chipcommon.o ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o @@ -31,8 +31,8 @@ Index: linux-2.6.23.16/drivers/ssb/Makefile Index: linux-2.6.23.16/drivers/ssb/driver_gige.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.23.16/drivers/ssb/driver_gige.c 2008-02-28 12:26:18.000000000 +0100 -@@ -0,0 +1,286 @@ ++++ linux-2.6.23.16/drivers/ssb/driver_gige.c 2008-02-29 01:05:04.000000000 +0100 +@@ -0,0 +1,294 @@ +/* + * Sonics Silicon Backplane + * Broadcom Gigabit Ethernet core driver @@ -44,9 +44,9 @@ Index: linux-2.6.23.16/drivers/ssb/driver_gige.c + */ + +#include <linux/ssb/ssb.h> ++#include <linux/ssb/ssb_driver_gige.h> +#include <linux/pci.h> +#include <linux/pci_regs.h> -+#include <linux/ssb/ssb_driver_gige.h> + + +/* @@ -271,6 +271,14 @@ Index: linux-2.6.23.16/drivers/ssb/driver_gige.c + return 0; +} + ++bool pdev_is_ssb_gige_core(struct pci_dev *pdev) ++{ ++ if (!pdev->resource[0].name) ++ return 0; ++ return (strcmp(pdev->resource[0].name, SSB_GIGE_MEM_RES_NAME) == 0); ++} ++EXPORT_SYMBOL(pdev_is_ssb_gige_core); ++ +int ssb_gige_pcibios_plat_dev_init(struct ssb_device *sdev, + struct pci_dev *pdev) +{ @@ -322,8 +330,8 @@ Index: linux-2.6.23.16/drivers/ssb/driver_gige.c Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h 2008-02-22 20:47:58.000000000 +0100 -@@ -0,0 +1,178 @@ ++++ linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h 2008-02-29 01:10:50.000000000 +0100 +@@ -0,0 +1,174 @@ +#ifndef LINUX_SSB_DRIVER_GIGE_H_ +#define LINUX_SSB_DRIVER_GIGE_H_ + @@ -376,11 +384,7 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h +}; + +/* Check whether a PCI device is a SSB Gigabit Ethernet core. */ -+static inline bool pdev_is_ssb_gige_core(struct pci_dev *pdev) -+{ -+ return (pdev->resource[0].name && -+ strcmp(pdev->resource[0].name, SSB_GIGE_MEM_RES_NAME) == 0); -+} ++extern bool pdev_is_ssb_gige_core(struct pci_dev *pdev); + +/* Convert a pci_dev pointer to a ssb_gige pointer. */ +static inline struct ssb_gige * pdev_to_ssb_gige(struct pci_dev *pdev) @@ -426,12 +430,12 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h + return 0; +} + -+extern char * nvram_get(const char *name); //FIXME ++extern char * nvram_get(const char *name); +/* Get the device MAC address */ +static inline void ssb_gige_get_macaddr(struct pci_dev *pdev, u8 *macaddr) +{ +#ifdef CONFIG_BCM947XX -+ char *res = nvram_get("et0macaddr"); //FIXME ++ char *res = nvram_get("et0macaddr"); + if (res) + memcpy(macaddr, res, 6); +#endif @@ -504,8 +508,8 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h +#endif /* LINUX_SSB_DRIVER_GIGE_H_ */ Index: linux-2.6.23.16/drivers/ssb/driver_pcicore.c =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c 2008-02-28 12:52:40.000000000 +0100 @@ -60,74 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock); /* Core to access the external PCI config space. Can only have one. */ static struct ssb_pcicore *extpci_core; @@ -676,8 +680,8 @@ Index: linux-2.6.23.16/drivers/ssb/driver_pcicore.c u32 val; Index: linux-2.6.23.16/drivers/ssb/embedded.c =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/embedded.c 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/embedded.c 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/embedded.c 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/embedded.c 2008-02-28 12:52:40.000000000 +0100 @@ -10,6 +10,9 @@ #include <linux/ssb/ssb.h> @@ -781,8 +785,8 @@ Index: linux-2.6.23.16/drivers/ssb/embedded.c +} Index: linux-2.6.23.16/include/linux/ssb/ssb.h =================================================================== ---- linux-2.6.23.16.orig/include/linux/ssb/ssb.h 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/include/linux/ssb/ssb.h 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/include/linux/ssb/ssb.h 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/include/linux/ssb/ssb.h 2008-02-28 12:52:40.000000000 +0100 @@ -422,5 +422,12 @@ extern int ssb_bus_powerup(struct ssb_bu extern u32 ssb_admatch_base(u32 adm); extern u32 ssb_admatch_size(u32 adm); @@ -798,8 +802,8 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb.h #endif /* LINUX_SSB_H_ */ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h =================================================================== ---- linux-2.6.23.16.orig/include/linux/ssb/ssb_driver_pci.h 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/include/linux/ssb/ssb_driver_pci.h 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h 2008-02-28 12:52:40.000000000 +0100 @@ -1,6 +1,11 @@ #ifndef LINUX_SSB_PCICORE_H_ #define LINUX_SSB_PCICORE_H_ @@ -841,8 +845,8 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h #endif /* LINUX_SSB_PCICORE_H_ */ Index: linux-2.6.23.16/drivers/ssb/main.c =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/main.c 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/main.c 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/main.c 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/main.c 2008-02-28 12:52:40.000000000 +0100 @@ -14,6 +14,7 @@ #include <linux/io.h> #include <linux/ssb/ssb.h> @@ -903,8 +907,8 @@ Index: linux-2.6.23.16/drivers/ssb/main.c } Index: linux-2.6.23.16/drivers/ssb/ssb_private.h =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/ssb_private.h 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/ssb_private.h 2008-02-22 19:42:52.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/ssb_private.h 2008-02-28 12:52:37.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/ssb_private.h 2008-02-28 12:52:40.000000000 +0100 @@ -118,6 +118,8 @@ extern u32 ssb_calc_clock_rate(u32 pllty extern int ssb_devices_freeze(struct ssb_bus *bus); extern int ssb_devices_thaw(struct ssb_bus *bus); @@ -916,8 +920,8 @@ Index: linux-2.6.23.16/drivers/ssb/ssb_private.h #ifdef CONFIG_SSB_PCIHOST Index: linux-2.6.23.16/drivers/net/tg3.c =================================================================== ---- linux-2.6.23.16.orig/drivers/net/tg3.c 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/net/tg3.c 2008-02-28 12:28:17.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/net/tg3.c 2008-02-28 12:52:37.000000000 +0100 ++++ linux-2.6.23.16/drivers/net/tg3.c 2008-02-29 00:59:00.000000000 +0100 @@ -38,6 +38,7 @@ #include <linux/workqueue.h> #include <linux/prefetch.h> @@ -1203,8 +1207,8 @@ Index: linux-2.6.23.16/drivers/net/tg3.c * swapping. DMA data byte swapping is controlled in the GRC_MODE Index: linux-2.6.23.16/drivers/net/tg3.h =================================================================== ---- linux-2.6.23.16.orig/drivers/net/tg3.h 2008-02-22 19:40:57.000000000 +0100 -+++ linux-2.6.23.16/drivers/net/tg3.h 2008-02-23 20:56:08.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/net/tg3.h 2008-02-28 12:52:37.000000000 +0100 ++++ linux-2.6.23.16/drivers/net/tg3.h 2008-02-28 12:52:40.000000000 +0100 @@ -2279,6 +2279,10 @@ struct tg3 { #define TG3_FLG2_PHY_JITTER_BUG 0x20000000 #define TG3_FLG2_NO_FWARE_REPORTED 0x40000000 @@ -1236,8 +1240,8 @@ Index: linux-2.6.23.16/drivers/net/tg3.h dma_addr_t stats_mapping; Index: linux-2.6.23.16/drivers/ssb/driver_mipscore.c =================================================================== ---- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-02-20 20:02:43.000000000 +0100 -+++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c 2008-02-28 12:16:12.000000000 +0100 +--- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-02-28 12:52:40.000000000 +0100 ++++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c 2008-02-28 12:52:40.000000000 +0100 @@ -211,6 +211,7 @@ void ssb_mipscore_init(struct ssb_mipsco /* fallthrough */ case SSB_DEV_PCI: |