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

dsa.h (1653B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __DSA_PDATA_H
      3#define __DSA_PDATA_H
      4
      5struct device;
      6struct net_device;
      7
      8#define DSA_MAX_SWITCHES	4
      9#define DSA_MAX_PORTS		12
     10#define DSA_RTABLE_NONE		-1
     11
     12struct dsa_chip_data {
     13	/*
     14	 * How to access the switch configuration registers.
     15	 */
     16	struct device	*host_dev;
     17	int		sw_addr;
     18
     19	/*
     20	 * Reference to network devices
     21	 */
     22	struct device	*netdev[DSA_MAX_PORTS];
     23
     24	/* set to size of eeprom if supported by the switch */
     25	int		eeprom_len;
     26
     27	/* Device tree node pointer for this specific switch chip
     28	 * used during switch setup in case additional properties
     29	 * and resources needs to be used
     30	 */
     31	struct device_node *of_node;
     32
     33	/*
     34	 * The names of the switch's ports.  Use "cpu" to
     35	 * designate the switch port that the cpu is connected to,
     36	 * "dsa" to indicate that this port is a DSA link to
     37	 * another switch, NULL to indicate the port is unused,
     38	 * or any other string to indicate this is a physical port.
     39	 */
     40	char		*port_names[DSA_MAX_PORTS];
     41	struct device_node *port_dn[DSA_MAX_PORTS];
     42
     43	/*
     44	 * An array of which element [a] indicates which port on this
     45	 * switch should be used to send packets to that are destined
     46	 * for switch a. Can be NULL if there is only one switch chip.
     47	 */
     48	s8		rtable[DSA_MAX_SWITCHES];
     49};
     50
     51struct dsa_platform_data {
     52	/*
     53	 * Reference to a Linux network interface that connects
     54	 * to the root switch chip of the tree.
     55	 */
     56	struct device	*netdev;
     57	struct net_device *of_netdev;
     58
     59	/*
     60	 * Info structs describing each of the switch chips
     61	 * connected via this network interface.
     62	 */
     63	int		nr_chips;
     64	struct dsa_chip_data	*chip;
     65};
     66
     67
     68#endif /* __DSA_PDATA_H */