Re: [PATCH 3/3] libnvdimm: New ACPI 6.2 DSM functions

From: Dan Williams
Date: Fri Jun 09 2017 - 01:29:14 EST


On Thu, Jun 8, 2017 at 1:02 AM, Johannes Thumshirn <jthumshirn@xxxxxxx> wrote:
> On 06/07/2017 07:04 PM, Jerry Hoemann wrote:
>> @@ -179,6 +217,10 @@ static inline const char *nvdimm_bus_cmd_name(unsigned cmd)
>> [ND_CMD_ARS_START] = "ars_start",
>> [ND_CMD_ARS_STATUS] = "ars_status",
>> [ND_CMD_CLEAR_ERROR] = "clear_error",
>> + [5] = "trans_spa",
>> + [7] = "ars_err_inj",
>> + [8] = "ars_err_inj_clr",
>> + [9] = "ars_err_inj_stat",
>> [ND_CMD_CALL] = "cmd_call",
>> };
>
> Can you please add the new values to the enum in uapi/ndctl.h? I don't
> really like the magic numbers here.

I think the reason Jerry didn't add them is due to symmetry. All the
current ND_CMD_ definitions have corresponding ND_IOCTL_ definitions.
These new commands we're only adding function number support and using
ND_CMD_CALL for the ioctl transport. We can still add definitions for
them, but perhaps with an ACPI_NFIT_DSM_ prefix? The only consumer in
the kernel of this is debug output code. I think perhaps we should
just delete them here and either print raw numbers or enable
acpi_nfit_ctl() to the decode and not rely on nvdimm_bus_cmd_name()
which is meant to represent NVDIMM bus type generic command numbers.