From ec783b6671d0117e4ca864e295f7427d823f048b Mon Sep 17 00:00:00 2001 From: noz Date: Thu, 21 Jun 2007 23:37:39 +0000 Subject: [PATCH] brcm43xx: Update to 2.6.22-rc5 target git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7697 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/100-board_support.patch | 77 +++++++++++-------- .../brcm47xx-2.6/patches/110-flash_map.patch | 25 +++--- .../patches/120-b44_ssb_support.patch | 74 +++++++++--------- .../patches/130-remove_scache.patch | 34 ++++---- .../patches/140-export_uevent_handler.patch | 7 +- .../brcm47xx-2.6/patches/150-cpu_fixes.patch | 35 +++++---- .../patches/160-kmap_coherent.patch | 22 ++++-- .../brcm47xx-2.6/patches/170-cpu_wait.patch | 11 +-- 8 files changed, 157 insertions(+), 128 deletions(-) diff --git a/target/linux/brcm47xx-2.6/patches/100-board_support.patch b/target/linux/brcm47xx-2.6/patches/100-board_support.patch index d80a4fbc8..b67b8d5e5 100644 --- a/target/linux/brcm47xx-2.6/patches/100-board_support.patch +++ b/target/linux/brcm47xx-2.6/patches/100-board_support.patch @@ -1,6 +1,7 @@ -diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig ---- linux.old/arch/mips/Kconfig 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/arch/mips/Kconfig 2007-01-26 00:51:18.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/Kconfig +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/Kconfig 2007-06-10 21:32:36.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/Kconfig 2007-06-10 21:33:12.000000000 +0100 @@ -4,6 +4,10 @@ # Horrible source of confusion. Die, die, die ... select EMBEDDED @@ -12,7 +13,7 @@ diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig mainmenu "Linux/MIPS Kernel Configuration" menu "Machine selection" -@@ -240,6 +240,23 @@ +@@ -126,6 +130,23 @@ Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and Olivetti M700-10 workstations. @@ -36,9 +37,10 @@ diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig config LASAT bool "LASAT Networks platforms" select DMA_NONCOHERENT -diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-probe.c ---- linux.old/arch/mips/kernel/cpu-probe.c 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/arch/mips/kernel/cpu-probe.c 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/kernel/cpu-probe.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/kernel/cpu-probe.c 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/kernel/cpu-probe.c 2007-06-10 21:33:12.000000000 +0100 @@ -711,6 +711,28 @@ } @@ -78,9 +80,10 @@ diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu- case PRID_COMP_SANDCRAFT: cpu_probe_sandcraft(c); break; -diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c ---- linux.old/arch/mips/kernel/proc.c 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/arch/mips/kernel/proc.c 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/kernel/proc.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/kernel/proc.c 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/kernel/proc.c 2007-06-10 21:33:12.000000000 +0100 @@ -83,6 +83,8 @@ [CPU_VR4181] = "NEC VR4181", [CPU_VR4181A] = "NEC VR4181A", @@ -90,10 +93,11 @@ diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c [CPU_PR4450] = "Philips PR4450", }; -diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile ---- linux.old/arch/mips/Makefile 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/arch/mips/Makefile 2007-01-25 23:34:01.000000000 +0100 -@@ -576,6 +576,18 @@ +Index: linux-2.6.22-rc4/arch/mips/Makefile +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/Makefile 2007-06-10 21:32:56.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/Makefile 2007-06-10 21:33:12.000000000 +0100 +@@ -560,6 +560,18 @@ load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000 # @@ -112,9 +116,10 @@ diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile # SNI RM # core-$(CONFIG_SNI_RM) += arch/mips/sni/ -diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c ---- linux.old/arch/mips/mm/tlbex.c 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/arch/mips/mm/tlbex.c 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/mm/tlbex.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/mm/tlbex.c 2007-06-10 21:32:35.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/mm/tlbex.c 2007-06-10 21:33:12.000000000 +0100 @@ -892,6 +892,8 @@ case CPU_4KSC: case CPU_20KC: @@ -124,9 +129,10 @@ diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c tlbw(p); break; -diff -urN linux.old/drivers/Kconfig linux.dev/drivers/Kconfig ---- linux.old/drivers/Kconfig 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/drivers/Kconfig 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/drivers/Kconfig +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/Kconfig 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/Kconfig 2007-06-10 21:33:12.000000000 +0100 @@ -56,6 +56,8 @@ source "drivers/hwmon/Kconfig" @@ -136,17 +142,19 @@ diff -urN linux.old/drivers/Kconfig linux.dev/drivers/Kconfig source "drivers/mfd/Kconfig" source "drivers/media/Kconfig" -diff -urN linux.old/drivers/Makefile linux.dev/drivers/Makefile ---- linux.old/drivers/Makefile 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/drivers/Makefile 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/drivers/Makefile +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/Makefile 2007-06-10 21:32:14.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/Makefile 2007-06-10 21:33:12.000000000 +0100 @@ -81,3 +81,4 @@ obj-$(CONFIG_DMA_ENGINE) += dma/ obj-$(CONFIG_HID) += hid/ obj-$(CONFIG_PPC_PS3) += ps3/ +obj-$(CONFIG_SSB) += ssb/ -diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h ---- linux.old/include/asm-mips/bootinfo.h 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/include/asm-mips/bootinfo.h 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/include/asm-mips/bootinfo.h +=================================================================== +--- linux-2.6.22-rc4.orig/include/asm-mips/bootinfo.h 2007-06-10 21:32:14.000000000 +0100 ++++ linux-2.6.22-rc4/include/asm-mips/bootinfo.h 2007-06-10 21:33:12.000000000 +0100 @@ -213,6 +213,12 @@ #define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */ #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */ @@ -160,9 +168,10 @@ diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/booti #define CL_SIZE COMMAND_LINE_SIZE const char *get_system_type(void); -diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h ---- linux.old/include/asm-mips/cpu.h 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/include/asm-mips/cpu.h 2007-01-25 23:34:01.000000000 +0100 +Index: linux-2.6.22-rc4/include/asm-mips/cpu.h +=================================================================== +--- linux-2.6.22-rc4.orig/include/asm-mips/cpu.h 2007-06-10 21:32:14.000000000 +0100 ++++ linux-2.6.22-rc4/include/asm-mips/cpu.h 2007-06-10 21:33:12.000000000 +0100 @@ -104,6 +104,13 @@ #define PRID_IMP_SR71000 0x0400 @@ -188,10 +197,11 @@ diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h /* * ISA Level encodings -diff -urN linux.old/include/linux/pci_ids.h linux.dev/include/linux/pci_ids.h ---- linux.old/include/linux/pci_ids.h 2007-01-26 00:51:33.000000000 +0100 -+++ linux.dev/include/linux/pci_ids.h 2007-01-25 23:34:01.000000000 +0100 -@@ -1981,6 +1981,7 @@ +Index: linux-2.6.22-rc4/include/linux/pci_ids.h +=================================================================== +--- linux-2.6.22-rc4.orig/include/linux/pci_ids.h 2007-06-10 21:32:14.000000000 +0100 ++++ linux-2.6.22-rc4/include/linux/pci_ids.h 2007-06-10 21:33:12.000000000 +0100 +@@ -1991,6 +1991,7 @@ #define PCI_DEVICE_ID_TIGON3_5906M 0x1713 #define PCI_DEVICE_ID_BCM4401 0x4401 #define PCI_DEVICE_ID_BCM4401B0 0x4402 @@ -199,4 +209,3 @@ diff -urN linux.old/include/linux/pci_ids.h linux.dev/include/linux/pci_ids.h #define PCI_VENDOR_ID_TOPIC 0x151f #define PCI_DEVICE_ID_TOPIC_TP560 0x0000 - diff --git a/target/linux/brcm47xx-2.6/patches/110-flash_map.patch b/target/linux/brcm47xx-2.6/patches/110-flash_map.patch index 13f36c291..74fe01a25 100644 --- a/target/linux/brcm47xx-2.6/patches/110-flash_map.patch +++ b/target/linux/brcm47xx-2.6/patches/110-flash_map.patch @@ -1,7 +1,8 @@ -diff -urN linux.old/drivers/mtd/maps/Kconfig linux.dev/drivers/mtd/maps/Kconfig ---- linux.old/drivers/mtd/maps/Kconfig 2006-12-11 20:32:53.000000000 +0100 -+++ linux.dev/drivers/mtd/maps/Kconfig 2007-01-03 02:26:02.000000000 +0100 -@@ -326,6 +326,12 @@ +Index: linux-2.6.22-rc4/drivers/mtd/maps/Kconfig +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/mtd/maps/Kconfig 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/mtd/maps/Kconfig 2007-06-10 21:33:14.000000000 +0100 +@@ -358,6 +358,12 @@ Mapping for the Flaga digital module. If you don't have one, ignore this setting. @@ -11,13 +12,14 @@ diff -urN linux.old/drivers/mtd/maps/Kconfig linux.dev/drivers/mtd/maps/Kconfig + help + Support for the flash chips on the BCM947xx board. + - config MTD_BEECH - tristate "CFI Flash device mapped on IBM 405LP Beech" - depends on MTD_CFI && BEECH -diff -urN linux.old/drivers/mtd/maps/Makefile linux.dev/drivers/mtd/maps/Makefile ---- linux.old/drivers/mtd/maps/Makefile 2006-12-11 20:32:53.000000000 +0100 -+++ linux.dev/drivers/mtd/maps/Makefile 2007-01-03 02:26:02.000000000 +0100 -@@ -31,6 +31,7 @@ + config MTD_WALNUT + tristate "Flash device mapped on IBM 405GP Walnut" + depends on MTD_JEDECPROBE && WALNUT +Index: linux-2.6.22-rc4/drivers/mtd/maps/Makefile +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/mtd/maps/Makefile 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/mtd/maps/Makefile 2007-06-10 21:33:14.000000000 +0100 +@@ -33,6 +33,7 @@ obj-$(CONFIG_MTD_PCMCIA) += pcmciamtd.o obj-$(CONFIG_MTD_RPXLITE) += rpxlite.o obj-$(CONFIG_MTD_TQM8XXL) += tqm8xxl.o @@ -25,4 +27,3 @@ diff -urN linux.old/drivers/mtd/maps/Makefile linux.dev/drivers/mtd/maps/Makefil obj-$(CONFIG_MTD_SA1100) += sa1100-flash.o obj-$(CONFIG_MTD_IPAQ) += ipaq-flash.o obj-$(CONFIG_MTD_SBC_GXX) += sbc_gxx.o - diff --git a/target/linux/brcm47xx-2.6/patches/120-b44_ssb_support.patch b/target/linux/brcm47xx-2.6/patches/120-b44_ssb_support.patch index 5b44774f9..fcda25363 100644 --- a/target/linux/brcm47xx-2.6/patches/120-b44_ssb_support.patch +++ b/target/linux/brcm47xx-2.6/patches/120-b44_ssb_support.patch @@ -1,6 +1,7 @@ -diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c ---- linux.old/drivers/net/b44.c 2006-12-11 20:32:53.000000000 +0100 -+++ linux.dev/drivers/net/b44.c 2007-01-03 02:26:02.000000000 +0100 +Index: linux-2.6.22-rc4/drivers/net/b44.c +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/net/b44.c 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/net/b44.c 2007-06-10 21:33:15.000000000 +0100 @@ -1,7 +1,9 @@ -/* b44.c: Broadcom 4400 device driver. +/* b44.c: Broadcom 4400/47xx device driver. @@ -59,9 +60,9 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c - static void b44_halt(struct b44 *); static void b44_init_rings(struct b44 *); - + @@ -118,6 +115,7 @@ - + static int dma_desc_align_mask; static int dma_desc_sync_size; +static int instance; @@ -200,36 +201,37 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c - bw32(bp, B44_SBTMSLOW, (SBTMSLOW_CLOCK | SBTMSLOW_FGC)); - br32(bp, B44_SBTMSLOW); - udelay(1); -- ++ bw32(bp, B44_CAM_CTRL, (CAM_CTRL_READ | ++ (index << CAM_CTRL_INDEX_SHIFT))); + - bw32(bp, B44_SBTMSLOW, (SBTMSLOW_CLOCK)); - br32(bp, B44_SBTMSLOW); - udelay(1); -} -+ bw32(bp, B44_CAM_CTRL, (CAM_CTRL_READ | -+ (index << CAM_CTRL_INDEX_SHIFT))); ++ b44_wait_bit(bp, B44_CAM_CTRL, CAM_CTRL_BUSY, 100, 1); -static int ssb_core_unit(struct b44 *bp) -{ -#if 0 - u32 val = br32(bp, B44_SBADMATCH0); - u32 base; -+ b44_wait_bit(bp, B44_CAM_CTRL, CAM_CTRL_BUSY, 100, 1); ++ val = br32(bp, B44_CAM_DATA_LO); - type = val & SBADMATCH0_TYPE_MASK; - switch (type) { - case 0: - base = val & SBADMATCH0_BS0_MASK; - break; -+ val = br32(bp, B44_CAM_DATA_LO); - -- case 1: -- base = val & SBADMATCH0_BS1_MASK; -- break; + data[2] = (val >> 24) & 0xFF; + data[3] = (val >> 16) & 0xFF; + data[4] = (val >> 8) & 0xFF; + data[5] = (val >> 0) & 0xFF; +- case 1: +- base = val & SBADMATCH0_BS1_MASK; +- break; ++ val = br32(bp, B44_CAM_DATA_HI); + - case 2: - default: - base = val & SBADMATCH0_BS2_MASK; @@ -238,8 +240,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c -#endif - return 0; -} -+ val = br32(bp, B44_CAM_DATA_HI); - +- -static int ssb_is_core_up(struct b44 *bp) -{ - return ((br32(bp, B44_SBTMSLOW) & (SBTMSLOW_RESET | SBTMSLOW_REJECT | SBTMSLOW_CLOCK)) @@ -487,7 +488,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c } else { struct sk_buff *copy_skb; -@@ -986,23 +932,23 @@ +@@ -985,23 +931,23 @@ goto err_out; } @@ -1098,13 +1099,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c - if (err) - goto out; + bp->dma_offset = ssb_dma_translation(sdev); - -- bp->dev->dev_addr[0] = eeprom[79]; -- bp->dev->dev_addr[1] = eeprom[78]; -- bp->dev->dev_addr[2] = eeprom[81]; -- bp->dev->dev_addr[3] = eeprom[80]; -- bp->dev->dev_addr[4] = eeprom[83]; -- bp->dev->dev_addr[5] = eeprom[82]; ++ + switch (instance) { + case 1: + addr = sdev->bus->sprom.r1.et0mac; @@ -1115,7 +1110,13 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c + bp->phy_addr = sdev->bus->sprom.r1.et1phyaddr; + break; + } -+ + +- bp->dev->dev_addr[0] = eeprom[79]; +- bp->dev->dev_addr[1] = eeprom[78]; +- bp->dev->dev_addr[2] = eeprom[81]; +- bp->dev->dev_addr[3] = eeprom[80]; +- bp->dev->dev_addr[4] = eeprom[83]; +- bp->dev->dev_addr[5] = eeprom[82]; + memcpy(bp->dev->dev_addr, addr, 6); if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){ @@ -1139,11 +1140,11 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c /* XXX - really required? bp->flags |= B44_FLAG_BUGGY_TXPTR; - */ -+ */ - +- - if (ssb_get_core_rev(bp) >= 7) - bp->flags |= B44_FLAG_B0_ANDLATER; -- ++ */ + -out: return err; } @@ -1351,7 +1352,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c - struct net_device *dev = pci_get_drvdata(pdev); + struct net_device *dev = ssb_get_drvdata(pdev); struct b44 *bp = netdev_priv(dev); - int rc = 0; + int rc = 0; - pci_restore_state(pdev); - rc = pci_enable_device(pdev); @@ -1404,9 +1405,10 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c } module_init(b44_init); -diff -urN linux.old/drivers/net/b44.h linux.dev/drivers/net/b44.h ---- linux.old/drivers/net/b44.h 2006-12-11 20:32:53.000000000 +0100 -+++ linux.dev/drivers/net/b44.h 2007-01-03 02:26:02.000000000 +0100 +Index: linux-2.6.22-rc4/drivers/net/b44.h +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/net/b44.h 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/net/b44.h 2007-06-10 21:33:15.000000000 +0100 @@ -129,6 +129,7 @@ #define RXCONFIG_FLOW 0x00000020 /* Flow Control Enable */ #define RXCONFIG_FLOW_ACCEPT 0x00000040 /* Accept Unicast Flow Control Frame */ @@ -1530,9 +1532,10 @@ diff -urN linux.old/drivers/net/b44.h linux.dev/drivers/net/b44.h struct net_device *dev; dma_addr_t rx_ring_dma, tx_ring_dma; -diff -urN linux.old/drivers/net/Kconfig linux.dev/drivers/net/Kconfig ---- linux.old/drivers/net/Kconfig 2007-01-03 02:25:09.000000000 +0100 -+++ linux.dev/drivers/net/Kconfig 2007-01-03 02:26:02.000000000 +0100 +Index: linux-2.6.22-rc4/drivers/net/Kconfig +=================================================================== +--- linux-2.6.22-rc4.orig/drivers/net/Kconfig 2007-06-10 21:32:48.000000000 +0100 ++++ linux-2.6.22-rc4/drivers/net/Kconfig 2007-06-10 21:33:15.000000000 +0100 @@ -1511,7 +1511,7 @@ config B44 @@ -1542,4 +1545,3 @@ diff -urN linux.old/drivers/net/Kconfig linux.dev/drivers/net/Kconfig select MII help If you have a network (Ethernet) controller of this type, say Y and - diff --git a/target/linux/brcm47xx-2.6/patches/130-remove_scache.patch b/target/linux/brcm47xx-2.6/patches/130-remove_scache.patch index 1f3b250c4..ed821843b 100644 --- a/target/linux/brcm47xx-2.6/patches/130-remove_scache.patch +++ b/target/linux/brcm47xx-2.6/patches/130-remove_scache.patch @@ -1,15 +1,16 @@ -diff -urN linux-2.6.19.ref/arch/mips/Kconfig linux-2.6.19/arch/mips/Kconfig ---- linux-2.6.19.ref/arch/mips/Kconfig 2006-12-04 21:33:48.000000000 +0100 -+++ linux-2.6.19/arch/mips/Kconfig 2006-12-04 21:34:04.000000000 +0100 -@@ -315,7 +315,6 @@ +Index: linux-2.6.22-rc4/arch/mips/Kconfig +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/Kconfig 2007-06-10 21:33:12.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/Kconfig 2007-06-10 21:33:17.000000000 +0100 +@@ -202,7 +202,6 @@ select I8259 select MIPS_BOARDS_GEN select MIPS_BONITO64 - select MIPS_CPU_SCACHE - select MIPS_GT64120 + select PCI_GT64XXX_PCI0 select MIPS_MSC select SWAP_IO_SPACE -@@ -1538,13 +1537,6 @@ +@@ -1345,13 +1344,6 @@ bool select BOARD_SCACHE @@ -23,9 +24,10 @@ diff -urN linux-2.6.19.ref/arch/mips/Kconfig linux-2.6.19/arch/mips/Kconfig config R5000_CPU_SCACHE bool select BOARD_SCACHE -diff -urN linux-2.6.19.ref/arch/mips/kernel/cpu-probe.c linux-2.6.19/arch/mips/kernel/cpu-probe.c ---- linux-2.6.19.ref/arch/mips/kernel/cpu-probe.c 2006-12-04 21:33:48.000000000 +0100 -+++ linux-2.6.19/arch/mips/kernel/cpu-probe.c 2006-12-04 21:34:04.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/kernel/cpu-probe.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/kernel/cpu-probe.c 2007-06-10 21:33:12.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/kernel/cpu-probe.c 2007-06-10 21:33:17.000000000 +0100 @@ -619,6 +619,8 @@ break; case PRID_IMP_25KF: @@ -35,9 +37,10 @@ diff -urN linux-2.6.19.ref/arch/mips/kernel/cpu-probe.c linux-2.6.19/arch/mips/k break; case PRID_IMP_34K: c->cputype = CPU_34K; -diff -urN linux-2.6.19.ref/arch/mips/mm/c-r4k.c linux-2.6.19/arch/mips/mm/c-r4k.c ---- linux-2.6.19.ref/arch/mips/mm/c-r4k.c 2006-11-29 22:57:37.000000000 +0100 -+++ linux-2.6.19/arch/mips/mm/c-r4k.c 2006-12-04 21:34:04.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/mm/c-r4k.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/mm/c-r4k.c 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/mm/c-r4k.c 2007-06-10 21:33:17.000000000 +0100 @@ -1038,7 +1038,6 @@ extern int r5k_sc_init(void); @@ -81,9 +84,10 @@ diff -urN linux-2.6.19.ref/arch/mips/mm/c-r4k.c linux-2.6.19/arch/mips/mm/c-r4k. /* compute a couple of other cache variables */ c->scache.waysize = scache_size / c->scache.ways; -diff -urN linux-2.6.19.ref/arch/mips/mm/Makefile linux-2.6.19/arch/mips/mm/Makefile ---- linux-2.6.19.ref/arch/mips/mm/Makefile 2006-11-29 22:57:37.000000000 +0100 -+++ linux-2.6.19/arch/mips/mm/Makefile 2006-12-04 21:34:04.000000000 +0100 +Index: linux-2.6.22-rc4/arch/mips/mm/Makefile +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/mm/Makefile 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/mm/Makefile 2007-06-10 21:33:17.000000000 +0100 @@ -30,4 +30,3 @@ obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o diff --git a/target/linux/brcm47xx-2.6/patches/140-export_uevent_handler.patch b/target/linux/brcm47xx-2.6/patches/140-export_uevent_handler.patch index 6a6f51aa7..f6a41f32a 100644 --- a/target/linux/brcm47xx-2.6/patches/140-export_uevent_handler.patch +++ b/target/linux/brcm47xx-2.6/patches/140-export_uevent_handler.patch @@ -1,6 +1,7 @@ -diff -urN linux-2.6.19.ref/lib/kobject_uevent.c linux-2.6.19/lib/kobject_uevent.c ---- linux-2.6.19.ref/lib/kobject_uevent.c 2006-11-29 22:57:37.000000000 +0100 -+++ linux-2.6.19/lib/kobject_uevent.c 2006-12-04 21:33:48.000000000 +0100 +Index: linux-2.6.22-rc4/lib/kobject_uevent.c +=================================================================== +--- linux-2.6.22-rc4.orig/lib/kobject_uevent.c 2007-06-10 21:32:13.000000000 +0100 ++++ linux-2.6.22-rc4/lib/kobject_uevent.c 2007-06-10 21:33:18.000000000 +0100 @@ -29,6 +29,7 @@ u64 uevent_seqnum; char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; diff --git a/target/linux/brcm47xx-2.6/patches/150-cpu_fixes.patch b/target/linux/brcm47xx-2.6/patches/150-cpu_fixes.patch index 834c7ee76..ef297a4c0 100644 --- a/target/linux/brcm47xx-2.6/patches/150-cpu_fixes.patch +++ b/target/linux/brcm47xx-2.6/patches/150-cpu_fixes.patch @@ -1,6 +1,7 @@ -diff -ur linux.old/arch/mips/kernel/genex.S linux.dev/arch/mips/kernel/genex.S ---- linux.old/arch/mips/kernel/genex.S 2007-03-23 16:10:35.572499592 +0100 -+++ linux.dev/arch/mips/kernel/genex.S 2007-03-16 11:54:34.901251992 +0100 +Index: linux-2.6.22-rc4/arch/mips/kernel/genex.S +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/kernel/genex.S 2007-06-10 21:32:12.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/kernel/genex.S 2007-06-10 21:33:19.000000000 +0100 @@ -51,6 +51,10 @@ NESTED(except_vec3_generic, 0, sp) .set push @@ -12,9 +13,10 @@ diff -ur linux.old/arch/mips/kernel/genex.S linux.dev/arch/mips/kernel/genex.S #if R5432_CP0_INTERRUPT_WAR mfc0 k0, CP0_INDEX #endif -diff -ur linux.old/arch/mips/mm/c-r4k.c linux.dev/arch/mips/mm/c-r4k.c ---- linux.old/arch/mips/mm/c-r4k.c 2007-03-16 12:11:00.344441000 +0100 -+++ linux.dev/arch/mips/mm/c-r4k.c 2007-03-23 16:03:23.596169976 +0100 +Index: linux-2.6.22-rc4/arch/mips/mm/c-r4k.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/mm/c-r4k.c 2007-06-10 21:33:17.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/mm/c-r4k.c 2007-06-10 21:33:19.000000000 +0100 @@ -29,6 +29,9 @@ #include /* for run_uncached() */ @@ -90,9 +92,10 @@ diff -ur linux.old/arch/mips/mm/c-r4k.c linux.dev/arch/mips/mm/c-r4k.c probe_pcache(); setup_scache(); -diff -ur linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c ---- linux.old/arch/mips/mm/tlbex.c 2007-03-16 11:54:34.826263000 +0100 -+++ linux.dev/arch/mips/mm/tlbex.c 2007-03-23 16:03:23.608168152 +0100 +Index: linux-2.6.22-rc4/arch/mips/mm/tlbex.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/mm/tlbex.c 2007-06-10 21:33:12.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/mm/tlbex.c 2007-06-10 21:33:19.000000000 +0100 @@ -1229,6 +1229,10 @@ #endif } @@ -117,9 +120,10 @@ diff -ur linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c /* * create the plain linear handler */ -diff -ur linux.old/include/asm-mips/r4kcache.h linux.dev/include/asm-mips/r4kcache.h ---- linux.old/include/asm-mips/r4kcache.h 2007-01-10 20:10:37.000000000 +0100 -+++ linux.dev/include/asm-mips/r4kcache.h 2007-03-23 16:38:44.603727816 +0100 +Index: linux-2.6.22-rc4/include/asm-mips/r4kcache.h +=================================================================== +--- linux-2.6.22-rc4.orig/include/asm-mips/r4kcache.h 2007-06-10 21:32:12.000000000 +0100 ++++ linux-2.6.22-rc4/include/asm-mips/r4kcache.h 2007-06-10 21:33:19.000000000 +0100 @@ -17,6 +17,20 @@ #include #include @@ -322,9 +326,10 @@ diff -ur linux.old/include/asm-mips/r4kcache.h linux.dev/include/asm-mips/r4kcac +__BUILD_BLAST_CACHE_RANGE(inv_s, scache, Hit_Invalidate_SD,,, ) #endif /* _ASM_R4KCACHE_H */ -diff -ur linux.old/include/asm-mips/stackframe.h linux.dev/include/asm-mips/stackframe.h ---- linux.old/include/asm-mips/stackframe.h 2007-03-23 16:10:35.573499440 +0100 -+++ linux.dev/include/asm-mips/stackframe.h 2007-03-16 11:54:34.903251688 +0100 +Index: linux-2.6.22-rc4/include/asm-mips/stackframe.h +=================================================================== +--- linux-2.6.22-rc4.orig/include/asm-mips/stackframe.h 2007-06-10 21:32:12.000000000 +0100 ++++ linux-2.6.22-rc4/include/asm-mips/stackframe.h 2007-06-10 21:33:19.000000000 +0100 @@ -352,6 +352,10 @@ .macro RESTORE_SP_AND_RET LONG_L sp, PT_R29(sp) diff --git a/target/linux/brcm47xx-2.6/patches/160-kmap_coherent.patch b/target/linux/brcm47xx-2.6/patches/160-kmap_coherent.patch index 706a20f83..67068081d 100644 --- a/target/linux/brcm47xx-2.6/patches/160-kmap_coherent.patch +++ b/target/linux/brcm47xx-2.6/patches/160-kmap_coherent.patch @@ -1,5 +1,7 @@ ---- ./arch/mips/mm/init.c.orig 2007-03-22 08:08:34.000000000 -0600 -+++ ./arch/mips/mm/init.c 2007-03-22 08:09:04.000000000 -0600 +Index: linux-2.6.22-rc4/arch/mips/mm/init.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/mm/init.c 2007-06-10 21:32:12.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/mm/init.c 2007-06-10 21:33:21.000000000 +0100 @@ -207,7 +207,7 @@ void *vfrom, *vto; @@ -8,7 +10,7 @@ + if (cpu_has_dc_aliases && cpu_use_kmap_coherent) { vfrom = kmap_coherent(from, vaddr); copy_page(vto, vfrom); - kunmap_coherent(from); + kunmap_coherent(); @@ -230,7 +230,7 @@ struct page *page, unsigned long vaddr, void *dst, const void *src, unsigned long len) @@ -17,7 +19,7 @@ + if (cpu_has_dc_aliases && cpu_use_kmap_coherent) { void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK); memcpy(vto, src, len); - kunmap_coherent(page); + kunmap_coherent(); @@ -246,7 +246,7 @@ struct page *page, unsigned long vaddr, void *dst, const void *src, unsigned long len) @@ -27,8 +29,10 @@ void *vfrom = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK); memcpy(dst, vfrom, len); ---- ./include/asm-mips/mach-bcm947xx/cpu-feature-overrides.h.orig 2007-03-22 08:10:54.000000000 -0600 -+++ ./include/asm-mips/mach-bcm947xx/cpu-feature-overrides.h 2007-03-22 08:10:50.000000000 -0600 +Index: linux-2.6.22-rc4/include/asm-mips/mach-bcm947xx/cpu-feature-overrides.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.22-rc4/include/asm-mips/mach-bcm947xx/cpu-feature-overrides.h 2007-06-10 21:33:21.000000000 +0100 @@ -0,0 +1,13 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public @@ -43,8 +47,10 @@ +#define cpu_use_kmap_coherent 0 + +#endif /* __ASM_MACH_BCM947XX_CPU_FEATURE_OVERRIDES_H */ ---- ./include/asm-mips/cpu-features.h.orig 2007-03-22 08:09:16.000000000 -0600 -+++ ./include/asm-mips/cpu-features.h 2007-03-22 08:09:52.000000000 -0600 +Index: linux-2.6.22-rc4/include/asm-mips/cpu-features.h +=================================================================== +--- linux-2.6.22-rc4.orig/include/asm-mips/cpu-features.h 2007-06-10 21:32:12.000000000 +0100 ++++ linux-2.6.22-rc4/include/asm-mips/cpu-features.h 2007-06-10 21:33:21.000000000 +0100 @@ -101,6 +101,9 @@ #ifndef cpu_has_pindexed_dcache #define cpu_has_pindexed_dcache (cpu_data[0].dcache.flags & MIPS_CACHE_PINDEX) diff --git a/target/linux/brcm47xx-2.6/patches/170-cpu_wait.patch b/target/linux/brcm47xx-2.6/patches/170-cpu_wait.patch index ce37b1343..92bf0a37e 100644 --- a/target/linux/brcm47xx-2.6/patches/170-cpu_wait.patch +++ b/target/linux/brcm47xx-2.6/patches/170-cpu_wait.patch @@ -1,12 +1,13 @@ -diff -urN linux-2.6.19.2.old/arch/mips/kernel/cpu-probe.c linux-2.6.19.2/arch/mips/kernel/cpu-probe.c ---- linux-2.6.19.2.old/arch/mips/kernel/cpu-probe.c 2007-05-01 19:28:06.937756121 +0100 -+++ linux-2.6.19.2/arch/mips/kernel/cpu-probe.c 2007-05-01 19:31:46.867756121 +0100 +Index: linux-2.6.22-rc4/arch/mips/kernel/cpu-probe.c +=================================================================== +--- linux-2.6.22-rc4.orig/arch/mips/kernel/cpu-probe.c 2007-06-10 21:33:17.000000000 +0100 ++++ linux-2.6.22-rc4/arch/mips/kernel/cpu-probe.c 2007-06-10 21:33:22.000000000 +0100 @@ -143,6 +143,8 @@ case CPU_34K: case CPU_74K: case CPU_PR4450: + case CPU_BCM3302: -+ case CPU_BCM4710: ++ case CPU_BCM4710: cpu_wait = r4k_wait; break; - case CPU_TX49XX: + case CPU_TX49XX: