Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c amdgpu_fru_get_product_info() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 0 i2c_adap 4096-ptr_max
PARAM_VALUE 0 i2c_adap->algo 1-u64max
PARAM_VALUE 1 eeprom_addr 393216,524288
PARAM_VALUE 2 eeprom_buf 8222668988257423360
PARAM_VALUE 3 bytes 8
BUF_SIZE 2 eeprom_buf 8
UNITS 3 bytes unit_byte

drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c amdgpu_fru_get_product_info() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 0 i2c_adap 4096-ptr_max
PARAM_VALUE 0 i2c_adap->algo 1-u64max
PARAM_VALUE 0 i2c_adap->bus_lock.rtmutex.waiters.rb_leftmost->rb_right 0
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->powerplay.pp_handle->msg_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 i2c_adap->dev.driver_data->mutex->wait_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 i2c_adap->quirks 0,4096-ptr_max
PARAM_VALUE 1 eeprom_addr 393217-395256,524289-526328
PARAM_VALUE 2 eeprom_buf 8222668988257423360
PARAM_VALUE 3 bytes 3
BUF_SIZE 2 eeprom_buf 8

drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c amdgpu_fru_get_product_info() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 0 i2c_adap 4096-ptr_max
PARAM_VALUE 0 i2c_adap->algo 1-u64max
PARAM_VALUE 0 i2c_adap->bus_lock.rtmutex.waiters.rb_leftmost->rb_right 0
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->pm.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 i2c_adap->dev.driver_data->adev->powerplay.pp_handle->msg_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 i2c_adap->dev.driver_data->mutex->wait_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 i2c_adap->quirks 0,4096-ptr_max
PARAM_VALUE 1 eeprom_addr 393217-395256,524289-526328
PARAM_VALUE 2 eeprom_buf 16,4096-ptr_max
PARAM_VALUE 3 bytes 0-2040
BUF_SIZE 2 eeprom_buf 0-s32max,18446744071562067968-u64max
BUF_SIZE 2 eeprom_buf 0-s32max,18446744071562067968-u64max
DATA_SOURCE 2 eeprom_buf r _kzalloc_noprof

drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c __amdgpu_ras_eeprom_read() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 2 eeprom_buf 16,4096-ptr_max
BUF_SIZE 2 eeprom_buf (-1),24
BUF_SIZE 2 eeprom_buf (-1),24
DATA_SOURCE 2 eeprom_buf $1
LOCK2 &adev->reset_domain->sem
LOCK2 &control->ras_tbl_mutex
TYPE_LOCK (struct amdgpu_ras_eeprom_control)->ras_tbl_mutex
TYPE_LOCK (struct amdgpu_reset_domain)->sem

drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c __read_table_ras_info() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 1 eeprom_addr 20,65556-196628,262164
PARAM_VALUE 2 eeprom_buf 4096-ptr_max
PARAM_VALUE 3 bytes 256
BUF_SIZE 2 eeprom_buf 256
BUF_SIZE 2 eeprom_buf 256
DATA_SOURCE 2 eeprom_buf r _kzalloc_noprof
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c __verify_ras_table_checksum() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 2 eeprom_buf 16,4096-ptr_max
PARAM_VALUE 3 bytes 0-4000000
BUF_SIZE 2 eeprom_buf 0-s32max,18446744071562067968-u64max
BUF_SIZE 2 eeprom_buf 0-s32max,18446744071562067968-u64max
DATA_SOURCE 2 eeprom_buf r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
BYTE_COUNT 2 ==eeprom_buf3 8050

drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c amdgpu_ras_eeprom_init() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 0 i2c_adap 4096-ptr_max
PARAM_VALUE 0 i2c_adap->algo 1-u64max
PARAM_VALUE 1 eeprom_addr 0,65536-196608,262144
PARAM_VALUE 2 eeprom_buf 4096-ptr_max
PARAM_VALUE 3 bytes 20
BUF_SIZE 2 eeprom_buf 20

drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c amdgpu_ras_eeprom_update_header() -> amdgpu_eeprom_read()

Type Parameter Key Value
PARAM_VALUE 2 eeprom_buf 16,4096-ptr_max
BUF_SIZE 2 eeprom_buf 24
BUF_SIZE 2 eeprom_buf 24
DATA_SOURCE 2 eeprom_buf r _kmalloc_array_noprof
RX_PATH
TASK_NOT_RUNNING
LOCK2 &adev->reset_domain->sem
LOCK2 &control->ras_tbl_mutex
TYPE_LOCK (struct amdgpu_ras_eeprom_control)->ras_tbl_mutex
TYPE_LOCK (struct amdgpu_reset_domain)->sem