linux/drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c

/* Synopsys DesignWare Core Enterprise Ethernet (XLGMAC) Driver
 *
 * Copyright (c) 2017 Synopsys, Inc. (www.synopsys.com)
 *
 * This program is dual-licensed; you may select either version 2 of
 * the GNU General Public License ("GPL") or BSD license ("BSD").
 *
 * This Synopsys DWC XLGMAC software driver and associated documentation
 * (hereinafter the "Software") is an unsupported proprietary work of
 * Synopsys, Inc. unless otherwise expressly agreed to in writing between
 * Synopsys and you. The Software IS NOT an item of Licensed Software or a
 * Licensed Product under any End User Software License Agreement or
 * Agreement for Licensed Products with Synopsys or any supplement thereto.
 * Synopsys is a registered trademark of Synopsys, Inc. Other names included
 * in the SOFTWARE may be the trademarks of their respective owners.
 */

#include <linux/phy.h>
#include <linux/mdio.h>
#include <linux/clk.h>
#include <linux/bitrev.h>
#include <linux/crc32.h>
#include <linux/crc32poly.h>
#include <linux/dcbnl.h>

#include "dwc-xlgmac.h"
#include "dwc-xlgmac-reg.h"

static int xlgmac_tx_complete(struct xlgmac_dma_desc *dma_desc)
{}

static int xlgmac_disable_rx_csum(struct xlgmac_pdata *pdata)
{}

static int xlgmac_enable_rx_csum(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_mac_address(struct xlgmac_pdata *pdata, const u8 *addr)
{}

static void xlgmac_set_mac_reg(struct xlgmac_pdata *pdata,
			       struct netdev_hw_addr *ha,
			       unsigned int *mac_reg)
{}

static int xlgmac_enable_rx_vlan_stripping(struct xlgmac_pdata *pdata)
{}

static int xlgmac_disable_rx_vlan_stripping(struct xlgmac_pdata *pdata)
{}

static int xlgmac_enable_rx_vlan_filtering(struct xlgmac_pdata *pdata)
{}

static int xlgmac_disable_rx_vlan_filtering(struct xlgmac_pdata *pdata)
{}

static u32 xlgmac_vid_crc32_le(__le16 vid_le)
{}

static int xlgmac_update_vlan_hash_table(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_promiscuous_mode(struct xlgmac_pdata *pdata,
				       unsigned int enable)
{}

static int xlgmac_set_all_multicast_mode(struct xlgmac_pdata *pdata,
					 unsigned int enable)
{}

static void xlgmac_set_mac_addn_addrs(struct xlgmac_pdata *pdata)
{}

static void xlgmac_set_mac_hash_table(struct xlgmac_pdata *pdata)
{}

static int xlgmac_add_mac_addresses(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_mac_address(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_jumbo_enable(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_checksum_offload(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_vlan_support(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_rx_mode(struct xlgmac_pdata *pdata)
{}

static void xlgmac_prepare_tx_stop(struct xlgmac_pdata *pdata,
				   struct xlgmac_channel *channel)
{}

static void xlgmac_enable_tx(struct xlgmac_pdata *pdata)
{}

static void xlgmac_disable_tx(struct xlgmac_pdata *pdata)
{}

static void xlgmac_prepare_rx_stop(struct xlgmac_pdata *pdata,
				   unsigned int queue)
{}

static void xlgmac_enable_rx(struct xlgmac_pdata *pdata)
{}

static void xlgmac_disable_rx(struct xlgmac_pdata *pdata)
{}

static void xlgmac_tx_start_xmit(struct xlgmac_channel *channel,
				 struct xlgmac_ring *ring)
{}

static void xlgmac_dev_xmit(struct xlgmac_channel *channel)
{}

static void xlgmac_get_rx_tstamp(struct xlgmac_pkt_info *pkt_info,
				 struct xlgmac_dma_desc *dma_desc)
{}

static void xlgmac_tx_desc_reset(struct xlgmac_desc_data *desc_data)
{}

static void xlgmac_tx_desc_init(struct xlgmac_channel *channel)
{}

static void xlgmac_rx_desc_reset(struct xlgmac_pdata *pdata,
				 struct xlgmac_desc_data *desc_data,
				 unsigned int index)
{}

static void xlgmac_rx_desc_init(struct xlgmac_channel *channel)
{}

static int xlgmac_is_context_desc(struct xlgmac_dma_desc *dma_desc)
{}

static int xlgmac_is_last_desc(struct xlgmac_dma_desc *dma_desc)
{}

static int xlgmac_disable_tx_flow_control(struct xlgmac_pdata *pdata)
{}

static int xlgmac_enable_tx_flow_control(struct xlgmac_pdata *pdata)
{}

static int xlgmac_disable_rx_flow_control(struct xlgmac_pdata *pdata)
{}

static int xlgmac_enable_rx_flow_control(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_tx_flow_control(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_rx_flow_control(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_rx_coalesce(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_flow_control(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_rx_fep_enable(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_rx_fup_enable(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_tx_coalesce(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_rx_buffer_size(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_tso_mode(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_sph_mode(struct xlgmac_pdata *pdata)
{}

static unsigned int xlgmac_usec_to_riwt(struct xlgmac_pdata *pdata,
					unsigned int usec)
{}

static unsigned int xlgmac_riwt_to_usec(struct xlgmac_pdata *pdata,
					unsigned int riwt)
{}

static int xlgmac_config_rx_threshold(struct xlgmac_pdata *pdata,
				      unsigned int val)
{}

static void xlgmac_config_mtl_mode(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_queue_mapping(struct xlgmac_pdata *pdata)
{}

static unsigned int xlgmac_calculate_per_queue_fifo(
					unsigned int fifo_size,
					unsigned int queue_count)
{}

static void xlgmac_config_tx_fifo_size(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_rx_fifo_size(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_flow_control_threshold(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_tx_threshold(struct xlgmac_pdata *pdata,
				      unsigned int val)
{}

static int xlgmac_config_rsf_mode(struct xlgmac_pdata *pdata,
				  unsigned int val)
{}

static int xlgmac_config_tsf_mode(struct xlgmac_pdata *pdata,
				  unsigned int val)
{}

static int xlgmac_config_osp_mode(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_pblx8(struct xlgmac_pdata *pdata)
{}

static int xlgmac_get_tx_pbl_val(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_tx_pbl_val(struct xlgmac_pdata *pdata)
{}

static int xlgmac_get_rx_pbl_val(struct xlgmac_pdata *pdata)
{}

static int xlgmac_config_rx_pbl_val(struct xlgmac_pdata *pdata)
{}

static u64 xlgmac_mmc_read(struct xlgmac_pdata *pdata, unsigned int reg_lo)
{}

static void xlgmac_tx_mmc_int(struct xlgmac_pdata *pdata)
{}

static void xlgmac_rx_mmc_int(struct xlgmac_pdata *pdata)
{}

static void xlgmac_read_mmc_stats(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_mmc(struct xlgmac_pdata *pdata)
{}

static int xlgmac_write_rss_reg(struct xlgmac_pdata *pdata, unsigned int type,
				unsigned int index, unsigned int val)
{}

static int xlgmac_write_rss_hash_key(struct xlgmac_pdata *pdata)
{}

static int xlgmac_write_rss_lookup_table(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_rss_hash_key(struct xlgmac_pdata *pdata, const u8 *key)
{}

static int xlgmac_set_rss_lookup_table(struct xlgmac_pdata *pdata,
				       const u32 *table)
{}

static int xlgmac_enable_rss(struct xlgmac_pdata *pdata)
{}

static int xlgmac_disable_rss(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_rss(struct xlgmac_pdata *pdata)
{}

static void xlgmac_enable_dma_interrupts(struct xlgmac_pdata *pdata)
{}

static void xlgmac_enable_mtl_interrupts(struct xlgmac_pdata *pdata)
{}

static void xlgmac_enable_mac_interrupts(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_xlgmii_25000_speed(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_xlgmii_40000_speed(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_xlgmii_50000_speed(struct xlgmac_pdata *pdata)
{}

static int xlgmac_set_xlgmii_100000_speed(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_mac_speed(struct xlgmac_pdata *pdata)
{}

static int xlgmac_dev_read(struct xlgmac_channel *channel)
{}

static int xlgmac_enable_int(struct xlgmac_channel *channel,
			     enum xlgmac_int int_id)
{}

static int xlgmac_disable_int(struct xlgmac_channel *channel,
			      enum xlgmac_int int_id)
{}

static int xlgmac_flush_tx_queues(struct xlgmac_pdata *pdata)
{}

static void xlgmac_config_dma_bus(struct xlgmac_pdata *pdata)
{}

static int xlgmac_hw_init(struct xlgmac_pdata *pdata)
{}

static int xlgmac_hw_exit(struct xlgmac_pdata *pdata)
{}

void xlgmac_init_hw_ops(struct xlgmac_hw_ops *hw_ops)
{}