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.
38 lines
975 B
38 lines
975 B
/*
|
|
* Copyright (c) Company 2019-2020. All rights reserved.
|
|
* Description: for gmac power manager
|
|
* Author: Huanglong
|
|
* Create: 2019-11-22
|
|
*/
|
|
#ifndef __SOCT_GMAC_PM_H
|
|
#define __SOCT_GMAC_PM_H
|
|
|
|
#include "gmac.h"
|
|
|
|
#define N 31
|
|
#define FILTERS 4
|
|
#define PM_FILTER_OFFSET_MIN 12
|
|
struct pm_config {
|
|
unsigned char index; /* bit0--eth0 bit1--eth1 */
|
|
unsigned char uc_pkts_enable;
|
|
unsigned char magic_pkts_enable;
|
|
unsigned char wakeup_pkts_enable;
|
|
struct {
|
|
unsigned int mask_bytes : N;
|
|
unsigned int reserved : 1; /* userspace ignore this bit */
|
|
unsigned char offset; /* >= 12 */
|
|
unsigned char value[N]; /* byte string */
|
|
unsigned char valid; /* valid filter */
|
|
} filter[FILTERS];
|
|
};
|
|
|
|
int pmt_config(const struct net_device *ndev, struct pm_config *config);
|
|
|
|
int pmt_get_config(const struct net_device *ndev, struct pm_config *config);
|
|
|
|
bool pmt_enter(struct gmac_netdev_local *ld);
|
|
|
|
void pmt_exit(struct gmac_netdev_local *ld);
|
|
|
|
#endif /* __SOCT_GMAC_PM_H */
|