forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.0 KiB
40 lines
1.0 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
/* Copyright (c) 2019, Vladimir Oltean <[email protected]> |
|
*/ |
|
#ifndef _SJA1105_DYNAMIC_CONFIG_H |
|
#define _SJA1105_DYNAMIC_CONFIG_H |
|
|
|
#include "sja1105.h" |
|
#include <linux/packing.h> |
|
|
|
/* Special index that can be used for sja1105_dynamic_config_read */ |
|
#define SJA1105_SEARCH -1 |
|
|
|
struct sja1105_dyn_cmd; |
|
|
|
struct sja1105_dynamic_table_ops { |
|
/* This returns size_t just to keep same prototype as the |
|
* static config ops, of which we are reusing some functions. |
|
*/ |
|
size_t (*entry_packing)(void *buf, void *entry_ptr, enum packing_op op); |
|
void (*cmd_packing)(void *buf, struct sja1105_dyn_cmd *cmd, |
|
enum packing_op op); |
|
size_t max_entry_count; |
|
size_t packed_size; |
|
u64 addr; |
|
u8 access; |
|
}; |
|
|
|
struct sja1105_mgmt_entry { |
|
u64 tsreg; |
|
u64 takets; |
|
u64 macaddr; |
|
u64 destports; |
|
u64 enfport; |
|
u64 index; |
|
}; |
|
|
|
extern const struct sja1105_dynamic_table_ops sja1105et_dyn_ops[BLK_IDX_MAX_DYN]; |
|
extern const struct sja1105_dynamic_table_ops sja1105pqrs_dyn_ops[BLK_IDX_MAX_DYN]; |
|
|
|
#endif
|
|
|