linux/Documentation/scsi/ChangeLog.arcmsr
<<
>>
Prefs
   1**************************************************************************
   2** History
   3**
   4**   REV#         DATE             NAME         DESCRIPTION
   5** 1.00.00.00    3/31/2004       Erich Chen     First release
   6** 1.10.00.04    7/28/2004       Erich Chen     modify for ioctl
   7** 1.10.00.06    8/28/2004       Erich Chen     modify for 2.6.x
   8** 1.10.00.08    9/28/2004       Erich Chen     modify for x86_64
   9** 1.10.00.10   10/10/2004       Erich Chen     bug fix for SMP & ioctl
  10** 1.20.00.00   11/29/2004       Erich Chen     bug fix with arcmsr_bus_reset when PHY error
  11** 1.20.00.02   12/09/2004       Erich Chen     bug fix with over 2T bytes RAID Volume
  12** 1.20.00.04    1/09/2005       Erich Chen     fits for Debian linux kernel version 2.2.xx
  13** 1.20.00.05    2/20/2005       Erich Chen     cleanly as look like a Linux driver at 2.6.x
  14**                                              thanks for peoples kindness comment
  15**                                              Kornel Wieliczek
  16**                                              Christoph Hellwig
  17**                                              Adrian Bunk
  18**                                              Andrew Morton
  19**                                              Christoph Hellwig
  20**                                              James Bottomley
  21**                                              Arjan van de Ven
  22** 1.20.00.06    3/12/2005       Erich Chen     fix with arcmsr_pci_unmap_dma "unsigned long" cast,
  23**                                              modify PCCB POOL allocated by "dma_alloc_coherent"
  24**                                              (Kornel Wieliczek's comment)
  25** 1.20.00.07    3/23/2005       Erich Chen     bug fix with arcmsr_scsi_host_template_init
  26**                                              occur segmentation fault,
  27**                                              if RAID adapter does not on PCI slot
  28**                                              and modprobe/rmmod this driver twice.
  29**                                              bug fix enormous stack usage (Adrian Bunk's comment)
  30** 1.20.00.08    6/23/2005       Erich Chen     bug fix with abort command,
  31**                                              in case of heavy loading when sata cable
  32**                                              working on low quality connection
  33** 1.20.00.09    9/12/2005       Erich Chen     bug fix with abort command handling, firmware version check
  34**                                              and firmware update notify for hardware bug fix
  35** 1.20.00.10    9/23/2005       Erich Chen     enhance sysfs function for change driver's max tag Q number.
  36**                                              add DMA_64BIT_MASK for backward compatible with all 2.6.x
  37**                                              add some useful message for abort command
  38**                                              add ioctl code 'ARCMSR_IOCTL_FLUSH_ADAPTER_CACHE'
  39**                                              customer can send this command for sync raid volume data
  40** 1.20.00.11    9/29/2005       Erich Chen     by comment of Arjan van de Ven fix incorrect msleep redefine
  41**                                              cast off sizeof(dma_addr_t) condition for 64bit pci_set_dma_mask
  42** 1.20.00.12    9/30/2005       Erich Chen     bug fix with 64bit platform's ccbs using if over 4G system memory
  43**                                              change 64bit pci_set_consistent_dma_mask into 32bit
  44**                                              increcct adapter count if adapter initialize fail.
  45**                                              miss edit at arcmsr_build_ccb....
  46**                                              psge += sizeof(struct _SG64ENTRY *) =>
  47**                                              psge += sizeof(struct _SG64ENTRY)
  48**                                              64 bits sg entry would be incorrectly calculated
  49**                                              thanks Kornel Wieliczek give me kindly notify
  50**                                              and detail description
  51** 1.20.00.13   11/15/2005       Erich Chen     scheduling pending ccb with FIFO
  52**                                              change the architecture of arcmsr command queue list
  53**                                              for linux standard list
  54**                                              enable usage of pci message signal interrupt
  55**                                              follow Randy.Danlup kindness suggestion cleanup this code
  56** 1.20.00.14   05/02/2007       Erich Chen & Nick Cheng
  57**                                              1.implement PCI-Express error recovery function and AER capability
  58**                                              2.implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096
  59**                                              if firmware version is newer than 1.42
  60**                                              3.modify arcmsr_iop_reset to improve the ability
  61**                                              4.modify the ISR, arcmsr_interrupt routine,to prevent the
  62**                                              inconsistency with sg_mod driver if application directly calls
  63**                                              the arcmsr driver w/o passing through scsi mid layer
  64**                                              specially thanks to Yanmin Zhang's openhanded help about AER
  65** 1.20.00.15   08/30/2007       Erich Chen & Nick Cheng
  66**                                              1. support ARC1200/1201/1202 SATA RAID adapter, which is named
  67**                                              ACB_ADAPTER_TYPE_B
  68**                                              2. modify the arcmsr_pci_slot_reset function
  69**                                              3. modify the arcmsr_pci_ers_disconnect_forepart function
  70**                                              4. modify the arcmsr_pci_ers_need_reset_forepart function
  71** 1.20.00.15   09/27/2007       Erich Chen & Nick Cheng
  72**                                              1. add arcmsr_enable_eoi_mode() on adapter Type B
  73**                                              2. add readl(reg->iop2drv_doorbell_reg) in arcmsr_handle_hbb_isr()
  74**                                              in case of the doorbell interrupt clearance is cached
  75** 1.20.00.15   10/01/2007       Erich Chen & Nick Cheng
  76**                                              1. modify acb->devstate[i][j]
  77**                                              as ARECA_RAID_GOOD instead of
  78**                                              ARECA_RAID_GONE in arcmsr_alloc_ccb_pool
  79** 1.20.00.15   11/06/2007       Erich Chen & Nick Cheng
  80**                                              1. add conditional declaration for
  81**                                              arcmsr_pci_error_detected() and
  82**                                              arcmsr_pci_slot_reset
  83** 1.20.00.15   11/23/2007       Erich Chen & Nick Cheng
  84**                                              1.check if the sg list member number
  85**                                              exceeds arcmsr default limit in arcmsr_build_ccb()
  86**                                              2.change the returned value type of arcmsr_build_ccb()
  87**                                              from "void" to "int"
  88**                                              3.add the conditional check if arcmsr_build_ccb()
  89**                                              returns FAILED
  90** 1.20.00.15   12/04/2007       Erich Chen & Nick Cheng
  91**                                              1. modify arcmsr_drain_donequeue() to ignore unknown
  92**                                              command and let kernel process command timeout.
  93**                                              This could handle IO request violating max. segments
  94**                                              while Linux XFS over DM-CRYPT.
  95**                                              Thanks to Milan Broz's comments <mbroz@redhat.com>
  96** 1.20.00.15   12/24/2007       Erich Chen & Nick Cheng
  97**                                              1.fix the portability problems
  98**                                              2.fix type B where we should _not_ iounmap() acb->pmu;
  99**                                              it's not ioremapped.
 100**                                              3.add return -ENOMEM if ioremap() fails
 101**                                              4.transfer IS_SG64_ADDR w/ cpu_to_le32()
 102**                                              in arcmsr_build_ccb
 103**                                              5. modify acb->devstate[i][j] as ARECA_RAID_GONE instead of
 104**                                              ARECA_RAID_GOOD in arcmsr_alloc_ccb_pool()
 105**                                              6.fix arcmsr_cdb->Context as (unsigned long)arcmsr_cdb
 106**                                              7.add the checking state of
 107**                                              (outbound_intstatus & ARCMSR_MU_OUTBOUND_HANDLE_INT) == 0
 108**                                              in arcmsr_handle_hba_isr
 109**                                              8.replace pci_alloc_consistent()/pci_free_consistent() with kmalloc()/kfree() in arcmsr_iop_message_xfer()
 110**                                              9. fix the release of dma memory for type B in arcmsr_free_ccb_pool()
 111**                                              10.fix the arcmsr_polling_hbb_ccbdone()
 112** 1.20.00.15   02/27/2008      Erich Chen & Nick Cheng
 113**                                              1.arcmsr_iop_message_xfer() is called from atomic context under the
 114**                                              queuecommand scsi_host_template handler. James Bottomley pointed out
 115**                                              that the current GFP_KERNEL|GFP_DMA flags are wrong: firstly we are in
 116**                                              atomic context, secondly this memory is not used for DMA.
 117**                                              Also removed some unneeded casts. Thanks to Daniel Drake <dsd@gentoo.org>
 118**************************************************************************
 119