[POWERPC] Fix per-cpu allocation on oldworld SMP powermacs

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c63c4faa8cf055319c7ed557d2050c1c3776fac5
Commit: c63c4faa8cf055319c7ed557d2050c1c3776fac5
Parent: eedab661a51966c454e38c17266a531aa58b4a98
Author: Paul Mackerras [EMAIL PROTECTED]
AuthorDate: Thu Jun 7 22:42:19 2007 +1000
Committer:  Paul Mackerras [EMAIL PROTECTED]
CommitDate: Thu Jun 14 11:56:17 2007 +1000

[POWERPC] Fix per-cpu allocation on oldworld SMP powermacs

The per-cpu area(a) for the secondary CPU(s) isn't getting allocated
on old SMP powermacs that don't have the secondary CPU(s) listed in
the device tree, as per-cpu areas are now only allocated for CPUs in
the cpu_possible_map, and we aren't setting the bits for the secondary
CPU(s) until smp_prepare_cpus(), which is after per-cpu allocation.
Therefore this sets the bits for CPUs 1..3 in cpu_possible_map in
pmac_setup_arch, so they get per-cpu data allocated.

Signed-off-by: Paul Mackerras [EMAIL PROTECTED]
---
 arch/powerpc/platforms/powermac/setup.c |   13 -
 arch/powerpc/platforms/powermac/smp.c   |1 -
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/powermac/setup.c 
b/arch/powerpc/platforms/powermac/setup.c
index 07b1c4e..9565715 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -363,8 +363,19 @@ static void __init pmac_setup_arch(void)
smp_ops = core99_smp_ops;
}
 #ifdef CONFIG_PPC32
-   else
+   else {
+   /*
+* We have to set bits in cpu_possible_map here since the
+* secondary CPU(s) aren't in the device tree, and
+* setup_per_cpu_areas only allocates per-cpu data for
+* CPUs in the cpu_possible_map.
+*/
+   int cpu;
+
+   for (cpu = 1; cpu  4  cpu  NR_CPUS; ++cpu)
+   cpu_set(cpu, cpu_possible_map);
smp_ops = psurge_smp_ops;
+   }
 #endif
 #endif /* CONFIG_SMP */
 
diff --git a/arch/powerpc/platforms/powermac/smp.c 
b/arch/powerpc/platforms/powermac/smp.c
index 686ed82..cb2d894 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -317,7 +317,6 @@ static int __init smp_psurge_probe(void)
ncpus = NR_CPUS;
for (i = 1; i  ncpus ; ++i) {
cpu_set(i, cpu_present_map);
-   cpu_set(i, cpu_possible_map);
set_hard_smp_processor_id(i, i);
}
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[POWERPC] Fix console output getting dropped on platforms without udbg_putc

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=220ddc0847ebd42d18ee78c7e1c2f4c2e3be637d
Commit: 220ddc0847ebd42d18ee78c7e1c2f4c2e3be637d
Parent: c63c4faa8cf055319c7ed557d2050c1c3776fac5
Author: Milton Miller [EMAIL PROTECTED]
AuthorDate: Sun Jun 10 14:32:43 2007 +1000
Committer:  Paul Mackerras [EMAIL PROTECTED]
CommitDate: Thu Jun 14 11:56:17 2007 +1000

[POWERPC] Fix console output getting dropped on platforms without udbg_putc

Previously, registering this early console would just result
in dropping early buffered printk output until a udbg_putc
was registered.

However, commit 69331af79cf29e26d1231152a172a1a10c2df511
clears the CON_PRINTBUFFER flag on the main console when a
CON_BOOT (early) console has been registered, resulting in
the buffered messages never being displayed to the user.

This fixes the problem by making sure we don't register udbg_console
on platforms that don't implement udbg_putc.

Signed-off-by: Milton Miller [EMAIL PROTECTED]
Acked-by: Mark A. Greer [EMAIL PROTECTED]
Signed-off-by: Paul Mackerras [EMAIL PROTECTED]
---
 arch/powerpc/kernel/udbg.c |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c
index 87703df..cbca1df 100644
--- a/arch/powerpc/kernel/udbg.c
+++ b/arch/powerpc/kernel/udbg.c
@@ -151,12 +151,18 @@ static struct console udbg_console = {
 
 static int early_console_initialized;
 
-/* called by setup_system */
+/*
+ * Called by setup_system after ppc_md-probe and ppc_md-early_init.
+ * Call it again after setting udbg_putc in ppc_md-setup_arch.
+ */
 void register_early_udbg_console(void)
 {
if (early_console_initialized)
return;
 
+   if (!udbg_putc)
+   return;
+
if (strstr(boot_command_line, udbg-immortal)) {
printk(KERN_INFO early console immortal !\n);
udbg_console.flags = ~CON_BOOT;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


block: always requeue !fs requests at the front

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc90ba093af2e5022b9d055a2148b54a6aa35bc9
Commit: bc90ba093af2e5022b9d055a2148b54a6aa35bc9
Parent: e126c7b6bbb0c5b5fc3ecf2fd1ae67c803b747cc
Author: Tejun Heo [EMAIL PROTECTED]
AuthorDate: Fri Jun 15 13:24:28 2007 +0200
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Fri Jun 15 16:12:20 2007 -0700

block: always requeue !fs requests at the front

SCSI marks internal commands with REQ_PREEMPT and push it at the front
of the request queue using blk_execute_rq().  When entering suspended
or frozen state, SCSI devices are quiesced using
scsi_device_quiesce().  In quiesced state, only REQ_PREEMPT requests
are processed.  This is how SCSI blocks other requests out while
suspending and resuming.  As all internal commands are pushed at the
front of the queue, this usually works.

Unfortunately, this interacts badly with ordered requeueing.  To
preserve request order on requeueing (due to busy device, active EH or
other failures), requests are sorted according to ordered sequence on
requeue if IO barrier is in progress.

The following sequence deadlocks.

1. IO barrier sequence issues.

2. Suspend requested.  Queue is quiesced with part or all of IO
   barrier sequence at the front.

3. During suspending or resuming, SCSI issues internal command which
   gets deferred and requeued for some reason.  As the command is
   issued after the IO barrier in #1, ordered requeueing code puts the
   request after IO barrier sequence.

4. The device is ready to process requests again but still is in
   quiesced state and the first request of the queue isn't
   REQ_PREEMPT, so command processing is deadlocked -
   suspending/resuming waits for the issued request to complete while
   the request can't be processed till device is put back into
   running state by resuming.

This can be fixed by always putting !fs requests at the front when
requeueing.

The following thread reports this deadlock.

  http://thread.gmane.org/gmane.linux.kernel/537473

Signed-off-by: Tejun Heo [EMAIL PROTECTED]
Acked-by: David Greaves [EMAIL PROTECTED]
Acked-by: Jeff Garzik [EMAIL PROTECTED]
Signed-off-by: Jens Axboe [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 block/ll_rw_blk.c |9 +
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 6b5173a..c99b463 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -340,6 +340,15 @@ unsigned blk_ordered_req_seq(struct request *rq)
if (rq == q-post_flush_rq)
return QUEUE_ORDSEQ_POSTFLUSH;
 
+   /*
+* !fs requests don't need to follow barrier ordering.  Always
+* put them at the front.  This fixes the following deadlock.
+*
+* http://thread.gmane.org/gmane.linux.kernel/537473
+*/
+   if (!blk_fs_request(rq))
+   return QUEUE_ORDSEQ_DRAIN;
+
if ((rq-cmd_flags  REQ_ORDERED_COLOR) ==
(q-orig_bar_rq-cmd_flags  REQ_ORDERED_COLOR))
return QUEUE_ORDSEQ_DRAIN;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[AVR32] ratelimit segfault reporting rate

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=126187f1e00048abec4d4a2eb3eeae396fbaa944
Commit: 126187f1e00048abec4d4a2eb3eeae396fbaa944
Parent: eedab661a51966c454e38c17266a531aa58b4a98
Author: Andrea Righi [EMAIL PROTECTED]
AuthorDate: Wed May 23 14:14:52 2007 -0700
Committer:  Haavard Skinnemoen [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:30:49 2007 +0200

[AVR32] ratelimit segfault reporting rate

Limit the rate of the kernel logging for the segfaults of user
applications, to avoid potential message floods or denial-of-service
attacks.

Signed-off-by: Andrea Righi [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Haavard Skinnemoen [EMAIL PROTECTED]
---
 arch/avr32/mm/fault.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/avr32/mm/fault.c b/arch/avr32/mm/fault.c
index e011f1c..4b24952 100644
--- a/arch/avr32/mm/fault.c
+++ b/arch/avr32/mm/fault.c
@@ -158,7 +158,7 @@ bad_area:
up_read(mm-mmap_sem);
 
if (user_mode(regs)) {
-   if (exception_trace)
+   if (exception_trace  printk_ratelimit())
printk(%s%s[%d]: segfault at %08lx pc %08lx 
   sp %08lx ecr %lu\n,
   is_init(tsk) ? KERN_EMERG : KERN_INFO,
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[AVR32] gpio_*_cansleep() fix

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ae795b02aa46a99d845958ae8d7bc8afa04292b
Commit: 2ae795b02aa46a99d845958ae8d7bc8afa04292b
Parent: 126187f1e00048abec4d4a2eb3eeae396fbaa944
Author: David Brownell [EMAIL PROTECTED]
AuthorDate: Thu May 24 13:52:08 2007 -0700
Committer:  Haavard Skinnemoen [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:30:49 2007 +0200

[AVR32] gpio_*_cansleep() fix

The AVR32 asm/gpio.h was missing the gpio_*_cansleep() calls,
breaking compilation for some code using them.

Signed-off-by: David Brownell [EMAIL PROTECTED]
Signed-off-by: Haavard Skinnemoen [EMAIL PROTECTED]
---
 include/asm-avr32/arch-at32ap/gpio.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/asm-avr32/arch-at32ap/gpio.h 
b/include/asm-avr32/arch-at32ap/gpio.h
index 80a21aa..af7f953 100644
--- a/include/asm-avr32/arch-at32ap/gpio.h
+++ b/include/asm-avr32/arch-at32ap/gpio.h
@@ -14,6 +14,8 @@ int gpio_direction_output(unsigned int gpio, int value);
 int gpio_get_value(unsigned int gpio);
 void gpio_set_value(unsigned int gpio, int value);
 
+#include asm-generic/gpio.h  /* cansleep wrappers */
+
 static inline int gpio_to_irq(unsigned int gpio)
 {
return gpio + GPIO_IRQ_BASE;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[AVR32] STK1000: Set SPI_MODE_3 in the ltv350qv board info

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fdfe8d9a2687718b07a35196b89fbf48ba0c82f
Commit: 2fdfe8d9a2687718b07a35196b89fbf48ba0c82f
Parent: 2ae795b02aa46a99d845958ae8d7bc8afa04292b
Author: Haavard Skinnemoen [EMAIL PROTECTED]
AuthorDate: Tue May 29 21:33:37 2007 +0200
Committer:  Haavard Skinnemoen [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:30:50 2007 +0200

[AVR32] STK1000: Set SPI_MODE_3 in the ltv350qv board info

In the latest incarnation of the ltv350qv driver the call to
spi_setup() has been removed. So we need to initialize things more
carefully in the board info struct.

Signed-off-by: Haavard Skinnemoen [EMAIL PROTECTED]
---
 arch/avr32/boards/atstk1000/atstk1002.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/avr32/boards/atstk1000/atstk1002.c 
b/arch/avr32/boards/atstk1000/atstk1002.c
index fe1dbe2..e253e86 100644
--- a/arch/avr32/boards/atstk1000/atstk1002.c
+++ b/arch/avr32/boards/atstk1000/atstk1002.c
@@ -42,6 +42,7 @@ static struct spi_board_info spi0_board_info[] __initdata = {
.modalias   = ltv350qv,
.max_speed_hz   = 1600,
.chip_select= 1,
+   .mode   = SPI_MODE_3,
},
 };
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[AVR32] Define ARCH_KMALLOC_MINALIGN to L1_CACHE_BYTES

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=093d0faf57e59feee224217273f944e10e4e3562
Commit: 093d0faf57e59feee224217273f944e10e4e3562
Parent: 2fdfe8d9a2687718b07a35196b89fbf48ba0c82f
Author: Haavard Skinnemoen [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 17:17:14 2007 +0200
Committer:  Haavard Skinnemoen [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:30:50 2007 +0200

[AVR32] Define ARCH_KMALLOC_MINALIGN to L1_CACHE_BYTES

This allows SLUB debugging to be used without fear of messing up DMA
transfers. SPI is one example that easily breaks without this patch.

Signed-off-by: Haavard Skinnemoen [EMAIL PROTECTED]
---
 include/asm-avr32/cache.h |9 +
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/include/asm-avr32/cache.h b/include/asm-avr32/cache.h
index dabb955..d3cf35a 100644
--- a/include/asm-avr32/cache.h
+++ b/include/asm-avr32/cache.h
@@ -4,6 +4,15 @@
 #define L1_CACHE_SHIFT 5
 #define L1_CACHE_BYTES (1  L1_CACHE_SHIFT)
 
+/*
+ * Memory returned by kmalloc() may be used for DMA, so we must make
+ * sure that all such allocations are cache aligned. Otherwise,
+ * unrelated code may cause parts of the buffer to be read into the
+ * cache before the transfer is done, causing old data to be seen by
+ * the CPU.
+ */
+#define ARCH_KMALLOC_MINALIGN  L1_CACHE_BYTES
+
 #ifndef __ASSEMBLER__
 struct cache_info {
unsigned int ways;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[MIPS] Malta: Fix for SOCitSC based Maltas

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72c05262298cc2ac92edb657f5ea3a97ad5ea3d
Commit: b72c05262298cc2ac92edb657f5ea3a97ad5ea3d
Parent: eedab661a51966c454e38c17266a531aa58b4a98
Author: Chris Dearman [EMAIL PROTECTED]
AuthorDate: Fri Apr 27 15:58:41 2007 +0100
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:25:14 2007 +0100

[MIPS] Malta: Fix for SOCitSC based Maltas

And an attempt to tidy up the core/controller differences.

Signed-off-by: Chris Dearman [EMAIL PROTECTED]
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 arch/mips/mips-boards/generic/init.c  |   62 
 arch/mips/mips-boards/generic/pci.c   |   20 +++--
 arch/mips/mips-boards/malta/malta_int.c   |   42 +++
 arch/mips/mips-boards/malta/malta_setup.c |4 +-
 include/asm-mips/mips-boards/generic.h|   22 +-
 include/asm-mips/mips-boards/msc01_pci.h  |1 +
 6 files changed, 87 insertions(+), 64 deletions(-)

diff --git a/arch/mips/mips-boards/generic/init.c 
b/arch/mips/mips-boards/generic/init.c
index 88e9c2a..4eabc1e 100644
--- a/arch/mips/mips-boards/generic/init.c
+++ b/arch/mips/mips-boards/generic/init.c
@@ -57,7 +57,8 @@ int *_prom_argv, *_prom_envp;
 
 int init_debug = 0;
 
-unsigned int mips_revision_corid;
+int mips_revision_corid;
+int mips_revision_sconid;
 
 /* Bonito64 system controller register base. */
 unsigned long _pcictrl_bonito;
@@ -275,13 +276,38 @@ void __init prom_init(void)
else
mips_revision_corid = MIPS_REVISION_CORID_CORE_EMUL_MSC;
}
-   switch(mips_revision_corid) {
+
+   mips_revision_sconid = MIPS_REVISION_SCONID;
+   if (mips_revision_sconid == MIPS_REVISION_SCON_OTHER) {
+   switch (mips_revision_corid) {
+   case MIPS_REVISION_CORID_QED_RM5261:
+   case MIPS_REVISION_CORID_CORE_LV:
+   case MIPS_REVISION_CORID_CORE_FPGA:
+   case MIPS_REVISION_CORID_CORE_FPGAR2:
+   mips_revision_sconid = MIPS_REVISION_SCON_GT64120;
+   break;
+   case MIPS_REVISION_CORID_CORE_EMUL_BON:
+   case MIPS_REVISION_CORID_BONITO64:
+   case MIPS_REVISION_CORID_CORE_20K:
+   mips_revision_sconid = MIPS_REVISION_SCON_BONITO;
+   break;
+   case MIPS_REVISION_CORID_CORE_MSC:
+   case MIPS_REVISION_CORID_CORE_FPGA2:
+   case MIPS_REVISION_CORID_CORE_FPGA3:
+   case MIPS_REVISION_CORID_CORE_24K:
+   case MIPS_REVISION_CORID_CORE_EMUL_MSC:
+   mips_revision_sconid = MIPS_REVISION_SCON_SOCIT;
+   break;
+   default:
+   mips_display_message(CC Error);
+   while (1);   /* We die here... */
+   }
+   }
+
+   switch (mips_revision_sconid) {
u32 start, map, mask, data;
 
-   case MIPS_REVISION_CORID_QED_RM5261:
-   case MIPS_REVISION_CORID_CORE_LV:
-   case MIPS_REVISION_CORID_CORE_FPGA:
-   case MIPS_REVISION_CORID_CORE_FPGAR2:
+   case MIPS_REVISION_SCON_GT64120:
/*
 * Setup the North bridge to do Master byte-lane swapping
 * when running in bigendian.
@@ -305,9 +331,7 @@ void __init prom_init(void)
set_io_port_base(MALTA_GT_PORT_BASE);
break;
 
-   case MIPS_REVISION_CORID_CORE_EMUL_BON:
-   case MIPS_REVISION_CORID_BONITO64:
-   case MIPS_REVISION_CORID_CORE_20K:
+   case MIPS_REVISION_SCON_BONITO:
_pcictrl_bonito_pcicfg = (unsigned 
long)ioremap(BONITO_PCICFG_BASE, BONITO_PCICFG_SIZE);
 
/*
@@ -334,13 +358,10 @@ void __init prom_init(void)
set_io_port_base(MALTA_BONITO_PORT_BASE);
break;
 
-   case MIPS_REVISION_CORID_CORE_MSC:
-   case MIPS_REVISION_CORID_CORE_FPGA2:
-   case MIPS_REVISION_CORID_CORE_FPGA3:
-   case MIPS_REVISION_CORID_CORE_24K:
-   case MIPS_REVISION_CORID_CORE_EMUL_MSC:
+   case MIPS_REVISION_SCON_SOCIT:
+   case MIPS_REVISION_SCON_ROCIT:
_pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 
0x2000);
-
+   mips_pci_controller:
mb();
MSC_READ(MSC01_PCI_CFG, data);
MSC_WRITE(MSC01_PCI_CFG, data  ~MSC01_PCI_CFG_EN_BIT);
@@ -374,10 +395,15 @@ void __init prom_init(void)
set_io_port_base(MALTA_MSC_PORT_BASE);
break;
 
+   case MIPS_REVISION_SCON_SOCITSC:
+   case MIPS_REVISION_SCON_SOCITSCP:
+   _pcictrl_msc = (unsigned 
long)ioremap(MIPS_SOCITSC_PCI_REG_BASE, 0x2000);
+   goto mips_pci_controller;
+
default:
-   /* Unknown Core card */
-   

[MIPS] Separate performance counter interrupts

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ffe9ee4709cf513fb80e9b7e04d214dd8b76a10d
Commit: ffe9ee4709cf513fb80e9b7e04d214dd8b76a10d
Parent: b72c05262298cc2ac92edb657f5ea3a97ad5ea3d
Author: Chris Dearman [EMAIL PROTECTED]
AuthorDate: Thu May 24 22:24:20 2007 +0100
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:25:15 2007 +0100

[MIPS] Separate performance counter interrupts

Support for performance counter overflow interrupt that is on a separate
interrupt from the timer.

Signed-off-by: Chris Dearman [EMAIL PROTECTED]
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 arch/mips/kernel/smp-mt.c|   12 ++--
 arch/mips/kernel/time.c  |   44 +
 arch/mips/mips-boards/generic/time.c |  118 ++---
 arch/mips/oprofile/op_model_mipsxx.c |7 ++-
 4 files changed, 135 insertions(+), 46 deletions(-)

diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
index 64b62bd..b8fa7dd 100644
--- a/arch/mips/kernel/smp-mt.c
+++ b/arch/mips/kernel/smp-mt.c
@@ -129,13 +129,13 @@ static irqreturn_t ipi_call_interrupt(int irq, void 
*dev_id)
 
 static struct irqaction irq_resched = {
.handler= ipi_resched_interrupt,
-   .flags  = IRQF_DISABLED,
+   .flags  = IRQF_DISABLED|IRQF_PERCPU,
.name   = IPI_resched
 };
 
 static struct irqaction irq_call = {
.handler= ipi_call_interrupt,
-   .flags  = IRQF_DISABLED,
+   .flags  = IRQF_DISABLED|IRQF_PERCPU,
.name   = IPI_call
 };
 
@@ -275,10 +275,7 @@ void __init plat_prepare_cpus(unsigned int max_cpus)
setup_irq(cpu_ipi_resched_irq, irq_resched);
setup_irq(cpu_ipi_call_irq, irq_call);
 
-   /* need to mark IPI's as IRQ_PER_CPU */
-   irq_desc[cpu_ipi_resched_irq].status |= IRQ_PER_CPU;
set_irq_handler(cpu_ipi_resched_irq, handle_percpu_irq);
-   irq_desc[cpu_ipi_call_irq].status |= IRQ_PER_CPU;
set_irq_handler(cpu_ipi_call_irq, handle_percpu_irq);
 }
 
@@ -326,8 +323,11 @@ void prom_boot_secondary(int cpu, struct task_struct *idle)
 
 void prom_init_secondary(void)
 {
+   /* Enable per-cpu interrupts */
+
+   /* This is Malta specific: IPI,performance and timer inetrrupts */
write_c0_status((read_c0_status()  ~ST0_IM ) |
-   (STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP7));
+   (STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP6 | 
STATUSF_IP7));
 }
 
 void prom_smp_finish(void)
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 751b4a1..7def1ff 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -199,6 +199,30 @@ int (*perf_irq)(void) = null_perf_irq;
 EXPORT_SYMBOL(null_perf_irq);
 EXPORT_SYMBOL(perf_irq);
 
+/*
+ * Performance counter IRQ or -1 if shared with timer
+ */
+int mipsxx_perfcount_irq;
+EXPORT_SYMBOL(mipsxx_perfcount_irq);
+
+/*
+ * Possibly handle a performance counter interrupt.
+ * Return true if the timer interrupt should not be checked
+ */
+static inline int handle_perf_irq (int r2)
+{
+   /*
+* The performance counter overflow interrupt may be shared with the
+* timer interrupt (mipsxx_perfcount_irq  0). If it is and a
+* performance counter has overflowed (perf_irq() == IRQ_HANDLED)
+* and we can't reliably determine if a counter interrupt has also
+* happened (!r2) then don't check for a timer interrupt.
+*/
+   return (mipsxx_perfcount_irq  0) 
+   perf_irq() == IRQ_HANDLED 
+   !r2;
+}
+
 asmlinkage void ll_timer_interrupt(int irq)
 {
int r2 = cpu_has_mips_r2;
@@ -206,19 +230,13 @@ asmlinkage void ll_timer_interrupt(int irq)
irq_enter();
kstat_this_cpu.irqs[irq]++;
 
-   /*
-* Suckage alert:
-* Before R2 of the architecture there was no way to see if a
-* performance counter interrupt was pending, so we have to run the
-* performance counter interrupt handler anyway.
-*/
-   if (!r2 || (read_c0_cause()  (1  26)))
-   if (perf_irq())
-   goto out;
+   if (handle_perf_irq(r2))
+   goto out;
 
-   /* we keep interrupt disabled all the time */
-   if (!r2 || (read_c0_cause()  (1  30)))
-   timer_interrupt(irq, NULL);
+   if (r2  ((read_c0_cause()  (1  30)) == 0))
+   goto out;
+
+   timer_interrupt(irq, NULL);
 
 out:
irq_exit();
@@ -258,7 +276,7 @@ unsigned int mips_hpt_frequency;
 
 static struct irqaction timer_irqaction = {
.handler = timer_interrupt,
-   .flags = IRQF_DISABLED,
+   .flags = IRQF_DISABLED | IRQF_PERCPU,
.name = timer,
 };
 
diff --git a/arch/mips/mips-boards/generic/time.c 
b/arch/mips/mips-boards/generic/time.c
index b41db9e..33432ea 100644
--- 

[MIPS] Fix builds where MSC01E_xxx is undefined.

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b4f4ec21038ac13c63d130357d1c3015ec3f3e8
Commit: 7b4f4ec21038ac13c63d130357d1c3015ec3f3e8
Parent: ffe9ee4709cf513fb80e9b7e04d214dd8b76a10d
Author: Chris Dearman [EMAIL PROTECTED]
AuthorDate: Thu May 24 22:46:25 2007 +0100
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Thu Jun 14 18:25:15 2007 +0100

[MIPS] Fix builds where MSC01E_xxx is undefined.

Signed-off-by: Chris Dearman [EMAIL PROTECTED]
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 arch/mips/mips-boards/generic/time.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/mips/mips-boards/generic/time.c 
b/arch/mips/mips-boards/generic/time.c
index 33432ea..8f1000f 100644
--- a/arch/mips/mips-boards/generic/time.c
+++ b/arch/mips/mips-boards/generic/time.c
@@ -295,11 +295,14 @@ void __init plat_perf_setup(struct irqaction *irq)
 void __init plat_timer_setup(struct irqaction *irq)
 {
int hwint = 0;
+#ifdef MSC01E_INT_BASE
if (cpu_has_veic) {
set_vi_handler (MSC01E_INT_CPUCTR, mips_timer_dispatch);
mips_cpu_timer_irq = MSC01E_INT_BASE + MSC01E_INT_CPUCTR;
}
-   else {
+   else
+#endif
+   {
if (cpu_has_mips_r2)
/*
 * Read IntCtl.IPTI to determine the timer interrupt
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


KVM: Prevent guest fpu state from leaking into the host

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7702fd1f6fea57921f2e643d27a23a2d0394499c
Commit: 7702fd1f6fea57921f2e643d27a23a2d0394499c
Parent: 22b1a9203ea634ac0ee5240e021613da3328275f
Author: Avi Kivity [EMAIL PROTECTED]
AuthorDate: Thu Jun 14 16:27:40 2007 +0300
Committer:  Avi Kivity [EMAIL PROTECTED]
CommitDate: Fri Jun 15 12:30:59 2007 +0300

KVM: Prevent guest fpu state from leaking into the host

The lazy fpu changes did not take into account that some vmexit handlers
can sleep.  Move loading the guest state into the inner loop so that it
can be reloaded if necessary, and move loading the host state into
vmx_vcpu_put() so it can be performed whenever we relinquish the vcpu.

Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
 drivers/kvm/kvm.h  |3 +++
 drivers/kvm/kvm_main.c |   22 ++
 drivers/kvm/vmx.c  |   12 +++-
 3 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index 1c040d8..152312c 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -304,6 +304,7 @@ struct kvm_vcpu {
char *host_fx_image;
char *guest_fx_image;
int fpu_active;
+   int guest_fpu_loaded;
 
int mmio_needed;
int mmio_read_completed;
@@ -508,6 +509,8 @@ void fx_init(struct kvm_vcpu *vcpu);
 void load_msrs(struct vmx_msr_entry *e, int n);
 void save_msrs(struct vmx_msr_entry *e, int n);
 void kvm_resched(struct kvm_vcpu *vcpu);
+void kvm_load_guest_fpu(struct kvm_vcpu *vcpu);
+void kvm_put_guest_fpu(struct kvm_vcpu *vcpu);
 
 int kvm_read_guest(struct kvm_vcpu *vcpu,
   gva_t addr,
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
index da985b3..8f1f07a 100644
--- a/drivers/kvm/kvm_main.c
+++ b/drivers/kvm/kvm_main.c
@@ -253,6 +253,28 @@ int kvm_write_guest(struct kvm_vcpu *vcpu, gva_t addr, 
unsigned long size,
 }
 EXPORT_SYMBOL_GPL(kvm_write_guest);
 
+void kvm_load_guest_fpu(struct kvm_vcpu *vcpu)
+{
+   if (!vcpu-fpu_active || vcpu-guest_fpu_loaded)
+   return;
+
+   vcpu-guest_fpu_loaded = 1;
+   fx_save(vcpu-host_fx_image);
+   fx_restore(vcpu-guest_fx_image);
+}
+EXPORT_SYMBOL_GPL(kvm_load_guest_fpu);
+
+void kvm_put_guest_fpu(struct kvm_vcpu *vcpu)
+{
+   if (!vcpu-guest_fpu_loaded)
+   return;
+
+   vcpu-guest_fpu_loaded = 0;
+   fx_save(vcpu-guest_fx_image);
+   fx_restore(vcpu-host_fx_image);
+}
+EXPORT_SYMBOL_GPL(kvm_put_guest_fpu);
+
 /*
  * Switches to specified vcpu, until a matching vcpu_put()
  */
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index 184238e..c1ac106 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -280,6 +280,7 @@ static void vmx_vcpu_load(struct kvm_vcpu *vcpu)
 
 static void vmx_vcpu_put(struct kvm_vcpu *vcpu)
 {
+   kvm_put_guest_fpu(vcpu);
put_cpu();
 }
 
@@ -1847,10 +1848,8 @@ again:
if (vcpu-guest_debug.enabled)
kvm_guest_debug_pre(vcpu);
 
-   if (vcpu-fpu_active) {
-   fx_save(vcpu-host_fx_image);
-   fx_restore(vcpu-guest_fx_image);
-   }
+   kvm_load_guest_fpu(vcpu);
+
/*
 * Loading guest fpu may have cleared host cr0.ts
 */
@@ -2012,11 +2011,6 @@ again:
}
 #endif
 
-   if (vcpu-fpu_active) {
-   fx_save(vcpu-guest_fx_image);
-   fx_restore(vcpu-host_fx_image);
-   }
-
vcpu-interrupt_window_open = (vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) 
 3) == 0;
 
asm (mov %0, %%ds; mov %0, %%es : : r(__USER_DS));
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


splice: adjust balance_dirty_pages_ratelimited() call

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17ee4f49ab2c802c7818fa71c4e7e351a7230b86
Commit: 17ee4f49ab2c802c7818fa71c4e7e351a7230b86
Parent: 22b1a9203ea634ac0ee5240e021613da3328275f
Author: Jens Axboe [EMAIL PROTECTED]
AuthorDate: Fri Jun 15 13:10:37 2007 +0200
Committer:  Jens Axboe [EMAIL PROTECTED]
CommitDate: Fri Jun 15 13:10:37 2007 +0200

splice: adjust balance_dirty_pages_ratelimited() call

As we have potentially dirtied more than 1 page, we should indicate as
such to the dirty page balancing. So call
balance_dirty_pages_ratelimited_nr() and pass in the approximate number
of pages we dirtied.

Signed-off-by: Jens Axboe [EMAIL PROTECTED]
---
 fs/splice.c |   10 --
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/fs/splice.c b/fs/splice.c
index cb21136..12d247f 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -811,7 +811,10 @@ generic_file_splice_write_nolock(struct pipe_inode_info 
*pipe, struct file *out,
 
ret = __splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_file);
if (ret  0) {
+   unsigned long nr_pages;
+
*ppos += ret;
+   nr_pages = (ret + PAGE_CACHE_SIZE - 1)  PAGE_CACHE_SHIFT;
 
/*
 * If file or inode is SYNC and we actually wrote some data,
@@ -824,7 +827,7 @@ generic_file_splice_write_nolock(struct pipe_inode_info 
*pipe, struct file *out,
if (err)
ret = err;
}
-   balance_dirty_pages_ratelimited(mapping);
+   balance_dirty_pages_ratelimited_nr(mapping, nr_pages);
}
 
return ret;
@@ -863,7 +866,10 @@ generic_file_splice_write(struct pipe_inode_info *pipe, 
struct file *out,
 
ret = splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_file);
if (ret  0) {
+   unsigned long nr_pages;
+
*ppos += ret;
+   nr_pages = (ret + PAGE_CACHE_SIZE - 1)  PAGE_CACHE_SHIFT;
 
/*
 * If file or inode is SYNC and we actually wrote some data,
@@ -878,7 +884,7 @@ generic_file_splice_write(struct pipe_inode_info *pipe, 
struct file *out,
if (err)
ret = err;
}
-   balance_dirty_pages_ratelimited(mapping);
+   balance_dirty_pages_ratelimited_nr(mapping, nr_pages);
}
 
return ret;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


splice: fix leak of pages on short splice to pipe

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00de00bdad278783b3664ad2969954a707f5944a
Commit: 00de00bdad278783b3664ad2969954a707f5944a
Parent: 17ee4f49ab2c802c7818fa71c4e7e351a7230b86
Author: Jens Axboe [EMAIL PROTECTED]
AuthorDate: Fri Jun 15 13:14:22 2007 +0200
Committer:  Jens Axboe [EMAIL PROTECTED]
CommitDate: Fri Jun 15 13:14:22 2007 +0200

splice: fix leak of pages on short splice to pipe

If the destination pipe is full and we already transferred
data, we break out instead of waiting for more pipe room.
The exit logic looks at spd-nr_pages to see if we moved
everything inside the spd container, but we decrement that
variable in the loop to decide when spd has emptied.

Instead we want to compare to the original page count in
the spd, so cache that in a local variable.

Signed-off-by: Jens Axboe [EMAIL PROTECTED]
---
 fs/splice.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/splice.c b/fs/splice.c
index 12d247f..186fad4 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -176,6 +176,7 @@ static const struct pipe_buf_operations 
user_page_pipe_buf_ops = {
 static ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
  struct splice_pipe_desc *spd)
 {
+   unsigned int spd_pages = spd-nr_pages;
int ret, do_wakeup, page_nr;
 
ret = 0;
@@ -254,7 +255,7 @@ static ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
kill_fasync(pipe-fasync_readers, SIGIO, POLL_IN);
}
 
-   while (page_nr  spd-nr_pages)
+   while (page_nr  spd_pages)
page_cache_release(spd-pages[page_nr++]);
 
return ret;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin arch: remove defconfig file

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db94d9d24526f83c432f0e5620078f02f7ae76ca
Commit: db94d9d24526f83c432f0e5620078f02f7ae76ca
Parent: eedab661a51966c454e38c17266a531aa58b4a98
Author: Mike Frysinger [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin arch: remove defconfig file

Since we have board-specific defconfigs and the default is set to 
BF537-STAMP, we no longer need this one

Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 arch/blackfin/defconfig | 1327 ---
 1 files changed, 0 insertions(+), 1327 deletions(-)

diff --git a/arch/blackfin/defconfig b/arch/blackfin/defconfig
deleted file mode 100644
index a513fbe..000
--- a/arch/blackfin/defconfig
+++ /dev/null
@@ -1,1327 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.20.4
-#
-# CONFIG_MMU is not set
-# CONFIG_FPU is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-CONFIG_BLACKFIN=y
-CONFIG_BFIN=y
-CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-# CONFIG_GENERIC_TIME is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_IRQCHIP_DEMUX_GPIO=y
-CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SYSVIPC=y
-# CONFIG_IPC_NS is not set
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_SYSFS_DEPRECATED=y
-# CONFIG_RELAY is not set
-CONFIG_INITRAMFS_SOURCE=
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3
-# CONFIG_LIMIT_PAGECACHE is not set
-CONFIG_BUDDY=y
-# CONFIG_NP2 is not set
-CONFIG_SLAB=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_RT_MUTEXES=y
-CONFIG_TINY_SHMEM=y
-CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# Block layer
-#
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED=anticipatory
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-
-#
-# Blackfin Processor Options
-#
-
-#
-# Processor and Board Settings
-#
-# CONFIG_BF531 is not set
-# CONFIG_BF532 is not set
-# CONFIG_BF533 is not set
-# CONFIG_BF534 is not set
-# CONFIG_BF536 is not set
-CONFIG_BF537=y
-# CONFIG_BF561 is not set
-CONFIG_BF_REV_0_2=y
-# CONFIG_BF_REV_0_3 is not set
-# CONFIG_BF_REV_0_4 is not set
-# CONFIG_BF_REV_0_5 is not set
-CONFIG_BFIN_SINGLE_CORE=y
-# CONFIG_BFIN533_EZKIT is not set
-# CONFIG_BFIN533_STAMP is not set
-CONFIG_BFIN537_STAMP=y
-# CONFIG_BFIN533_BLUETECHNIX_CM is not set
-# CONFIG_BFIN537_BLUETECHNIX_CM is not set
-# CONFIG_BFIN561_BLUETECHNIX_CM is not set
-# CONFIG_BFIN561_EZKIT is not set
-# CONFIG_PNAV10 is not set
-# CONFIG_GENERIC_BOARD is not set
-CONFIG_MEM_MT48LC32M8A2_75=y
-CONFIG_IRQ_PLL_WAKEUP=7
-
-#
-# BF537 Specific Configuration
-#
-
-#
-# PORT F/G Selection
-#
-CONFIG_BF537_PORT_F=y
-# CONFIG_BF537_PORT_G is not set
-# CONFIG_BF537_PORT_H is not set
-
-#
-# Interrupt Priority Assignment
-#
-
-#
-# Priority
-#
-CONFIG_IRQ_DMA_ERROR=7
-CONFIG_IRQ_ERROR=7
-CONFIG_IRQ_RTC=8
-CONFIG_IRQ_PPI=8
-CONFIG_IRQ_SPORT0_RX=9
-CONFIG_IRQ_SPORT0_TX=9
-CONFIG_IRQ_SPORT1_RX=9
-CONFIG_IRQ_SPORT1_TX=9
-CONFIG_IRQ_TWI=10
-CONFIG_IRQ_SPI=10
-CONFIG_IRQ_UART0_RX=10
-CONFIG_IRQ_UART0_TX=10
-CONFIG_IRQ_UART1_RX=10
-CONFIG_IRQ_UART1_TX=10
-CONFIG_IRQ_CAN_RX=11
-CONFIG_IRQ_CAN_TX=11
-CONFIG_IRQ_MAC_RX=11
-CONFIG_IRQ_MAC_TX=11
-CONFIG_IRQ_TMR0=12
-CONFIG_IRQ_TMR1=12
-CONFIG_IRQ_TMR2=12
-CONFIG_IRQ_TMR3=12
-CONFIG_IRQ_TMR4=12
-CONFIG_IRQ_TMR5=12
-CONFIG_IRQ_TMR6=12
-CONFIG_IRQ_TMR7=12
-CONFIG_IRQ_PROG_INTA=12
-CONFIG_IRQ_PORTG_INTB=12
-CONFIG_IRQ_MEM_DMA0=13
-CONFIG_IRQ_MEM_DMA1=13

Blackfin arch: spelling fixes

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2d50aa97d695d83ccb2341488d977e8cfe36555
Commit: d2d50aa97d695d83ccb2341488d977e8cfe36555
Parent: ac1bd53c067397947b5d805c631519282f5678fe
Author: Simon Arlott [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin arch: spelling fixes

Signed-off-by: Simon Arlott [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 arch/blackfin/kernel/irqchip.c  |2 +-
 arch/blackfin/kernel/traps.c|2 +-
 arch/blackfin/mach-bf533/boards/cm_bf533.c  |2 +-
 arch/blackfin/mach-bf533/boards/ezkit.c |2 +-
 arch/blackfin/mach-bf533/ints-priority.c|2 +-
 arch/blackfin/mach-bf537/boards/generic_board.c |2 +-
 arch/blackfin/mach-bf537/boards/pnav10.c|2 +-
 arch/blackfin/mach-bf537/boards/stamp.c |2 +-
 arch/blackfin/mach-bf537/ints-priority.c|2 +-
 arch/blackfin/mach-bf561/boards/cm_bf561.c  |4 ++--
 arch/blackfin/mach-bf561/ints-priority.c|2 +-
 arch/blackfin/mach-common/ints-priority-dc.c|2 +-
 arch/blackfin/mach-common/ints-priority-sc.c|2 +-
 arch/blackfin/mm/blackfin_sram.c|6 +++---
 14 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c
index df5bf02..80996a1 100644
--- a/arch/blackfin/kernel/irqchip.c
+++ b/arch/blackfin/kernel/irqchip.c
@@ -91,7 +91,7 @@ int show_interrupts(struct seq_file *p, void *v)
 }
 
 /*
- * do_IRQ handles all hardware IRQ's.  Decoded IRQs should not
+ * do_IRQ handles all hardware IRQs.  Decoded IRQs should not
  * come via this function.  Instead, they should provide their
  * own 'handler'
  */
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 9932ede..5ab87b0 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -557,7 +557,7 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr)
break;
 #ifndef CONFIG_DEBUG_HWERR
/* If one of the last few instructions was a STI
-* it is likily that the error occured awhile ago
+* it is likely that the error occured awhile ago
 * and we just noticed
 */
if (x = 0x0040  x = 0x0047  i = 0)
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c 
b/arch/blackfin/mach-bf533/boards/cm_bf533.c
index 23a7f60..edd31ce 100644
--- a/arch/blackfin/mach-bf533/boards/cm_bf533.c
+++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c
@@ -1,7 +1,7 @@
 /*
  * File: arch/blackfin/mach-bf533/boards/cm_bf533.c
  * Based on: arch/blackfin/mach-bf533/boards/ezkit.c
- * Author:   Aidan Williams [EMAIL PROTECTED] Copright 2005
+ * Author:   Aidan Williams [EMAIL PROTECTED] Copyright 2005
  *
  * Created:  2005
  * Description:  Board description file
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c 
b/arch/blackfin/mach-bf533/boards/ezkit.c
index 747298e..0b522d9 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -1,6 +1,6 @@
 /*
  * File: arch/blackfin/mach-bf533/ezkit.c
- * Based on: Orginal Work
+ * Based on: Original Work
  * Author:   Aidan Williams [EMAIL PROTECTED]
  *
  * Created:  2005
diff --git a/arch/blackfin/mach-bf533/ints-priority.c 
b/arch/blackfin/mach-bf533/ints-priority.c
index 36a6933..a3e1789 100644
--- a/arch/blackfin/mach-bf533/ints-priority.c
+++ b/arch/blackfin/mach-bf533/ints-priority.c
@@ -4,7 +4,7 @@
  * Author:   Michael Hennerich
  *
  * Created:  ?
- * Description:  Set up the interupt priorities
+ * Description:  Set up the interrupt priorities
  *
  * Modified:
  *   Copyright 2004-2006 Analog Devices Inc.
diff --git a/arch/blackfin/mach-bf537/boards/generic_board.c 
b/arch/blackfin/mach-bf537/boards/generic_board.c
index 9019c0e..fd57e74 100644
--- a/arch/blackfin/mach-bf537/boards/generic_board.c
+++ b/arch/blackfin/mach-bf537/boards/generic_board.c
@@ -55,7 +55,7 @@ static struct resource bfin_pcmcia_cf_resources[] = {
.end = 0x20312000,
.flags = IORESOURCE_MEM,
},{
-   .start = 0x20311000, /* Attribute Memeory */
+   .start = 0x20311000, /* Attribute Memory */
.end = 0x20311FFF,
.flags = IORESOURCE_MEM,
},{
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c 
b/arch/blackfin/mach-bf537/boards/pnav10.c
index 40d3a1b..8aaf76d 100644
--- a/arch/blackfin/mach-bf537/boards/pnav10.c
+++ b/arch/blackfin/mach-bf537/boards/pnav10.c
@@ -59,7 +59,7 @@ static struct resource bfin_pcmcia_cf_resources[] = {
.end = 0x20312000,
 

Blackfin arch: fix bug ad1836 fails to build properly for BF533-EZKIT

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75ed405c63b3fc2402fb8ff825b0ebffcff26b57
Commit: 75ed405c63b3fc2402fb8ff825b0ebffcff26b57
Parent: d2d50aa97d695d83ccb2341488d977e8cfe36555
Author: Roy Huang [EMAIL PROTECTED]
AuthorDate: Thu Jun 14 12:54:44 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Thu Jun 14 12:54:44 2007 +0800

Blackfin arch:  fix bug ad1836 fails to build properly for BF533-EZKIT

bug log here: 
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdittracker_item_id=3166

Signed-off-by: Roy Huang [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 include/asm-blackfin/mach-common/def_LPBlackfin.h |   22 +
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/include/asm-blackfin/mach-common/def_LPBlackfin.h 
b/include/asm-blackfin/mach-common/def_LPBlackfin.h
index 7610352..be1ece8 100644
--- a/include/asm-blackfin/mach-common/def_LPBlackfin.h
+++ b/include/asm-blackfin/mach-common/def_LPBlackfin.h
@@ -42,6 +42,12 @@
 
 #if defined(ANOMALY_05000198)
 
+#define bfin_read8(addr) ({ unsigned char __v; \
+   __asm__ __volatile__ (NOP;\n\t \
+   %0 = b[%1] (z);\n\t \
+   : =d(__v) : a(addr)); \
+   __v; })
+
 #define bfin_read16(addr) ({ unsigned __v; \
__asm__ __volatile__ (NOP;\n\t\
%0 = w[%1] 
(z);\n\t\
@@ -52,6 +58,11 @@
 %0 = [%1];\n\t\
   : =d(__v) : a(addr)); __v; })
 
+#define bfin_write8(addr, val) ({ \
+   __asm__ __volatile__ (NOP;\n\t \
+   b[%0] = %1;\n\t \
+   : : a(addr), d(val) : memory);})
+
 #define bfin_write16(addr,val) ({\
   __asm__ __volatile__ (NOP;\n\t\
 w[%0] = %1;\n\t\
@@ -64,6 +75,12 @@
 
 #else
 
+#define bfin_read8(addr) ({ unsigned char __v; \
+   __asm__ __volatile__ ( \
+   %0 = b[%1] (z);\n\t \
+   :=d(__v) : a(addr)); \
+   __v; })
+
 #define bfin_read16(addr) ({ unsigned __v; \
__asm__ __volatile__ (\
%0 = w[%1] 
(z);\n\t\
@@ -74,6 +91,11 @@
 %0 = [%1];\n\t\
   : =d(__v) : a(addr)); __v; })
 
+#define bfin_write8(addr, val) ({ \
+   __asm__ __volatile__ ( \
+   b[%0] = %1; \n\t \
+   ::a(addr), d(val) : memory);})
+
 #define bfin_write16(addr,val) ({\
   __asm__ __volatile__ (\
 w[%0] = %1;\n\t\
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin arch: all symbols were offset by 4k, since we didn't have the __text label.

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5716e514ed526a819775c45a73f1c8b65309e9d3
Commit: 5716e514ed526a819775c45a73f1c8b65309e9d3
Parent: 75ed405c63b3fc2402fb8ff825b0ebffcff26b57
Author: Robin Getz [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin arch: all symbols were offset by 4k, since we didn't have the 
__text label.

Bug tracker: 
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdittracker_item_id=3231

Singed-off-by: Robin Getz [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 arch/blackfin/kernel/vmlinux.lds.S |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/blackfin/kernel/vmlinux.lds.S 
b/arch/blackfin/kernel/vmlinux.lds.S
index 86fe679..19b853a 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -52,6 +52,7 @@ SECTIONS
 
.text :
{
+__text = .;
 _text = .;
 __stext = .;
TEXT_TEXT
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin arch: scrub old console defines

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4dfefcf05417f98292a92f2face186d261867952
Commit: 4dfefcf05417f98292a92f2face186d261867952
Parent: e3b2d3f33b3c1ef36b5c77ef581506915c73aad6
Author: Mike Frysinger [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin arch: scrub old console defines

since they arent respected anymore (use console=) and just confuse people

Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 arch/blackfin/Kconfig |   35 ---
 1 files changed, 0 insertions(+), 35 deletions(-)

diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index b1b111b..1fad856 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -394,41 +394,6 @@ config BFIN_IDLE_LED_PIN
default 0x08 if (BFIN533_STAMP  BFIN_IDLE_LED_NUM = 2)
default 0x10 if (BFIN533_STAMP  BFIN_IDLE_LED_NUM = 3)
 
-comment Console UART Setup
-
-choice
-   prompt Baud Rate
-   default BAUD_57600
-config BAUD_9600
-   bool 9600
-config BAUD_19200
-   bool 19200
-config BAUD_38400
-   bool 38400
-config BAUD_57600
-   bool 57600
-config BAUD_115200
-   bool 115200
-endchoice
-
-choice
-   prompt Parity
-   default BAUD_NO_PARITY
-config  BAUD_NO_PARITY
-   bool No Parity
-config  BAUD_PARITY
-   bool Parity
-endchoice
-
-choice
-   prompt Stop Bits
-   default BAUD_1_STOPBIT
-config  BAUD_1_STOPBIT
-   bool 1
-config  BAUD_2_STOPBIT
-   bool 2
-endchoice
-
 endmenu
 
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin arch: fixup Blackfin MAINTIANERS team member list

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3b2d3f33b3c1ef36b5c77ef581506915c73aad6
Commit: e3b2d3f33b3c1ef36b5c77ef581506915c73aad6
Parent: bc61b4e69d26a1b9627d52ab45064eee9284aa72
Author: Bryan Wu [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin arch: fixup Blackfin MAINTIANERS team member list

Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 MAINTAINERS |   70 ++
 1 files changed, 36 insertions(+), 34 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4c715a7..8b26d9e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -723,42 +723,44 @@ M:[EMAIL PROTECTED]
 S: Maintained
 
 BLACKFIN ARCHITECTURE
-P: Aubrey Li
-M: [EMAIL PROTECTED]
-P: Bernd Schmidt
-M: [EMAIL PROTECTED]
-P: Bryan Wu
-M: [EMAIL PROTECTED]
-P: Grace Pan
-M: [EMAIL PROTECTED]
-P: Michael Hennerich
-M: [EMAIL PROTECTED]
-P: Mike Frysinger
-M: [EMAIL PROTECTED]
-P: Jane Lv
-M: [EMAIL PROTECTED]
-P: Jerry Zeng
-M: [EMAIL PROTECTED]
-P: Jie Zhang
-M: [EMAIL PROTECTED]
-P: Robin Getz
-M: [EMAIL PROTECTED]
-P: Roy Huang
-M: [EMAIL PROTECTED]
-P: Sonic Zhang
-M: [EMAIL PROTECTED]
-P: Yi Li
-M: [EMAIL PROTECTED]
-L: [EMAIL PROTECTED]
-W: http://blackfin.uclinux.org
-S: Supported
+P: Aubrey Li
+M: [EMAIL PROTECTED]
+P: Bernd Schmidt
+M: [EMAIL PROTECTED]
+P: Bryan Wu
+M: [EMAIL PROTECTED]
+P: Grace Pan
+M: [EMAIL PROTECTED]
+P: Marc Hoffman
+M: [EMAIL PROTECTED]
+P: Michael Hennerich
+M: [EMAIL PROTECTED]
+P: Mike Frysinger
+M: [EMAIL PROTECTED]
+P: Jerry Zeng
+M: [EMAIL PROTECTED]
+P: Jie Zhang
+M: [EMAIL PROTECTED]
+P: Robin Getz
+M: [EMAIL PROTECTED]
+P: Roy Huang
+M: [EMAIL PROTECTED]
+P: Sonic Zhang
+M: [EMAIL PROTECTED]
+P: Vivi Li
+M: [EMAIL PROTECTED]
+P: Yi Li
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED] (subscribers-only)
+W: http://blackfin.uclinux.org
+S: Supported
 
 BLACKFIN SERIAL DRIVER
-P: Aubrey Li
-M: [EMAIL PROTECTED]
-L: [EMAIL PROTECTED]
-W: http://blackfin.uclinux.org
-S: Supported
+P: Aubrey Li
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED] (subscribers-only)
+W: http://blackfin.uclinux.org
+S: Supported
 
 BAYCOM/HDLCDRV DRIVERS FOR AX.25
 P: Thomas Sailer
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin arch: try to split up functions like this into smaller units according to LKML review

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5af4c2b367c9c3dcc0cb02880df3a8581bb12a87
Commit: 5af4c2b367c9c3dcc0cb02880df3a8581bb12a87
Parent: 51be24c351bc9ee4937121100adb098eeb1effdd
Author: Aubrey Li [EMAIL PROTECTED]
AuthorDate: Thu Jun 14 13:28:47 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Thu Jun 14 13:28:47 2007 +0800

Blackfin arch: try to split up functions like this into smaller units 
according to LKML review

Signed-off-by: Aubrey Li [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 arch/blackfin/kernel/setup.c |  233 ++
 1 files changed, 121 insertions(+), 112 deletions(-)

diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index d9517e7..0ba5f4a 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -471,6 +471,67 @@ close_cplbtab(struct cplb_tab *table)
return 0;
 }
 
+/* helper function */
+static void __fill_code_cplbtab(struct cplb_tab *t, int i,
+   u32 a_start, u32 a_end)
+{
+   if (cplb_data[i].psize) {
+   fill_cplbtab(t,
+   cplb_data[i].start,
+   cplb_data[i].end,
+   cplb_data[i].psize,
+   cplb_data[i].i_conf);
+   } else {
+#if (defined(CONFIG_BLKFIN_CACHE)  defined(ANOMALY_05000263))
+   if (i == SDRAM_KERN) {
+   fill_cplbtab(t,
+   cplb_data[i].start,
+   cplb_data[i].end,
+   SIZE_4M,
+   cplb_data[i].i_conf);
+   } else {
+#endif
+   fill_cplbtab(t,
+   cplb_data[i].start,
+   a_start,
+   SIZE_1M,
+   cplb_data[i].i_conf);
+   fill_cplbtab(t,
+   a_start,
+   a_end,
+   SIZE_4M,
+   cplb_data[i].i_conf);
+   fill_cplbtab(t, a_end,
+   cplb_data[i].end,
+   SIZE_1M,
+   cplb_data[i].i_conf);
+   }
+   }
+}
+
+static void __fill_data_cplbtab(struct cplb_tab *t, int i,
+   u32 a_start, u32 a_end)
+{
+   if (cplb_data[i].psize) {
+   fill_cplbtab(t,
+   cplb_data[i].start,
+   cplb_data[i].end,
+   cplb_data[i].psize,
+   cplb_data[i].d_conf);
+   } else {
+   fill_cplbtab(t,
+   cplb_data[i].start,
+   a_start, SIZE_1M,
+   cplb_data[i].d_conf);
+   fill_cplbtab(t, a_start,
+   a_end, SIZE_4M,
+   cplb_data[i].d_conf);
+   fill_cplbtab(t, a_end,
+   cplb_data[i].end,
+   SIZE_1M,
+   cplb_data[i].d_conf);
+   }
+}
 static void __init generate_cpl_tables(void)
 {
 
@@ -540,130 +601,78 @@ static void __init generate_cpl_tables(void)
cplb_data[RES_MEM].i_conf = SDRAM_INON_CHBL;
 
for (i = ZERO_P; i = L2_MEM; i++) {
+   if (!cplb_data[i].valid)
+   continue;
 
-   if (cplb_data[i].valid) {
+   as_1m = cplb_data[i].start % SIZE_1M;
 
-   as_1m = cplb_data[i].start % SIZE_1M;
+   /*
+* We need to make sure all sections are properly 1M aligned
+* However between Kernel Memory and the Kernel mtd section,
+* depending on the rootfs size, there can be overlapping
+* memory areas.
+*/
 
-   /* We need to make sure all sections are properly 1M 
aligned
-* However between Kernel Memory and the Kernel mtd 
section, depending on the
-* rootfs size, there can be overlapping memory areas.
-*/
-
-   if (as_1m   i!=L1I_MEM  i!=L1D_MEM) {
+   if (as_1m  i != L1I_MEM  i != L1D_MEM) {
 #ifdef CONFIG_MTD_UCLINUX
-   if (i == SDRAM_RAM_MTD) {
-   if ((cplb_data[SDRAM_KERN].end + 1)  
cplb_data[SDRAM_RAM_MTD].start)
-   cplb_data[SDRAM_RAM_MTD].start 
= 

Blackfin serial driver: ignore framing and parity errors

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9808901b6c63a1c850b072e624c228901a9eaf10
Commit: 9808901b6c63a1c850b072e624c228901a9eaf10
Parent: c16c3ca79abcb69a9e45f7c15f8358b3915c0e49
Author: Mike Frysinger [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin serial driver: ignore framing and parity errors

if we get a break signal, we want to ignore framing and parity errors
because those will always be set (by nature of the signal)

Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 drivers/serial/bfin_5xx.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c
index aeb3cc2..9d356fc 100644
--- a/drivers/serial/bfin_5xx.c
+++ b/drivers/serial/bfin_5xx.c
@@ -185,6 +185,7 @@ static void bfin_serial_rx_chars(struct bfin_serial_port 
*uart)
uart-port.icount.brk++;
if (uart_handle_break(uart-port))
goto ignore_char;
+   status = ~(PE | FE);
}
if (status  PE)
uart-port.icount.parity++;
@@ -341,6 +342,7 @@ static void bfin_serial_dma_rx_chars(struct 
bfin_serial_port *uart)
uart-port.icount.brk++;
if (uart_handle_break(uart-port))
goto dma_ignore_char;
+   status = ~(PE | FE);
}
if (status  PE)
uart-port.icount.parity++;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin serial driver: actually implement the break_ctl() function

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf68676222e54cd0a31efd968da00e65f9a0963f
Commit: cf68676222e54cd0a31efd968da00e65f9a0963f
Parent: 9808901b6c63a1c850b072e624c228901a9eaf10
Author: Mike Frysinger [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 16:12:49 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 16:12:49 2007 +0800

Blackfin serial driver: actually implement the break_ctl() function

Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
---
 drivers/serial/bfin_5xx.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c
index 9d356fc..a9d2027 100644
--- a/drivers/serial/bfin_5xx.c
+++ b/drivers/serial/bfin_5xx.c
@@ -519,6 +519,14 @@ static void bfin_serial_mctrl_check(struct 
bfin_serial_port *uart)
  */
 static void bfin_serial_break_ctl(struct uart_port *port, int break_state)
 {
+   struct bfin_serial_port *uart = (struct bfin_serial_port *)port;
+   u16 lcr = UART_GET_LCR(uart);
+   if (break_state)
+   lcr |= SB;
+   else
+   lcr = ~SB;
+   UART_PUT_LCR(uart, lcr);
+   SSYNC();
 }
 
 static int bfin_serial_startup(struct uart_port *port)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin RTC drivers: update MAINTAINERS information

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=566da5b2666e62a7b061b42964658697183bef1c
Commit: 566da5b2666e62a7b061b42964658697183bef1c
Parent: 19aa6382e3c927b8ec5caec7b74c3dc555101146
Author: Mike Frysinger [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin RTC drivers: update MAINTAINERS information

Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
Cc: Alessandro Zummo [EMAIL PROTECTED]
---
 MAINTAINERS |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8b26d9e..bef7977 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -755,6 +755,14 @@ L: [EMAIL PROTECTED] (subscribers-only)
 W: http://blackfin.uclinux.org
 S: Supported
 
+BLACKFIN RTC DRIVER
+P: Mike Frysinger
+M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED] (subscribers-only)
+W: http://blackfin.uclinux.org
+S: Supported
+
 BLACKFIN SERIAL DRIVER
 P: Aubrey Li
 M: [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Blackfin SPI driver: tweak spi cleanup function to match newer kernel changes

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=27bb9e79bcfedc1888d23c3c212c189fa8534fe7
Commit: 27bb9e79bcfedc1888d23c3c212c189fa8534fe7
Parent: 566da5b2666e62a7b061b42964658697183bef1c
Author: Mike Frysinger [EMAIL PROTECTED]
AuthorDate: Mon Jun 11 15:31:30 2007 +0800
Committer:  Bryan Wu [EMAIL PROTECTED]
CommitDate: Mon Jun 11 15:31:30 2007 +0800

Blackfin SPI driver: tweak spi cleanup function to match newer kernel 
changes

Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
Signed-off-by: Bryan Wu [EMAIL PROTECTED]
Cc: David Brownell [EMAIL PROTECTED]
---
 drivers/spi/spi_bfin5xx.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c
index 7d2d9ec..a2d4884 100644
--- a/drivers/spi/spi_bfin5xx.c
+++ b/drivers/spi/spi_bfin5xx.c
@@ -1082,7 +1082,7 @@ static int setup(struct spi_device *spi)
  */
 static void cleanup(struct spi_device *spi)
 {
-   struct chip_data *chip = spi_get_ctldata((struct spi_device *)spi);
+   struct chip_data *chip = spi_get_ctldata(spi);
 
kfree(chip);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Resume from RAM on HPC nx6325 broken

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ce9b2b0abbf019d5259eb089a1cc256852930f67
Commit: ce9b2b0abbf019d5259eb089a1cc256852930f67
Parent: d09c6b809432668371b5de9102f4f9aa6a7c79cc
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Sat Jun 16 02:24:43 2007 +0200
Committer:  Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
CommitDate: Sat Jun 16 02:24:43 2007 +0200

Resume from RAM on HPC nx6325 broken

generic_ide_resume() should check if dev-driver is not NULL before applying
to_ide_driver() to it.  Fix that.

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
---
 drivers/ide/ide.c |9 ++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 0af0d16..0cd76bf 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1010,7 +1010,6 @@ static int generic_ide_resume(struct device *dev)
 {
ide_drive_t *drive = dev-driver_data;
ide_hwif_t *hwif = HWIF(drive);
-   ide_driver_t *drv = to_ide_driver(dev-driver);
struct request rq;
struct request_pm_state rqpm;
ide_task_t args;
@@ -1033,8 +1032,12 @@ static int generic_ide_resume(struct device *dev)
 
err = ide_do_drive_cmd(drive, rq, ide_head_wait);
 
-   if (err == 0  drv  drv-resume)
-   drv-resume(drive);
+   if (err == 0  dev-driver) {
+   ide_driver_t *drv = to_ide_driver(dev-driver);
+
+   if (drv-resume)
+   drv-resume(drive);
+   }
 
return err;
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ide-scsi: fix OOPS in idescsi_expiry()

2007-06-15 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1be0a8225f2cb1cdc356ebb0ae6800f023ce67d
Commit: d1be0a8225f2cb1cdc356ebb0ae6800f023ce67d
Parent: ce9b2b0abbf019d5259eb089a1cc256852930f67
Author: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
AuthorDate: Sat Jun 16 02:24:44 2007 +0200
Committer:  Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
CommitDate: Sat Jun 16 02:24:44 2007 +0200

ide-scsi: fix OOPS in idescsi_expiry()

drive-driver_data contains pointer to Scsi_Host not idescsi_scsi_t.

Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
---
 drivers/scsi/ide-scsi.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c
index 8263f75..bb90df8 100644
--- a/drivers/scsi/ide-scsi.c
+++ b/drivers/scsi/ide-scsi.c
@@ -463,7 +463,7 @@ static inline unsigned long get_timeout(idescsi_pc_t *pc)
 
 static int idescsi_expiry(ide_drive_t *drive)
 {
-   idescsi_scsi_t *scsi = drive-driver_data;
+   idescsi_scsi_t *scsi = drive_to_idescsi(drive);
idescsi_pc_t   *pc   = scsi-pc;
 
 #if IDESCSI_DEBUG_LOG
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html