cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

dpaa2-mac.h (1246B)


      1/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
      2/* Copyright 2019 NXP */
      3#ifndef DPAA2_MAC_H
      4#define DPAA2_MAC_H
      5
      6#include <linux/of.h>
      7#include <linux/of_mdio.h>
      8#include <linux/of_net.h>
      9#include <linux/phylink.h>
     10
     11#include "dpmac.h"
     12#include "dpmac-cmd.h"
     13
     14struct dpaa2_mac {
     15	struct fsl_mc_device *mc_dev;
     16	struct dpmac_link_state state;
     17	struct net_device *net_dev;
     18	struct fsl_mc_io *mc_io;
     19	struct dpmac_attr attr;
     20	u16 ver_major, ver_minor;
     21	unsigned long features;
     22
     23	struct phylink_config phylink_config;
     24	struct phylink *phylink;
     25	phy_interface_t if_mode;
     26	enum dpmac_link_type if_link_type;
     27	struct phylink_pcs *pcs;
     28	struct fwnode_handle *fw_node;
     29
     30	struct phy *serdes_phy;
     31};
     32
     33bool dpaa2_mac_is_type_fixed(struct fsl_mc_device *dpmac_dev,
     34			     struct fsl_mc_io *mc_io);
     35
     36int dpaa2_mac_open(struct dpaa2_mac *mac);
     37
     38void dpaa2_mac_close(struct dpaa2_mac *mac);
     39
     40int dpaa2_mac_connect(struct dpaa2_mac *mac);
     41
     42void dpaa2_mac_disconnect(struct dpaa2_mac *mac);
     43
     44int dpaa2_mac_get_sset_count(void);
     45
     46void dpaa2_mac_get_strings(u8 *data);
     47
     48void dpaa2_mac_get_ethtool_stats(struct dpaa2_mac *mac, u64 *data);
     49
     50void dpaa2_mac_start(struct dpaa2_mac *mac);
     51
     52void dpaa2_mac_stop(struct dpaa2_mac *mac);
     53
     54#endif /* DPAA2_MAC_H */