Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 110028
b: refs/heads/master
c: bdbef3d
h: refs/heads/master
v: v3
  • Loading branch information
Marcel Holtmann committed Sep 22, 2008
1 parent 2fcdb06 commit dc363a2
Show file tree
Hide file tree
Showing 79 changed files with 305 additions and 550 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: 26591188d69192d5babeadde129dcfb6cbf9e6b7
refs/heads/master: bdbef3d696ca83489eb653459b5a7a62ecf5596a
2 changes: 1 addition & 1 deletion trunk/Documentation/DMA-mapping.txt
Original file line number Diff line number Diff line change
Expand Up @@ -740,7 +740,7 @@ failure can be determined by:
dma_addr_t dma_handle;

dma_handle = pci_map_single(pdev, addr, size, direction);
if (pci_dma_mapping_error(pdev, dma_handle)) {
if (pci_dma_mapping_error(dma_handle)) {
/*
* reduce current DMA mapping usage,
* delay and try again later or
Expand Down
7 changes: 3 additions & 4 deletions trunk/Documentation/sysctl/kernel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,10 +351,9 @@ kernel. This value defaults to SHMMAX.

softlockup_thresh:

This value can be used to lower the softlockup tolerance threshold. The
default threshold is 60 seconds. If a cpu is locked up for 60 seconds,
the kernel complains. Valid values are 1-60 seconds. Setting this
tunable to zero will disable the softlockup detection altogether.
This value can be used to lower the softlockup tolerance
threshold. The default threshold is 10s. If a cpu is locked up
for 10s, the kernel complains. Valid values are 1-60s.

==============================================================

Expand Down
12 changes: 0 additions & 12 deletions trunk/Documentation/usb/anchors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,9 @@ This function kills all URBs associated with an anchor. The URBs
are called in the reverse temporal order they were submitted.
This way no data can be reordered.

usb_unlink_anchored_urbs()
--------------------------

This function unlinks all URBs associated with an anchor. The URBs
are processed in the reverse temporal order they were submitted.
This is similar to usb_kill_anchored_urbs(), but it will not sleep.
Therefore no guarantee is made that the URBs have been unlinked when
the call returns. They may be unlinked later but will be unlinked in
finite time.

usb_wait_anchor_empty_timeout()
-------------------------------

This function waits for all URBs associated with an anchor to finish
or a timeout, whichever comes first. Its return value will tell you
whether the timeout was reached.


7 changes: 3 additions & 4 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1984,7 +1984,7 @@ S: Maintained
I2C/SMBUS STUB DRIVER
P: Mark M. Hoffman
M: mhoffman@lightlink.com
L: i2c@lm-sensors.org
L: lm-sensors@lm-sensors.org
S: Maintained

I2C SUBSYSTEM
Expand Down Expand Up @@ -3726,7 +3726,7 @@ S: Maintained
SIS 96X I2C/SMBUS DRIVER
P: Mark M. Hoffman
M: mhoffman@lightlink.com
L: i2c@lm-sensors.org
L: lm-sensors@lm-sensors.org
S: Maintained

SIS FRAMEBUFFER DRIVER
Expand Down Expand Up @@ -3833,12 +3833,11 @@ S: Maintained

SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT
P: Liam Girdwood
M: lrg@slimlogic.co.uk
M: liam.girdwood@wolfsonmicro.com
P: Mark Brown
M: broonie@opensource.wolfsonmicro.com
T: git opensource.wolfsonmicro.com/linux-2.6-asoc
L: alsa-devel@alsa-project.org (subscribers-only)
W: http://alsa-project.org/main/index.php/ASoC
S: Supported

SPI SUBSYSTEM
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-pxa/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
#include <linux/interrupt.h>
#include <linux/clockchips.h>
#include <linux/sched.h>
#include <linux/cnt32_to_63.h>

#include <asm/div64.h>
#include <asm/cnt32_to_63.h>
#include <asm/mach/irq.h>
#include <asm/mach/time.h>
#include <mach/pxa-regs.h>
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-sa1100/generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
#include <linux/ioport.h>
#include <linux/sched.h> /* just for sched_clock() - funny that */
#include <linux/platform_device.h>
#include <linux/cnt32_to_63.h>

#include <asm/div64.h>
#include <asm/cnt32_to_63.h>
#include <mach/hardware.h>
#include <asm/system.h>
#include <asm/pgtable.h>
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-versatile/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
#include <linux/amba/clcd.h>
#include <linux/clocksource.h>
#include <linux/clockchips.h>
#include <linux/cnt32_to_63.h>

#include <asm/cnt32_to_63.h>
#include <asm/system.h>
#include <mach/hardware.h>
#include <asm/io.h>
Expand Down
5 changes: 2 additions & 3 deletions trunk/arch/ia64/kernel/efi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1232,10 +1232,9 @@ efi_initialize_iomem_resources(struct resource *code_resource,
if (md->attribute & EFI_MEMORY_WP) {
name = "System ROM";
flags |= IORESOURCE_READONLY;
} else if (md->attribute == EFI_MEMORY_UC)
name = "Uncached RAM";
else
} else {
name = "System RAM";
}
break;

case EFI_ACPI_MEMORY_NVS:
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/ia64/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -616,9 +616,7 @@ setup_arch (char **cmdline_p)
ia64_mca_init();

platform_setup(cmdline_p);
#ifndef CONFIG_IA64_HP_SIM
check_sal_cache_flush();
#endif
paging_init();
}

Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/mips/au1000/common/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ static int au1xxx_gpio2_direction_input(unsigned gpio)
static int au1xxx_gpio2_direction_output(unsigned gpio, int value)
{
gpio -= AU1XXX_GPIO_BASE;
gpio2->dir |= 0x01 << gpio;
gpio2->output = (GPIO2_OUTPUT_ENABLE_MASK << gpio) | (value << gpio);
gpio2->dir = (0x01 << gpio) | (value << gpio);
return 0;
}

Expand Down Expand Up @@ -91,7 +90,6 @@ static int au1xxx_gpio1_direction_input(unsigned gpio)
static int au1xxx_gpio1_direction_output(unsigned gpio, int value)
{
gpio1->trioutclr = (0x01 & gpio);
au1xxx_gpio1_write(gpio, value);
return 0;
}

Expand Down
52 changes: 11 additions & 41 deletions trunk/arch/mn10300/kernel/time.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* MN10300 Low level time management
*
* Copyright (C) 2007-2008 Red Hat, Inc. All Rights Reserved.
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com)
* - Derived from arch/i386/kernel/time.c
*
Expand All @@ -16,7 +16,6 @@
#include <linux/init.h>
#include <linux/smp.h>
#include <linux/profile.h>
#include <linux/cnt32_to_63.h>
#include <asm/irq.h>
#include <asm/div64.h>
#include <asm/processor.h>
Expand All @@ -41,54 +40,27 @@ static struct irqaction timer_irq = {
.name = "timer",
};

static unsigned long sched_clock_multiplier;

/*
* scheduler clock - returns current time in nanosec units.
*/
unsigned long long sched_clock(void)
{
union {
unsigned long long ll;
unsigned l[2];
} tsc64, result;
unsigned long tsc, tmp;
unsigned product[3]; /* 96-bit intermediate value */

/* read the TSC value
*/
tsc = 0 - get_cycles(); /* get_cycles() counts down */
unsigned long long l;
u32 w[2];
} quot;

/* expand to 64-bits.
* - sched_clock() must be called once a minute or better or the
* following will go horribly wrong - see cnt32_to_63()
*/
tsc64.ll = cnt32_to_63(tsc) & 0x7fffffffffffffffULL;
quot.w[0] = mn10300_last_tsc - get_cycles();
quot.w[1] = 1000000000;

/* scale the 64-bit TSC value to a nanosecond value via a 96-bit
* intermediate
*/
asm("mulu %2,%0,%3,%0 \n" /* LSW * mult -> 0:%3:%0 */
"mulu %2,%1,%2,%1 \n" /* MSW * mult -> %2:%1:0 */
"add %3,%1 \n"
"addc 0,%2 \n" /* result in %2:%1:%0 */
: "=r"(product[0]), "=r"(product[1]), "=r"(product[2]), "=r"(tmp)
: "0"(tsc64.l[0]), "1"(tsc64.l[1]), "2"(sched_clock_multiplier)
asm("mulu %2,%3,%0,%1"
: "=r"(quot.w[1]), "=r"(quot.w[0])
: "0"(quot.w[1]), "1"(quot.w[0])
: "cc");

result.l[0] = product[1] << 16 | product[0] >> 16;
result.l[1] = product[2] << 16 | product[1] >> 16;
do_div(quot.l, MN10300_TSCCLK);

return result.ll;
}

/*
* initialise the scheduler clock
*/
static void __init mn10300_sched_clock_init(void)
{
sched_clock_multiplier =
__muldiv64u(NSEC_PER_SEC, 1 << 16, MN10300_TSCCLK);
return quot.l;
}

/*
Expand Down Expand Up @@ -156,6 +128,4 @@ void __init time_init(void)
/* start the watchdog timer */
watchdog_go();
#endif

mn10300_sched_clock_init();
}
9 changes: 5 additions & 4 deletions trunk/arch/sparc64/kernel/of_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ static unsigned long of_bus_default_get_flags(const u32 *addr, unsigned long fla

static int of_bus_pci_match(struct device_node *np)
{
if (!strcmp(np->name, "pci")) {
if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) {
const char *model = of_get_property(np, "model", NULL);

if (model && !strcmp(model, "SUNW,simba"))
Expand Down Expand Up @@ -200,7 +200,7 @@ static int of_bus_simba_match(struct device_node *np)
/* Treat PCI busses lacking ranges property just like
* simba.
*/
if (!strcmp(np->name, "pci")) {
if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) {
if (!of_find_property(np, "ranges", NULL))
return 1;
}
Expand Down Expand Up @@ -429,7 +429,7 @@ static int __init use_1to1_mapping(struct device_node *pp)
* it lacks a ranges property, and this will include
* cases like Simba.
*/
if (!strcmp(pp->name, "pci"))
if (!strcmp(pp->type, "pci") || !strcmp(pp->type, "pciex"))
return 0;

return 1;
Expand Down Expand Up @@ -714,7 +714,8 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
break;
}
} else {
if (!strcmp(pp->name, "pci")) {
if (!strcmp(pp->type, "pci") ||
!strcmp(pp->type, "pciex")) {
unsigned int this_orig_irq = irq;

irq = pci_irq_swizzle(dp, pp, irq);
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc64/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
dev->current_state = 4; /* unknown power state */
dev->error_state = pci_channel_io_normal;

if (!strcmp(node->name, "pci")) {
if (!strcmp(type, "pci") || !strcmp(type, "pciex")) {
/* a PCI-PCI bridge */
dev->hdr_type = PCI_HEADER_TYPE_BRIDGE;
dev->rom_base_reg = PCI_ROM_ADDRESS1;
Expand Down
22 changes: 6 additions & 16 deletions trunk/arch/x86/kernel/amd_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,23 +101,21 @@ static int iommu_queue_command(struct amd_iommu *iommu, struct iommu_cmd *cmd)
*/
static int iommu_completion_wait(struct amd_iommu *iommu)
{
int ret = 0, ready = 0;
int ret, ready = 0;
unsigned status = 0;
struct iommu_cmd cmd;
unsigned long flags, i = 0;
unsigned long i = 0;

memset(&cmd, 0, sizeof(cmd));
cmd.data[0] = CMD_COMPL_WAIT_INT_MASK;
CMD_SET_TYPE(&cmd, CMD_COMPL_WAIT);

iommu->need_sync = 0;

spin_lock_irqsave(&iommu->lock, flags);

ret = __iommu_queue_command(iommu, &cmd);
ret = iommu_queue_command(iommu, &cmd);

if (ret)
goto out;
return ret;

while (!ready && (i < EXIT_LOOP_COUNT)) {
++i;
Expand All @@ -132,8 +130,6 @@ static int iommu_completion_wait(struct amd_iommu *iommu)

if (unlikely((i == EXIT_LOOP_COUNT) && printk_ratelimit()))
printk(KERN_WARNING "AMD IOMMU: Completion wait loop failed\n");
out:
spin_unlock_irqrestore(&iommu->lock, flags);

return 0;
}
Expand All @@ -144,19 +140,16 @@ static int iommu_completion_wait(struct amd_iommu *iommu)
static int iommu_queue_inv_dev_entry(struct amd_iommu *iommu, u16 devid)
{
struct iommu_cmd cmd;
int ret;

BUG_ON(iommu == NULL);

memset(&cmd, 0, sizeof(cmd));
CMD_SET_TYPE(&cmd, CMD_INV_DEV_ENTRY);
cmd.data[0] = devid;

ret = iommu_queue_command(iommu, &cmd);

iommu->need_sync = 1;

return ret;
return iommu_queue_command(iommu, &cmd);
}

/*
Expand All @@ -166,7 +159,6 @@ static int iommu_queue_inv_iommu_pages(struct amd_iommu *iommu,
u64 address, u16 domid, int pde, int s)
{
struct iommu_cmd cmd;
int ret;

memset(&cmd, 0, sizeof(cmd));
address &= PAGE_MASK;
Expand All @@ -179,11 +171,9 @@ static int iommu_queue_inv_iommu_pages(struct amd_iommu *iommu,
if (pde) /* PDE bit - we wan't flush everything not only the PTEs */
cmd.data[2] |= CMD_INV_IOMMU_PAGES_PDE_MASK;

ret = iommu_queue_command(iommu, &cmd);

iommu->need_sync = 1;

return ret;
return iommu_queue_command(iommu, &cmd);
}

/*
Expand Down
Loading

0 comments on commit dc363a2

Please sign in to comment.