[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2843b52d-8848-45d9-13f2-2821d79689dd@huawei.com>
Date: Mon, 25 Apr 2022 09:51:26 +0100
From: John Garry <john.garry@...wei.com>
To: Hannes Reinecke <hare@...e.de>, <jejb@...ux.ibm.com>,
<martin.petersen@...cle.com>, <jinpu.wang@...ud.ionos.com>,
<damien.lemoal@...nsource.wdc.com>
CC: <linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<Ajish.Koshy@...rochip.com>, <linuxarm@...wei.com>,
<Viswas.G@...rochip.com>, <hch@....de>, <liuqi115@...wei.com>,
<chenxiang66@...ilicon.com>
Subject: Re: [PATCH 1/4] scsi: libsas: Add sas_execute_internal_abort_single()
On 25/04/2022 09:34, Hannes Reinecke wrote:
>>>> +/* LLDDs rely on these values */
>>>> +enum sas_internal_abort {
>>>> + SAS_INTERNAL_ABORT_SINGLE = 0,
>>>> +};
>>>> +
>>>
>>> Why don't you use the existing TMF_XXX values here?
>>> Your 'single' method pretty much _is_ a TMF_ABORT_TASK, and the
>>> 'device' method _is_ a TMF_ABORT_TASK_SET, no?
>>
>> Sure, they are doing the same as TMFs and there is equivalence in the
>> 'single' and 'device' methods, as you say.
>>
>> However, as mentioned in the comment, the LLDDs rely on the values in
>> enum sas_internal_abort, which do not match the values in
>> TMF_ABORT{_TASK, _TASK_SET}.
>>
> How can they rely on a value which you just introduced?
I am relying on no one changing those values in enum sas_internal_abort.
Both hisi_sas and pm8001 use value of 0 for single abort and 1 for
device abort in their own internal abort HW frames structs.
And if some other controller comes along which wants to support this
feature and the values in enum sas_internal_abort don't match then they
would need to do some translation.
I could use TMF values and do the translation in hisi_sas and pm8001
drivers today, but I don't see much much gain in that.
Thanks,
John
Powered by blists - more mailing lists