mirror of
https://github.com/torvalds/linux.git
synced 2026-04-29 20:12:38 -04:00
The PPE hardware counters maintain counters for packets handled by the various functional blocks of PPE. They help in tracing the packets passed through PPE and debugging any packet drops. The counters displayed by this debugfs file are ones that are common for all Ethernet ports, and they do not include the counters that are specific for a MAC port. Hence they cannot be displayed using ethtool. The per-MAC counters will be supported using "ethtool -S" along with the netdevice driver. The PPE hardware various type counters are made available through the debugfs files under directory "/sys/kernel/debug/ppe/". Signed-off-by: Luo Jie <quic_luoj@quicinc.com> Link: https://patch.msgid.link/20250818-qcom_ipq_ppe-v8-13-1d4ff641fce9@quicinc.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
40 lines
1000 B
C
40 lines
1000 B
C
/* SPDX-License-Identifier: GPL-2.0-only
|
|
*
|
|
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
*/
|
|
|
|
#ifndef __PPE_H__
|
|
#define __PPE_H__
|
|
|
|
#include <linux/compiler.h>
|
|
#include <linux/interconnect.h>
|
|
|
|
struct device;
|
|
struct regmap;
|
|
struct dentry;
|
|
|
|
/**
|
|
* struct ppe_device - PPE device private data.
|
|
* @dev: PPE device structure.
|
|
* @regmap: PPE register map.
|
|
* @clk_rate: PPE clock rate.
|
|
* @num_ports: Number of PPE ports.
|
|
* @debugfs_root: Debugfs root entry.
|
|
* @num_icc_paths: Number of interconnect paths.
|
|
* @icc_paths: Interconnect path array.
|
|
*
|
|
* PPE device is the instance of PPE hardware, which is used to
|
|
* configure PPE packet process modules such as BM (buffer management),
|
|
* QM (queue management), and scheduler.
|
|
*/
|
|
struct ppe_device {
|
|
struct device *dev;
|
|
struct regmap *regmap;
|
|
unsigned long clk_rate;
|
|
unsigned int num_ports;
|
|
struct dentry *debugfs_root;
|
|
unsigned int num_icc_paths;
|
|
struct icc_bulk_data icc_paths[] __counted_by(num_icc_paths);
|
|
};
|
|
#endif
|