1*c38bafeeSHareshx Sankar Raj /* SPDX-License-Identifier: BSD-3-Clause */ 2*c38bafeeSHareshx Sankar Raj /* Copyright(c) 2007-2025 Intel Corporation */ 3*c38bafeeSHareshx Sankar Raj 4*c38bafeeSHareshx Sankar Raj #include "adf_accel_devices.h" 5*c38bafeeSHareshx Sankar Raj #include "adf_cfg_dev_dbg.h" 6*c38bafeeSHareshx Sankar Raj #include "adf_cnvnr_freq_counters.h" 7*c38bafeeSHareshx Sankar Raj #include "adf_common_drv.h" 8*c38bafeeSHareshx Sankar Raj #include "adf_dbgfs.h" 9*c38bafeeSHareshx Sankar Raj #include "adf_fw_counters.h" 10*c38bafeeSHareshx Sankar Raj #include "adf_freebsd_pfvf_ctrs_dbg.h" 11*c38bafeeSHareshx Sankar Raj #include "adf_heartbeat_dbg.h" 12*c38bafeeSHareshx Sankar Raj #include "adf_ver_dbg.h" 13*c38bafeeSHareshx Sankar Raj 14*c38bafeeSHareshx Sankar Raj /** 15*c38bafeeSHareshx Sankar Raj * adf_dbgfs_init() - add persistent debugfs entries 16*c38bafeeSHareshx Sankar Raj * @accel_dev: Pointer to acceleration device. 17*c38bafeeSHareshx Sankar Raj * 18*c38bafeeSHareshx Sankar Raj * This function creates debugfs entries that are persistent through a device 19*c38bafeeSHareshx Sankar Raj * state change (from up to down or vice versa). 20*c38bafeeSHareshx Sankar Raj */ 21*c38bafeeSHareshx Sankar Raj void adf_dbgfs_init(struct adf_accel_dev * accel_dev)22*c38bafeeSHareshx Sankar Rajadf_dbgfs_init(struct adf_accel_dev *accel_dev) 23*c38bafeeSHareshx Sankar Raj { 24*c38bafeeSHareshx Sankar Raj adf_cfg_dev_dbg_add(accel_dev); 25*c38bafeeSHareshx Sankar Raj } 26*c38bafeeSHareshx Sankar Raj 27*c38bafeeSHareshx Sankar Raj /** 28*c38bafeeSHareshx Sankar Raj * adf_dbgfs_exit() - remove persistent debugfs entries 29*c38bafeeSHareshx Sankar Raj * @accel_dev: Pointer to acceleration device. 30*c38bafeeSHareshx Sankar Raj */ 31*c38bafeeSHareshx Sankar Raj void adf_dbgfs_exit(struct adf_accel_dev * accel_dev)32*c38bafeeSHareshx Sankar Rajadf_dbgfs_exit(struct adf_accel_dev *accel_dev) 33*c38bafeeSHareshx Sankar Raj { 34*c38bafeeSHareshx Sankar Raj adf_cfg_dev_dbg_remove(accel_dev); 35*c38bafeeSHareshx Sankar Raj } 36*c38bafeeSHareshx Sankar Raj 37*c38bafeeSHareshx Sankar Raj /** 38*c38bafeeSHareshx Sankar Raj * adf_dbgfs_add() - add non-persistent debugfs entries 39*c38bafeeSHareshx Sankar Raj * @accel_dev: Pointer to acceleration device. 40*c38bafeeSHareshx Sankar Raj * 41*c38bafeeSHareshx Sankar Raj * This function creates debugfs entries that are not persistent through 42*c38bafeeSHareshx Sankar Raj * a device state change (from up to down or vice versa). 43*c38bafeeSHareshx Sankar Raj */ 44*c38bafeeSHareshx Sankar Raj void adf_dbgfs_add(struct adf_accel_dev * accel_dev)45*c38bafeeSHareshx Sankar Rajadf_dbgfs_add(struct adf_accel_dev *accel_dev) 46*c38bafeeSHareshx Sankar Raj { 47*c38bafeeSHareshx Sankar Raj if (!accel_dev->is_vf) { 48*c38bafeeSHareshx Sankar Raj adf_heartbeat_dbg_add(accel_dev); 49*c38bafeeSHareshx Sankar Raj adf_ver_dbg_add(accel_dev); 50*c38bafeeSHareshx Sankar Raj adf_fw_counters_add(accel_dev); 51*c38bafeeSHareshx Sankar Raj adf_cnvnr_freq_counters_add(accel_dev); 52*c38bafeeSHareshx Sankar Raj } 53*c38bafeeSHareshx Sankar Raj } 54*c38bafeeSHareshx Sankar Raj 55*c38bafeeSHareshx Sankar Raj /** 56*c38bafeeSHareshx Sankar Raj * adf_dbgfs_rm() - remove non-persistent debugfs entries 57*c38bafeeSHareshx Sankar Raj * @accel_dev: Pointer to acceleration device. 58*c38bafeeSHareshx Sankar Raj */ 59*c38bafeeSHareshx Sankar Raj void adf_dbgfs_rm(struct adf_accel_dev * accel_dev)60*c38bafeeSHareshx Sankar Rajadf_dbgfs_rm(struct adf_accel_dev *accel_dev) 61*c38bafeeSHareshx Sankar Raj { 62*c38bafeeSHareshx Sankar Raj if (!accel_dev->is_vf) { 63*c38bafeeSHareshx Sankar Raj adf_cnvnr_freq_counters_remove(accel_dev); 64*c38bafeeSHareshx Sankar Raj adf_fw_counters_remove(accel_dev); 65*c38bafeeSHareshx Sankar Raj adf_ver_dbg_del(accel_dev); 66*c38bafeeSHareshx Sankar Raj adf_heartbeat_dbg_del(accel_dev); 67*c38bafeeSHareshx Sankar Raj } 68*c38bafeeSHareshx Sankar Raj } 69