xref: /openbmc/linux/drivers/crypto/intel/qat/qat_common/adf_dbgfs.c (revision ecc23d0a422a3118fcf6e4f0a46e17a6c2047b02)
19260db66SDamian Muszynski // SPDX-License-Identifier: GPL-2.0-only
29260db66SDamian Muszynski /* Copyright(c) 2023 Intel Corporation */
39260db66SDamian Muszynski 
49260db66SDamian Muszynski #include <linux/debugfs.h>
59260db66SDamian Muszynski #include "adf_accel_devices.h"
69260db66SDamian Muszynski #include "adf_cfg.h"
79260db66SDamian Muszynski #include "adf_common_drv.h"
89260db66SDamian Muszynski #include "adf_dbgfs.h"
9865b50feSLucas Segarra Fernandez #include "adf_fw_counters.h"
10359b84f8SDamian Muszynski #include "adf_heartbeat_dbgfs.h"
119260db66SDamian Muszynski 
129260db66SDamian Muszynski /**
139260db66SDamian Muszynski  * adf_dbgfs_init() - add persistent debugfs entries
149260db66SDamian Muszynski  * @accel_dev:  Pointer to acceleration device.
159260db66SDamian Muszynski  *
169260db66SDamian Muszynski  * This function creates debugfs entries that are persistent through a device
179260db66SDamian Muszynski  * state change (from up to down or vice versa).
189260db66SDamian Muszynski  */
adf_dbgfs_init(struct adf_accel_dev * accel_dev)199260db66SDamian Muszynski void adf_dbgfs_init(struct adf_accel_dev *accel_dev)
209260db66SDamian Muszynski {
219260db66SDamian Muszynski 	char name[ADF_DEVICE_NAME_LENGTH];
229260db66SDamian Muszynski 
239260db66SDamian Muszynski 	/* Create dev top level debugfs entry */
249260db66SDamian Muszynski 	snprintf(name, sizeof(name), "%s%s_%s", ADF_DEVICE_NAME_PREFIX,
259260db66SDamian Muszynski 		 accel_dev->hw_device->dev_class->name,
269260db66SDamian Muszynski 		 pci_name(accel_dev->accel_pci_dev.pci_dev));
279260db66SDamian Muszynski 
28*2a064b78SCabiddu, Giovanni 	accel_dev->debugfs_dir = debugfs_create_dir(name, NULL);
299260db66SDamian Muszynski 
309260db66SDamian Muszynski 	adf_cfg_dev_dbgfs_add(accel_dev);
319260db66SDamian Muszynski }
329260db66SDamian Muszynski EXPORT_SYMBOL_GPL(adf_dbgfs_init);
339260db66SDamian Muszynski 
349260db66SDamian Muszynski /**
359260db66SDamian Muszynski  * adf_dbgfs_exit() - remove persistent debugfs entries
369260db66SDamian Muszynski  * @accel_dev:  Pointer to acceleration device.
379260db66SDamian Muszynski  */
adf_dbgfs_exit(struct adf_accel_dev * accel_dev)389260db66SDamian Muszynski void adf_dbgfs_exit(struct adf_accel_dev *accel_dev)
399260db66SDamian Muszynski {
409260db66SDamian Muszynski 	adf_cfg_dev_dbgfs_rm(accel_dev);
419260db66SDamian Muszynski 	debugfs_remove(accel_dev->debugfs_dir);
429260db66SDamian Muszynski }
439260db66SDamian Muszynski EXPORT_SYMBOL_GPL(adf_dbgfs_exit);
449260db66SDamian Muszynski 
459260db66SDamian Muszynski /**
469260db66SDamian Muszynski  * adf_dbgfs_add() - add non-persistent debugfs entries
479260db66SDamian Muszynski  * @accel_dev:  Pointer to acceleration device.
489260db66SDamian Muszynski  *
499260db66SDamian Muszynski  * This function creates debugfs entries that are not persistent through
509260db66SDamian Muszynski  * a device state change (from up to down or vice versa).
519260db66SDamian Muszynski  */
adf_dbgfs_add(struct adf_accel_dev * accel_dev)529260db66SDamian Muszynski void adf_dbgfs_add(struct adf_accel_dev *accel_dev)
539260db66SDamian Muszynski {
54359b84f8SDamian Muszynski 	if (!accel_dev->is_vf) {
55865b50feSLucas Segarra Fernandez 		adf_fw_counters_dbgfs_add(accel_dev);
56359b84f8SDamian Muszynski 		adf_heartbeat_dbgfs_add(accel_dev);
57359b84f8SDamian Muszynski 	}
589260db66SDamian Muszynski }
599260db66SDamian Muszynski 
609260db66SDamian Muszynski /**
619260db66SDamian Muszynski  * adf_dbgfs_rm() - remove non-persistent debugfs entries
629260db66SDamian Muszynski  * @accel_dev:  Pointer to acceleration device.
639260db66SDamian Muszynski  */
adf_dbgfs_rm(struct adf_accel_dev * accel_dev)649260db66SDamian Muszynski void adf_dbgfs_rm(struct adf_accel_dev *accel_dev)
659260db66SDamian Muszynski {
66359b84f8SDamian Muszynski 	if (!accel_dev->is_vf) {
67359b84f8SDamian Muszynski 		adf_heartbeat_dbgfs_rm(accel_dev);
68865b50feSLucas Segarra Fernandez 		adf_fw_counters_dbgfs_rm(accel_dev);
699260db66SDamian Muszynski 	}
70359b84f8SDamian Muszynski }
71