mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
qede: Refactor qede_forced_speed_maps_init()
Refactor qede_forced_speed_maps_init() to use commen implementation ethtool_forced_speed_maps_init(). The qede driver was compile tested only. Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Signed-off-by: Pawel Chmielewski <pawel.chmielewski@intel.com> Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
26c5334d34
commit
a5b65cd2a3
|
|
@ -201,21 +201,6 @@ static const char qede_tests_str_arr[QEDE_ETHTOOL_TEST_MAX][ETH_GSTRING_LEN] = {
|
|||
|
||||
/* Forced speed capabilities maps */
|
||||
|
||||
struct qede_forced_speed_map {
|
||||
u32 speed;
|
||||
__ETHTOOL_DECLARE_LINK_MODE_MASK(caps);
|
||||
|
||||
const u32 *cap_arr;
|
||||
u32 arr_size;
|
||||
};
|
||||
|
||||
#define QEDE_FORCED_SPEED_MAP(value) \
|
||||
{ \
|
||||
.speed = SPEED_##value, \
|
||||
.cap_arr = qede_forced_speed_##value, \
|
||||
.arr_size = ARRAY_SIZE(qede_forced_speed_##value), \
|
||||
}
|
||||
|
||||
static const u32 qede_forced_speed_1000[] __initconst = {
|
||||
ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
|
||||
ETHTOOL_LINK_MODE_1000baseKX_Full_BIT,
|
||||
|
|
@ -263,28 +248,21 @@ static const u32 qede_forced_speed_100000[] __initconst = {
|
|||
ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT,
|
||||
};
|
||||
|
||||
static struct qede_forced_speed_map qede_forced_speed_maps[] __ro_after_init = {
|
||||
QEDE_FORCED_SPEED_MAP(1000),
|
||||
QEDE_FORCED_SPEED_MAP(10000),
|
||||
QEDE_FORCED_SPEED_MAP(20000),
|
||||
QEDE_FORCED_SPEED_MAP(25000),
|
||||
QEDE_FORCED_SPEED_MAP(40000),
|
||||
QEDE_FORCED_SPEED_MAP(50000),
|
||||
QEDE_FORCED_SPEED_MAP(100000),
|
||||
static struct ethtool_forced_speed_map
|
||||
qede_forced_speed_maps[] __ro_after_init = {
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 1000),
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 10000),
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 20000),
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 25000),
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 40000),
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 50000),
|
||||
ETHTOOL_FORCED_SPEED_MAP(qede_forced_speed, 100000),
|
||||
};
|
||||
|
||||
void __init qede_forced_speed_maps_init(void)
|
||||
{
|
||||
struct qede_forced_speed_map *map;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(qede_forced_speed_maps); i++) {
|
||||
map = qede_forced_speed_maps + i;
|
||||
|
||||
linkmode_set_bit_array(map->cap_arr, map->arr_size, map->caps);
|
||||
map->cap_arr = NULL;
|
||||
map->arr_size = 0;
|
||||
}
|
||||
ethtool_forced_speed_maps_init(qede_forced_speed_maps,
|
||||
ARRAY_SIZE(qede_forced_speed_maps));
|
||||
}
|
||||
|
||||
/* Ethtool callbacks */
|
||||
|
|
@ -564,8 +542,8 @@ static int qede_set_link_ksettings(struct net_device *dev,
|
|||
const struct ethtool_link_ksettings *cmd)
|
||||
{
|
||||
const struct ethtool_link_settings *base = &cmd->base;
|
||||
const struct ethtool_forced_speed_map *map;
|
||||
struct qede_dev *edev = netdev_priv(dev);
|
||||
const struct qede_forced_speed_map *map;
|
||||
struct qed_link_output current_link;
|
||||
struct qed_link_params params;
|
||||
u32 i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user