Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 189808
b: refs/heads/master
c: 76708ab
h: refs/heads/master
v: v3
  • Loading branch information
Leo Chen authored and Russell King committed Apr 7, 2010
1 parent 5927857 commit 0ebb3b1
Show file tree
Hide file tree
Showing 265 changed files with 1,736 additions and 3,142 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d6cf853d4d73c268fc8920ac4e812ee26a12847c
refs/heads/master: 76708ab83962732ba3191ce8a61d8410406c8358
13 changes: 0 additions & 13 deletions trunk/Documentation/DocBook/tracepoint.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@
</address>
</affiliation>
</author>
<author>
<firstname>William</firstname>
<surname>Cohen</surname>
<affiliation>
<address>
<email>wcohen@redhat.com</email>
</address>
</affiliation>
</author>
</authorgroup>

<legalnotice>
Expand Down Expand Up @@ -100,8 +91,4 @@
!Iinclude/trace/events/signal.h
</chapter>

<chapter id="block">
<title>Block IO</title>
!Iinclude/trace/events/block.h
</chapter>
</book>
4 changes: 2 additions & 2 deletions trunk/Documentation/block/biodoc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1162,8 +1162,8 @@ where a driver received a request ala this before:

As mentioned, there is no virtual mapping of a bio. For DMA, this is
not a problem as the driver probably never will need a virtual mapping.
Instead it needs a bus mapping (dma_map_page for a single segment or
use dma_map_sg for scatter gather) to be able to ship it to the driver. For
Instead it needs a bus mapping (pci_map_page for a single segment or
use blk_rq_map_sg for scatter gather) to be able to ship it to the driver. For
PIO drivers (or drivers that need to revert to PIO transfer once in a
while (IDE for example)), where the CPU is doing the actual data
transfer a virtual mapping is needed. If the driver supports highmem I/O,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

What is efifb?
What is imacfb?
===============

This is a generic EFI platform driver for Intel based Apple computers.
efifb is only for EFI booted Intel Macs.
Imacfb is only for EFI booted Intel Macs.

Supported Hardware
==================
Expand All @@ -16,16 +16,16 @@ MacMini
How to use it?
==============

efifb does not have any kind of autodetection of your machine.
Imacfb does not have any kind of autodetection of your machine.
You have to add the following kernel parameters in your elilo.conf:
Macbook :
video=efifb:macbook
video=imacfb:macbook
MacMini :
video=efifb:mini
video=imacfb:mini
Macbook Pro 15", iMac 17" :
video=efifb:i17
video=imacfb:i17
Macbook Pro 17", iMac 20" :
video=efifb:i20
video=imacfb:i20

--
Edgar Hucek <gimli@dark-green.com>
16 changes: 4 additions & 12 deletions trunk/Documentation/sound/alsa/HD-Audio.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,18 +119,10 @@ the codec slots 0 and 1 no matter what the hardware reports.

Interrupt Handling
~~~~~~~~~~~~~~~~~~
HD-audio driver uses MSI as default (if available) since 2.6.33
kernel as MSI works better on some machines, and in general, it's
better for performance. However, Nvidia controllers showed bad
regressions with MSI (especially in a combination with AMD chipset),
thus we disabled MSI for them.

There seem also still other devices that don't work with MSI. If you
see a regression wrt the sound quality (stuttering, etc) or a lock-up
in the recent kernel, try to pass `enable_msi=0` option to disable
MSI. If it works, you can add the known bad device to the blacklist
defined in hda_intel.c. In such a case, please report and give the
patch back to the upstream developer.
In rare but some cases, the interrupt isn't properly handled as
default. You would notice this by the DMA transfer error reported by
ALSA PCM core, for example. Using MSI might help in such a case.
Pass `enable_msi=1` option for enabling MSI.


HD-AUDIO CODEC
Expand Down
13 changes: 6 additions & 7 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2474,6 +2474,12 @@ L: linuxppc-dev@ozlabs.org
S: Odd Fixes
F: drivers/char/hvc_*

VIRTIO CONSOLE DRIVER
M: Amit Shah <amit.shah@redhat.com>
L: virtualization@lists.linux-foundation.org
S: Maintained
F: drivers/char/virtio_console.c

iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
M: Peter Jones <pjones@redhat.com>
M: Konrad Rzeszutek Wilk <konrad@kernel.org>
Expand Down Expand Up @@ -5965,13 +5971,6 @@ S: Maintained
F: Documentation/filesystems/vfat.txt
F: fs/fat/

VIRTIO CONSOLE DRIVER
M: Amit Shah <amit.shah@redhat.com>
L: virtualization@lists.linux-foundation.org
S: Maintained
F: drivers/char/virtio_console.c
F: include/linux/virtio_console.h

VIRTIO HOST (VHOST)
M: "Michael S. Tsirkin" <mst@redhat.com>
L: kvm@vger.kernel.org
Expand Down
13 changes: 10 additions & 3 deletions trunk/arch/arm/mach-bcmring/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -2221,11 +2221,15 @@ EXPORT_SYMBOL(dma_map_create_descriptor_ring);
int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
int dirtied /* non-zero if any of the pages were modified */
) {

int rc = 0;
int regionIdx;
int segmentIdx;
DMA_Region_t *region;
DMA_Segment_t *segment;

down(&memMap->lock);

for (regionIdx = 0; regionIdx < memMap->numRegionsUsed; regionIdx++) {
region = &memMap->region[regionIdx];

Expand All @@ -2239,7 +2243,8 @@ int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
printk(KERN_ERR
"%s: vmalloc'd pages are not yet supported\n",
__func__);
return -EINVAL;
rc = -EINVAL;
goto out;
}

case DMA_MEM_TYPE_KMALLOC:
Expand Down Expand Up @@ -2276,7 +2281,8 @@ int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
printk(KERN_ERR
"%s: Unsupported memory type: %d\n",
__func__, region->memType);
return -EINVAL;
rc = -EINVAL;
goto out;
}
}

Expand Down Expand Up @@ -2314,9 +2320,10 @@ int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
memMap->numRegionsUsed = 0;
memMap->inUse = 0;

out:
up(&memMap->lock);

return 0;
return rc;
}

EXPORT_SYMBOL(dma_unmap);
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-davinci/dm365.c
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,7 @@ static u8 dm365_default_priorities[DAVINCI_N_AINTC_IRQ] = {
[IRQ_MMCINT] = 7,
[IRQ_DM365_MMCINT1] = 7,
[IRQ_DM365_PWMINT3] = 7,
[IRQ_DDRINT] = 4,
[IRQ_AEMIFINT] = 2,
[IRQ_DM365_SDIOINT1] = 2,
[IRQ_TINT0_TINT12] = 7,
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/arm/mach-davinci/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -1267,8 +1267,7 @@ int edma_start(unsigned channel)
/* EDMA channel with event association */
pr_debug("EDMA: ER%d %08x\n", j,
edma_shadow0_read_array(ctlr, SH_ER, j));
/* Clear any pending event or error */
edma_write_array(ctlr, EDMA_ECR, j, mask);
/* Clear any pending error */
edma_write_array(ctlr, EDMA_EMCR, j, mask);
/* Clear any SER */
edma_shadow0_write_array(ctlr, SH_SECR, j, mask);
Expand Down
8 changes: 1 addition & 7 deletions trunk/arch/arm/mach-davinci/include/mach/da8xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Author: Mark A. Greer <mgreer@mvista.com>
*
* 2007, 2009-2010 (c) MontaVista Software, Inc. This file is licensed under
* 2007, 2009 (c) MontaVista Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
Expand All @@ -13,9 +13,7 @@

#include <video/da8xx-fb.h>

#include <linux/platform_device.h>
#include <linux/davinci_emac.h>

#include <mach/serial.h>
#include <mach/edma.h>
#include <mach/i2c.h>
Expand Down Expand Up @@ -146,10 +144,6 @@ extern const short da850_mmcsd0_pins[];
extern const short da850_nand_pins[];
extern const short da850_nor_pins[];

#ifdef CONFIG_DAVINCI_MUX
int da8xx_pinmux_setup(const short pins[]);
#else
static inline int da8xx_pinmux_setup(const short pins[]) { return 0; }
#endif

#endif /* __ASM_ARCH_DAVINCI_DA8XX_H */
6 changes: 2 additions & 4 deletions trunk/arch/arm/mach-davinci/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,8 @@ static void __init timer_init(void)
irq = USING_COMPARE(t) ? dtip[i].cmp_irq : irq;
setup_irq(irq, &t->irqaction);
}

timer32_config(&timers[i]);
}
}

Expand Down Expand Up @@ -329,7 +331,6 @@ static void __init davinci_timer_init(void)
unsigned int clocksource_id;
static char err[] __initdata = KERN_ERR
"%s: can't register clocksource!\n";
int i;

clockevent_id = soc_info->timer_info->clockevent_id;
clocksource_id = soc_info->timer_info->clocksource_id;
Expand Down Expand Up @@ -388,9 +389,6 @@ static void __init davinci_timer_init(void)

clockevent_davinci.cpumask = cpumask_of(0);
clockevents_register_device(&clockevent_davinci);

for (i=0; i< ARRAY_SIZE(timers); i++)
timer32_config(&timers[i]);
}

struct sys_timer davinci_timer = {
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/frv/include/asm/segment.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ typedef struct {

#define MAKE_MM_SEG(s) ((mm_segment_t) { (s) })

#define KERNEL_DS MAKE_MM_SEG(0xdfffffffUL)

#ifdef CONFIG_MMU
#define USER_DS MAKE_MM_SEG(TASK_SIZE - 1)
#define KERNEL_DS MAKE_MM_SEG(0xdfffffffUL)
#else
#define USER_DS MAKE_MM_SEG(memory_end)
#define KERNEL_DS MAKE_MM_SEG(0xe0000000UL)
#define USER_DS KERNEL_DS
#endif

#define get_ds() (KERNEL_DS)
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/frv/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
#define VERIFY_READ 0
#define VERIFY_WRITE 1

#define __addr_ok(addr) ((unsigned long)(addr) < get_addr_limit())

/*
* check that a range of addresses falls within the current address limit
*/
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/microblaze/include/asm/futex.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ futex_atomic_op_inuser(int encoded_op, int __user *uaddr)
__futex_atomic_op("or %1,%0,%4;", ret, oldval, uaddr, oparg);
break;
case FUTEX_OP_ANDN:
__futex_atomic_op("andn %1,%0,%4;", ret, oldval, uaddr, oparg);
__futex_atomic_op("and %1,%0,%4;", ret, oldval, uaddr, oparg);
break;
case FUTEX_OP_XOR:
__futex_atomic_op("xor %1,%0,%4;", ret, oldval, uaddr, oparg);
Expand Down
5 changes: 0 additions & 5 deletions trunk/arch/microblaze/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,6 @@ static inline void writel(unsigned int v, volatile void __iomem *addr)
#define iowrite16(v, addr) __raw_writew((u16)(v), (u16 *)(addr))
#define iowrite32(v, addr) __raw_writel((u32)(v), (u32 *)(addr))

#define ioread16be(addr) __raw_readw((u16 *)(addr))
#define ioread32be(addr) __raw_readl((u32 *)(addr))
#define iowrite16be(v, addr) __raw_writew((u16)(v), (u16 *)(addr))
#define iowrite32be(v, addr) __raw_writel((u32)(v), (u32 *)(addr))

/* These are the definitions for the x86 IO instructions
* inb/inw/inl/outb/outw/outl, the "string" versions
* insb/insw/insl/outsb/outsw/outsl, and the "pausing" versions
Expand Down
12 changes: 9 additions & 3 deletions trunk/arch/microblaze/kernel/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,10 +151,13 @@ int ftrace_make_nop(struct module *mod,
return ret;
}

static int ret_addr; /* initialized as 0 by default */

/* I believe that first is called ftrace_make_nop before this function */
int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr)
{
int ret;
ret_addr = addr; /* saving where the barrier jump is */
pr_debug("%s: addr:0x%x, rec->ip: 0x%x, imm:0x%x\n",
__func__, (unsigned int)addr, (unsigned int)rec->ip, imm);
ret = ftrace_modify_code(rec->ip, imm);
Expand Down Expand Up @@ -191,9 +194,12 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
ret = ftrace_modify_code(ip, upper);
ret += ftrace_modify_code(ip + 4, lower);

/* We just need to replace the rtsd r15, 8 with NOP */
ret += ftrace_modify_code((unsigned long)&ftrace_caller,
MICROBLAZE_NOP);
/* We just need to remove the rtsd r15, 8 by NOP */
BUG_ON(!ret_addr);
if (ret_addr)
ret += ftrace_modify_code(ret_addr, MICROBLAZE_NOP);
else
ret = 1; /* fault */

/* All changes are done - lets do caches consistent */
flush_icache();
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/microblaze/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
{
int rval;
unsigned long val = 0;
unsigned long copied;

switch (request) {
/* Read/write the word at location ADDR in the registers. */
Expand Down
40 changes: 40 additions & 0 deletions trunk/arch/mips/alchemy/devboards/db1200/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,43 @@ void __init board_setup(void)
wmb();
}

/* use the hexleds to count the number of times the cpu has entered
* wait, the dots to indicate whether the CPU is currently idle or
* active (dots off = sleeping, dots on = working) for cases where
* the number doesn't change for a long(er) period of time.
*/
static void db1200_wait(void)
{
__asm__(" .set push \n"
" .set mips3 \n"
" .set noreorder \n"
" cache 0x14, 0(%0) \n"
" cache 0x14, 32(%0) \n"
" cache 0x14, 64(%0) \n"
/* dots off: we're about to call wait */
" lui $26, 0xb980 \n"
" ori $27, $0, 3 \n"
" sb $27, 0x18($26) \n"
" sync \n"
" nop \n"
" wait \n"
" nop \n"
" nop \n"
" nop \n"
" nop \n"
" nop \n"
/* dots on: there's work to do, increment cntr */
" lui $26, 0xb980 \n"
" sb $0, 0x18($26) \n"
" lui $26, 0xb9c0 \n"
" lb $27, 0($26) \n"
" addiu $27, $27, 1 \n"
" sb $27, 0($26) \n"
" sync \n"
" .set pop \n"
: : "r" (db1200_wait));
}

static int __init db1200_arch_init(void)
{
/* GPIO7 is low-level triggered CPLD cascade */
Expand All @@ -73,6 +110,9 @@ static int __init db1200_arch_init(void)
irq_to_desc(DB1200_SD0_INSERT_INT)->status |= IRQ_NOAUTOEN;
irq_to_desc(DB1200_SD0_EJECT_INT)->status |= IRQ_NOAUTOEN;

if (cpu_wait)
cpu_wait = db1200_wait;

return 0;
}
arch_initcall(db1200_arch_init);
Loading

0 comments on commit 0ebb3b1

Please sign in to comment.