Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/ethernet/marvell/skge.c yukon_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 0 hw->pdev->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 2 reg 20
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hw->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 0 &hw->phy_lock
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 0 hw->pdev->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 2 reg 0
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hw->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 0 &hw->phy_lock
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_link_down() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 2 reg 4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hw->phy_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_phy_intr() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 2 reg 19
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hw->phy_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_phy_intr() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 2 reg 17
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hw->phy_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_phy_intr() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 2 reg 5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hw->phy_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_phy_intr() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 2 reg 10
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hw->phy_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct skge_hw)->phy_lock

drivers/net/ethernet/marvell/skge.c yukon_suspend() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 0-9,11-255
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/marvell/skge.c yukon_suspend() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 0-9,11-255
PARAM_VALUE 2 reg 0
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/marvell/skge.c yukon_suspend() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 0-9,11-255
PARAM_VALUE 2 reg 0
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/marvell/sky2.c sky2_autoneg_done() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 2 reg 4
PREEMPT_ADD
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_autoneg_done() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 2 reg 5
PREEMPT_ADD
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_led() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 180-181,185
PARAM_VALUE 2 reg 22
FUZZY_MAX 0 hw->chip_id 185
BIT_INFO 0 hw->chip_id 0xb0,0xbd
PREEMPT_ADD <- disables preempt
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_mac_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->chip_rev 0
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 1 port 1
PARAM_VALUE 2 reg 2
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/marvell/sky2.c sky2_mac_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->chip_rev 0
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 1 port 1
PARAM_VALUE 2 reg 3
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/marvell/sky2.c sky2_mac_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->chip_rev 0
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 1 port 1
PARAM_VALUE 2 reg 18
DATA_SOURCE 0 hw $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 20
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
BIT_INFO 0 hw->flags 0x0,0xfffffffffffffff7
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 184
PARAM_VALUE 0 hw->chip_rev 0
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 28
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
BIT_INFO 0 hw->flags 0x0,0xfffffffffffffffb
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 0 hw->flags 2-u64max
PARAM_VALUE 2 reg 22
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
BIT_INFO 0 hw->flags 0x2,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 0 hw->flags 2-u64max
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
BIT_INFO 0 hw->flags 0x2,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 0 hw->flags 2-u64max
PARAM_VALUE 0 hw->pmd_type 80
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
BIT_INFO 0 hw->flags 0x2,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 183
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 22
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 184
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 179
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 22
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 180-181,185
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 22
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_init() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 189
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 20
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_intr() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 1 port 0-1
PARAM_VALUE 2 reg 19
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
HARD_MAX 1 port 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sky2->phy_lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_intr() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 1 port 0-1
PARAM_VALUE 2 reg 17
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
HARD_MAX 1 port 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sky2->phy_lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_power_down() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 0 hw->flags 8-u64max
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
BIT_INFO 0 hw->flags 0x8,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock

drivers/net/ethernet/marvell/sky2.c sky2_phy_power_down() -> gm_phy_read()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 0 hw->chip_id 180
PARAM_VALUE 0 hw->dev 4096-ptr_max
PARAM_VALUE 2 reg 16
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 port $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 hw unit_byte
LOCK2 &sky2->phy_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sky2_port)->phy_lock