Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 189185
b: refs/heads/master
c: bc8a673
h: refs/heads/master
i:
  189183: 5b24364
v: v3
  • Loading branch information
JosephChan@via.com.tw authored and Jeff Garzik committed Mar 28, 2010
1 parent 4d7be05 commit 6860618
Show file tree
Hide file tree
Showing 60 changed files with 251 additions and 306 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: 6631424fd2efd75e7394b318ad2a8597327857a9
refs/heads/master: bc8a67386fd462914269fa93446e1891955a8bb3
1 change: 0 additions & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3083,7 +3083,6 @@ F: include/scsi/*iscsi*
ISDN SUBSYSTEM
M: Karsten Keil <isdn@linux-pingi.de>
L: isdn4linux@listserv.isdn4linux.de (subscribers-only)
L: netdev@vger.kernel.org
W: http://www.isdn4linux.de
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git
S: Maintained
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/cris/arch-v32/drivers/pci/bios.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ pcibios_align_resource(void *data, const struct resource *res,
if ((res->flags & IORESOURCE_IO) && (start & 0x300))
start = (start + 0x3ff) & ~0x3ff;

return start;
return start
}

int pcibios_enable_resources(struct pci_dev *dev, int mask)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/frv/mb93090-mb00/pci-frv.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ pcibios_align_resource(void *data, const struct resource *res,
if ((res->flags & IORESOURCE_IO) && (start & 0x300))
start = (start + 0x3ff) & ~0x3ff;

return start;
return start
}


Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/sparc/include/asm/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ struct stat {
ino_t st_ino;
mode_t st_mode;
short st_nlink;
unsigned short st_uid;
unsigned short st_gid;
uid16_t st_uid;
gid16_t st_gid;
unsigned short st_rdev;
off_t st_size;
time_t st_atime;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc/kernel/perf_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -1337,7 +1337,7 @@ static void perf_callchain_user_32(struct pt_regs *regs,
callchain_store(entry, PERF_CONTEXT_USER);
callchain_store(entry, regs->tpc);

ufp = regs->u_regs[UREG_I6] & 0xffffffffUL;
ufp = regs->u_regs[UREG_I6];
do {
struct sparc_stackf32 *usf, sf;
unsigned long pc;
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/sparc/kernel/sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,12 @@ static unsigned long run_on_cpu(unsigned long cpu,
unsigned long ret;

/* should return -EINVAL to userspace */
if (set_cpus_allowed_ptr(current, cpumask_of(cpu)))
if (set_cpus_allowed(current, cpumask_of_cpu(cpu)))
return 0;

ret = func(arg);

set_cpus_allowed_ptr(current, &old_affinity);
set_cpus_allowed(current, old_affinity);

return ret;
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/sparc/kernel/us2e_cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,12 +238,12 @@ static unsigned int us2e_freq_get(unsigned int cpu)
return 0;

cpus_allowed = current->cpus_allowed;
set_cpus_allowed_ptr(current, cpumask_of(cpu));
set_cpus_allowed(current, cpumask_of_cpu(cpu));

clock_tick = sparc64_get_clock_tick(cpu) / 1000;
estar = read_hbreg(HBIRD_ESTAR_MODE_ADDR);

set_cpus_allowed_ptr(current, &cpus_allowed);
set_cpus_allowed(current, cpus_allowed);

return clock_tick / estar_to_divisor(estar);
}
Expand All @@ -259,7 +259,7 @@ static void us2e_set_cpu_divider_index(unsigned int cpu, unsigned int index)
return;

cpus_allowed = current->cpus_allowed;
set_cpus_allowed_ptr(current, cpumask_of(cpu));
set_cpus_allowed(current, cpumask_of_cpu(cpu));

new_freq = clock_tick = sparc64_get_clock_tick(cpu) / 1000;
new_bits = index_to_estar_mode(index);
Expand All @@ -281,7 +281,7 @@ static void us2e_set_cpu_divider_index(unsigned int cpu, unsigned int index)

cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);

set_cpus_allowed_ptr(current, &cpus_allowed);
set_cpus_allowed(current, cpus_allowed);
}

static int us2e_freq_target(struct cpufreq_policy *policy,
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/sparc/kernel/us3_cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,12 @@ static unsigned int us3_freq_get(unsigned int cpu)
return 0;

cpus_allowed = current->cpus_allowed;
set_cpus_allowed_ptr(current, cpumask_of(cpu));
set_cpus_allowed(current, cpumask_of_cpu(cpu));

reg = read_safari_cfg();
ret = get_current_freq(cpu, reg);

set_cpus_allowed_ptr(current, &cpus_allowed);
set_cpus_allowed(current, cpus_allowed);

return ret;
}
Expand All @@ -106,7 +106,7 @@ static void us3_set_cpu_divider_index(unsigned int cpu, unsigned int index)
return;

cpus_allowed = current->cpus_allowed;
set_cpus_allowed_ptr(current, cpumask_of(cpu));
set_cpus_allowed(current, cpumask_of_cpu(cpu));

new_freq = sparc64_get_clock_tick(cpu) / 1000;
switch (index) {
Expand Down Expand Up @@ -140,7 +140,7 @@ static void us3_set_cpu_divider_index(unsigned int cpu, unsigned int index)

cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);

set_cpus_allowed_ptr(current, &cpus_allowed);
set_cpus_allowed(current, cpus_allowed);
}

static int us3_freq_target(struct cpufreq_policy *policy,
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/ata/pata_via.c
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,10 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
u8 rev = isa->revision;
pci_dev_put(isa);

if ((id->device == 0x0415 || id->device == 0x3164) &&
(config->id != id->device))
continue;

if (rev >= config->rev_min && rev <= config->rev_max)
break;
}
Expand Down
12 changes: 9 additions & 3 deletions trunk/drivers/ide/ide-probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,8 +695,14 @@ static int ide_probe_port(ide_hwif_t *hwif)
if (irqd)
disable_irq(hwif->irq);

if (ide_port_wait_ready(hwif) == -EBUSY)
printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name);
rc = ide_port_wait_ready(hwif);
if (rc == -ENODEV) {
printk(KERN_INFO "%s: no devices on the port\n", hwif->name);
goto out;
} else if (rc == -EBUSY)
printk(KERN_ERR "%s: not ready before the probe\n", hwif->name);
else
rc = -ENODEV;

/*
* Second drive should only exist if first drive was found,
Expand All @@ -707,7 +713,7 @@ static int ide_probe_port(ide_hwif_t *hwif)
if (drive->dev_flags & IDE_DFLAG_PRESENT)
rc = 0;
}

out:
/*
* Use cached IRQ number. It might be (and is...) changed by probe
* code above
Expand Down
57 changes: 57 additions & 0 deletions trunk/drivers/ide/via82cxxx.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ struct via82cxxx_dev
{
struct via_isa_bridge *via_config;
unsigned int via_80w;
u8 cached_device[2];
};

/**
Expand Down Expand Up @@ -402,10 +403,66 @@ static const struct ide_port_ops via_port_ops = {
.cable_detect = via82cxxx_cable_detect,
};

static void via_write_devctl(ide_hwif_t *hwif, u8 ctl)
{
struct via82cxxx_dev *vdev = hwif->host->host_priv;

outb(ctl, hwif->io_ports.ctl_addr);
outb(vdev->cached_device[hwif->channel], hwif->io_ports.device_addr);
}

static void __via_dev_select(ide_drive_t *drive, u8 select)
{
ide_hwif_t *hwif = drive->hwif;
struct via82cxxx_dev *vdev = hwif->host->host_priv;

outb(select, hwif->io_ports.device_addr);
vdev->cached_device[hwif->channel] = select;
}

static void via_dev_select(ide_drive_t *drive)
{
__via_dev_select(drive, drive->select | ATA_DEVICE_OBS);
}

static void via_tf_load(ide_drive_t *drive, struct ide_taskfile *tf, u8 valid)
{
ide_hwif_t *hwif = drive->hwif;
struct ide_io_ports *io_ports = &hwif->io_ports;

if (valid & IDE_VALID_FEATURE)
outb(tf->feature, io_ports->feature_addr);
if (valid & IDE_VALID_NSECT)
outb(tf->nsect, io_ports->nsect_addr);
if (valid & IDE_VALID_LBAL)
outb(tf->lbal, io_ports->lbal_addr);
if (valid & IDE_VALID_LBAM)
outb(tf->lbam, io_ports->lbam_addr);
if (valid & IDE_VALID_LBAH)
outb(tf->lbah, io_ports->lbah_addr);
if (valid & IDE_VALID_DEVICE)
__via_dev_select(drive, tf->device);
}

const struct ide_tp_ops via_tp_ops = {
.exec_command = ide_exec_command,
.read_status = ide_read_status,
.read_altstatus = ide_read_altstatus,
.write_devctl = via_write_devctl,

.dev_select = via_dev_select,
.tf_load = via_tf_load,
.tf_read = ide_tf_read,

.input_data = ide_input_data,
.output_data = ide_output_data,
};

static const struct ide_port_info via82cxxx_chipset __devinitdata = {
.name = DRV_NAME,
.init_chipset = init_chipset_via82cxxx,
.enablebits = { { 0x40, 0x02, 0x02 }, { 0x40, 0x01, 0x01 } },
.tp_ops = &via_tp_ops,
.port_ops = &via_port_ops,
.host_flags = IDE_HFLAG_PIO_NO_BLACKLIST |
IDE_HFLAG_POST_SET_MODE |
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/atlx/atl1.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@

#define ATLX_DRIVER_VERSION "2.1.3"
MODULE_AUTHOR("Xiong Huang <xiong.huang@atheros.com>, \
Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>");
Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>");
MODULE_LICENSE("GPL");
MODULE_VERSION(ATLX_DRIVER_VERSION);

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/benet/be_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ be_test_ddr_dma(struct be_adapter *adapter)
{
int ret, i;
struct be_dma_mem ddrdma_cmd;
u64 pattern[2] = {0x5a5a5a5a5a5a5a5aULL, 0xa5a5a5a5a5a5a5a5ULL};
u64 pattern[2] = {0x5a5a5a5a5a5a5a5a, 0xa5a5a5a5a5a5a5a5};

ddrdma_cmd.size = sizeof(struct be_cmd_req_ddrdma_test);
ddrdma_cmd.va = pci_alloc_consistent(adapter->pdev, ddrdma_cmd.size,
Expand Down
40 changes: 8 additions & 32 deletions trunk/drivers/net/bonding/bond_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1235,11 +1235,6 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
write_lock_bh(&bond->curr_slave_lock);
}
}

/* resend IGMP joins since all were sent on curr_active_slave */
if (bond->params.mode == BOND_MODE_ROUNDROBIN) {
bond_resend_igmp_join_requests(bond);
}
}

/**
Expand Down Expand Up @@ -4143,41 +4138,22 @@ static int bond_xmit_roundrobin(struct sk_buff *skb, struct net_device *bond_dev
struct bonding *bond = netdev_priv(bond_dev);
struct slave *slave, *start_at;
int i, slave_no, res = 1;
struct iphdr *iph = ip_hdr(skb);

read_lock(&bond->lock);

if (!BOND_IS_OK(bond))
goto out;

/*
* Start with the curr_active_slave that joined the bond as the
* default for sending IGMP traffic. For failover purposes one
* needs to maintain some consistency for the interface that will
* send the join/membership reports. The curr_active_slave found
* will send all of this type of traffic.
* Concurrent TX may collide on rr_tx_counter; we accept that
* as being rare enough not to justify using an atomic op here
*/
if ((iph->protocol == htons(IPPROTO_IGMP)) &&
(skb->protocol == htons(ETH_P_IP))) {

read_lock(&bond->curr_slave_lock);
slave = bond->curr_active_slave;
read_unlock(&bond->curr_slave_lock);

if (!slave)
goto out;
} else {
/*
* Concurrent TX may collide on rr_tx_counter; we accept
* that as being rare enough not to justify using an
* atomic op here.
*/
slave_no = bond->rr_tx_counter++ % bond->slave_cnt;
slave_no = bond->rr_tx_counter++ % bond->slave_cnt;

bond_for_each_slave(bond, slave, i) {
slave_no--;
if (slave_no < 0)
break;
}
bond_for_each_slave(bond, slave, i) {
slave_no--;
if (slave_no < 0)
break;
}

start_at = slave;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/e1000/e1000.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ struct e1000_adapter {
/* TX */
struct e1000_tx_ring *tx_ring; /* One per active queue */
unsigned int restart_queue;
unsigned long tx_queue_len;
u32 txd_cmd;
u32 tx_int_delay;
u32 tx_abs_int_delay;
Expand Down
9 changes: 8 additions & 1 deletion trunk/drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,8 @@ static void e1000_configure(struct e1000_adapter *adapter)
adapter->alloc_rx_buf(adapter, ring,
E1000_DESC_UNUSED(ring));
}

adapter->tx_queue_len = netdev->tx_queue_len;
}

int e1000_up(struct e1000_adapter *adapter)
Expand Down Expand Up @@ -501,6 +503,7 @@ void e1000_down(struct e1000_adapter *adapter)
del_timer_sync(&adapter->watchdog_timer);
del_timer_sync(&adapter->phy_info_timer);

netdev->tx_queue_len = adapter->tx_queue_len;
adapter->link_speed = 0;
adapter->link_duplex = 0;
netif_carrier_off(netdev);
Expand Down Expand Up @@ -2313,15 +2316,19 @@ static void e1000_watchdog(unsigned long data)
E1000_CTRL_RFCE) ? "RX" : ((ctrl &
E1000_CTRL_TFCE) ? "TX" : "None" )));

/* adjust timeout factor according to speed/duplex */
/* tweak tx_queue_len according to speed/duplex
* and adjust the timeout factor */
netdev->tx_queue_len = adapter->tx_queue_len;
adapter->tx_timeout_factor = 1;
switch (adapter->link_speed) {
case SPEED_10:
txb2b = false;
netdev->tx_queue_len = 10;
adapter->tx_timeout_factor = 16;
break;
case SPEED_100:
txb2b = false;
netdev->tx_queue_len = 100;
/* maybe add some timeout factor ? */
break;
}
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/e1000e/e1000.h
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ struct e1000_adapter {

struct napi_struct napi;

unsigned long tx_queue_len;
unsigned int restart_queue;
u32 txd_cmd;

Expand Down
Loading

0 comments on commit 6860618

Please sign in to comment.