Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1466886 > unrolled thread

Re: [PATCH 1/8] hisi_sas: add internal abort core code

Started byzhangfei <zhangfei.gao@linaro.org>
First post2016-08-21 02:50 +0200
Last post2016-08-22 10:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 1/8] hisi_sas: add internal abort core code zhangfei <zhangfei.gao@linaro.org> - 2016-08-21 02:50 +0200
    Re: [PATCH 1/8] hisi_sas: add internal abort core code John Garry <john.garry@huawei.com> - 2016-08-22 10:00 +0200

#1466886 — Re: [PATCH 1/8] hisi_sas: add internal abort core code

Fromzhangfei <zhangfei.gao@linaro.org>
Date2016-08-21 02:50 +0200
SubjectRe: [PATCH 1/8] hisi_sas: add internal abort core code
Message-ID<s8p7z-1If-5@gated-at.bofh.it>

On 2016年08月10日 21:19, John Garry wrote:
> Add core code for internal abort functionality.
>
> The internal abort features allows the host controller
> to abort commands which are still active in the
> controller but have not yet been sent to the slave
> device.
>
> Typically a command only spends a relatively
> short time in the controller when compared to the
> amount of the time after it is sent to the slave
> device.
> Two modes of internal abort are supported:
> - device
> - individual command
>
> For device, when the internal abort is issued all
> commands in the host for that device are aborted.
> For a single command, only that command is aborted
> if it is still in the host.
>
> In HW the internal abort command is executed
> similar to any other sort of command, like SSP.
>
> Signed-off-by: John Garry <john.garry@huawei.com>
> ---
>   drivers/scsi/hisi_sas/hisi_sas.h      |   3 +
>   drivers/scsi/hisi_sas/hisi_sas_main.c | 154 ++++++++++++++++++++++++++++++++++
>   2 files changed, 157 insertions(+)
>
> diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
> index 4731d32..4ae864d 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas.h
> +++ b/drivers/scsi/hisi_sas/hisi_sas.h
> @@ -146,6 +146,9 @@ struct hisi_sas_hw {
>   			struct hisi_sas_slot *slot);
>   	int (*prep_stp)(struct hisi_hba *hisi_hba,
>   			struct hisi_sas_slot *slot);
> +	int (*prep_abort)(struct hisi_hba *hisi_hba,
> +			  struct hisi_sas_slot *slot,
> +			  int device_id, int abort_flag, int tag_to_abort);

How about add comments to abort_flag and tag_to_abort.
As a result, not sure why differently calling in hisi_sas_abort_task
hisi_sas_internal_task_abort(hisi_hba, device, 1, tag);
hisi_sas_internal_task_abort(hisi_hba, device, 0, tag);

Thanks

[toc] | [next] | [standalone]


#1467434

FromJohn Garry <john.garry@huawei.com>
Date2016-08-22 10:00 +0200
Message-ID<s8Sjg-3ra-19@gated-at.bofh.it>
In reply to#1466886
On 21/08/2016 01:44, zhangfei wrote:
>
>
> On 2016年08月10日 21:19, John Garry wrote:
>> Add core code for internal abort functionality.
>>
>> The internal abort features allows the host controller
>> to abort commands which are still active in the
>> controller but have not yet been sent to the slave
>> device.
>>
>> Typically a command only spends a relatively
>> short time in the controller when compared to the
>> amount of the time after it is sent to the slave
>> device.
>> Two modes of internal abort are supported:
>> - device
>> - individual command
>>
>> For device, when the internal abort is issued all
>> commands in the host for that device are aborted.
>> For a single command, only that command is aborted
>> if it is still in the host.
>>
>> In HW the internal abort command is executed
>> similar to any other sort of command, like SSP.
>>
>> Signed-off-by: John Garry <john.garry@huawei.com>
>> ---
>>   drivers/scsi/hisi_sas/hisi_sas.h      |   3 +
>>   drivers/scsi/hisi_sas/hisi_sas_main.c | 154
>> ++++++++++++++++++++++++++++++++++
>>   2 files changed, 157 insertions(+)
>>
>> diff --git a/drivers/scsi/hisi_sas/hisi_sas.h
>> b/drivers/scsi/hisi_sas/hisi_sas.h
>> index 4731d32..4ae864d 100644
>> --- a/drivers/scsi/hisi_sas/hisi_sas.h
>> +++ b/drivers/scsi/hisi_sas/hisi_sas.h
>> @@ -146,6 +146,9 @@ struct hisi_sas_hw {
>>               struct hisi_sas_slot *slot);
>>       int (*prep_stp)(struct hisi_hba *hisi_hba,
>>               struct hisi_sas_slot *slot);
>> +    int (*prep_abort)(struct hisi_hba *hisi_hba,
>> +              struct hisi_sas_slot *slot,
>> +              int device_id, int abort_flag, int tag_to_abort);
>
> How about add comments to abort_flag and tag_to_abort.
> As a result, not sure why differently calling in hisi_sas_abort_task
> hisi_sas_internal_task_abort(hisi_hba, device, 1, tag);
> hisi_sas_internal_task_abort(hisi_hba, device, 0, tag);
>
> Thanks
>
>
> .
>

OK, I can do.

I will add a MACRO for the abort flag, whether device abort or single IO 
abort modes.

I will also mention for device abort mode that the tag is unused.

Thanks,
John

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web