firmware_feature
nv->firmware_feature.f.enable_fast_posting = 1;
nv->firmware_feature.f.disable_synchronous_backoff = 1;
mb[1] = nv->firmware_feature.f.enable_fast_posting;
mb[1] |= nv->firmware_feature.f.report_lvd_bus_transition << 1;
mb[1] |= nv->firmware_feature.f.disable_synchronous_backoff << 5;
nv->firmware_feature.w = cpu_to_le16(nv->firmware_feature.w);
} firmware_feature; /* 20, 21 */
struct pqi_firmware_feature *firmware_feature);
struct pqi_firmware_feature *firmware_feature)
if (!firmware_feature->supported) {
firmware_feature->feature_name);
if (firmware_feature->enabled) {
"%s enabled\n", firmware_feature->feature_name);
firmware_feature->feature_name);
struct pqi_firmware_feature *firmware_feature)
switch (firmware_feature->feature_bit) {
ctrl_info->enable_r1_writes = firmware_feature->enabled;
ctrl_info->enable_r5_writes = firmware_feature->enabled;
ctrl_info->enable_r6_writes = firmware_feature->enabled;
firmware_feature->enabled &&
ctrl_info->raid_iu_timeout_supported = firmware_feature->enabled;
ctrl_info->tmf_iu_timeout_supported = firmware_feature->enabled;
ctrl_info->firmware_triage_supported = firmware_feature->enabled;
pqi_save_fw_triage_setting(ctrl_info, firmware_feature->enabled);
ctrl_info->rpl_extended_format_4_5_supported = firmware_feature->enabled;
ctrl_info->multi_lun_device_supported = firmware_feature->enabled;
ctrl_info->ctrl_logging_supported = firmware_feature->enabled;
pqi_firmware_feature_status(ctrl_info, firmware_feature);
struct pqi_firmware_feature *firmware_feature)
if (firmware_feature->feature_status)
firmware_feature->feature_status(ctrl_info, firmware_feature);