nvme: use AER configuation structure when starting controller
Change-Id: I79dad84d1dc58e61eb36b461b41fbd7ee73631fc Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.gerrithub.io/406899 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
7bdd103b3d
commit
2d192cf8fb
@ -1197,7 +1197,7 @@ nvme_ctrlr_construct_and_submit_aer(struct spdk_nvme_ctrlr *ctrlr,
|
||||
static int
|
||||
nvme_ctrlr_configure_aer(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
union spdk_nvme_critical_warning_state state;
|
||||
union spdk_nvme_feat_async_event_configuration config;
|
||||
struct nvme_async_event_request *aer;
|
||||
uint32_t i;
|
||||
struct nvme_completion_poll_status status;
|
||||
@ -1205,9 +1205,16 @@ nvme_ctrlr_configure_aer(struct spdk_nvme_ctrlr *ctrlr)
|
||||
|
||||
status.done = false;
|
||||
|
||||
state.raw = 0xFF;
|
||||
state.bits.reserved = 0;
|
||||
rc = nvme_ctrlr_cmd_set_async_event_config(ctrlr, state, nvme_completion_poll_cb, &status);
|
||||
config.raw = 0;
|
||||
config.bits.crit_warn.bits.available_spare = 1;
|
||||
config.bits.crit_warn.bits.temperature = 1;
|
||||
config.bits.crit_warn.bits.device_reliability = 1;
|
||||
config.bits.crit_warn.bits.read_only = 1;
|
||||
config.bits.crit_warn.bits.volatile_memory_backup = 1;
|
||||
config.bits.ns_attr_notice = 1;
|
||||
config.bits.fw_activation_notice = 1;
|
||||
config.bits.telemetry_log_notice = 1;
|
||||
rc = nvme_ctrlr_cmd_set_async_event_config(ctrlr, config, nvme_completion_poll_cb, &status);
|
||||
if (rc != 0) {
|
||||
return rc;
|
||||
}
|
||||
|
@ -363,12 +363,12 @@ nvme_ctrlr_cmd_get_num_queues(struct spdk_nvme_ctrlr *ctrlr,
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_set_async_event_config(struct spdk_nvme_ctrlr *ctrlr,
|
||||
union spdk_nvme_critical_warning_state state, spdk_nvme_cmd_cb cb_fn,
|
||||
union spdk_nvme_feat_async_event_configuration config, spdk_nvme_cmd_cb cb_fn,
|
||||
void *cb_arg)
|
||||
{
|
||||
uint32_t cdw11;
|
||||
|
||||
cdw11 = state.raw;
|
||||
cdw11 = config.raw;
|
||||
return spdk_nvme_ctrlr_cmd_set_feature(ctrlr, SPDK_NVME_FEAT_ASYNC_EVENT_CONFIGURATION, cdw11, 0,
|
||||
NULL, 0,
|
||||
cb_fn, cb_arg);
|
||||
|
@ -542,7 +542,7 @@ int nvme_ctrlr_cmd_set_num_queues(struct spdk_nvme_ctrlr *ctrlr,
|
||||
int nvme_ctrlr_cmd_get_num_queues(struct spdk_nvme_ctrlr *ctrlr,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
int nvme_ctrlr_cmd_set_async_event_config(struct spdk_nvme_ctrlr *ctrlr,
|
||||
union spdk_nvme_critical_warning_state state,
|
||||
union spdk_nvme_feat_async_event_configuration config,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
int nvme_ctrlr_cmd_set_host_id(struct spdk_nvme_ctrlr *ctrlr, void *host_id, uint32_t host_id_size,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
|
@ -266,7 +266,7 @@ nvme_completion_poll_cb(void *arg, const struct spdk_nvme_cpl *cpl)
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_set_async_event_config(struct spdk_nvme_ctrlr *ctrlr,
|
||||
union spdk_nvme_critical_warning_state state, spdk_nvme_cmd_cb cb_fn,
|
||||
union spdk_nvme_feat_async_event_configuration config, spdk_nvme_cmd_cb cb_fn,
|
||||
void *cb_arg)
|
||||
{
|
||||
fake_cpl_success(cb_fn, cb_arg);
|
||||
|
Loading…
Reference in New Issue
Block a user