Commit 7b44d538 authored by Rob Barnes's avatar Rob Barnes Committed by Tzung-Bi Shih

platform/chrome: cros_ec_debugfs: Make log polling period a parameter

Make EC log polling period a module parameter. This allows the polling
period to be set via the kernel command line. Keeping the default at
the current 10 second period. The optimal polling period will differ by
board.
Signed-off-by: default avatarRob Barnes <robbarnes@google.com>
Link: https://lore.kernel.org/r/20240507155809.525701-1-robbarnes@google.comSigned-off-by: default avatarTzung-Bi Shih <tzungbi@kernel.org>
parent 47ef58cd
...@@ -26,6 +26,10 @@ ...@@ -26,6 +26,10 @@
#define CIRC_ADD(idx, size, value) (((idx) + (value)) & ((size) - 1)) #define CIRC_ADD(idx, size, value) (((idx) + (value)) & ((size) - 1))
static unsigned int log_poll_period_ms = LOG_POLL_SEC * MSEC_PER_SEC;
module_param(log_poll_period_ms, uint, 0644);
MODULE_PARM_DESC(log_poll_period_ms, "EC log polling period(ms)");
/* waitqueue for log readers */ /* waitqueue for log readers */
static DECLARE_WAIT_QUEUE_HEAD(cros_ec_debugfs_log_wq); static DECLARE_WAIT_QUEUE_HEAD(cros_ec_debugfs_log_wq);
...@@ -57,7 +61,7 @@ struct cros_ec_debugfs { ...@@ -57,7 +61,7 @@ struct cros_ec_debugfs {
/* /*
* We need to make sure that the EC log buffer on the UART is large enough, * We need to make sure that the EC log buffer on the UART is large enough,
* so that it is unlikely enough to overlow within LOG_POLL_SEC. * so that it is unlikely enough to overlow within log_poll_period_ms.
*/ */
static void cros_ec_console_log_work(struct work_struct *__work) static void cros_ec_console_log_work(struct work_struct *__work)
{ {
...@@ -119,7 +123,7 @@ static void cros_ec_console_log_work(struct work_struct *__work) ...@@ -119,7 +123,7 @@ static void cros_ec_console_log_work(struct work_struct *__work)
resched: resched:
schedule_delayed_work(&debug_info->log_poll_work, schedule_delayed_work(&debug_info->log_poll_work,
msecs_to_jiffies(LOG_POLL_SEC * 1000)); msecs_to_jiffies(log_poll_period_ms));
} }
static int cros_ec_console_log_open(struct inode *inode, struct file *file) static int cros_ec_console_log_open(struct inode *inode, struct file *file)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment