06 May, 2011

3 commits


12 Mar, 2011

1 commit


11 Jan, 2011

1 commit


08 Aug, 2010

3 commits

  • cciss: Fix hard reset code.
    Smart Array controllers newer than the P600 do not honor the
    PCI power state method of resetting the controllers. Instead,
    in these cases we can get them to reset via the "doorbell" register.

    This escaped notice until we began using "performant" mode because
    the fact that the controllers did not reset did not normally
    impede subsequent operation, and so things generally appeared to
    "work". Once the performant mode code was added, if the controller
    does not reset, it remains in performant mode. The code immediately
    after the reset presumes the controller is in "simple" mode
    (which previously, it had remained in simple mode the whole time).
    If the controller remains in performant mode any code which presumes
    it is in simple mode will not work. So the reset needs to be fixed.

    Unfortunately there are some controllers which cannot be reset by
    either method. (eg. p800). We detect these cases by noticing that
    the controller seems to remain in performant mode even after a
    reset has been attempted. In those cases we ignore the controller,
    as any commands outstanding on it will result in stale completions.
    To sum up, we try to do a better job of resetting the controller if
    "reset_devices" is set, and if it doesn't work, we ignore that
    controller.

    Signed-off-by: Stephen M. Cameron
    Signed-off-by: Jens Axboe

    Stephen M. Cameron
     
  • Change the command padding on 32-bit systems to 0 since setting it to 32
    has the identical effect.

    Signed-off-by: Mike Miller
    Cc: Stephen M. Cameron
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Mike Miller
     
  • Add a mode of controller operation called Performant Mode. Even though
    cciss has been deprecated in favor of hpsa there are new controllers due
    out next year that HP must support in older vendor distros. Vendors
    require all fixes/features be upstream. These new controllers support
    only 16 commands in simple mode but support up to 1024 in performant mode.
    This requires us to add this support at this late date.

    The performant mode transport minimizes host PCI accesses by performinf
    many completions per read. PCI writes are posted so the host can write
    then immediately get off the bus not waiting for the writwe to complete to
    the target. In the context of performant mode the host read out to a
    controller pulls all posted writes into host memory ensuring the reply
    queue is coherent.

    Signed-off-by: Mike Miller
    Cc: Stephen M. Cameron
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Mike Miller
     

01 Mar, 2010

2 commits


22 Feb, 2010

2 commits


10 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     

05 Dec, 2009

1 commit


13 Nov, 2009

1 commit

  • cciss: Add enhanced scatter-gather support. For controllers which
    supported, more than 512 scatter-gather elements per command may
    be used, and the max transfer size can be increased to 8192 blocks.

    Signed-off-by: Don Brace
    Signed-off-by: Stephen M. Cameron
    Signed-off-by: Jens Axboe

    Don Brace
     

04 Jul, 2009

1 commit

  • When doing an unexpected shutdown like kexec the cciss
    firmware might still have some commands in flight, which
    it is trying to complete.
    The driver is doing it's best on resetting the HBA,
    but sadly there's a firmware issue causing the firmware
    _not_ to abort or drop old commands.
    So the firmware will send us commands which we haven't
    accounted for, causing the driver to panic.

    With this patch we're just ignoring these commands as
    there is nothing we could be doing with them anyway.

    Signed-off-by: Hannes Reinecke
    Acked-by: Mike Miller
    Signed-off-by: Jens Axboe

    Hannes Reinecke
     

09 Jun, 2009

1 commit


07 Apr, 2009

1 commit

  • The MSA2012 cannot inform the driver of configuration changes since all
    management is out of band. This is a departure from any storage we have
    supported in the past. We need some way to detect changes on the topology
    so we implement this kernel thread. In some instances there's nothing we
    can do from the driver (like LUN failure) so just print out a message. In
    the case where logical volumes are added or deleted we call
    rebuild_lun_table to refresh the driver's view of the world.

    Signed-off-by: Mike Miller
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Mike Miller
     

29 Dec, 2008

1 commit


08 Dec, 2006

2 commits


01 Oct, 2006

1 commit


13 Sep, 2005

1 commit

  • This patch changes the way we complete commands. In the old method when we
    got a completion we searched our command list from the top until we find it.

    This method uses a tag associated with each command (not SCSI command tagging)
    to index us directly to the completed command. This helps performance.

    Signed-off-by: Don Brace
    Signed-off-by: Mike Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds