hellcreek.h (ddd56dfe52c987d82964595902db0600970ef406) hellcreek.h (f0d4ba9eff75a79fccb7793f4d9f12303d458603)
1/* SPDX-License-Identifier: (GPL-2.0 or MIT) */
2/*
3 * DSA driver for:
4 * Hirschmann Hellcreek TSN switch.
5 *
6 * Copyright (C) 2019,2020 Linutronix GmbH
7 * Author Kurt Kanzenbach <kurt@linutronix.de>
8 */

--- 200 unchanged lines hidden (view full) ---

209
210struct hellcreek_counter {
211 u8 offset;
212 const char *name;
213};
214
215struct hellcreek;
216
1/* SPDX-License-Identifier: (GPL-2.0 or MIT) */
2/*
3 * DSA driver for:
4 * Hirschmann Hellcreek TSN switch.
5 *
6 * Copyright (C) 2019,2020 Linutronix GmbH
7 * Author Kurt Kanzenbach <kurt@linutronix.de>
8 */

--- 200 unchanged lines hidden (view full) ---

209
210struct hellcreek_counter {
211 u8 offset;
212 const char *name;
213};
214
215struct hellcreek;
216
217/* State flags for hellcreek_port_hwtstamp::state */
218enum {
219 HELLCREEK_HWTSTAMP_ENABLED,
220 HELLCREEK_HWTSTAMP_TX_IN_PROGRESS,
221};
222
223/* A structure to hold hardware timestamping information per port */
224struct hellcreek_port_hwtstamp {
225 /* Timestamping state */
226 unsigned long state;
227
228 /* Resources for receive timestamping */
229 struct sk_buff_head rx_queue; /* For synchronization messages */
230
231 /* Resources for transmit timestamping */
232 unsigned long tx_tstamp_start;
233 struct sk_buff *tx_skb;
234
235 /* Current timestamp configuration */
236 struct hwtstamp_config tstamp_config;
237};
238
217struct hellcreek_port {
218 struct hellcreek *hellcreek;
219 unsigned long *vlan_dev_bitmap;
220 int port;
221 u16 ptcfg; /* ptcfg shadow */
222 u64 *counter_values;
239struct hellcreek_port {
240 struct hellcreek *hellcreek;
241 unsigned long *vlan_dev_bitmap;
242 int port;
243 u16 ptcfg; /* ptcfg shadow */
244 u64 *counter_values;
245
246 /* Per-port timestamping resources */
247 struct hellcreek_port_hwtstamp port_hwtstamp;
223};
224
225struct hellcreek_fdb_entry {
226 size_t idx;
227 unsigned char mac[ETH_ALEN];
228 u8 portmask;
229 u8 age;
230 u8 is_obt;

--- 27 unchanged lines hidden ---
248};
249
250struct hellcreek_fdb_entry {
251 size_t idx;
252 unsigned char mac[ETH_ALEN];
253 u8 portmask;
254 u8 age;
255 u8 is_obt;

--- 27 unchanged lines hidden ---