diff options
author | Michal Swiatkowski <michal.swiatkowski@linux.intel.com> | 2025-08-12 06:23:25 +0200 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2025-09-11 12:09:32 -0700 |
commit | daf82b61ba0996bb270eba65d7e284d4e5ecaa60 (patch) | |
tree | cafd85cb8a1189bbbc0d349cb2fbb8c623cb9d70 /drivers/net/ethernet/intel/ice/ice_debugfs.c | |
parent | ad3b33636f0740e7a3708223c9daed5435ea4ac7 (diff) |
ice: introduce ice_fwlog structure
The new structure is needed to make the fwlog code a library. A goal is
to drop ice_hw structure in all fwlog related functions calls.
Pass a ice_fwlog pointer across fwlog functions and use it wherever it
is possible.
Still use &hw->fwlog in debugfs code as it needs changing the value
being passed in priv. It will be done in one of the next patches.
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_debugfs.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_debugfs.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_debugfs.c b/drivers/net/ethernet/intel/ice/ice_debugfs.c index 170050548e74..dbcc0cb438aa 100644 --- a/drivers/net/ethernet/intel/ice/ice_debugfs.c +++ b/drivers/net/ethernet/intel/ice/ice_debugfs.c @@ -81,7 +81,7 @@ static const char * const ice_fwlog_log_size[] = { static void ice_fwlog_print_module_cfg(struct ice_hw *hw, int module, struct seq_file *s) { - struct ice_fwlog_cfg *cfg = &hw->fwlog_cfg; + struct ice_fwlog_cfg *cfg = &hw->fwlog.cfg; struct ice_fwlog_module_entry *entry; if (module != ICE_AQC_FW_LOG_ID_MAX) { @@ -193,7 +193,7 @@ ice_debugfs_module_write(struct file *filp, const char __user *buf, } if (module != ICE_AQC_FW_LOG_ID_MAX) { - hw->fwlog_cfg.module_entries[module].log_level = log_level; + hw->fwlog.cfg.module_entries[module].log_level = log_level; } else { /* the module 'all' is a shortcut so that we can set * all of the modules to the same level quickly @@ -201,7 +201,7 @@ ice_debugfs_module_write(struct file *filp, const char __user *buf, int i; for (i = 0; i < ICE_AQC_FW_LOG_ID_MAX; i++) - hw->fwlog_cfg.module_entries[i].log_level = log_level; + hw->fwlog.cfg.module_entries[i].log_level = log_level; } return count; @@ -231,7 +231,7 @@ static ssize_t ice_debugfs_nr_messages_read(struct file *filp, char buff[32] = {}; snprintf(buff, sizeof(buff), "%d\n", - hw->fwlog_cfg.log_resolution); + hw->fwlog.cfg.log_resolution); return simple_read_from_buffer(buffer, count, ppos, buff, strlen(buff)); } @@ -278,7 +278,7 @@ ice_debugfs_nr_messages_write(struct file *filp, const char __user *buf, return -EINVAL; } - hw->fwlog_cfg.log_resolution = nr_messages; + hw->fwlog.cfg.log_resolution = nr_messages; return count; } @@ -306,7 +306,7 @@ static ssize_t ice_debugfs_enable_read(struct file *filp, char buff[32] = {}; snprintf(buff, sizeof(buff), "%u\n", - (u16)(hw->fwlog_cfg.options & + (u16)(hw->fwlog.cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED) >> 3); return simple_read_from_buffer(buffer, count, ppos, buff, strlen(buff)); @@ -346,18 +346,18 @@ ice_debugfs_enable_write(struct file *filp, const char __user *buf, goto enable_write_error; if (enable) - hw->fwlog_cfg.options |= ICE_FWLOG_OPTION_ARQ_ENA; + hw->fwlog.cfg.options |= ICE_FWLOG_OPTION_ARQ_ENA; else - hw->fwlog_cfg.options &= ~ICE_FWLOG_OPTION_ARQ_ENA; + hw->fwlog.cfg.options &= ~ICE_FWLOG_OPTION_ARQ_ENA; - ret = ice_fwlog_set(hw, &hw->fwlog_cfg); + ret = ice_fwlog_set(hw, &hw->fwlog.cfg); if (ret) goto enable_write_error; if (enable) - ret = ice_fwlog_register(hw); + ret = ice_fwlog_register(hw, &hw->fwlog); else - ret = ice_fwlog_unregister(hw); + ret = ice_fwlog_unregister(hw, &hw->fwlog); if (ret) goto enable_write_error; @@ -401,7 +401,7 @@ static ssize_t ice_debugfs_log_size_read(struct file *filp, char buff[32] = {}; int index; - index = hw->fwlog_ring.index; + index = hw->fwlog.ring.index; snprintf(buff, sizeof(buff), "%s\n", ice_fwlog_log_size[index]); return simple_read_from_buffer(buffer, count, ppos, buff, strlen(buff)); @@ -443,14 +443,14 @@ ice_debugfs_log_size_write(struct file *filp, const char __user *buf, user_val); ret = -EINVAL; goto log_size_write_error; - } else if (hw->fwlog_cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED) { + } else if (hw->fwlog.cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED) { dev_info(dev, "FW logging is currently running. Please disable FW logging to change log_size\n"); ret = -EINVAL; goto log_size_write_error; } /* free all the buffers and the tracking info and resize */ - ice_fwlog_realloc_rings(hw, index); + ice_fwlog_realloc_rings(hw, &hw->fwlog, index); /* if we get here, nothing went wrong; return count since we didn't * really write anything @@ -490,14 +490,14 @@ static ssize_t ice_debugfs_data_read(struct file *filp, char __user *buffer, int data_copied = 0; bool done = false; - if (ice_fwlog_ring_empty(&hw->fwlog_ring)) + if (ice_fwlog_ring_empty(&hw->fwlog.ring)) return 0; - while (!ice_fwlog_ring_empty(&hw->fwlog_ring) && !done) { + while (!ice_fwlog_ring_empty(&hw->fwlog.ring) && !done) { struct ice_fwlog_data *log; u16 cur_buf_len; - log = &hw->fwlog_ring.rings[hw->fwlog_ring.head]; + log = &hw->fwlog.ring.rings[hw->fwlog.ring.head]; cur_buf_len = log->data_size; if (cur_buf_len >= count) { done = true; @@ -516,8 +516,8 @@ static ssize_t ice_debugfs_data_read(struct file *filp, char __user *buffer, buffer += cur_buf_len; count -= cur_buf_len; *ppos += cur_buf_len; - ice_fwlog_ring_increment(&hw->fwlog_ring.head, - hw->fwlog_ring.size); + ice_fwlog_ring_increment(&hw->fwlog.ring.head, + hw->fwlog.ring.size); } return data_copied; @@ -546,9 +546,9 @@ ice_debugfs_data_write(struct file *filp, const char __user *buf, size_t count, /* any value is allowed to clear the buffer so no need to even look at * what the value is */ - if (!(hw->fwlog_cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED)) { - hw->fwlog_ring.head = 0; - hw->fwlog_ring.tail = 0; + if (!(hw->fwlog.cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED)) { + hw->fwlog.ring.head = 0; + hw->fwlog.ring.tail = 0; } else { dev_info(dev, "Can't clear FW log data while FW log running\n"); ret = -EINVAL; |