X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fraw%2Fifpga_rawdev%2Fbase%2Fifpga_feature_dev.h;h=bb9fcc2893867b3c9b5e2406f8506aa693ae6460;hb=ecaeed4f1d042b4317f756ad49ab4d918d0e4f76;hp=72352eeb77c7d2b65dac9fa7872485828ccbfb08;hpb=96ebfcf8125c605f2657aad705e2bda580533ea7;p=dpdk.git diff --git a/drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h b/drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h index 72352eeb77..bb9fcc2893 100644 --- a/drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h +++ b/drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h @@ -10,7 +10,7 @@ struct feature_driver { u64 id; const char *name; - struct feature_ops *ops; + struct ifpga_feature_ops *ops; }; /** @@ -34,10 +34,10 @@ get_port(struct ifpga_hw *hw, u32 port_id) #define ifpga_for_each_port_feature(port, feature) \ TAILQ_FOREACH(feature, &port->feature_list, next) -static inline struct feature * +static inline struct ifpga_feature * get_fme_feature_by_id(struct ifpga_fme_hw *fme, u64 id) { - struct feature *feature; + struct ifpga_feature *feature; ifpga_for_each_fme_feature(fme, feature) { if (feature->id == id) @@ -47,10 +47,10 @@ get_fme_feature_by_id(struct ifpga_fme_hw *fme, u64 id) return NULL; } -static inline struct feature * +static inline struct ifpga_feature * get_port_feature_by_id(struct ifpga_port_hw *port, u64 id) { - struct feature *feature; + struct ifpga_feature *feature; ifpga_for_each_port_feature(port, feature) { if (feature->id == id) @@ -60,10 +60,10 @@ get_port_feature_by_id(struct ifpga_port_hw *port, u64 id) return NULL; } -static inline struct feature * +static inline struct ifpga_feature * get_feature_by_id(struct ifpga_feature_list *list, u64 id) { - struct feature *feature; + struct ifpga_feature *feature; TAILQ_FOREACH(feature, list, next) if (feature->id == id) @@ -75,7 +75,8 @@ get_feature_by_id(struct ifpga_feature_list *list, u64 id) static inline void * get_fme_feature_ioaddr_by_index(struct ifpga_fme_hw *fme, int index) { - struct feature *feature = get_feature_by_id(&fme->feature_list, index); + struct ifpga_feature *feature = + get_feature_by_id(&fme->feature_list, index); return feature ? feature->addr : NULL; } @@ -83,7 +84,8 @@ get_fme_feature_ioaddr_by_index(struct ifpga_fme_hw *fme, int index) static inline void * get_port_feature_ioaddr_by_index(struct ifpga_port_hw *port, int index) { - struct feature *feature = get_feature_by_id(&port->feature_list, index); + struct ifpga_feature *feature = + get_feature_by_id(&port->feature_list, index); return feature ? feature->addr : NULL; } @@ -162,17 +164,19 @@ int port_clear_error(struct ifpga_port_hw *port); void port_err_mask(struct ifpga_port_hw *port, bool mask); int port_err_clear(struct ifpga_port_hw *port, u64 err); -extern struct feature_ops fme_hdr_ops; -extern struct feature_ops fme_thermal_mgmt_ops; -extern struct feature_ops fme_power_mgmt_ops; -extern struct feature_ops fme_global_err_ops; -extern struct feature_ops fme_pr_mgmt_ops; -extern struct feature_ops fme_global_iperf_ops; -extern struct feature_ops fme_global_dperf_ops; -extern struct feature_ops fme_hssi_eth_ops; -extern struct feature_ops fme_emif_ops; -extern struct feature_ops fme_spi_master_ops; -extern struct feature_ops fme_nios_spi_master_ops; +extern struct ifpga_feature_ops fme_hdr_ops; +extern struct ifpga_feature_ops fme_thermal_mgmt_ops; +extern struct ifpga_feature_ops fme_power_mgmt_ops; +extern struct ifpga_feature_ops fme_global_err_ops; +extern struct ifpga_feature_ops fme_pr_mgmt_ops; +extern struct ifpga_feature_ops fme_global_iperf_ops; +extern struct ifpga_feature_ops fme_global_dperf_ops; +extern struct ifpga_feature_ops fme_hssi_eth_ops; +extern struct ifpga_feature_ops fme_emif_ops; +extern struct ifpga_feature_ops fme_spi_master_ops; +extern struct ifpga_feature_ops fme_i2c_master_ops; +extern struct ifpga_feature_ops fme_eth_group_ops; +extern struct ifpga_feature_ops fme_nios_spi_master_ops; int port_get_prop(struct ifpga_port_hw *port, struct feature_prop *prop); int port_set_prop(struct ifpga_port_hw *port, struct feature_prop *prop); @@ -188,13 +192,30 @@ int port_set_irq(struct ifpga_port_hw *port, u32 feature_id, void *irq_set); const char *get_fme_feature_name(unsigned int id); const char *get_port_feature_name(unsigned int id); -extern struct feature_ops ifpga_rawdev_port_hdr_ops; -extern struct feature_ops ifpga_rawdev_port_error_ops; -extern struct feature_ops ifpga_rawdev_port_stp_ops; -extern struct feature_ops ifpga_rawdev_port_uint_ops; -extern struct feature_ops ifpga_rawdev_port_afu_ops; +extern struct ifpga_feature_ops ifpga_rawdev_port_hdr_ops; +extern struct ifpga_feature_ops ifpga_rawdev_port_error_ops; +extern struct ifpga_feature_ops ifpga_rawdev_port_stp_ops; +extern struct ifpga_feature_ops ifpga_rawdev_port_uint_ops; +extern struct ifpga_feature_ops ifpga_rawdev_port_afu_ops; /* help functions for feature ops */ -int fpga_msix_set_block(struct feature *feature, unsigned int start, +int fpga_msix_set_block(struct ifpga_feature *feature, unsigned int start, unsigned int count, s32 *fds); + +/* FME network function ops*/ +int fme_mgr_read_mac_rom(struct ifpga_fme_hw *fme, int offset, + void *buf, int size); +int fme_mgr_write_mac_rom(struct ifpga_fme_hw *fme, int offset, + void *buf, int size); +int fme_mgr_get_eth_group_nums(struct ifpga_fme_hw *fme); +int fme_mgr_get_eth_group_info(struct ifpga_fme_hw *fme, + u8 group_id, struct opae_eth_group_info *info); +int fme_mgr_eth_group_read_reg(struct ifpga_fme_hw *fme, u8 group_id, + u8 type, u8 index, u16 addr, u32 *data); +int fme_mgr_eth_group_write_reg(struct ifpga_fme_hw *fme, u8 group_id, + u8 type, u8 index, u16 addr, u32 data); +int fme_mgr_get_retimer_info(struct ifpga_fme_hw *fme, + struct opae_retimer_info *info); +int fme_mgr_get_retimer_status(struct ifpga_fme_hw *fme, + struct opae_retimer_status *status); #endif /* _IFPGA_FEATURE_DEV_H_ */