static void get_regs(struct net_device *dev, struct ethtool_regs *regs, void *buf) { struct adapter *adap = netdev2adap(dev); size_t buf_size; buf_size = t4_get_regs_len(adap); regs->version = mk_adap_vers(adap); t4_get_regs(adap, buf, buf_size); }
static int cxgbe_get_regs(struct rte_eth_dev *eth_dev, struct rte_dev_reg_info *regs) { struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private); struct adapter *adapter = pi->adapter; regs->version = CHELSIO_CHIP_VERSION(adapter->params.chip) | (CHELSIO_CHIP_RELEASE(adapter->params.chip) << 10) | (1 << 16); if (regs->data == NULL) { regs->length = cxgbe_get_regs_len(eth_dev); regs->width = sizeof(uint32_t); return 0; } t4_get_regs(adapter, regs->data, (regs->length * sizeof(uint32_t))); return 0; }