Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/cxl/core/region.c commit_decoder() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/cxl/core/region.c cxl_port_attach_region() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock
HALF_LOCKED2 &of->mutex

drivers/cxl/core/region.c match_auto_decoder() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),31
STR_LEN 0 dev (-1),31
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &endpoint->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &dpm_list_mtx
HALF_LOCKED2 global &dsa2_mutex
HALF_LOCKED2 global &nvdimm_bus_list_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &wwan_register_lock

drivers/cxl/core/region.c match_free_decoder() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),31
STR_LEN 0 dev (-1),31
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &endpoint->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &dpm_list_mtx
HALF_LOCKED2 global &dsa2_mutex
HALF_LOCKED2 global &nvdimm_bus_list_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &wwan_register_lock

drivers/cxl/core/region.c match_switch_decoder_by_range() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),31
STR_LEN 0 dev (-1),31
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &endpoint->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &dpm_list_mtx
HALF_LOCKED2 global &dsa2_mutex
HALF_LOCKED2 global &nvdimm_bus_list_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &wwan_register_lock

drivers/cxl/core/port.c to_cxl_decoder() -> is_switch_decoder()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),31
STR_LEN 0 dev (-1),31
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock

drivers/cxl/core/port.c to_cxl_switch_decoder() -> is_switch_decoder()

Type Parameter Key Value
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev->bus (-1),168
BUF_SIZE 0 dev->parent (-1),1616
BUF_SIZE 0 dev->type (-1),48
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),31
STR_LEN 0 dev (-1),31
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock

drivers/cxl/core/port.c update_decoder_targets() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev $0

drivers/cxl/core/hdm.c commit_reap() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

drivers/cxl/core/hdm.c setup_hw_decoder() -> is_switch_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 _T->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex