All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shaun R." <mailinglists@unix-scripts.com>
To: xen-devel@lists.xensource.com
Subject: Re: Re: 3ware 9650 and Xen 3.1
Date: Fri, 14 Sep 2007 15:41:16 -0700	[thread overview]
Message-ID: <fcf2n1$sfa$1@sea.gmane.org> (raw)
In-Reply-To: <C30D54F6.D741%Keir.Fraser@cl.cam.ac.uk>

ok, i finally got it to boot, i had to do some digging and used the previous 
3ware driver version and it works, not here's the diff of the two... doesnt 
look like too much was changed so i figured i would paste it and see if you 
had a idea about if the problem was with 3wares driver or somthing in the 
xen kernel patch...


[root@devhost1 3w-drivers]# diff -dNuar 9.4.0.1 9.4.1.2
diff -dNuar 9.4.0.1/3w-9xxx.c 9.4.1.2/3w-9xxx.c
--- 9.4.0.1/3w-9xxx.c   2006-10-20 13:22:02.000000000 -0700
+++ 9.4.1.2/3w-9xxx.c   2007-01-23 16:57:56.000000000 -0800
@@ -4,7 +4,7 @@
    Written By: Adam Radford <linuxraid@amcc.com>
    Modifications By: Tom Couch <linuxraid@amcc.com>

-   Copyright (C) 2004-2006 Applied Micro Circuits Corporation.
+   Copyright (C) 2004-2007 Applied Micro Circuits Corporation.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -66,9 +66,10 @@
    2.26.02.006 - Fix 9550SX pchip reset timeout.
                  Add big endian support.
    2.26.02.007 - Disable local interrupts during kmap/unmap_atomic().
-   2.26.02.008 - Free irq handler in __twa_shutdown().
+   2.26.06.001 - Free irq handler in __twa_shutdown().
                  Serialize reset code.
                  Add support for 9650SE controllers.
+   2.26.06.002 - Fix dma mask setting to fallback to 32-bit if 64-bit 
fails.
 */

 #include <linux/module.h>
@@ -92,7 +93,7 @@
 #include "3w-9xxx.h"

 /* Globals */
-#define TW_DRIVER_VERSION "2.26.02.008"
+#define TW_DRIVER_VERSION "2.26.06.002-2.6.19"
 static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
 static unsigned int twa_device_extension_count;
 static int twa_major = -1;
@@ -1196,7 +1197,6 @@
        u32 status_reg_value;
        TW_Response_Queue response_que;
        TW_Command_Full *full_command_packet;
-       TW_Command *command_packet;
        TW_Device_Extension *tw_dev = (TW_Device_Extension *)dev_instance;
        int handled = 0;

@@ -1274,7 +1274,6 @@
                        request_id = TW_RESID_OUT(response_que.response_id);
                        full_command_packet = 
tw_dev->command_packet_virt[request_id];
                        error = 0;
-                       command_packet = 
&full_command_packet->command.oldcommand;
                        /* Check for command packet errors */
                        if (full_command_packet->command.newcommand.status 
!= 0) {
                                if (tw_dev->srb[request_id] != 0) {
@@ -2063,11 +2062,14 @@

        pci_set_master(pdev);

-       retval = pci_set_dma_mask(pdev, sizeof(dma_addr_t) > 4 ? 
DMA_64BIT_MASK : DMA_32BIT_MASK);
-       if (retval) {
-               TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask");
-               goto out_disable_device;
-       }
+       if (pci_set_dma_mask(pdev, DMA_64BIT_MASK)
+           || pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))
+               if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)
+                   || pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK)) {
+                       TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma 
mask");
+                       retval = -ENODEV;
+                       goto out_disable_device;
+               }

        host = scsi_host_alloc(&driver_template, 
sizeof(TW_Device_Extension));
        if (!host) {
@@ -2147,7 +2149,7 @@
                                     TW_PARAM_PORTCOUNT, 
TW_PARAM_PORTCOUNT_LENGTH)));

        /* Now setup the interrupt handler */
-       retval = request_irq(pdev->irq, twa_interrupt, SA_SHIRQ, "3w-9xxx", 
tw_dev);
+       retval = request_irq(pdev->irq, twa_interrupt, IRQF_SHARED, 
"3w-9xxx", tw_dev);
        if (retval) {
                TW_PRINTK(tw_dev->host, TW_DRIVER, 0x30, "Error requesting 
IRQ");
                goto out_remove_host;
@@ -2240,7 +2242,7 @@
 {
        printk(KERN_WARNING "3ware 9000 Storage Controller device driver for 
Linux v%s.\n", TW_DRIVER_VERSION);

-       return pci_register_driver(&twa_driver);
+       return pci_module_init(&twa_driver);
 } /* End twa_init() */

 /* This function is called on driver exit */ 

  parent reply	other threads:[~2007-09-14 22:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-11  7:17 3ware 9650 and Xen 3.1 Shaun R.
2007-09-11  7:33 ` Keir Fraser
2007-09-11 20:38   ` Shaun R.
2007-09-11 23:33   ` Shaun R.
2007-09-12  7:33     ` Keir Fraser
2007-09-13  6:01       ` Shaun R.
2007-09-13  7:43         ` Robert Valentan
2007-09-13 19:40           ` Shaun R.
2007-09-13 20:36           ` Shaun R.
2007-09-14 22:41       ` Shaun R. [this message]
2007-09-15  7:22         ` Keir Fraser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='fcf2n1$sfa$1@sea.gmane.org' \
    --to=mailinglists@unix-scripts.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.