Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/cxl/core/region.c __cxl_dpa_to_region() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 4096-ptr_max
DATA_SOURCE 0 dev $0

drivers/cxl/core/region.c cxl_memdev_attach_region() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev r device_find_child
LOCK2 &endpoint->dev.mutex
LOCK2 _T->lock
TYPE_LOCK (struct device)->mutex

drivers/cxl/core/region.c cxl_region_setup_flags() -> to_cxl_endpoint_decoder()

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

drivers/cxl/core/region.c first_mapped_decoder() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 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 poison_by_decoder() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 4096-ptr_max
DATA_SOURCE 0 dev $0

drivers/cxl/core/region.c store_targetN() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 4096-ptr_max
DATA_SOURCE 0 dev r bus_find_device_by_name
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/port.c cxl_endpoint_decoder_release() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 4096-ptr_max
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
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &subsys->su_mutex

drivers/cxl/core/port.c cxld_unregister() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0

drivers/cxl/core/port.c dpa_resource_show() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
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/port.c dpa_size_show() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
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/port.c dpa_size_store() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
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/port.c mode_show() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
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/port.c mode_store() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
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/hdm.c cxl_decoder_commit() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->parent 4096-ptr_max
PARAM_VALUE 0 dev->type 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/hdm.c cxl_decoder_reset() -> to_cxl_endpoint_decoder()

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

drivers/cxl/core/hdm.c cxl_setup_hdm_decoder_from_dvsec() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus 5501934413539762176
PARAM_VALUE 0 dev->devres_head.next 4096-ptr_max
PARAM_VALUE 0 dev->devres_head.prev 4096-ptr_max
PARAM_VALUE 0 dev->dma_io_tlb_mem 1473117533515866112
PARAM_VALUE 0 dev->dma_io_tlb_pools.next 4096-ptr_max
PARAM_VALUE 0 dev->dma_io_tlb_pools.prev 4096-ptr_max
PARAM_VALUE 0 dev->dma_pools.next 4096-ptr_max
PARAM_VALUE 0 dev->dma_pools.prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.entry.next 4096-ptr_max
PARAM_VALUE 0 dev->kobj.entry.prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.kref.refcount.refs.counter 1
PARAM_VALUE 0 dev->kobj.ktype 5399513539053756416
PARAM_VALUE 0 dev->kobj.state_initialized 1
PARAM_VALUE 0 dev->links.consumers.next 4096-ptr_max
PARAM_VALUE 0 dev->links.consumers.prev 4096-ptr_max
PARAM_VALUE 0 dev->links.defer_sync.next 4096-ptr_max
PARAM_VALUE 0 dev->links.defer_sync.prev 4096-ptr_max
PARAM_VALUE 0 dev->links.suppliers.next 4096-ptr_max
PARAM_VALUE 0 dev->links.suppliers.prev 4096-ptr_max
PARAM_VALUE 0 dev->numa_node (-1)
PARAM_VALUE 0 dev->parent 4096-ptr_max
PARAM_VALUE 0 dev->power.disable_depth 1
PARAM_VALUE 0 dev->power.early_init 1
PARAM_VALUE 0 dev->power.entry.next 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.prev 4096-ptr_max
PARAM_VALUE 0 dev->power.last_status (-1)
PARAM_VALUE 0 dev->power.no_callbacks 1
PARAM_VALUE 0 dev->power.no_pm 1
PARAM_VALUE 0 dev->power.runtime_auto 1
PARAM_VALUE 0 dev->power.runtime_status 2
PARAM_VALUE 0 dev->power.wait_queue.head.next 4096-ptr_max
PARAM_VALUE 0 dev->power.wait_queue.head.prev 4096-ptr_max
PARAM_VALUE 0 dev->type 800064969857134592,1973007849089654784
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &port->dev.mutex

drivers/cxl/core/hdm.c init_hdm_decoder() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus 5501934413539762176
PARAM_VALUE 0 dev->devres_head.next 4096-ptr_max
PARAM_VALUE 0 dev->devres_head.prev 4096-ptr_max
PARAM_VALUE 0 dev->dma_io_tlb_mem 1473117533515866112
PARAM_VALUE 0 dev->dma_io_tlb_pools.next 4096-ptr_max
PARAM_VALUE 0 dev->dma_io_tlb_pools.prev 4096-ptr_max
PARAM_VALUE 0 dev->dma_pools.next 4096-ptr_max
PARAM_VALUE 0 dev->dma_pools.prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.kref.refcount.refs.counter 1
PARAM_VALUE 0 dev->kobj.ktype 5399513539053756416
PARAM_VALUE 0 dev->kobj.state_initialized 1
PARAM_VALUE 0 dev->links.consumers.next 4096-ptr_max
PARAM_VALUE 0 dev->links.consumers.prev 4096-ptr_max
PARAM_VALUE 0 dev->links.defer_sync.next 4096-ptr_max
PARAM_VALUE 0 dev->links.defer_sync.prev 4096-ptr_max
PARAM_VALUE 0 dev->links.suppliers.next 4096-ptr_max
PARAM_VALUE 0 dev->links.suppliers.prev 4096-ptr_max
PARAM_VALUE 0 dev->numa_node (-1)
PARAM_VALUE 0 dev->parent 4096-ptr_max
PARAM_VALUE 0 dev->power.disable_depth 1
PARAM_VALUE 0 dev->power.early_init 1
PARAM_VALUE 0 dev->power.entry.next 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.prev 4096-ptr_max
PARAM_VALUE 0 dev->power.last_status (-1)
PARAM_VALUE 0 dev->power.no_callbacks 1
PARAM_VALUE 0 dev->power.no_pm 1
PARAM_VALUE 0 dev->power.runtime_auto 1
PARAM_VALUE 0 dev->power.runtime_status 2
PARAM_VALUE 0 dev->power.wait_queue.head.next 4096-ptr_max
PARAM_VALUE 0 dev->power.wait_queue.head.prev 4096-ptr_max
PARAM_VALUE 0 dev->type 800064969857134592,1973007849089654784
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &port->dev.mutex

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->parent 4096-ptr_max
PARAM_VALUE 0 dev->type 0-800064969857134591,800064969857134593-6974686570282930175
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

drivers/cxl/pci.c cxl_endpoint_decoder_clear_reset_flags() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 4096-ptr_max
DATA_SOURCE 0 dev $0

drivers/cxl/port.c discover_region() -> to_cxl_endpoint_decoder()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->type 4096-ptr_max
DATA_SOURCE 0 dev $0