Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 86672
b: refs/heads/master
c: 9e40ade
h: refs/heads/master
v: v3
  • Loading branch information
Christoph Lameter committed Feb 12, 2008
1 parent 9e9cf73 commit 34ab8e4
Show file tree
Hide file tree
Showing 18 changed files with 144 additions and 104 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: 7cc718d56c8297bd3a3c106ca09e8abf9814bb27
refs/heads/master: 9e40ade04c45a46f6b3d647e0bdac1a32bfaa3a9
2 changes: 2 additions & 0 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3561,6 +3561,8 @@ P: Christoph Lameter
M: clameter@sgi.com
P: Pekka Enberg
M: penberg@cs.helsinki.fi
P: Matt Mackall
M: mpm@selenic.com
L: linux-mm@kvack.org
S: Maintained

Expand Down
7 changes: 7 additions & 0 deletions trunk/arch/ia64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,14 @@ config PGTABLE_4

endchoice

if IA64_HP_SIM
config HZ
default 32
endif

if !IA64_HP_SIM
source kernel/Kconfig.hz
endif

config IA64_BRL_EMU
bool
Expand Down
7 changes: 0 additions & 7 deletions trunk/arch/x86/mm/pageattr-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ struct split_state {
static int print_split(struct split_state *s)
{
long i, expected, missed = 0;
int printed = 0;
int err = 0;

s->lpg = s->gpg = s->spg = s->exec = 0;
Expand All @@ -53,12 +52,6 @@ static int print_split(struct split_state *s)

pte = lookup_address(addr, &level);
if (!pte) {
if (!printed) {
dump_pagetable(addr);
printk(KERN_INFO "CPA %lx no pte level %d\n",
addr, level);
printed = 1;
}
missed++;
i++;
continue;
Expand Down
22 changes: 12 additions & 10 deletions trunk/arch/x86/vdso/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ VDSO32-$(CONFIG_X86_32) := y
VDSO32-$(CONFIG_COMPAT) := y

vdso-install-$(VDSO64-y) += vdso.so
vdso-install-$(VDSO32-y) += $(vdso32-y:=.so)
vdso-install-$(VDSO32-y) += $(vdso32-images)


# files to link into the vdso
Expand Down Expand Up @@ -63,6 +63,8 @@ vdso32.so-$(CONFIG_X86_32) += int80
vdso32.so-$(CONFIG_COMPAT) += syscall
vdso32.so-$(VDSO32-y) += sysenter

vdso32-images = $(vdso32.so-y:%=vdso32-%.so)

CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds)
VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -Wl,-soname=linux-gate.so.1

Expand All @@ -71,21 +73,21 @@ VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -Wl,-soname=linux-gate.so.1
override obj-dirs = $(dir $(obj)) $(obj)/vdso32/

targets += vdso32/vdso32.lds
targets += $(vdso32.so-y:%=vdso32-%.so.dbg) $(vdso32.so-y:%=vdso32-%.so)
targets += $(vdso32-images) $(vdso32-images:=.dbg)
targets += vdso32/note.o $(vdso32.so-y:%=vdso32/%.o)

extra-y += $(vdso32.so-y:%=vdso32-%.so)
extra-y += $(vdso32-images)

$(obj)/vdso32.o: $(vdso32.so-y:%=$(obj)/vdso32-%.so)
$(obj)/vdso32.o: $(vdso32-images:%=$(obj)/%)

KBUILD_AFLAGS_32 := $(filter-out -m64,$(KBUILD_AFLAGS))
$(vdso32.so-y:%=$(obj)/vdso32-%.so.dbg): KBUILD_AFLAGS = $(KBUILD_AFLAGS_32)
$(vdso32.so-y:%=$(obj)/vdso32-%.so.dbg): asflags-$(CONFIG_X86_64) += -m32
$(vdso32-images:%=$(obj)/%.dbg): KBUILD_AFLAGS = $(KBUILD_AFLAGS_32)
$(vdso32-images:%=$(obj)/%.dbg): asflags-$(CONFIG_X86_64) += -m32

$(vdso32.so-y:%=$(obj)/vdso32-%.so.dbg): $(obj)/vdso32-%.so.dbg: FORCE \
$(obj)/vdso32/vdso32.lds \
$(obj)/vdso32/note.o \
$(obj)/vdso32/%.o
$(vdso32-images:%=$(obj)/%.dbg): $(obj)/vdso32-%.so.dbg: FORCE \
$(obj)/vdso32/vdso32.lds \
$(obj)/vdso32/note.o \
$(obj)/vdso32/%.o
$(call if_changed,vdso)

# Make vdso32-*-syms.lds from each image, and then make sure they match.
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/acpi/wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -673,11 +673,11 @@ static int __init acpi_wmi_init(void)
{
acpi_status result;

INIT_LIST_HEAD(&wmi_blocks.list);

if (acpi_disabled)
return -ENODEV;

INIT_LIST_HEAD(&wmi_blocks.list);

result = acpi_bus_register_driver(&acpi_wmi_driver);

if (result < 0) {
Expand Down
48 changes: 33 additions & 15 deletions trunk/drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -3048,6 +3048,8 @@ int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel)
static int ata_dev_set_mode(struct ata_device *dev)
{
struct ata_eh_context *ehc = &dev->link->eh_context;
const char *dev_err_whine = "";
int ign_dev_err = 0;
unsigned int err_mask;
int rc;

Expand All @@ -3057,41 +3059,57 @@ static int ata_dev_set_mode(struct ata_device *dev)

err_mask = ata_dev_set_xfermode(dev);

if (err_mask & ~AC_ERR_DEV)
goto fail;

/* revalidate */
ehc->i.flags |= ATA_EHI_POST_SETMODE;
rc = ata_dev_revalidate(dev, ATA_DEV_UNKNOWN, 0);
ehc->i.flags &= ~ATA_EHI_POST_SETMODE;
if (rc)
return rc;

/* Old CFA may refuse this command, which is just fine */
if (dev->xfer_shift == ATA_SHIFT_PIO && ata_id_is_cfa(dev->id))
err_mask &= ~AC_ERR_DEV;
ign_dev_err = 1;

/* Some very old devices and some bad newer ones fail any kind of
SET_XFERMODE request but support PIO0-2 timings and no IORDY */
if (dev->xfer_shift == ATA_SHIFT_PIO && !ata_id_has_iordy(dev->id) &&
dev->pio_mode <= XFER_PIO_2)
err_mask &= ~AC_ERR_DEV;
ign_dev_err = 1;

/* Early MWDMA devices do DMA but don't allow DMA mode setting.
Don't fail an MWDMA0 set IFF the device indicates it is in MWDMA0 */
if (dev->xfer_shift == ATA_SHIFT_MWDMA &&
dev->dma_mode == XFER_MW_DMA_0 &&
(dev->id[63] >> 8) & 1)
err_mask &= ~AC_ERR_DEV;
ign_dev_err = 1;

if (err_mask) {
ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
"(err_mask=0x%x)\n", err_mask);
return -EIO;
}
/* if the device is actually configured correctly, ignore dev err */
if (dev->xfer_mode == ata_xfer_mask2mode(ata_id_xfermask(dev->id)))
ign_dev_err = 1;

ehc->i.flags |= ATA_EHI_POST_SETMODE;
rc = ata_dev_revalidate(dev, ATA_DEV_UNKNOWN, 0);
ehc->i.flags &= ~ATA_EHI_POST_SETMODE;
if (rc)
return rc;
if (err_mask & AC_ERR_DEV) {
if (!ign_dev_err)
goto fail;
else
dev_err_whine = " (device error ignored)";
}

DPRINTK("xfer_shift=%u, xfer_mode=0x%x\n",
dev->xfer_shift, (int)dev->xfer_mode);

ata_dev_printk(dev, KERN_INFO, "configured for %s\n",
ata_mode_string(ata_xfer_mode2mask(dev->xfer_mode)));
ata_dev_printk(dev, KERN_INFO, "configured for %s%s\n",
ata_mode_string(ata_xfer_mode2mask(dev->xfer_mode)),
dev_err_whine);

return 0;

fail:
ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
"(err_mask=0x%x)\n", err_mask);
return -EIO;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ata/pata_amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -772,7 +772,7 @@ static void __exit amd_exit(void)
}

MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for AMD PATA IDE");
MODULE_DESCRIPTION("low-level driver for AMD and Nvidia PATA IDE");
MODULE_LICENSE("GPL");
MODULE_DEVICE_TABLE(pci, amd);
MODULE_VERSION(DRV_VERSION);
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ata/pata_legacy.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ static int opti82c611a; /* Opti82c611A on primary 1, sec 2, both 3 */
static int opti82c46x; /* Opti 82c465MV present(pri/sec autodetect) */
static int qdi; /* Set to probe QDI controllers */
static int winbond; /* Set to probe Winbond controllers,
give I/O port if non stdanard */
give I/O port if non standard */
static int autospeed; /* Chip present which snoops speed changes */
static int pio_mask = 0x1F; /* PIO range for autospeed devices */
static int iordy_mask = 0xFFFFFFFF; /* Use iordy if available */
Expand Down
9 changes: 7 additions & 2 deletions trunk/drivers/ata/pata_ninja32.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
* Base + 0x00 IRQ Status
* Base + 0x01 IRQ control
* Base + 0x02 Chipset control
* Base + 0x03 Unknown
* Base + 0x04 VDMA and reset control + wait bits
* Base + 0x08 BMIMBA
* Base + 0x0C DMA Length
Expand Down Expand Up @@ -174,8 +175,12 @@ static int ninja32_init_one(struct pci_dev *dev, const struct pci_device_id *id)
ata_std_ports(&ap->ioaddr);

iowrite8(0x05, base + 0x01); /* Enable interrupt lines */
iowrite8(0xB3, base + 0x02); /* Burst, ?? setup */
iowrite8(0x00, base + 0x04); /* WAIT0 ? */
iowrite8(0xBE, base + 0x02); /* Burst, ?? setup */
iowrite8(0x01, base + 0x03); /* Unknown */
iowrite8(0x20, base + 0x04); /* WAIT0 */
iowrite8(0x8f, base + 0x05); /* Unknown */
iowrite8(0xa4, base + 0x1c); /* Unknown */
iowrite8(0x83, base + 0x1d); /* BMDMA control: WAIT0 */
/* FIXME: Should we disable them at remove ? */
return ata_host_activate(host, dev->irq, ata_interrupt,
IRQF_SHARED, &ninja32_sht);
Expand Down
6 changes: 5 additions & 1 deletion trunk/drivers/ata/pata_via.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ enum {
VIA_BAD_ID = 0x100, /* Has wrong vendor ID (0x1107) */
VIA_BAD_AST = 0x200, /* Don't touch Address Setup Timing */
VIA_NO_ENABLES = 0x400, /* Has no enablebits */
VIA_SATA_PATA = 0x800, /* SATA/PATA combined configuration */
};

/*
Expand All @@ -100,7 +101,7 @@ static const struct via_isa_bridge {
{ "vx800", PCI_DEVICE_ID_VIA_VX800, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
{ "vt8237s", PCI_DEVICE_ID_VIA_8237S, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
{ "vt8251", PCI_DEVICE_ID_VIA_8251, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
{ "cx700", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
{ "cx700", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST | VIA_SATA_PATA },
{ "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST | VIA_NO_ENABLES},
{ "vt8237a", PCI_DEVICE_ID_VIA_8237A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
{ "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
Expand Down Expand Up @@ -172,6 +173,9 @@ static int via_cable_detect(struct ata_port *ap) {
if (via_cable_override(pdev))
return ATA_CBL_PATA40_SHORT;

if ((config->flags & VIA_SATA_PATA) && ap->port_no == 0)
return ATA_CBL_SATA;

/* Early chips are 40 wire */
if ((config->flags & VIA_UDMA) < VIA_UDMA_66)
return ATA_CBL_PATA40;
Expand Down
50 changes: 28 additions & 22 deletions trunk/drivers/ata/sata_mv.c
Original file line number Diff line number Diff line change
Expand Up @@ -1716,14 +1716,16 @@ static void mv_host_intr(struct ata_host *host, u32 relevant, unsigned int hc)
VPRINTK("ENTER, hc%u relevant=0x%08x HC IRQ cause=0x%08x\n",
hc, relevant, hc_irq_cause);

for (port = port0; port < port0 + last_port; port++) {
for (port = port0; port < last_port; port++) {
struct ata_port *ap = host->ports[port];
struct mv_port_priv *pp = ap->private_data;
struct mv_port_priv *pp;
int have_err_bits, hard_port, shift;

if ((!ap) || (ap->flags & ATA_FLAG_DISABLED))
continue;

pp = ap->private_data;

shift = port << 1; /* (port * 2) */
if (port >= MV_PORTS_PER_HC) {
shift++; /* skip bit 8 in the HC Main IRQ reg */
Expand Down Expand Up @@ -2879,6 +2881,26 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
return rc;
}

static int mv_create_dma_pools(struct mv_host_priv *hpriv, struct device *dev)
{
hpriv->crqb_pool = dmam_pool_create("crqb_q", dev, MV_CRQB_Q_SZ,
MV_CRQB_Q_SZ, 0);
if (!hpriv->crqb_pool)
return -ENOMEM;

hpriv->crpb_pool = dmam_pool_create("crpb_q", dev, MV_CRPB_Q_SZ,
MV_CRPB_Q_SZ, 0);
if (!hpriv->crpb_pool)
return -ENOMEM;

hpriv->sg_tbl_pool = dmam_pool_create("sg_tbl", dev, MV_SG_TBL_SZ,
MV_SG_TBL_SZ, 0);
if (!hpriv->sg_tbl_pool)
return -ENOMEM;

return 0;
}

/**
* mv_platform_probe - handle a positive probe of an soc Marvell
* host
Expand Down Expand Up @@ -2932,6 +2954,10 @@ static int mv_platform_probe(struct platform_device *pdev)
hpriv->base = ioremap(res->start, res->end - res->start + 1);
hpriv->base -= MV_SATAHC0_REG_BASE;

rc = mv_create_dma_pools(hpriv, &pdev->dev);
if (rc)
return rc;

/* initialize adapter */
rc = mv_init_host(host, chip_soc);
if (rc)
Expand Down Expand Up @@ -3068,26 +3094,6 @@ static void mv_print_info(struct ata_host *host)
scc_s, (MV_HP_FLAG_MSI & hpriv->hp_flags) ? "MSI" : "INTx");
}

static int mv_create_dma_pools(struct mv_host_priv *hpriv, struct device *dev)
{
hpriv->crqb_pool = dmam_pool_create("crqb_q", dev, MV_CRQB_Q_SZ,
MV_CRQB_Q_SZ, 0);
if (!hpriv->crqb_pool)
return -ENOMEM;

hpriv->crpb_pool = dmam_pool_create("crpb_q", dev, MV_CRPB_Q_SZ,
MV_CRPB_Q_SZ, 0);
if (!hpriv->crpb_pool)
return -ENOMEM;

hpriv->sg_tbl_pool = dmam_pool_create("sg_tbl", dev, MV_SG_TBL_SZ,
MV_SG_TBL_SZ, 0);
if (!hpriv->sg_tbl_pool)
return -ENOMEM;

return 0;
}

/**
* mv_pci_init_one - handle a positive probe of a PCI Marvell host
* @pdev: PCI device found
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/mlx4/alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/slab.h>
#include <linux/bitmap.h>
#include <linux/dma-mapping.h>
#include <linux/vmalloc.h>

#include "mlx4.h"

Expand Down
10 changes: 5 additions & 5 deletions trunk/include/asm-generic/topology.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,19 @@
/* Other architectures wishing to use this simple topology API should fill
in the below functions as appropriate in their own <asm/topology.h> file. */
#ifndef cpu_to_node
#define cpu_to_node(cpu) (0)
#define cpu_to_node(cpu) ((void)(cpu),0)
#endif
#ifndef parent_node
#define parent_node(node) (0)
#define parent_node(node) ((void)(node),0)
#endif
#ifndef node_to_cpumask
#define node_to_cpumask(node) (cpu_online_map)
#define node_to_cpumask(node) ((void)node, cpu_online_map)
#endif
#ifndef node_to_first_cpu
#define node_to_first_cpu(node) (0)
#define node_to_first_cpu(node) ((void)(node),0)
#endif
#ifndef pcibus_to_node
#define pcibus_to_node(node) (-1)
#define pcibus_to_node(bus) ((void)(bus), -1)
#endif

#ifndef pcibus_to_cpumask
Expand Down
10 changes: 1 addition & 9 deletions trunk/include/asm-ia64/param.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,7 @@
#define MAXHOSTNAMELEN 64 /* max length of hostname */

#ifdef __KERNEL__
# ifdef CONFIG_IA64_HP_SIM
/*
* Yeah, simulating stuff is slow, so let us catch some breath between
* timer interrupts...
*/
# define HZ 32
# else
# define HZ CONFIG_HZ
# endif
# define HZ CONFIG_HZ
# define USER_HZ HZ
# define CLOCKS_PER_SEC HZ /* frequency at which times() counts */
#else
Expand Down
Loading

0 comments on commit 34ab8e4

Please sign in to comment.