RE: [PATCH V2 03/24] aacraid: added support for init_struct_8

2017-01-26 Thread Raghava Aditya Renukunta


> -Original Message-
> From: Johannes Thumshirn [mailto:jthumsh...@suse.de]
> Sent: Thursday, January 26, 2017 12:37 AM
> To: Raghava Aditya Renukunta
> <raghavaaditya.renuku...@microsemi.com>
> Cc: j...@linux.vnet.ibm.com; martin.peter...@oracle.com; linux-
> s...@vger.kernel.org; Dave Carroll <david.carr...@microsemi.com>; Gana
> Sridaran <gana.srida...@microsemi.com>; Scott Benesh
> <scott.ben...@microsemi.com>
> Subject: Re: [PATCH V2 03/24] aacraid: added support for init_struct_8
> 
> EXTERNAL EMAIL
> 
> 
> On Wed, Jan 25, 2017 at 10:00:50AM -0800, Raghava Aditya Renukunta wrote:
> > This  patch lays the groundwork for supporting the new HBA-1000
> controller
> > family.A new INIT structure INIT_STRUCT_8 has been added which allows
> for a
> > variable size for MSI-x vectors among other things,  and is used for both
> > Series-8, HBA-1000 and SmartIOC-2000.
> >
> > Signed-off-by: Raghava Aditya Renukunta
> <raghavaaditya.renuku...@microsemi.com>
> > Signed-off-by: Dave Carroll <david.carr...@microsemi.com>
> >
> > ---
> 
> [...]
> 
> > -struct aac_init
> > +union aac_init
> >  {
> > - __le32  InitStructRevision;
> > - __le32  Sa_MSIXVectors;
> > - __le32  fsrev;
> > - __le32  CommHeaderAddress;
> > - __le32  FastIoCommAreaAddress;
> > - __le32  AdapterFibsPhysicalAddress;
> > - __le32  AdapterFibsVirtualAddress;
> > - __le32  AdapterFibsSize;
> > - __le32  AdapterFibAlign;
> > - __le32  printfbuf;
> > - __le32  printfbufsiz;
> > - __le32  HostPhysMemPages;   /* number of 4k pages of host
> > -physical memory */
> > - __le32  HostElapsedSeconds; /* number of seconds since 1970. */
> > - /*
> > -  * ADAPTER_INIT_STRUCT_REVISION_4 begins here
> > -  */
> > - __le32  InitFlags;  /* flags for supported features */
> > + struct _r7 {
> > + __le32  InitStructRevision;
> > + __le32  NoOfMSIXVectors;
> > + __le32  fsrev;
> > + __le32  CommHeaderAddress;
> > + __le32  FastIoCommAreaAddress;
> > + __le32  AdapterFibsPhysicalAddress;
> > + __le32  AdapterFibsVirtualAddress;
> > + __le32  AdapterFibsSize;
> > + __le32  AdapterFibAlign;
> > + __le32  printfbuf;
> > + __le32  printfbufsiz;
> > + /* number of 4k pages of host phys. mem. */
> > + __le32  HostPhysMemPages;
> > + /* number of seconds since 1970. */
> > + __le32  HostElapsedSeconds;
> > + /* ADAPTER_INIT_STRUCT_REVISION_4 begins here */
> > + __le32  InitFlags;  /* flags for supported features */
> >  #define INITFLAGS_NEW_COMM_SUPPORTED 0x0001
> >  #define INITFLAGS_DRIVER_USES_UTC_TIME   0x0010
> >  #define INITFLAGS_DRIVER_SUPPORTS_PM 0x0020
> >  #define INITFLAGS_NEW_COMM_TYPE1_SUPPORTED   0x0040
> >  #define INITFLAGS_FAST_JBOD_SUPPORTED0x0080
> >  #define INITFLAGS_NEW_COMM_TYPE2_SUPPORTED   0x0100
> > - __le32  MaxIoCommands;  /* max outstanding commands */
> > - __le32  MaxIoSize;  /* largest I/O command */
> > - __le32  MaxFibSize; /* largest FIB to adapter */
> > - /* ADAPTER_INIT_STRUCT_REVISION_5 begins here */
> > - __le32  MaxNumAif;  /* max number of aif */
> > - /* ADAPTER_INIT_STRUCT_REVISION_6 begins here */
> > - __le32  HostRRQ_AddrLow;
> > - __le32  HostRRQ_AddrHigh;   /* Host RRQ (response queue) for SRC
> */
> > +#define INITFLAGS_DRIVER_SUPPORTS_HBA_MODE  0x0400
> > + __le32  MaxIoCommands;  /* max outstanding commands */
> > + __le32  MaxIoSize;  /* largest I/O command */
> > + __le32  MaxFibSize; /* largest FIB to adapter */
> > + /* ADAPTER_INIT_STRUCT_REVISION_5 begins here */
> > + __le32  MaxNumAif;  /* max number of aif */
> > + /* ADAPTER_INIT_STRUCT_REVISION_6 begins here */
> > + /* Host RRQ (response queue) for SRC */
> > + __le32  HostRRQ_AddrLow;
> > + __le32  HostRRQ_AddrHigh;
> > + } r7;
> > + struct _r8 {
> > + /* ADAPTER_INIT_STRUCT_REVISION_8 */
> > + __le32  InitStructRevision;
> > + __le32  RRQueueCount;
> > + __le32  HostElapsedSeconds; /* number of seconds si

Re: [PATCH V2 03/24] aacraid: added support for init_struct_8

2017-01-26 Thread Johannes Thumshirn
On Wed, Jan 25, 2017 at 10:00:50AM -0800, Raghava Aditya Renukunta wrote:
> This  patch lays the groundwork for supporting the new HBA-1000 controller
> family.A new INIT structure INIT_STRUCT_8 has been added which allows for a
> variable size for MSI-x vectors among other things,  and is used for both
> Series-8, HBA-1000 and SmartIOC-2000.
> 
> Signed-off-by: Raghava Aditya Renukunta 
> 
> Signed-off-by: Dave Carroll 
> 
> ---

[...]

> -struct aac_init
> +union aac_init
>  {
> - __le32  InitStructRevision;
> - __le32  Sa_MSIXVectors;
> - __le32  fsrev;
> - __le32  CommHeaderAddress;
> - __le32  FastIoCommAreaAddress;
> - __le32  AdapterFibsPhysicalAddress;
> - __le32  AdapterFibsVirtualAddress;
> - __le32  AdapterFibsSize;
> - __le32  AdapterFibAlign;
> - __le32  printfbuf;
> - __le32  printfbufsiz;
> - __le32  HostPhysMemPages;   /* number of 4k pages of host
> -physical memory */
> - __le32  HostElapsedSeconds; /* number of seconds since 1970. */
> - /*
> -  * ADAPTER_INIT_STRUCT_REVISION_4 begins here
> -  */
> - __le32  InitFlags;  /* flags for supported features */
> + struct _r7 {
> + __le32  InitStructRevision;
> + __le32  NoOfMSIXVectors;
> + __le32  fsrev;
> + __le32  CommHeaderAddress;
> + __le32  FastIoCommAreaAddress;
> + __le32  AdapterFibsPhysicalAddress;
> + __le32  AdapterFibsVirtualAddress;
> + __le32  AdapterFibsSize;
> + __le32  AdapterFibAlign;
> + __le32  printfbuf;
> + __le32  printfbufsiz;
> + /* number of 4k pages of host phys. mem. */
> + __le32  HostPhysMemPages;
> + /* number of seconds since 1970. */
> + __le32  HostElapsedSeconds;
> + /* ADAPTER_INIT_STRUCT_REVISION_4 begins here */
> + __le32  InitFlags;  /* flags for supported features */
>  #define INITFLAGS_NEW_COMM_SUPPORTED 0x0001
>  #define INITFLAGS_DRIVER_USES_UTC_TIME   0x0010
>  #define INITFLAGS_DRIVER_SUPPORTS_PM 0x0020
>  #define INITFLAGS_NEW_COMM_TYPE1_SUPPORTED   0x0040
>  #define INITFLAGS_FAST_JBOD_SUPPORTED0x0080
>  #define INITFLAGS_NEW_COMM_TYPE2_SUPPORTED   0x0100
> - __le32  MaxIoCommands;  /* max outstanding commands */
> - __le32  MaxIoSize;  /* largest I/O command */
> - __le32  MaxFibSize; /* largest FIB to adapter */
> - /* ADAPTER_INIT_STRUCT_REVISION_5 begins here */
> - __le32  MaxNumAif;  /* max number of aif */
> - /* ADAPTER_INIT_STRUCT_REVISION_6 begins here */
> - __le32  HostRRQ_AddrLow;
> - __le32  HostRRQ_AddrHigh;   /* Host RRQ (response queue) for SRC */
> +#define INITFLAGS_DRIVER_SUPPORTS_HBA_MODE  0x0400
> + __le32  MaxIoCommands;  /* max outstanding commands */
> + __le32  MaxIoSize;  /* largest I/O command */
> + __le32  MaxFibSize; /* largest FIB to adapter */
> + /* ADAPTER_INIT_STRUCT_REVISION_5 begins here */
> + __le32  MaxNumAif;  /* max number of aif */
> + /* ADAPTER_INIT_STRUCT_REVISION_6 begins here */
> + /* Host RRQ (response queue) for SRC */
> + __le32  HostRRQ_AddrLow;
> + __le32  HostRRQ_AddrHigh;
> + } r7;
> + struct _r8 {
> + /* ADAPTER_INIT_STRUCT_REVISION_8 */
> + __le32  InitStructRevision;
> + __le32  RRQueueCount;
> + __le32  HostElapsedSeconds; /* number of seconds since 1970. */
> + __le32  InitFlags;
> + __le32  MaxIoSize;  /* largest I/O command */
> + __le32  MaxNumAif;  /* max number of aif */
> + __le32  Reserved1;
> + __le32  Reserved2;
> + struct _rrq {
> + __le32  Host_AddrLow;
> + __le32  Host_AddrHigh;
> + __le16  MSIX_Id;
> + __le16  ElementCount;
> + __le16  Comp_Thresh;
> + __le16  Unused;
> + } rrq[1];   /* up to 64 RRQ addresses */
> + } r8;
>  };

Is this CamelCase pollution really needed? You're touching it anyways, so
wouldn't it be a great chance to run 
sed -e 's/\([A-Z]\)/_\l\1/g' -e 's/^_\([a-z]\)/\1/g'
on the new structures?

[...]

-- 
Johannes Thumshirn  Storage
jthumsh...@suse.de+49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to