diff options
author | Igor Russkikh <igor.russkikh@aquantia.com> | 2018-01-19 17:03:19 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-21 18:19:03 -0500 |
commit | 4948293ff963e5451a8f0c21be8f1dfc2c7f65f5 (patch) | |
tree | f763d3372d5b6467f4cb5d0df777a19e0fe17f0c /drivers/net/ethernet/aquantia/atlantic/aq_hw.h | |
parent | net: aquantia: Introduce new device ids and constants (diff) | |
download | linux-dev-4948293ff963e5451a8f0c21be8f1dfc2c7f65f5.tar.xz linux-dev-4948293ff963e5451a8f0c21be8f1dfc2c7f65f5.zip |
net: aquantia: Introduce new AQC devices and capabilities
A number of new AQC devices is going to be released. To support more
flexible capabilities management a number of static caps instances is now
declared. Devices now are mainly differs by supported speeds, but in future
more parameters will be customized. A set of AQC100 devices have
fibre media, not twisted pair - this is also reflected in
new capabilities definitions.
HW level also now directly exports hw_ops for each of A0/B0 hardware.
PCI configuration now uses a device configuration table where each
device ID is explicitly mapped with hardware OPs and capabilities
structures.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aquantia/atlantic/aq_hw.h')
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_hw.h b/drivers/net/ethernet/aquantia/atlantic/aq_hw.h index 5d67f1335f4d..5792a7c35998 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_hw.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_hw.h @@ -23,6 +23,7 @@ struct aq_hw_caps_s { u64 hw_features; u64 link_speed_msk; unsigned int hw_priv_flags; + u32 media_type; u32 rxds; u32 txds; u32 txhwb_alignment; @@ -95,6 +96,9 @@ struct aq_stats_s { #define AQ_NIC_FLAGS_IS_NOT_TX_READY (AQ_NIC_FLAGS_IS_NOT_READY | \ AQ_NIC_LINK_DOWN) +#define AQ_HW_MEDIA_TYPE_TP 1U +#define AQ_HW_MEDIA_TYPE_FIBRE 2U + struct aq_hw_s { atomic_t flags; struct aq_nic_cfg_s *aq_nic_cfg; @@ -128,11 +132,6 @@ struct aq_hw_ops { void (*destroy)(struct aq_hw_s *self); - int (*get_hw_caps)(struct aq_hw_s *self, - struct aq_hw_caps_s *aq_hw_caps, - unsigned short device, - unsigned short subsystem_device); - int (*hw_ring_tx_xmit)(struct aq_hw_s *self, struct aq_ring_s *aq_ring, unsigned int frags); |