Re: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h" for internal shared functions using

2014-12-10 Thread Chen Gang
On 12/10/14 16:47, Sumit Saxena wrote:
>> From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>> Sent: Sunday, November 30, 2014 8:37 AM
>>
>> Is it OK?  or if possible, please help rebase and send the patch for it
>> based on
>> the related branches and patches.
> Sorry for delay in response, patch series sent by me is accepted at
> upstream. Please rebase "for-next" branch of scsi.git, here is git address
> of tree-
> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
> 
> Please sent out patch v2, I will ACK.
> 

OK, thanks, I shall try to send patch v2 within this week (2014-12-14).


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h" for internal shared functions using

2014-12-10 Thread Sumit Saxena
>-Original Message-
>From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>Sent: Sunday, November 30, 2014 8:37 AM
>To: Sumit Saxena
>Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
>ker...@vger.kernel.org
>Subject: Re: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h"
>for internal shared functions using
>
>On 11/17/14 19:51, Sumit Saxena wrote:
>>> -Original Message-
>>> From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>>> Sent: Monday, November 17, 2014 5:17 PM
>>> To: Sumit Saxena
>>> Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
>>> ker...@vger.kernel.org
>>> Subject: RE: [PATCH] drivers: scsi: megaraid: Add
>"megaraid_sas_internal.h"
>>> for internal shared functions using
>>>
>>>
>>> OK, I will send patch v2 for it.
>>>
>>> I sent this patch based on Linux next tree, please tell me the tree
>>> location (git
>>> address) which I shall base on for sending patch v2.
>>
>> I posted the patch series today, once the patches make it to scsi-next
>> tree, I will let you know.
>>
>
>Is it OK?  or if possible, please help rebase and send the patch for it
>based on
>the related branches and patches.
Sorry for delay in response, patch series sent by me is accepted at
upstream. Please rebase "for-next" branch of scsi.git, here is git address
of tree-
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git

Please sent out patch v2, I will ACK.

Thanks
Sumit

>
>Thanks.
>--
>Chen Gang
>
>Open, share, and attitude like air, water, and life which God blessed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-12-10 Thread Sumit Saxena
-Original Message-
From: Chen Gang [mailto:gang.chen.5...@gmail.com]
Sent: Sunday, November 30, 2014 8:37 AM
To: Sumit Saxena
Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
ker...@vger.kernel.org
Subject: Re: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h
for internal shared functions using

On 11/17/14 19:51, Sumit Saxena wrote:
 -Original Message-
 From: Chen Gang [mailto:gang.chen.5...@gmail.com]
 Sent: Monday, November 17, 2014 5:17 PM
 To: Sumit Saxena
 Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
 ker...@vger.kernel.org
 Subject: RE: [PATCH] drivers: scsi: megaraid: Add
megaraid_sas_internal.h
 for internal shared functions using


 OK, I will send patch v2 for it.

 I sent this patch based on Linux next tree, please tell me the tree
 location (git
 address) which I shall base on for sending patch v2.

 I posted the patch series today, once the patches make it to scsi-next
 tree, I will let you know.


Is it OK?  or if possible, please help rebase and send the patch for it
based on
the related branches and patches.
Sorry for delay in response, patch series sent by me is accepted at
upstream. Please rebase for-next branch of scsi.git, here is git address
of tree-
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git

Please sent out patch v2, I will ACK.

Thanks
Sumit


Thanks.
--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-12-10 Thread Chen Gang
On 12/10/14 16:47, Sumit Saxena wrote:
 From: Chen Gang [mailto:gang.chen.5...@gmail.com]
 Sent: Sunday, November 30, 2014 8:37 AM

 Is it OK?  or if possible, please help rebase and send the patch for it
 based on
 the related branches and patches.
 Sorry for delay in response, patch series sent by me is accepted at
 upstream. Please rebase for-next branch of scsi.git, here is git address
 of tree-
 git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
 
 Please sent out patch v2, I will ACK.
 

OK, thanks, I shall try to send patch v2 within this week (2014-12-14).


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h" for internal shared functions using

2014-11-29 Thread Chen Gang
On 11/17/14 19:51, Sumit Saxena wrote:
>> -Original Message-
>> From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>> Sent: Monday, November 17, 2014 5:17 PM
>> To: Sumit Saxena
>> Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
>> ker...@vger.kernel.org
>> Subject: RE: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h"
>> for internal shared functions using
>>
>>
>> OK, I will send patch v2 for it.
>>
>> I sent this patch based on Linux next tree, please tell me the tree
>> location (git
>> address) which I shall base on for sending patch v2.
> 
> I posted the patch series today, once the patches make it to scsi-next tree,
> I will let you know.
> 

Is it OK?  or if possible, please help rebase and send the patch for it
based on the related branches and patches.

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-11-29 Thread Chen Gang
On 11/17/14 19:51, Sumit Saxena wrote:
 -Original Message-
 From: Chen Gang [mailto:gang.chen.5...@gmail.com]
 Sent: Monday, November 17, 2014 5:17 PM
 To: Sumit Saxena
 Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
 ker...@vger.kernel.org
 Subject: RE: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h
 for internal shared functions using


 OK, I will send patch v2 for it.

 I sent this patch based on Linux next tree, please tell me the tree
 location (git
 address) which I shall base on for sending patch v2.
 
 I posted the patch series today, once the patches make it to scsi-next tree,
 I will let you know.
 

Is it OK?  or if possible, please help rebase and send the patch for it
based on the related branches and patches.

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h" for internal shared functions using

2014-11-17 Thread Sumit Saxena
>-Original Message-
>From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>Sent: Monday, November 17, 2014 5:17 PM
>To: Sumit Saxena
>Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
>ker...@vger.kernel.org
>Subject: RE: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h"
>for internal shared functions using
>
>
>OK, I will send patch v2 for it.
>
>I sent this patch based on Linux next tree, please tell me the tree
>location (git
>address) which I shall base on for sending patch v2.

I posted the patch series today, once the patches make it to scsi-next tree,
I will let you know.

Thanks
Sumit
>
>Thanks.
>
>Send from Lenovo A788t.
>
>Sumit Saxena  wrote:
>
>>>-Original Message-
>>>From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>>>Sent: Sunday, November 09, 2014 3:47 PM
>>>To: megaraidli...@lsi.com; jbottom...@parallels.com
>>>Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org
>>>Subject: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h"
>>for
>>>internal shared functions using
>>>
>>>For shared inline functions crossed source files, better to let it as
>>"static inline"
>>>in a header file. For extern functions, better to declare them in
>>>header
>>file.
>>>
>>>For the latest upstream gcc/binutiles (gcc 5 with ld 2.25.51), it will
>>cause
>>>building break (although it might be the gcc's or ld's issue), the
>>related error
>>>(with allmodconfig under tile):
>>>
>>>MODPOST 4002 modules
>>>  ERROR: "megasas_return_cmd" [drivers/scsi/megaraid/megaraid_sas.ko]
>>>undefined!
>>>  ERROR: "megasas_is_ldio" [drivers/scsi/megaraid/megaraid_sas.ko]
>>>undefined!
>>>
>>>
>>>Signed-off-by: Chen Gang 
>>>---
>>> drivers/scsi/megaraid/megaraid_sas_base.c |  65 +
>>> drivers/scsi/megaraid/megaraid_sas_fusion.c   |  38 +-
>>> drivers/scsi/megaraid/megaraid_sas_internal.h | 100
>>>++
>>> 3 files changed, 102 insertions(+), 101 deletions(-)  create mode
>>>100644 drivers/scsi/megaraid/megaraid_sas_internal.h
>>>
>>>diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
>>>b/drivers/scsi/megaraid/megaraid_sas_base.c
>>>index f6a69a3..4a71c04 100644
>>>--- a/drivers/scsi/megaraid/megaraid_sas_base.c
>>>+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
>>>@@ -57,6 +57,7 @@
>>> #include 
>>> #include "megaraid_sas_fusion.h"
>>> #include "megaraid_sas.h"
>>>+#include "megaraid_sas_internal.h"
>>>
>>> /*
>>>  * Number of sectors per IO command
>>>@@ -98,7 +99,6 @@ MODULE_VERSION(MEGASAS_VERSION);
>>>MODULE_AUTHOR("megaraidli...@lsi.com");
>>> MODULE_DESCRIPTION("LSI MegaRAID SAS Driver");
>>>
>>>-int megasas_transition_to_ready(struct megasas_instance *instance,
>>>int ocr);  static int megasas_get_pd_list(struct megasas_instance
>>>*instance); static int megasas_ld_list_query(struct megasas_instance
>*instance,
>>>  u8 query_type);
>>>@@ -155,9 +155,6 @@ static u32 support_device_change;
>>> /* define lock for aen poll */
>>> spinlock_t poll_aen_lock;
>>>
>>>-void
>>>-megasas_complete_cmd(struct megasas_instance *instance, struct
>>>megasas_cmd *cmd,
>>>- u8 alt_status);
>>> static u32
>>> megasas_read_fw_status_reg_gen2(struct megasas_register_set
>__iomem
>>>*regs);  static int @@ -170,26 +167,8 @@ u32
>>>megasas_build_and_issue_cmd(struct megasas_instance *instance,
>>> struct scsi_cmnd *scmd);
>>> static void megasas_complete_cmd_dpc(unsigned long instance_addr);
>>>-void -megasas_release_fusion(struct megasas_instance *instance); -int
>>>- megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
>>>megasas_free_cmds_fusion(struct megasas_instance *instance);
>>>-u8
>>>-megasas_get_map_info(struct megasas_instance *instance); -int -
>>>megasas_sync_map_info(struct megasas_instance *instance); -int -
>>>wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
>>>*cmd,
>>>-int seconds);
>>>-void megasas_reset_reply_desc(struct megasas_instance *instance);
>>>-int megasas_reset_fusion(struct Scsi_Host *shost, int iotimeout)

RE: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h" for internal shared functions using

2014-11-17 Thread Chen Gang

OK, I will send patch v2 for it.

I sent this patch based on Linux next tree, please tell me the tree
location (git address) which I shall base on for sending patch v2.

Thanks.

Send from Lenovo A788t.

Sumit Saxena  wrote:

>>-Original Message-
>>From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>>Sent: Sunday, November 09, 2014 3:47 PM
>>To: megaraidli...@lsi.com; jbottom...@parallels.com
>>Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org
>>Subject: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h"
>for
>>internal shared functions using
>>
>>For shared inline functions crossed source files, better to let it as
>"static inline"
>>in a header file. For extern functions, better to declare them in header
>file.
>>
>>For the latest upstream gcc/binutiles (gcc 5 with ld 2.25.51), it will
>cause
>>building break (although it might be the gcc's or ld's issue), the
>related error
>>(with allmodconfig under tile):
>>
>>MODPOST 4002 modules
>>  ERROR: "megasas_return_cmd" [drivers/scsi/megaraid/megaraid_sas.ko]
>>undefined!
>>  ERROR: "megasas_is_ldio" [drivers/scsi/megaraid/megaraid_sas.ko]
>>undefined!
>>
>>
>>Signed-off-by: Chen Gang 
>>---
>> drivers/scsi/megaraid/megaraid_sas_base.c |  65 +
>> drivers/scsi/megaraid/megaraid_sas_fusion.c   |  38 +-
>> drivers/scsi/megaraid/megaraid_sas_internal.h | 100
>>++
>> 3 files changed, 102 insertions(+), 101 deletions(-)  create mode 100644
>>drivers/scsi/megaraid/megaraid_sas_internal.h
>>
>>diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
>>b/drivers/scsi/megaraid/megaraid_sas_base.c
>>index f6a69a3..4a71c04 100644
>>--- a/drivers/scsi/megaraid/megaraid_sas_base.c
>>+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
>>@@ -57,6 +57,7 @@
>> #include 
>> #include "megaraid_sas_fusion.h"
>> #include "megaraid_sas.h"
>>+#include "megaraid_sas_internal.h"
>>
>> /*
>>  * Number of sectors per IO command
>>@@ -98,7 +99,6 @@ MODULE_VERSION(MEGASAS_VERSION);
>>MODULE_AUTHOR("megaraidli...@lsi.com");
>> MODULE_DESCRIPTION("LSI MegaRAID SAS Driver");
>>
>>-int megasas_transition_to_ready(struct megasas_instance *instance, int
>>ocr);  static int megasas_get_pd_list(struct megasas_instance *instance);
>>static int megasas_ld_list_query(struct megasas_instance *instance,
>>   u8 query_type);
>>@@ -155,9 +155,6 @@ static u32 support_device_change;
>> /* define lock for aen poll */
>> spinlock_t poll_aen_lock;
>>
>>-void
>>-megasas_complete_cmd(struct megasas_instance *instance, struct
>>megasas_cmd *cmd,
>>-  u8 alt_status);
>> static u32
>> megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem
>>*regs);  static int @@ -170,26 +167,8 @@ u32
>>megasas_build_and_issue_cmd(struct megasas_instance *instance,
>>  struct scsi_cmnd *scmd);
>> static void megasas_complete_cmd_dpc(unsigned long instance_addr); -void
>>-megasas_release_fusion(struct megasas_instance *instance); -int -
>>megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
>>megasas_free_cmds_fusion(struct megasas_instance *instance);
>>-u8
>>-megasas_get_map_info(struct megasas_instance *instance); -int -
>>megasas_sync_map_info(struct megasas_instance *instance); -int -
>>wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
>>*cmd,
>>- int seconds);
>>-void megasas_reset_reply_desc(struct megasas_instance *instance); -int
>>megasas_reset_fusion(struct Scsi_Host *shost, int iotimeout); -void
>>megasas_fusion_ocr_wq(struct work_struct *work);  static int
>>megasas_get_ld_vf_affiliation(struct megasas_instance *instance,
>>   int initial);
>>-int megasas_check_mpio_paths(struct megasas_instance *instance,
>>-  struct scsi_cmnd *scmd);
>>
>> void
>> megasas_issue_dcmd(struct megasas_instance *instance, struct
>>megasas_cmd *cmd) @@ -258,22 +237,6 @@ __megasas_return_cmd(struct
>>megasas_instance *instance, struct megasas_cmd *cmd)  }
>>
>> /**
>>- * megasas_return_cmd -  Return a cmd to free command pool
>>- * @instance:Adapter soft state
>>- * @cmd: Command packet to be returned to free command
>>pool
>>- */
>>-inline void
>>-megasas_return_cmd(struct megasas_instance *instance, struct
>>megasas_cmd *cmd) -{
>>- unsigned long flags;
>>-
>>- spin_lock_irqsave(>mfi_pool_lock, flags);
>>- __megasas_return_cmd(instance, cmd);
>>- spin_unlock_irqrestore(>mfi_pool_lock, flags);
>>-}
>>-
>>-
>>-/**
>> *The following functions are defined for xscale
>> *(deviceid : 1064R, PERC5) controllers
>> */
>>@@ -1417,32 +1380,6 @@ megasas_build_ldio(struct megasas_instance
>>*instance, struct scsi_cmnd *scp,
>>  return cmd->frame_count;
>> }
>>
>>-/**
>>- * megasas_is_ldio - Checks if the cmd is for logical drive
>>- * @scmd:SCSI command
>>- *
>>- * Called by megasas_queue_command to find out 

RE: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h" for internal shared functions using

2014-11-17 Thread Sumit Saxena
>-Original Message-
>From: Chen Gang [mailto:gang.chen.5...@gmail.com]
>Sent: Sunday, November 09, 2014 3:47 PM
>To: megaraidli...@lsi.com; jbottom...@parallels.com
>Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org
>Subject: [PATCH] drivers: scsi: megaraid: Add "megaraid_sas_internal.h"
for
>internal shared functions using
>
>For shared inline functions crossed source files, better to let it as
"static inline"
>in a header file. For extern functions, better to declare them in header
file.
>
>For the latest upstream gcc/binutiles (gcc 5 with ld 2.25.51), it will
cause
>building break (although it might be the gcc's or ld's issue), the
related error
>(with allmodconfig under tile):
>
>MODPOST 4002 modules
>  ERROR: "megasas_return_cmd" [drivers/scsi/megaraid/megaraid_sas.ko]
>undefined!
>  ERROR: "megasas_is_ldio" [drivers/scsi/megaraid/megaraid_sas.ko]
>undefined!
>
>
>Signed-off-by: Chen Gang 
>---
> drivers/scsi/megaraid/megaraid_sas_base.c |  65 +
> drivers/scsi/megaraid/megaraid_sas_fusion.c   |  38 +-
> drivers/scsi/megaraid/megaraid_sas_internal.h | 100
>++
> 3 files changed, 102 insertions(+), 101 deletions(-)  create mode 100644
>drivers/scsi/megaraid/megaraid_sas_internal.h
>
>diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
>b/drivers/scsi/megaraid/megaraid_sas_base.c
>index f6a69a3..4a71c04 100644
>--- a/drivers/scsi/megaraid/megaraid_sas_base.c
>+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
>@@ -57,6 +57,7 @@
> #include 
> #include "megaraid_sas_fusion.h"
> #include "megaraid_sas.h"
>+#include "megaraid_sas_internal.h"
>
> /*
>  * Number of sectors per IO command
>@@ -98,7 +99,6 @@ MODULE_VERSION(MEGASAS_VERSION);
>MODULE_AUTHOR("megaraidli...@lsi.com");
> MODULE_DESCRIPTION("LSI MegaRAID SAS Driver");
>
>-int megasas_transition_to_ready(struct megasas_instance *instance, int
>ocr);  static int megasas_get_pd_list(struct megasas_instance *instance);
>static int megasas_ld_list_query(struct megasas_instance *instance,
>u8 query_type);
>@@ -155,9 +155,6 @@ static u32 support_device_change;
> /* define lock for aen poll */
> spinlock_t poll_aen_lock;
>
>-void
>-megasas_complete_cmd(struct megasas_instance *instance, struct
>megasas_cmd *cmd,
>-   u8 alt_status);
> static u32
> megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem
>*regs);  static int @@ -170,26 +167,8 @@ u32
>megasas_build_and_issue_cmd(struct megasas_instance *instance,
>   struct scsi_cmnd *scmd);
> static void megasas_complete_cmd_dpc(unsigned long instance_addr); -void
>-megasas_release_fusion(struct megasas_instance *instance); -int -
>megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
>megasas_free_cmds_fusion(struct megasas_instance *instance);
>-u8
>-megasas_get_map_info(struct megasas_instance *instance); -int -
>megasas_sync_map_info(struct megasas_instance *instance); -int -
>wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
>*cmd,
>-  int seconds);
>-void megasas_reset_reply_desc(struct megasas_instance *instance); -int
>megasas_reset_fusion(struct Scsi_Host *shost, int iotimeout); -void
>megasas_fusion_ocr_wq(struct work_struct *work);  static int
>megasas_get_ld_vf_affiliation(struct megasas_instance *instance,
>int initial);
>-int megasas_check_mpio_paths(struct megasas_instance *instance,
>-   struct scsi_cmnd *scmd);
>
> void
> megasas_issue_dcmd(struct megasas_instance *instance, struct
>megasas_cmd *cmd) @@ -258,22 +237,6 @@ __megasas_return_cmd(struct
>megasas_instance *instance, struct megasas_cmd *cmd)  }
>
> /**
>- * megasas_return_cmd -   Return a cmd to free command pool
>- * @instance: Adapter soft state
>- * @cmd:  Command packet to be returned to free command
>pool
>- */
>-inline void
>-megasas_return_cmd(struct megasas_instance *instance, struct
>megasas_cmd *cmd) -{
>-  unsigned long flags;
>-
>-  spin_lock_irqsave(>mfi_pool_lock, flags);
>-  __megasas_return_cmd(instance, cmd);
>-  spin_unlock_irqrestore(>mfi_pool_lock, flags);
>-}
>-
>-
>-/**
> * The following functions are defined for xscale
> * (deviceid : 1064R, PERC5) controllers
> */
>@@ -1417,32 +1380,6 @@ megasas_build_ldio(struct megasas_instance
>*instance, struct scsi_cmnd *scp,
>   return cmd->frame_count;
> }
>
>-/**
>- * megasas_is_ldio -  Checks if the cmd is for logical drive
>- * @scmd: SCSI command
>- *
>- * Called by megasas_queue_command to find out if the command to be
>queued
>- * is a logical drive command
>- */
>-inline int megasas_is_ldio(struct scsi_cmnd *cmd) -{
>-  if (!MEGASAS_IS_LOGICAL(cmd))
>-  return 0;
>-  switch (cmd->cmnd[0]) {
>-  case READ_10:
>-  case WRITE_10:
>-  case READ_12:
>-  case WRITE_12:
>-  case READ_6:
>-  case 

RE: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-11-17 Thread Sumit Saxena
-Original Message-
From: Chen Gang [mailto:gang.chen.5...@gmail.com]
Sent: Sunday, November 09, 2014 3:47 PM
To: megaraidli...@lsi.com; jbottom...@parallels.com
Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h
for
internal shared functions using

For shared inline functions crossed source files, better to let it as
static inline
in a header file. For extern functions, better to declare them in header
file.

For the latest upstream gcc/binutiles (gcc 5 with ld 2.25.51), it will
cause
building break (although it might be the gcc's or ld's issue), the
related error
(with allmodconfig under tile):

MODPOST 4002 modules
  ERROR: megasas_return_cmd [drivers/scsi/megaraid/megaraid_sas.ko]
undefined!
  ERROR: megasas_is_ldio [drivers/scsi/megaraid/megaraid_sas.ko]
undefined!


Signed-off-by: Chen Gang gang.chen.5...@gmail.com
---
 drivers/scsi/megaraid/megaraid_sas_base.c |  65 +
 drivers/scsi/megaraid/megaraid_sas_fusion.c   |  38 +-
 drivers/scsi/megaraid/megaraid_sas_internal.h | 100
++
 3 files changed, 102 insertions(+), 101 deletions(-)  create mode 100644
drivers/scsi/megaraid/megaraid_sas_internal.h

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
b/drivers/scsi/megaraid/megaraid_sas_base.c
index f6a69a3..4a71c04 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -57,6 +57,7 @@
 #include scsi/scsi_tcq.h
 #include megaraid_sas_fusion.h
 #include megaraid_sas.h
+#include megaraid_sas_internal.h

 /*
  * Number of sectors per IO command
@@ -98,7 +99,6 @@ MODULE_VERSION(MEGASAS_VERSION);
MODULE_AUTHOR(megaraidli...@lsi.com);
 MODULE_DESCRIPTION(LSI MegaRAID SAS Driver);

-int megasas_transition_to_ready(struct megasas_instance *instance, int
ocr);  static int megasas_get_pd_list(struct megasas_instance *instance);
static int megasas_ld_list_query(struct megasas_instance *instance,
u8 query_type);
@@ -155,9 +155,6 @@ static u32 support_device_change;
 /* define lock for aen poll */
 spinlock_t poll_aen_lock;

-void
-megasas_complete_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd,
-   u8 alt_status);
 static u32
 megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem
*regs);  static int @@ -170,26 +167,8 @@ u32
megasas_build_and_issue_cmd(struct megasas_instance *instance,
   struct scsi_cmnd *scmd);
 static void megasas_complete_cmd_dpc(unsigned long instance_addr); -void
-megasas_release_fusion(struct megasas_instance *instance); -int -
megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
megasas_free_cmds_fusion(struct megasas_instance *instance);
-u8
-megasas_get_map_info(struct megasas_instance *instance); -int -
megasas_sync_map_info(struct megasas_instance *instance); -int -
wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
*cmd,
-  int seconds);
-void megasas_reset_reply_desc(struct megasas_instance *instance); -int
megasas_reset_fusion(struct Scsi_Host *shost, int iotimeout); -void
megasas_fusion_ocr_wq(struct work_struct *work);  static int
megasas_get_ld_vf_affiliation(struct megasas_instance *instance,
int initial);
-int megasas_check_mpio_paths(struct megasas_instance *instance,
-   struct scsi_cmnd *scmd);

 void
 megasas_issue_dcmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) @@ -258,22 +237,6 @@ __megasas_return_cmd(struct
megasas_instance *instance, struct megasas_cmd *cmd)  }

 /**
- * megasas_return_cmd -   Return a cmd to free command pool
- * @instance: Adapter soft state
- * @cmd:  Command packet to be returned to free command
pool
- */
-inline void
-megasas_return_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) -{
-  unsigned long flags;
-
-  spin_lock_irqsave(instance-mfi_pool_lock, flags);
-  __megasas_return_cmd(instance, cmd);
-  spin_unlock_irqrestore(instance-mfi_pool_lock, flags);
-}
-
-
-/**
 * The following functions are defined for xscale
 * (deviceid : 1064R, PERC5) controllers
 */
@@ -1417,32 +1380,6 @@ megasas_build_ldio(struct megasas_instance
*instance, struct scsi_cmnd *scp,
   return cmd-frame_count;
 }

-/**
- * megasas_is_ldio -  Checks if the cmd is for logical drive
- * @scmd: SCSI command
- *
- * Called by megasas_queue_command to find out if the command to be
queued
- * is a logical drive command
- */
-inline int megasas_is_ldio(struct scsi_cmnd *cmd) -{
-  if (!MEGASAS_IS_LOGICAL(cmd))
-  return 0;
-  switch (cmd-cmnd[0]) {
-  case READ_10:
-  case WRITE_10:
-  case READ_12:
-  case WRITE_12:
-  case READ_6:
-  case WRITE_6:
-  case READ_16:
-  case WRITE_16:
-  return 1;
-  default:
-   

RE: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-11-17 Thread Chen Gang

OK, I will send patch v2 for it.

I sent this patch based on Linux next tree, please tell me the tree
location (git address) which I shall base on for sending patch v2.

Thanks.

Send from Lenovo A788t.

Sumit Saxena sumit.sax...@avagotech.com wrote:

-Original Message-
From: Chen Gang [mailto:gang.chen.5...@gmail.com]
Sent: Sunday, November 09, 2014 3:47 PM
To: megaraidli...@lsi.com; jbottom...@parallels.com
Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h
for
internal shared functions using

For shared inline functions crossed source files, better to let it as
static inline
in a header file. For extern functions, better to declare them in header
file.

For the latest upstream gcc/binutiles (gcc 5 with ld 2.25.51), it will
cause
building break (although it might be the gcc's or ld's issue), the
related error
(with allmodconfig under tile):

MODPOST 4002 modules
  ERROR: megasas_return_cmd [drivers/scsi/megaraid/megaraid_sas.ko]
undefined!
  ERROR: megasas_is_ldio [drivers/scsi/megaraid/megaraid_sas.ko]
undefined!


Signed-off-by: Chen Gang gang.chen.5...@gmail.com
---
 drivers/scsi/megaraid/megaraid_sas_base.c |  65 +
 drivers/scsi/megaraid/megaraid_sas_fusion.c   |  38 +-
 drivers/scsi/megaraid/megaraid_sas_internal.h | 100
++
 3 files changed, 102 insertions(+), 101 deletions(-)  create mode 100644
drivers/scsi/megaraid/megaraid_sas_internal.h

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
b/drivers/scsi/megaraid/megaraid_sas_base.c
index f6a69a3..4a71c04 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -57,6 +57,7 @@
 #include scsi/scsi_tcq.h
 #include megaraid_sas_fusion.h
 #include megaraid_sas.h
+#include megaraid_sas_internal.h

 /*
  * Number of sectors per IO command
@@ -98,7 +99,6 @@ MODULE_VERSION(MEGASAS_VERSION);
MODULE_AUTHOR(megaraidli...@lsi.com);
 MODULE_DESCRIPTION(LSI MegaRAID SAS Driver);

-int megasas_transition_to_ready(struct megasas_instance *instance, int
ocr);  static int megasas_get_pd_list(struct megasas_instance *instance);
static int megasas_ld_list_query(struct megasas_instance *instance,
   u8 query_type);
@@ -155,9 +155,6 @@ static u32 support_device_change;
 /* define lock for aen poll */
 spinlock_t poll_aen_lock;

-void
-megasas_complete_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd,
-  u8 alt_status);
 static u32
 megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem
*regs);  static int @@ -170,26 +167,8 @@ u32
megasas_build_and_issue_cmd(struct megasas_instance *instance,
  struct scsi_cmnd *scmd);
 static void megasas_complete_cmd_dpc(unsigned long instance_addr); -void
-megasas_release_fusion(struct megasas_instance *instance); -int -
megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
megasas_free_cmds_fusion(struct megasas_instance *instance);
-u8
-megasas_get_map_info(struct megasas_instance *instance); -int -
megasas_sync_map_info(struct megasas_instance *instance); -int -
wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
*cmd,
- int seconds);
-void megasas_reset_reply_desc(struct megasas_instance *instance); -int
megasas_reset_fusion(struct Scsi_Host *shost, int iotimeout); -void
megasas_fusion_ocr_wq(struct work_struct *work);  static int
megasas_get_ld_vf_affiliation(struct megasas_instance *instance,
   int initial);
-int megasas_check_mpio_paths(struct megasas_instance *instance,
-  struct scsi_cmnd *scmd);

 void
 megasas_issue_dcmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) @@ -258,22 +237,6 @@ __megasas_return_cmd(struct
megasas_instance *instance, struct megasas_cmd *cmd)  }

 /**
- * megasas_return_cmd -  Return a cmd to free command pool
- * @instance:Adapter soft state
- * @cmd: Command packet to be returned to free command
pool
- */
-inline void
-megasas_return_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) -{
- unsigned long flags;
-
- spin_lock_irqsave(instance-mfi_pool_lock, flags);
- __megasas_return_cmd(instance, cmd);
- spin_unlock_irqrestore(instance-mfi_pool_lock, flags);
-}
-
-
-/**
 *The following functions are defined for xscale
 *(deviceid : 1064R, PERC5) controllers
 */
@@ -1417,32 +1380,6 @@ megasas_build_ldio(struct megasas_instance
*instance, struct scsi_cmnd *scp,
  return cmd-frame_count;
 }

-/**
- * megasas_is_ldio - Checks if the cmd is for logical drive
- * @scmd:SCSI command
- *
- * Called by megasas_queue_command to find out if the command to be
queued
- * is a logical drive command
- */
-inline int megasas_is_ldio(struct scsi_cmnd *cmd) -{
- if (!MEGASAS_IS_LOGICAL(cmd))
- return 0;
-   

RE: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-11-17 Thread Sumit Saxena
-Original Message-
From: Chen Gang [mailto:gang.chen.5...@gmail.com]
Sent: Monday, November 17, 2014 5:17 PM
To: Sumit Saxena
Cc: megaraidli...@lsi.com; linux-s...@vger.kernel.org; linux-
ker...@vger.kernel.org
Subject: RE: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h
for internal shared functions using


OK, I will send patch v2 for it.

I sent this patch based on Linux next tree, please tell me the tree
location (git
address) which I shall base on for sending patch v2.

I posted the patch series today, once the patches make it to scsi-next tree,
I will let you know.

Thanks
Sumit

Thanks.

Send from Lenovo A788t.

Sumit Saxena sumit.sax...@avagotech.com wrote:

-Original Message-
From: Chen Gang [mailto:gang.chen.5...@gmail.com]
Sent: Sunday, November 09, 2014 3:47 PM
To: megaraidli...@lsi.com; jbottom...@parallels.com
Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: [PATCH] drivers: scsi: megaraid: Add megaraid_sas_internal.h
for
internal shared functions using

For shared inline functions crossed source files, better to let it as
static inline
in a header file. For extern functions, better to declare them in
header
file.

For the latest upstream gcc/binutiles (gcc 5 with ld 2.25.51), it will
cause
building break (although it might be the gcc's or ld's issue), the
related error
(with allmodconfig under tile):

MODPOST 4002 modules
  ERROR: megasas_return_cmd [drivers/scsi/megaraid/megaraid_sas.ko]
undefined!
  ERROR: megasas_is_ldio [drivers/scsi/megaraid/megaraid_sas.ko]
undefined!


Signed-off-by: Chen Gang gang.chen.5...@gmail.com
---
 drivers/scsi/megaraid/megaraid_sas_base.c |  65 +
 drivers/scsi/megaraid/megaraid_sas_fusion.c   |  38 +-
 drivers/scsi/megaraid/megaraid_sas_internal.h | 100
++
 3 files changed, 102 insertions(+), 101 deletions(-)  create mode
100644 drivers/scsi/megaraid/megaraid_sas_internal.h

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
b/drivers/scsi/megaraid/megaraid_sas_base.c
index f6a69a3..4a71c04 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -57,6 +57,7 @@
 #include scsi/scsi_tcq.h
 #include megaraid_sas_fusion.h
 #include megaraid_sas.h
+#include megaraid_sas_internal.h

 /*
  * Number of sectors per IO command
@@ -98,7 +99,6 @@ MODULE_VERSION(MEGASAS_VERSION);
MODULE_AUTHOR(megaraidli...@lsi.com);
 MODULE_DESCRIPTION(LSI MegaRAID SAS Driver);

-int megasas_transition_to_ready(struct megasas_instance *instance,
int ocr);  static int megasas_get_pd_list(struct megasas_instance
*instance); static int megasas_ld_list_query(struct megasas_instance
*instance,
  u8 query_type);
@@ -155,9 +155,6 @@ static u32 support_device_change;
 /* define lock for aen poll */
 spinlock_t poll_aen_lock;

-void
-megasas_complete_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd,
- u8 alt_status);
 static u32
 megasas_read_fw_status_reg_gen2(struct megasas_register_set
__iomem
*regs);  static int @@ -170,26 +167,8 @@ u32
megasas_build_and_issue_cmd(struct megasas_instance *instance,
 struct scsi_cmnd *scmd);
 static void megasas_complete_cmd_dpc(unsigned long instance_addr);
-void -megasas_release_fusion(struct megasas_instance *instance); -int
- megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
megasas_free_cmds_fusion(struct megasas_instance *instance);
-u8
-megasas_get_map_info(struct megasas_instance *instance); -int -
megasas_sync_map_info(struct megasas_instance *instance); -int -
wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
*cmd,
-int seconds);
-void megasas_reset_reply_desc(struct megasas_instance *instance);
-int megasas_reset_fusion(struct Scsi_Host *shost, int iotimeout);
-void megasas_fusion_ocr_wq(struct work_struct *work);  static int
megasas_get_ld_vf_affiliation(struct megasas_instance *instance,
  int initial);
-int megasas_check_mpio_paths(struct megasas_instance *instance,
- struct scsi_cmnd *scmd);

 void
 megasas_issue_dcmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) @@ -258,22 +237,6 @@
__megasas_return_cmd(struct
megasas_instance *instance, struct megasas_cmd *cmd)  }

 /**
- * megasas_return_cmd - Return a cmd to free command pool
- * @instance:   Adapter soft state
- * @cmd:Command packet to be returned to free command
pool
- */
-inline void
-megasas_return_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) -{
-unsigned long flags;
-
-spin_lock_irqsave(instance-mfi_pool_lock, flags);
-__megasas_return_cmd(instance, cmd);
-spin_unlock_irqrestore(instance-mfi_pool_lock, flags);
-}
-
-
-/**
 *   The following functions are defined for xscale
 *   (deviceid : 1064R, PERC5) controllers
 */
@@ -1417,32 +1380,6 @@ megasas_build_ldio(struct