aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-10-27 20:43:20 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-10-27 20:43:20 -0400
commit26ba2a7a9f4d8921f095af646a7d22c15a148028 (patch)
tree1e694da6999653551bc61eb9cc6db2eb4645fcd1 /drivers
parent91190758d410a5d33c6051ba9ca95baa430256bb (diff)
parent741b2252a5e14d6c60a913c77a6099abe73a854a (diff)
Merge branch 'master'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/char/drm/radeon_cp.c11
-rw-r--r--drivers/cpufreq/cpufreq_conservative.c6
-rw-r--r--drivers/md/md.c10
-rw-r--r--drivers/serial/8250_pci.c26
4 files changed, 40 insertions, 13 deletions
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c
index 6d9080a3ca7e..12ef13ff04ca 100644
--- a/drivers/char/drm/radeon_cp.c
+++ b/drivers/char/drm/radeon_cp.c
@@ -1133,10 +1133,10 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev,
1133 ring_start = (dev_priv->cp_ring->offset 1133 ring_start = (dev_priv->cp_ring->offset
1134 - dev->agp->base 1134 - dev->agp->base
1135 + dev_priv->gart_vm_start); 1135 + dev_priv->gart_vm_start);
1136 } else 1136 } else
1137#endif 1137#endif
1138 ring_start = (dev_priv->cp_ring->offset 1138 ring_start = (dev_priv->cp_ring->offset
1139 - dev->sg->handle 1139 - (unsigned long)dev->sg->virtual
1140 + dev_priv->gart_vm_start); 1140 + dev_priv->gart_vm_start);
1141 1141
1142 RADEON_WRITE( RADEON_CP_RB_BASE, ring_start ); 1142 RADEON_WRITE( RADEON_CP_RB_BASE, ring_start );
@@ -1164,7 +1164,8 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev,
1164 drm_sg_mem_t *entry = dev->sg; 1164 drm_sg_mem_t *entry = dev->sg;
1165 unsigned long tmp_ofs, page_ofs; 1165 unsigned long tmp_ofs, page_ofs;
1166 1166
1167 tmp_ofs = dev_priv->ring_rptr->offset - dev->sg->handle; 1167 tmp_ofs = dev_priv->ring_rptr->offset -
1168 (unsigned long)dev->sg->virtual;
1168 page_ofs = tmp_ofs >> PAGE_SHIFT; 1169 page_ofs = tmp_ofs >> PAGE_SHIFT;
1169 1170
1170 RADEON_WRITE( RADEON_CP_RB_RPTR_ADDR, 1171 RADEON_WRITE( RADEON_CP_RB_RPTR_ADDR,
@@ -1491,8 +1492,8 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
1491 else 1492 else
1492#endif 1493#endif
1493 dev_priv->gart_buffers_offset = (dev->agp_buffer_map->offset 1494 dev_priv->gart_buffers_offset = (dev->agp_buffer_map->offset
1494 - dev->sg->handle 1495 - (unsigned long)dev->sg->virtual
1495 + dev_priv->gart_vm_start); 1496 + dev_priv->gart_vm_start);
1496 1497
1497 DRM_DEBUG( "dev_priv->gart_size %d\n", 1498 DRM_DEBUG( "dev_priv->gart_size %d\n",
1498 dev_priv->gart_size ); 1499 dev_priv->gart_size );
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c
index e1df376e709e..2ed5c4363b53 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -315,9 +315,9 @@ static void dbs_check_cpu(int cpu)
315 policy = this_dbs_info->cur_policy; 315 policy = this_dbs_info->cur_policy;
316 316
317 if ( init_flag == 0 ) { 317 if ( init_flag == 0 ) {
318 for ( /* NULL */; init_flag < NR_CPUS; init_flag++ ) { 318 for_each_online_cpu(j) {
319 dbs_info = &per_cpu(cpu_dbs_info, init_flag); 319 dbs_info = &per_cpu(cpu_dbs_info, j);
320 requested_freq[cpu] = dbs_info->cur_policy->cur; 320 requested_freq[j] = dbs_info->cur_policy->cur;
321 } 321 }
322 init_flag = 1; 322 init_flag = 1;
323 } 323 }
diff --git a/drivers/md/md.c b/drivers/md/md.c
index e9476075aa13..2a8a5696bf8a 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3568,7 +3568,8 @@ static void md_do_sync(mddev_t *mddev)
3568 mddev->curr_resync = 2; 3568 mddev->curr_resync = 2;
3569 3569
3570 try_again: 3570 try_again:
3571 if (signal_pending(current)) { 3571 if (signal_pending(current) ||
3572 kthread_should_stop()) {
3572 flush_signals(current); 3573 flush_signals(current);
3573 set_bit(MD_RECOVERY_INTR, &mddev->recovery); 3574 set_bit(MD_RECOVERY_INTR, &mddev->recovery);
3574 goto skip; 3575 goto skip;
@@ -3590,8 +3591,9 @@ static void md_do_sync(mddev_t *mddev)
3590 */ 3591 */
3591 continue; 3592 continue;
3592 prepare_to_wait(&resync_wait, &wq, TASK_INTERRUPTIBLE); 3593 prepare_to_wait(&resync_wait, &wq, TASK_INTERRUPTIBLE);
3593 if (!signal_pending(current) 3594 if (!signal_pending(current) &&
3594 && mddev2->curr_resync >= mddev->curr_resync) { 3595 !kthread_should_stop() &&
3596 mddev2->curr_resync >= mddev->curr_resync) {
3595 printk(KERN_INFO "md: delaying resync of %s" 3597 printk(KERN_INFO "md: delaying resync of %s"
3596 " until %s has finished resync (they" 3598 " until %s has finished resync (they"
3597 " share one or more physical units)\n", 3599 " share one or more physical units)\n",
@@ -3697,7 +3699,7 @@ static void md_do_sync(mddev_t *mddev)
3697 } 3699 }
3698 3700
3699 3701
3700 if (signal_pending(current)) { 3702 if (signal_pending(current) || kthread_should_stop()) {
3701 /* 3703 /*
3702 * got a signal, exit. 3704 * got a signal, exit.
3703 */ 3705 */
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index 0e21f583690e..5c3c03932d6d 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -152,6 +152,7 @@ static int __devinit pci_hp_diva_init(struct pci_dev *dev)
152 rc = 4; 152 rc = 4;
153 break; 153 break;
154 case PCI_DEVICE_ID_HP_DIVA_POWERBAR: 154 case PCI_DEVICE_ID_HP_DIVA_POWERBAR:
155 case PCI_DEVICE_ID_HP_DIVA_HURRICANE:
155 rc = 1; 156 rc = 1;
156 break; 157 break;
157 } 158 }
@@ -226,8 +227,10 @@ static int __devinit pci_plx9050_init(struct pci_dev *dev)
226 } 227 }
227 228
228 irq_config = 0x41; 229 irq_config = 0x41;
229 if (dev->vendor == PCI_VENDOR_ID_PANACOM) 230 if (dev->vendor == PCI_VENDOR_ID_PANACOM ||
231 dev->subsystem_vendor == PCI_SUBVENDOR_ID_EXSYS) {
230 irq_config = 0x43; 232 irq_config = 0x43;
233 }
231 if ((dev->vendor == PCI_VENDOR_ID_PLX) && 234 if ((dev->vendor == PCI_VENDOR_ID_PLX) &&
232 (dev->device == PCI_DEVICE_ID_PLX_ROMULUS)) { 235 (dev->device == PCI_DEVICE_ID_PLX_ROMULUS)) {
233 /* 236 /*
@@ -664,6 +667,15 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
664 { 667 {
665 .vendor = PCI_VENDOR_ID_PLX, 668 .vendor = PCI_VENDOR_ID_PLX,
666 .device = PCI_DEVICE_ID_PLX_9050, 669 .device = PCI_DEVICE_ID_PLX_9050,
670 .subvendor = PCI_SUBVENDOR_ID_EXSYS,
671 .subdevice = PCI_SUBDEVICE_ID_EXSYS_4055,
672 .init = pci_plx9050_init,
673 .setup = pci_default_setup,
674 .exit = __devexit_p(pci_plx9050_exit),
675 },
676 {
677 .vendor = PCI_VENDOR_ID_PLX,
678 .device = PCI_DEVICE_ID_PLX_9050,
667 .subvendor = PCI_SUBVENDOR_ID_KEYSPAN, 679 .subvendor = PCI_SUBVENDOR_ID_KEYSPAN,
668 .subdevice = PCI_SUBDEVICE_ID_KEYSPAN_SX2, 680 .subdevice = PCI_SUBDEVICE_ID_KEYSPAN_SX2,
669 .init = pci_plx9050_init, 681 .init = pci_plx9050_init,
@@ -927,6 +939,7 @@ enum pci_board_num_t {
927 pbn_panacom, 939 pbn_panacom,
928 pbn_panacom2, 940 pbn_panacom2,
929 pbn_panacom4, 941 pbn_panacom4,
942 pbn_exsys_4055,
930 pbn_plx_romulus, 943 pbn_plx_romulus,
931 pbn_oxsemi, 944 pbn_oxsemi,
932 pbn_intel_i960, 945 pbn_intel_i960,
@@ -1292,6 +1305,13 @@ static struct pciserial_board pci_boards[] __devinitdata = {
1292 .reg_shift = 7, 1305 .reg_shift = 7,
1293 }, 1306 },
1294 1307
1308 [pbn_exsys_4055] = {
1309 .flags = FL_BASE2,
1310 .num_ports = 4,
1311 .base_baud = 115200,
1312 .uart_offset = 8,
1313 },
1314
1295 /* I think this entry is broken - the first_offset looks wrong --rmk */ 1315 /* I think this entry is broken - the first_offset looks wrong --rmk */
1296 [pbn_plx_romulus] = { 1316 [pbn_plx_romulus] = {
1297 .flags = FL_BASE2, 1317 .flags = FL_BASE2,
@@ -1853,6 +1873,10 @@ static struct pci_device_id serial_pci_tbl[] = {
1853 PCI_SUBVENDOR_ID_CHASE_PCIRAS, 1873 PCI_SUBVENDOR_ID_CHASE_PCIRAS,
1854 PCI_SUBDEVICE_ID_CHASE_PCIRAS8, 0, 0, 1874 PCI_SUBDEVICE_ID_CHASE_PCIRAS8, 0, 0,
1855 pbn_b2_8_460800 }, 1875 pbn_b2_8_460800 },
1876 { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
1877 PCI_SUBVENDOR_ID_EXSYS,
1878 PCI_SUBDEVICE_ID_EXSYS_4055, 0, 0,
1879 pbn_exsys_4055 },
1856 /* 1880 /*
1857 * Megawolf Romulus PCI Serial Card, from Mike Hudson 1881 * Megawolf Romulus PCI Serial Card, from Mike Hudson
1858 * (Exoray@isys.ca) 1882 * (Exoray@isys.ca)