From 0a2b2965cd687a2be744552b09f4f5cf2fde4c0f Mon Sep 17 00:00:00 2001 From: blogic Date: Wed, 3 Nov 2010 19:02:27 +0000 Subject: [ifxmips]: * bump kernel to 2.6.35.8 * merge arcadyn mach files * fixes ar9 * adds hack for tapi drivers git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23836 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.32/000-mips-bad-intctl.patch | 32 ------ .../010-mips_clocksource_init_war.patch | 33 ------ .../ifxmips/patches-2.6.32/020-genirq_fix.patch | 12 -- .../linux/ifxmips/patches-2.6.32/100-board.patch | 52 --------- .../linux/ifxmips/patches-2.6.32/110-drivers.patch | 121 --------------------- .../linux/ifxmips/patches-2.6.32/170-crypto.patch | 76 ------------- .../ifxmips/patches-2.6.32/200-cfi-swap.patch | 38 ------- .../ifxmips/patches-2.6.32/210-atm_hack.patch | 42 ------- 8 files changed, 406 deletions(-) delete mode 100644 target/linux/ifxmips/patches-2.6.32/000-mips-bad-intctl.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/010-mips_clocksource_init_war.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/020-genirq_fix.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/100-board.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/110-drivers.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/170-crypto.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/200-cfi-swap.patch delete mode 100644 target/linux/ifxmips/patches-2.6.32/210-atm_hack.patch (limited to 'target/linux/ifxmips/patches-2.6.32') diff --git a/target/linux/ifxmips/patches-2.6.32/000-mips-bad-intctl.patch b/target/linux/ifxmips/patches-2.6.32/000-mips-bad-intctl.patch deleted file mode 100644 index ad3fe9fb3..000000000 --- a/target/linux/ifxmips/patches-2.6.32/000-mips-bad-intctl.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/arch/mips/kernel/traps.c -+++ b/arch/mips/kernel/traps.c -@@ -1537,7 +1537,16 @@ void __cpuinit per_cpu_trap_init(void) - */ - if (cpu_has_mips_r2) { - cp0_compare_irq = (read_c0_intctl() >> 29) & 7; -+ if (!cp0_compare_irq) -+ cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ; -+ - cp0_perfcount_irq = (read_c0_intctl() >> 26) & 7; -+ if (!cp0_perfcount_irq) -+ cp0_perfcount_irq = CP0_LEGACY_PERFCNT_IRQ; -+ -+ if (arch_fixup_c0_irqs) -+ arch_fixup_c0_irqs(); -+ - if (cp0_perfcount_irq == cp0_compare_irq) - cp0_perfcount_irq = -1; - } else { ---- a/arch/mips/include/asm/irq.h -+++ b/arch/mips/include/asm/irq.h -@@ -158,8 +158,10 @@ extern void free_irqno(unsigned int irq) - * IE7. Since R2 their number has to be read from the c0_intctl register. - */ - #define CP0_LEGACY_COMPARE_IRQ 7 -+#define CP0_LEGACY_PERFCNT_IRQ 7 - - extern int cp0_compare_irq; - extern int cp0_perfcount_irq; -+extern void __weak arch_fixup_c0_irqs(void); - - #endif /* _ASM_IRQ_H */ diff --git a/target/linux/ifxmips/patches-2.6.32/010-mips_clocksource_init_war.patch b/target/linux/ifxmips/patches-2.6.32/010-mips_clocksource_init_war.patch deleted file mode 100644 index 81eabc6dc..000000000 --- a/target/linux/ifxmips/patches-2.6.32/010-mips_clocksource_init_war.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/arch/mips/kernel/cevt-r4k.c -+++ b/arch/mips/kernel/cevt-r4k.c -@@ -22,6 +22,22 @@ - - #ifndef CONFIG_MIPS_MT_SMTC - -+/* -+ * Compare interrupt can be routed and latched outside the core, -+ * so a single execution hazard barrier may not be enough to give -+ * it time to clear as seen in the Cause register. 4 time the -+ * pipeline depth seems reasonably conservative, and empirically -+ * works better in configurations with high CPU/bus clock ratios. -+ */ -+ -+#define compare_change_hazard() \ -+ do { \ -+ irq_disable_hazard(); \ -+ irq_disable_hazard(); \ -+ irq_disable_hazard(); \ -+ irq_disable_hazard(); \ -+ } while (0) -+ - static int mips_next_event(unsigned long delta, - struct clock_event_device *evt) - { -@@ -31,6 +47,7 @@ static int mips_next_event(unsigned long - cnt = read_c0_count(); - cnt += delta; - write_c0_compare(cnt); -+ compare_change_hazard(); - res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0; - return res; - } diff --git a/target/linux/ifxmips/patches-2.6.32/020-genirq_fix.patch b/target/linux/ifxmips/patches-2.6.32/020-genirq_fix.patch deleted file mode 100644 index 8b18e7c7e..000000000 --- a/target/linux/ifxmips/patches-2.6.32/020-genirq_fix.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/kernel/irq/chip.c -+++ b/kernel/irq/chip.c -@@ -637,6 +637,9 @@ handle_percpu_irq(unsigned int irq, stru - - kstat_incr_irqs_this_cpu(irq, desc); - -+ if (unlikely(!desc->action || (desc->status & IRQ_DISABLED))) -+ return; -+ - if (desc->chip->ack) - desc->chip->ack(irq); - diff --git a/target/linux/ifxmips/patches-2.6.32/100-board.patch b/target/linux/ifxmips/patches-2.6.32/100-board.patch deleted file mode 100644 index 25713b328..000000000 --- a/target/linux/ifxmips/patches-2.6.32/100-board.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -151,6 +151,9 @@ config MACH_DECSTATION - - otherwise choose R3000. - -+config IFXMIPS -+ bool "Infineon MIPS" -+ - config MACH_JAZZ - bool "Jazz family of machines" - select ARC -@@ -685,6 +688,7 @@ source "arch/mips/txx9/Kconfig" - source "arch/mips/vr41xx/Kconfig" - source "arch/mips/cavium-octeon/Kconfig" - source "arch/mips/loongson/Kconfig" -+source "arch/mips/ifxmips/Kconfig" - - endmenu - ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -305,6 +305,18 @@ cflags-$(CONFIG_MIPS_COBALT) += -I$(srct - load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000 - - # -+# Infineon IFXMIPS -+# -+core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/common/ -+cflags-$(CONFIG_IFXMIPS) += -I$(srctree)/arch/mips/include/asm/mach-ifxmips -+ -+core-$(CONFIG_IFXMIPS_DANUBE) += arch/mips/ifxmips/danube/ -+cflags-$(CONFIG_IFXMIPS_DANUBE) += -I$(srctree)/arch/mips/include/asm/mach-ifxmips/danube/ -+load-$(CONFIG_IFXMIPS_DANUBE) += 0xffffffff80002000 -+ -+core-$(CONFIG_IFXMIPS_COMPAT) += arch/mips/ifxmips/compat/ -+ -+# - # DECstation family - # - core-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -55,7 +55,7 @@ obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capc - obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o - obj-$(CONFIG_MIKROTIK_RB532) += pci-rc32434.o ops-rc32434.o fixup-rc32434.o - obj-$(CONFIG_CPU_CAVIUM_OCTEON) += pci-octeon.o pcie-octeon.o -- -+obj-$(CONFIG_IFXMIPS) += pci-ifxmips.o ops-ifxmips.o - ifdef CONFIG_PCI_MSI - obj-$(CONFIG_CPU_CAVIUM_OCTEON) += msi-octeon.o - endif diff --git a/target/linux/ifxmips/patches-2.6.32/110-drivers.patch b/target/linux/ifxmips/patches-2.6.32/110-drivers.patch deleted file mode 100644 index bb402d627..000000000 --- a/target/linux/ifxmips/patches-2.6.32/110-drivers.patch +++ /dev/null @@ -1,121 +0,0 @@ ---- a/drivers/serial/Kconfig -+++ b/drivers/serial/Kconfig -@@ -1383,6 +1383,14 @@ config SERIAL_OF_PLATFORM_NWPSERIAL_CONS - help - Support for Console on the NWP serial ports. - -+config SERIAL_IFXMIPS -+ bool "IFXMips serial driver" -+ depends on IFXMIPS -+ select SERIAL_CORE -+ select SERIAL_CORE_CONSOLE -+ help -+ Driver for the ifxmipss built in ASC hardware -+ - config SERIAL_QE - tristate "Freescale QUICC Engine serial port support" - depends on QUICC_ENGINE ---- a/drivers/serial/Makefile -+++ b/drivers/serial/Makefile -@@ -81,3 +81,4 @@ obj-$(CONFIG_SERIAL_KS8695) += serial_ks - obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o - obj-$(CONFIG_SERIAL_QE) += ucc_uart.o - obj-$(CONFIG_SERIAL_TIMBERDALE) += timbuart.o -+obj-$(CONFIG_SERIAL_IFXMIPS) += ifxmips.o ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -343,6 +343,12 @@ config MACB - - source "drivers/net/arm/Kconfig" - -+config IFXMIPS_MII0 -+ tristate "Infineon IFXMips eth0 driver" -+ depends on IFXMIPS -+ help -+ Support for the MII0 inside the IFXMips SOC -+ - config AX88796 - tristate "ASIX AX88796 NE2000 clone support" - depends on ARM || MIPS || SUPERH ---- a/drivers/net/Makefile -+++ b/drivers/net/Makefile -@@ -247,6 +247,7 @@ pasemi_mac_driver-objs := pasemi_mac.o p - obj-$(CONFIG_MLX4_CORE) += mlx4/ - obj-$(CONFIG_ENC28J60) += enc28j60.o - obj-$(CONFIG_ETHOC) += ethoc.o -+obj-$(CONFIG_IFXMIPS_MII0) += ifxmips.o - - obj-$(CONFIG_XTENSA_XT2000_SONIC) += xtsonic.o - ---- a/drivers/mtd/maps/Kconfig -+++ b/drivers/mtd/maps/Kconfig -@@ -259,6 +259,12 @@ config MTD_ALCHEMY - help - Flash memory access on AMD Alchemy Pb/Db/RDK Reference Boards - -+config MTD_IFXMIPS -+ tristate "IFXMIPS MTD support" -+ depends on IFXMIPS -+ help -+ Flash memory access on AMD Alchemy Pb/Db/RDK Reference Boards -+ - config MTD_DILNETPC - tristate "CFI Flash device mapped on DIL/Net PC" - depends on X86 && MTD_CONCAT && MTD_PARTITIONS && MTD_CFI_INTELEXT && BROKEN ---- a/drivers/mtd/maps/Makefile -+++ b/drivers/mtd/maps/Makefile -@@ -61,3 +61,4 @@ obj-$(CONFIG_MTD_BFIN_ASYNC) += bfin-asy - obj-$(CONFIG_MTD_RBTX4939) += rbtx4939-flash.o - obj-$(CONFIG_MTD_VMU) += vmu-flash.o - obj-$(CONFIG_MTD_GPIO_ADDR) += gpio-addr-flash.o -+obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -850,6 +850,12 @@ config TXX9_WDT - help - Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs. - -+config IFXMIPS_WDT -+ bool "IFXMips watchdog" -+ depends on IFXMIPS -+ help -+ Hardware driver for the IFXMIPS Watchdog Timer. -+ - # PARISC Architecture - - # POWERPC Architecture ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -113,6 +113,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o - obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o - obj-$(CONFIG_AR7_WDT) += ar7_wdt.o - obj-$(CONFIG_TXX9_WDT) += txx9wdt.o -+obj-$(CONFIG_IFXMIPS_WDT) += ifxmips.o - - # PARISC Architecture - ---- a/drivers/leds/Kconfig -+++ b/drivers/leds/Kconfig -@@ -236,6 +236,12 @@ config LEDS_BD2802 - This option enables support for BD2802GU RGB LED driver chips - accessed via the I2C bus. - -+config LEDS_IFXMIPS -+ tristate "LED Support for IFXMIPS LEDs" -+ depends on LEDS_CLASS && IFXMIPS -+ help -+ This option enables support for the CM-X270 LEDs. -+ - comment "LED Triggers" - - config LEDS_TRIGGERS ---- a/drivers/leds/Makefile -+++ b/drivers/leds/Makefile -@@ -29,6 +29,7 @@ obj-$(CONFIG_LEDS_DA903X) += leds-da903 - obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o - obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o - obj-$(CONFIG_LEDS_PWM) += leds-pwm.o -+obj-$(CONFIG_LEDS_IFXMIPS) += leds-ifxmips.o - - # LED SPI Drivers - obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o diff --git a/target/linux/ifxmips/patches-2.6.32/170-crypto.patch b/target/linux/ifxmips/patches-2.6.32/170-crypto.patch deleted file mode 100644 index 3690f167e..000000000 --- a/target/linux/ifxmips/patches-2.6.32/170-crypto.patch +++ /dev/null @@ -1,76 +0,0 @@ ---- a/drivers/crypto/Kconfig -+++ b/drivers/crypto/Kconfig -@@ -222,4 +222,66 @@ config CRYPTO_DEV_PPC4XX - help - This option allows you to have support for AMCC crypto acceleration. - -+config CRYPTO_DEV_IFXMIPS -+ bool "Support for IFXMIPS crypto engine" -+ select CRYPTO_ALGAPI -+ default y -+ help -+ Will support IFXMIPS crypto hardware -+ If you are unsure, say M. -+ -+menuconfig CRYPTO_DEV_IFXMIPS_DES -+ bool "IFXMIPS crypto hardware for DES algorithm" -+ depends on CRYPTO_DEV_IFXMIPS -+ select CRYPTO_BLKCIPHER -+ default y -+ help -+ Use crypto hardware for DES/3DES algorithm. -+ If unsure say N. -+ -+menuconfig CRYPTO_DEV_IFXMIPS_AES -+ bool "IFXMIPS crypto hardware for AES algorithm" -+ depends on CRYPTO_DEV_IFXMIPS -+ select CRYPTO_BLKCIPHER -+ default y -+ help -+ Use crypto hardware for AES algorithm. -+ If unsure say N. -+ -+menuconfig CRYPTO_DEV_IFXMIPS_ARC4 -+ bool "IFXMIPS crypto hardware for ARC4 algorithm" -+ depends on (CRYPTO_DEV_IFXMIPS && !DANUBE) -+ select CRYPTO_BLKCIPHER -+ default y -+ help -+ Use crypto hardware for ARC4 algorithm. -+ If unsure say N. -+ -+menuconfig CRYPTO_DEV_IFXMIPS_SHA1 -+ bool "IFXMIPS crypto hardware for SHA1 algorithm" -+ depends on CRYPTO_DEV_IFXMIPS -+ select CRYPTO_BLKCIPHER -+ default y -+ help -+ Use crypto hardware for SHA1 algorithm. -+ If unsure say N. -+ -+menuconfig CRYPTO_DEV_IFXMIPS_SHA1_HMAC -+ bool "IFXMIPS crypto hardware for SHA1_HMAC algorithm" -+ depends on (CRYPTO_DEV_IFXMIPS && !DANUBE) -+ select CRYPTO_BLKCIPHER -+ default y -+ help -+ Use crypto hardware for SHA1_HMAC algorithm. -+ If unsure say N. -+ -+menuconfig CRYPTO_DEV_IFXMIPS_MD5_HMAC -+ bool "IFXMIPS crypto hardware for MD5_HMAC algorithms" -+ depends on (CRYPTO_DEV_IFXMIPS && !DANUBE) -+ select CRYPTO_BLKCIPHER -+ default y -+ help -+ Use crypto hardware for MD5_HMAC algorithm. -+ If unsure say N. -+ - endif # CRYPTO_HW ---- a/drivers/crypto/Makefile -+++ b/drivers/crypto/Makefile -@@ -6,3 +6,4 @@ obj-$(CONFIG_CRYPTO_DEV_MV_CESA) += mv_c - obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o - obj-$(CONFIG_CRYPTO_DEV_IXP4XX) += ixp4xx_crypto.o - obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += amcc/ -+obj-$(CONFIG_CRYPTO_DEV_IFXMIPS) += ifxmips/ diff --git a/target/linux/ifxmips/patches-2.6.32/200-cfi-swap.patch b/target/linux/ifxmips/patches-2.6.32/200-cfi-swap.patch deleted file mode 100644 index 00afd4cfd..000000000 --- a/target/linux/ifxmips/patches-2.6.32/200-cfi-swap.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0001.c -+++ b/drivers/mtd/chips/cfi_cmdset_0001.c -@@ -41,7 +41,11 @@ - /* #define CMDSET0001_DISABLE_WRITE_SUSPEND */ - - // debugging, turns off buffer write mode if set to 1 --#define FORCE_WORD_WRITE 0 -+#ifdef CONFIG_IFXMIPS -+# define FORCE_WORD_WRITE 1 -+#else -+# define FORCE_WORD_WRITE 0 -+#endif - - #define MANUFACTURER_INTEL 0x0089 - #define I82802AB 0x00ad -@@ -1480,6 +1484,9 @@ static int __xipram do_write_oneword(str - int ret=0; - - adr += chip->start; -+#ifdef CONFIG_IFXMIPS -+ adr ^= 2; -+#endif - - switch (mode) { - case FL_WRITING: ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -1079,7 +1079,9 @@ static int __xipram do_write_oneword(str - int retry_cnt = 0; - - adr += chip->start; -- -+#ifdef CONFIG_IFXMIPS -+ adr ^= 2; -+#endif - spin_lock(chip->mutex); - ret = get_chip(map, chip, adr, FL_WRITING); - if (ret) { diff --git a/target/linux/ifxmips/patches-2.6.32/210-atm_hack.patch b/target/linux/ifxmips/patches-2.6.32/210-atm_hack.patch deleted file mode 100644 index e66b7e0c1..000000000 --- a/target/linux/ifxmips/patches-2.6.32/210-atm_hack.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/arch/mips/mm/cache.c -+++ b/arch/mips/mm/cache.c -@@ -52,6 +52,8 @@ void (*_dma_cache_wback)(unsigned long s - void (*_dma_cache_inv)(unsigned long start, unsigned long size); - - EXPORT_SYMBOL(_dma_cache_wback_inv); -+EXPORT_SYMBOL(_dma_cache_wback); -+EXPORT_SYMBOL(_dma_cache_inv); - - #endif /* CONFIG_DMA_NONCOHERENT */ - ---- a/net/atm/proc.c -+++ b/net/atm/proc.c -@@ -152,7 +152,7 @@ static void *vcc_seq_next(struct seq_fil - static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc) - { - static const char *const class_name[] = -- {"off","UBR","CBR","VBR","ABR"}; -+ {"off","UBR","CBR","NTR-VBR","ABR","ANY","RT-VBR","UBR+","GFR" }; - static const char *const aal_name[] = { - "---", "1", "2", "3/4", /* 0- 3 */ - "???", "5", "???", "???", /* 4- 7 */ ---- a/net/atm/common.c -+++ b/net/atm/common.c -@@ -56,12 +56,17 @@ static void vcc_remove_socket(struct soc - write_unlock_irq(&vcc_sklist_lock); - } - -+struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = NULL; -+EXPORT_SYMBOL(ifx_atm_alloc_tx); - - static struct sk_buff *alloc_tx(struct atm_vcc *vcc,unsigned int size) - { - struct sk_buff *skb; - struct sock *sk = sk_atm(vcc); - -+ if (ifx_atm_alloc_tx != NULL) -+ return ifx_atm_alloc_tx(vcc, size); -+ - if (sk_wmem_alloc_get(sk) && !atm_may_send(vcc, size)) { - pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n", - sk_wmem_alloc_get(sk), size, -- cgit v1.2.3