]> nv-tegra.nvidia Code Review - linux-3.10.git/commitdiff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 20 Jun 2005 18:37:49 +0000 (11:37 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 20 Jun 2005 18:37:49 +0000 (11:37 -0700)
arch/ppc64/kernel/iommu.c
arch/ppc64/kernel/pSeries_smp.c
arch/ppc64/kernel/rtasd.c
drivers/fc4/fc.c
drivers/scsi/aic7xxx/aic79xx_osm.c

index 344164681d2ce5a4f4373ed9637140e42d17fcee..8316426ccaf60036c59d3cd45e18835d8e19c88a 100644 (file)
@@ -423,6 +423,9 @@ struct iommu_table *iommu_init_table(struct iommu_table *tbl)
        tbl->it_largehint = tbl->it_halfpoint;
        spin_lock_init(&tbl->it_lock);
 
+       /* Clear the hardware table in case firmware left allocations in it */
+       ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size);
+
        if (!welcomed) {
                printk(KERN_INFO "IOMMU table initialized, virtual merging %s\n",
                       novmerge ? "disabled" : "enabled");
index fbad349ec58c2179fce3731d9ead5b8739cbc8c8..4203bd020c828364a42279ea48ef9ac1c85f6f03 100644 (file)
@@ -375,7 +375,7 @@ static int smp_pSeries_cpu_bootable(unsigned int nr)
         * cpus are assumed to be secondary threads.
         */
        if (system_state < SYSTEM_RUNNING &&
-           cur_cpu_spec->cpu_features & CPU_FTR_SMT &&
+           cpu_has_feature(CPU_FTR_SMT) &&
            !smt_enabled_at_boot && nr % 2 != 0)
                return 0;
 
@@ -419,8 +419,8 @@ void __init smp_init_pSeries(void)
 #endif
 
        /* Mark threads which are still spinning in hold loops. */
-       if (cur_cpu_spec->cpu_features & CPU_FTR_SMT)
-               for_each_present_cpu(i) {
+       if (cpu_has_feature(CPU_FTR_SMT)) {
+               for_each_present_cpu(i) { 
                        if (i % 2 == 0)
                                /*
                                 * Even-numbered logical cpus correspond to
@@ -428,8 +428,9 @@ void __init smp_init_pSeries(void)
                                 */
                                cpu_set(i, of_spin_map);
                }
-       else
+       } else {
                of_spin_map = cpu_present_map;
+       }
 
        cpu_clear(boot_cpuid, of_spin_map);
 
index ff65dc33320ee779bf89b4b602d64da4d22a003b..b0c3b829fe47c43eac16b7d5ff9d885f0fd1b5c4 100644 (file)
@@ -440,7 +440,7 @@ static int rtasd(void *unused)
                goto error;
        }
 
-       printk(KERN_ERR "RTAS daemon started\n");
+       printk(KERN_INFO "RTAS daemon started\n");
 
        DEBUG("will sleep for %d jiffies\n", (HZ*60/rtas_event_scan_rate) / 2);
 
@@ -485,7 +485,7 @@ static int __init rtas_init(void)
        /* No RTAS, only warn if we are on a pSeries box  */
        if (rtas_token("event-scan") == RTAS_UNKNOWN_SERVICE) {
                if (systemcfg->platform & PLATFORM_PSERIES)
-                       printk(KERN_ERR "rtasd: no event-scan on system\n");
+                       printk(KERN_INFO "rtasd: no event-scan on system\n");
                return 1;
        }
 
index fbd9ff79b7b8cb98bdfa5b788033909e84b5b399..e3c95882353341bb103a3d9164bd12d2e3fb2d58 100644 (file)
@@ -765,8 +765,6 @@ void fcp_release(fc_channel *fcchain, int count)  /* count must > 0 */
 
 static void fcp_scsi_done (Scsi_Cmnd *SCpnt)
 {
-       unsigned long flags;
-
        if (FCP_CMND(SCpnt)->done)
                FCP_CMND(SCpnt)->done(SCpnt);
 }
@@ -907,8 +905,6 @@ int fcp_scsi_abort(Scsi_Cmnd *SCpnt)
         */
 
        if (++fc->abort_count < (fc->can_queue >> 1)) {
-               unsigned long flags;
-
                SCpnt->result = DID_ABORT;
                fcmd->done(SCpnt);
                printk("FC: soft abort\n");
@@ -931,6 +927,7 @@ void fcp_scsi_reset_done(Scsi_Cmnd *SCpnt)
 
 int fcp_scsi_dev_reset(Scsi_Cmnd *SCpnt)
 {
+       unsigned long flags;
        fcp_cmd *cmd;
        fcp_cmnd *fcmd;
        fc_channel *fc = FC_SCMND(SCpnt);
@@ -1028,6 +1025,7 @@ static int __fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
 
 int fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
 {
+       unsigned long flags;
        int rc;
 
        spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
index c4eaaad2c69bedd3f67004aae7960802709739f6..5f526dd0aaa1e1b2b8450109e9962ea6ead776da 100644 (file)
@@ -941,7 +941,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
         */
        cmd->scsi_done = scsi_done;
 
-       ahd_lock(ahd, &flags);
+       ahd_midlayer_entrypoint_lock(ahd, &flags);
 
        /*
         * Close the race of a command that was in the process of
@@ -955,7 +955,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
                ahd_cmd_set_transaction_status(cmd, CAM_REQUEUE_REQ);
                ahd_linux_queue_cmd_complete(ahd, cmd);
                ahd_schedule_completeq(ahd);
-               ahd_unlock(ahd, &flags);
+               ahd_midlayer_entrypoint_unlock(ahd, &flags);
                return (0);
        }
        dev = ahd_linux_get_device(ahd, cmd->device->channel,
@@ -965,7 +965,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
                ahd_cmd_set_transaction_status(cmd, CAM_RESRC_UNAVAIL);
                ahd_linux_queue_cmd_complete(ahd, cmd);
                ahd_schedule_completeq(ahd);
-               ahd_unlock(ahd, &flags);
+               ahd_midlayer_entrypoint_unlock(ahd, &flags);
                printf("%s: aic79xx_linux_queue - Unable to allocate device!\n",
                       ahd_name(ahd));
                return (0);
@@ -979,7 +979,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
                dev->flags |= AHD_DEV_ON_RUN_LIST;
                ahd_linux_run_device_queues(ahd);
        }
-       ahd_unlock(ahd, &flags);
+       ahd_midlayer_entrypoint_unlock(ahd, &flags);
        return (0);
 }