|
@@ -658,6 +658,9 @@ struct efx_filter_state;
|
|
|
* should be allocated for this NIC
|
|
|
* @rxq_entries: Size of receive queues requested by user.
|
|
|
* @txq_entries: Size of transmit queues requested by user.
|
|
|
+ * @tx_dc_base: Base qword address in SRAM of TX queue descriptor caches
|
|
|
+ * @rx_dc_base: Base qword address in SRAM of RX queue descriptor caches
|
|
|
+ * @sram_lim_qw: Qword address limit of SRAM
|
|
|
* @next_buffer_table: First available buffer table id
|
|
|
* @n_channels: Number of channels in use
|
|
|
* @n_rx_channels: Number of channels used for RX (= number of RX queues)
|
|
@@ -753,6 +756,9 @@ struct efx_nic {
|
|
|
|
|
|
unsigned rxq_entries;
|
|
|
unsigned txq_entries;
|
|
|
+ unsigned tx_dc_base;
|
|
|
+ unsigned rx_dc_base;
|
|
|
+ unsigned sram_lim_qw;
|
|
|
unsigned next_buffer_table;
|
|
|
unsigned n_channels;
|
|
|
unsigned n_rx_channels;
|
|
@@ -839,6 +845,8 @@ static inline unsigned int efx_port_num(struct efx_nic *efx)
|
|
|
* @probe: Probe the controller
|
|
|
* @remove: Free resources allocated by probe()
|
|
|
* @init: Initialise the controller
|
|
|
+ * @dimension_resources: Dimension controller resources (buffer table,
|
|
|
+ * and VIs once the available interrupt resources are clear)
|
|
|
* @fini: Shut down the controller
|
|
|
* @monitor: Periodic function for polling link state and hardware monitor
|
|
|
* @map_reset_reason: Map ethtool reset reason to a reset method
|
|
@@ -878,8 +886,6 @@ static inline unsigned int efx_port_num(struct efx_nic *efx)
|
|
|
* @phys_addr_channels: Number of channels with physically addressed
|
|
|
* descriptors
|
|
|
* @timer_period_max: Maximum period of interrupt timer (in ticks)
|
|
|
- * @tx_dc_base: Base address in SRAM of TX queue descriptor caches
|
|
|
- * @rx_dc_base: Base address in SRAM of RX queue descriptor caches
|
|
|
* @offload_features: net_device feature flags for protocol offload
|
|
|
* features implemented in hardware
|
|
|
*/
|
|
@@ -887,6 +893,7 @@ struct efx_nic_type {
|
|
|
int (*probe)(struct efx_nic *efx);
|
|
|
void (*remove)(struct efx_nic *efx);
|
|
|
int (*init)(struct efx_nic *efx);
|
|
|
+ void (*dimension_resources)(struct efx_nic *efx);
|
|
|
void (*fini)(struct efx_nic *efx);
|
|
|
void (*monitor)(struct efx_nic *efx);
|
|
|
enum reset_type (*map_reset_reason)(enum reset_type reason);
|
|
@@ -923,8 +930,6 @@ struct efx_nic_type {
|
|
|
unsigned int max_interrupt_mode;
|
|
|
unsigned int phys_addr_channels;
|
|
|
unsigned int timer_period_max;
|
|
|
- unsigned int tx_dc_base;
|
|
|
- unsigned int rx_dc_base;
|
|
|
netdev_features_t offload_features;
|
|
|
};
|
|
|
|