On 12/01/2015 10:03 PM, wenxi...@linux.vnet.ibm.com wrote:
> From: Wen Xiong <wenxi...@linux.vnet.ibm.com>
> 
> Add the appropriate definitions and table entries for new
> adapters support.
> 
> Signed-off-by: Wen Xiong <wenxi...@linux.vnet.ibm.com>
> 
> ---
>  drivers/scsi/ipr.c |   34 ++++++++++++++++++++++++++++++++++
>  drivers/scsi/ipr.h |    3 +++
>  2 files changed, 37 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
> index f2df57a..28c0aac 100644
> --- a/drivers/scsi/ipr.c
> +++ b/drivers/scsi/ipr.c
> @@ -189,6 +189,35 @@ static const struct ipr_chip_cfg_t ipr_chip_cfg[] = {
>                       .endian_swap_reg = 0x00084
>               }
>       },
> +     { /* RattleSnake */
> +             .mailbox = 0x00044,
> +             .max_cmds = 1000,
> +             .cache_line_size = 0x20,
> +             .clear_isr = 0,
> +             .iopoll_weight = 64,
> +             {
> +                     .set_interrupt_mask_reg = 0x00010,
> +                     .clr_interrupt_mask_reg = 0x00018,
> +                     .clr_interrupt_mask_reg32 = 0x0001C,
> +                     .sense_interrupt_mask_reg = 0x00010,
> +                     .sense_interrupt_mask_reg32 = 0x00014,
> +                     .clr_interrupt_reg = 0x00008,
> +                     .clr_interrupt_reg32 = 0x0000C,
> +                     .sense_interrupt_reg = 0x00000,
> +                     .sense_interrupt_reg32 = 0x00004,
> +                     .ioarrin_reg = 0x00070,
> +                     .sense_uproc_interrupt_reg = 0x00020,
> +                     .sense_uproc_interrupt_reg32 = 0x00024,
> +                     .set_uproc_interrupt_reg = 0x00020,
> +                     .set_uproc_interrupt_reg32 = 0x00024,
> +                     .clr_uproc_interrupt_reg = 0x00028,
> +                     .clr_uproc_interrupt_reg32 = 0x0002C,
> +                     .init_feedback_reg = 0x0005C,
> +                     .dump_addr_reg = 0x00064,
> +                     .dump_data_reg = 0x00068,
> +                     .endian_swap_reg = 0x00084
> +             }

Since these settings are all identical to Croc and Crocodile, can we just 
re-use the CroC entry in this array rather
than creating a new entry that has identical data?


> +     },
>  };
> 
>  static const struct ipr_chip_t ipr_chip[] = {
> @@ -201,6 +230,7 @@ static const struct ipr_chip_t ipr_chip[] = {
>       { PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_SCAMP, IPR_USE_LSI, 
> IPR_SIS32, IPR_PCI_CFG, &ipr_chip_cfg[1] },
>       { PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CROC_FPGA_E2, IPR_USE_MSI, 
> IPR_SIS64, IPR_MMIO, &ipr_chip_cfg[2] },
>       { PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CROCODILE, IPR_USE_MSI, 
> IPR_SIS64, IPR_MMIO, &ipr_chip_cfg[2] }
> +     { PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_RATTLESNAME, IPR_USE_MSI, 
> IPR_SIS64, IPR_MMIO, &ipr_chip_cfg[3] }

Then we'd just change this to point to &ipr_chip_cfg[2]

>  };
> 
>  static int ipr_max_bus_speeds[] = {
> @@ -10787,6 +10817,10 @@ static struct pci_device_id ipr_pci_table[] = {
>               PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_2CD2, 0, 0, 0 },
>       { PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CROCODILE,
>               PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_2CCD, 0, 0, 0 },
> +     { PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_RATTLESNAKE,
> +             PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_580A, 0, 0, 0 },
> +     { PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_RATTLESNAKE,
> +             PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_580B, 0, 0, 0 },
>       { }
>  };
>  MODULE_DEVICE_TABLE(pci, ipr_pci_table);
> diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
> index a7ef83f..32c8b26 100644
> --- a/drivers/scsi/ipr.h
> +++ b/drivers/scsi/ipr.h
> @@ -60,6 +60,7 @@
> 
>  #define PCI_DEVICE_ID_IBM_CROC_FPGA_E2          0x033D
>  #define PCI_DEVICE_ID_IBM_CROCODILE             0x034A
> +#define PCI_DEVICE_ID_IBM_RATTLESNAKE                0x04DA
> 
>  #define IPR_SUBS_DEV_ID_2780 0x0264
>  #define IPR_SUBS_DEV_ID_5702 0x0266
> @@ -111,6 +112,8 @@
>  #define IPR_SUBS_DEV_ID_2CCA 0x04C7
>  #define IPR_SUBS_DEV_ID_2CD2 0x04C8
>  #define IPR_SUBS_DEV_ID_2CCD 0x04C9
> +#define IPR_SUBS_DEV_ID_580A 0x04FC
> +#define IPR_SUBS_DEV_ID_580B 0x04FB
>  #define IPR_NAME                             "ipr"
> 
>  /*
> 


-- 
Brian King
Power Linux I/O
IBM Linux Technology Center


------------------------------------------------------------------------------
_______________________________________________
Iprdd-devel mailing list
Iprdd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iprdd-devel

Reply via email to