r1341 - in trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian: . patches
Sven Luther
luther@haydn.debian.org
Thu, 26 Aug 2004 03:30:13 -0600
Author: luther
Date: 2004-08-26 03:30:08 -0600 (Thu, 26 Aug 2004)
New Revision: 1341
Added:
trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/powerpc-g4-errata.dpatch
Modified:
trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/changelog
trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/00list-4
trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/drivers-macintosh-adb-trackpad.dpatch
Log:
corrected patch author and status data for the drivers-macintosh-adb-trackpad patch.
Added a new g4 errata patch which clears the BTIC bit, instead of just clearing it.
Modified: trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/changelog
===================================================================
--- trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/changelog 2004-08-26 09:13:43 UTC (rev 1340)
+++ trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/changelog 2004-08-26 09:30:08 UTC (rev 1341)
@@ -7,8 +7,11 @@
that were mentioned in the list from 2.6.9-rc1 but missing from the
corresponding header files (closes: #268128) (Jens Schmalzing).
- -- Jens Schmalzing <jensen@debian.org> Thu, 26 Aug 2004 11:07:55 +0200
+ * Added a new g4-errata patch which forcibly clears the BTIC bit in case it
+ was set by the firmware (Sven Luther).
+ -- Sven Luther <luther@debian.org> Thu, 26 Aug 2004 11:28:05 +0200
+
kernel-source-2.6.8 (2.6.8-3) unstable; urgency=high
* Suggest libqt3-dev for xconfig (closes: #261784) (Andres Salomon).
Modified: trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/00list-4
===================================================================
--- trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/00list-4 2004-08-26 09:13:43 UTC (rev 1340)
+++ trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/00list-4 2004-08-26 09:30:08 UTC (rev 1341)
@@ -23,6 +23,7 @@
marvell-pegasos-2
powerpc-pegasos
powerpc-g4-l2-flush-errata
+powerpc-g4-errata
nfs-fix
SG_IO-safe-commands-2
ia64-generic-no-smp
Modified: trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/drivers-macintosh-adb-trackpad.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/drivers-macintosh-adb-trackpad.dpatch 2004-08-26 09:13:43 UTC (rev 1340)
+++ trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/drivers-macintosh-adb-trackpad.dpatch 2004-08-26 09:30:08 UTC (rev 1341)
@@ -2,13 +2,8 @@
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Description: disable spurious 2nd mouse event for apple trackpads.
-## DP: Patch author: Alex Clausen
-## DP: Upstream status: reviewed by benh, will be submitted upstream.
-## DP: Please - it's a one-line patch that can definitely be applied since there
-## DP: wasn't ever any Apple with more than one mouse button, much less with a
-## DP: trackpad sporting multiple buttons. Did I forget to mention there wasn't
-## DP: any use of ADB outside of Apple hardware?s
-## DP: Michael Schmitz <schmitz@opal.biophys.uni-duesseldorf.de>
+## DP: Patch author: Alexander Clausen <alex@skip86.com>
+## DP: Upstream status: reviewed and submitted by benh.
. $(dirname $0)/DPATCH
Added: trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/powerpc-g4-errata.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/powerpc-g4-errata.dpatch 2004-08-26 09:13:43 UTC (rev 1340)
+++ trunk/kernel/source/kernel-source-2.6.8-2.6.8/debian/patches/powerpc-g4-errata.dpatch 2004-08-26 09:30:08 UTC (rev 1341)
@@ -0,0 +1,239 @@
+#! /bin/sh -e
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: Clears the BTIC bit if it was previously set by the firmware, but is broken in the CPUs.
+## DP: Patch author: Sven Luther <luther@debian.org>
+## DP: Upstream status: reviewed and submited by benh
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+diff -urN -X dontdiff linux-2.6.7-pegasos-orig/arch/ppc/kernel/cputable.c linux-2.6.7/arch/ppc/kernel/cputable.c
+--- linux-2.6.7-pegasos-orig/arch/ppc/kernel/cputable.c 2004-08-11 23:19:46.000000000 -0600
++++ linux-2.6.7/arch/ppc/kernel/cputable.c 2004-08-12 20:08:49.000000000 -0600
+@@ -263,7 +263,8 @@
+ CPU_FTR_COMMON |
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+- CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NEED_COHERENT,
++ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NEED_COHERENT |
++ CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -274,7 +275,8 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_L3_DISABLE_NAP | CPU_FTR_NEED_COHERENT,
++ CPU_FTR_L3_DISABLE_NAP | CPU_FTR_NEED_COHERENT |
++ CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -285,7 +287,7 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_NEED_COHERENT,
++ CPU_FTR_NEED_COHERENT | CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -296,7 +298,7 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_HAS_HIGH_BATS |
+- CPU_FTR_NEED_COHERENT,
++ CPU_FTR_NEED_COHERENT | CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -307,7 +309,8 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_L3_DISABLE_NAP | CPU_FTR_NEED_COHERENT | CPU_FTR_HAS_HIGH_BATS,
++ CPU_FTR_L3_DISABLE_NAP | CPU_FTR_NEED_COHERENT | CPU_FTR_HAS_HIGH_BATS |
++ CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -318,7 +321,7 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT,
++ CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -329,7 +332,8 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_NO_BTIC,
++ CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_NO_BTIC |
++ CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -340,7 +344,8 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_NO_BTIC,
++ CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_NO_BTIC |
++ CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -351,7 +356,7 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT,
++ CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+@@ -362,7 +367,7 @@
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP |
+ CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP |
+ CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR |
+- CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT,
++ CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_HWFLUSH_L2_CACHE,
+ COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP,
+ 32, 32,
+ __setup_cpu_745x
+diff -urN -X dontdiff linux-2.6.7-pegasos-orig/arch/ppc/kernel/l2cr.S linux-2.6.7/arch/ppc/kernel/l2cr.S
+--- linux-2.6.7-pegasos-orig/arch/ppc/kernel/l2cr.S 2004-08-12 02:31:16.000000000 -0600
++++ linux-2.6.7/arch/ppc/kernel/l2cr.S 2004-08-12 20:52:04.716349536 -0600
+@@ -36,7 +36,9 @@
+ several months. The L2CR is similar, but I'm going
+ to assume the user of this functions knows what they
+ are doing.
+-
++ June 17, 2004.
++ - JPAN: Fixed 745X L3 cache enablement routine, also use HW flush assist.
++
+ Author: Terry Greeniaus (tgree@phys.ualberta.ca)
+ Please e-mail updates to this file to me, thanks!
+ */
+@@ -154,9 +156,7 @@
+ Don't do this unless you accomodate all processor variations.
+ The bit moved on the 7450.....
+ ****/
+-
+- /* TODO: use HW flush assist when available */
+-
++BEGIN_FTR_SECTION
+ lis r4,0x0002
+ mtctr r4
+ li r4,0
+@@ -175,7 +175,23 @@
+ dcbf 0,r4
+ addi r4,r4,32 /* Go to start of next cache line */
+ bdnz 1b
++END_FTR_SECTION_IFCLR(CPU_FTR_HWFLUSH_L2_CACHE)
+
++BEGIN_FTR_SECTION
++ /* Use HW flush assist, MPC7447A errata #3 */
++ oris r4,r4,0x0010 /* Set L2CR[IONLY/11] = 1 */
++ oris r4,r4,0x0001 /* Set L2CR[DONLY/15] = 1 */
++ mtspr L2CR,r4 /* Lock the L2 */
++ sync
++ ori r4,r4,0x0800 /* Set L2CR[L2HWF/20] = 1 */
++ mtspr L2CR,r4 /* Flush the L2 */
++1:
++ mfspr r4,L2CR
++ andi. r4,r4,0x0800 /* L2HWF still set? */
++ bne 1b
++ sync /* sync to clear the store queues before L3 flush (UM step 5)*/
++END_FTR_SECTION_IFSET(CPU_FTR_HWFLUSH_L2_CACHE)
++
+ 2:
+ /* Set up the L2CR configuration bits (and switch L2 off) */
+ /* CPU errata: Make sure the mtspr below is already in the
+@@ -292,17 +308,18 @@
+
+ /* Flush the cache.
+ */
+-
+- /* TODO: use HW flush assist */
+-
+- lis r4,0x0008
+- mtctr r4
+- li r4,0
+-1:
+- lwzx r0,r0,r4
+- dcbf 0,r4
+- addi r4,r4,32 /* Go to start of next cache line */
+- bdnz 1b
++ /* use HW flush assist. (UM 3.6.3.1.5) */
++ mfspr r4, SPRN_L3CR
++ oris r4,r4,0x0040 /* Set L3CR[L3IO/9] = 1. */
++ ori r4,r4,0x0040 /* Set L3CR[L3DO/29] = 1.*/
++ mtspr 1018,r4 /* Lock the L3 by making IONLY and DONLY */
++ ori r4,r4,0x0800 /* Set L3CR[L3HWF/20] for hardware flush */
++ mtspr SPRN_L3CR,r4
++flush_745x_L3_poll:
++ mfspr r4,SPRN_L3CR
++ rlwinm. r4,r4,0,20,20
++ bne flush_745x_L3_poll
++ sync /* Clear the store queues per procedure (UM step 8) */
+
+ 2:
+ /* Set up the L3CR configuration bits (and switch L3 off) */
+@@ -348,8 +365,8 @@
+ cmplwi r5,0
+ beq 4f
+
+- /* Enable the cache */
+- oris r3,r3,(L3CR_L3E | L3CR_L3CLKEN)@h
++ /* enable L3 clock */
++ oris r3,r3,(L3CR_L3CLKEN)@h
+ mtspr SPRN_L3CR,r3
+ sync
+
+@@ -357,6 +374,15 @@
+ li r0,256
+ mtctr r0
+ 1: bdnz 1b
++
++ /* Clear MSSSR0 which may cause parity error */
++ xor r5,r5,r5
++ mtspr 1015, r5
++
++ /* Enable L3 cache */
++ oris r3,r3,(L3CR_L3E)@h
++ mtspr SPRN_L3CR,r3
++ sync
+
+ /* Restore MSR (restores EE and DR bits to original state) */
+ 4: SYNC
+diff -urN -X dontdiff linux-2.6.7-pegasos-orig/arch/ppc/kernel/traps.c linux-2.6.7/arch/ppc/kernel/traps.c
+--- linux-2.6.7-pegasos-orig/arch/ppc/kernel/traps.c 2004-08-12 02:31:30.000000000 -0600
++++ linux-2.6.7/arch/ppc/kernel/traps.c 2004-08-12 02:10:05.000000000 -0600
+@@ -263,7 +263,9 @@
+ case 0x80000:
+ printk("Machine check signal\n");
+ break;
+- case 0: /* for 601 */
++ case 0: /* for 601 and 744x */
++ printk("Transfer error ack signal if 601, or MCP if 744x \n");
++ break;
+ case 0x40000:
+ case 0x140000: /* 7450 MSS error and TEA */
+ printk("Transfer error ack signal\n");
+diff -urN -X dontdiff linux-2.6.7-pegasos-orig/include/asm-ppc/cputable.h linux-2.6.7/include/asm-ppc/cputable.h
+--- linux-2.6.7-pegasos-orig/include/asm-ppc/cputable.h 2004-08-11 23:19:46.000000000 -0600
++++ linux-2.6.7/include/asm-ppc/cputable.h 2004-08-12 19:51:45.000000000 -0600
+@@ -77,6 +77,7 @@
+ #define CPU_FTR_HAS_HIGH_BATS 0x00010000
+ #define CPU_FTR_NEED_COHERENT 0x00020000
+ #define CPU_FTR_NO_BTIC 0x00040000
++#define CPU_FTR_HWFLUSH_L2_CACHE 0x00080000
+
+ #ifdef __ASSEMBLY__
+