Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/mmc/host/sdhci-sprd.c mmc_send_tuning_data() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 1 mode 0
PARAM_VALUE 2 group 0
PARAM_VALUE 3 value 0
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
DATA_SOURCE 0 card $0
DATA_SOURCE 4 resp r _kmalloc_noprof

drivers/mmc/core/sd.c mmc_read_switch() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->dev.p->dead 0-1
PARAM_VALUE 0 card->dev.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 card->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 card->host->parent->cma_area->nranges s32min-s32max
PARAM_VALUE 0 card->scr.sda_vsn 1-255
PARAM_VALUE 0 *card->host->err_stats 0-4294967295
PARAM_VALUE 0 *card->raw_csd 0-4294967295
PARAM_VALUE 0 *card->raw_ssr 0-4294967295
PARAM_VALUE 1 mode 0
PARAM_VALUE 2 group 0
PARAM_VALUE 3 value 0
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card->dev.type (-1),48
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
DATA_SOURCE 0 card $0
DATA_SOURCE 4 resp r _kmalloc_noprof
FUZZY_MAX 0 card->scr.sda_vsn 1
BIT_INFO 0 card->csd.cmdclass 0x400,0xffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 card->host->fail_mmc_request.stacktrace_depth 0-u64max
NO_OVERFLOW_SIMPLE 0 card->host->ios.clock
HALF_LOCKED2 &pool->lock

drivers/mmc/core/sd.c mmc_sd_switch_hs() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->cccr.high_speed 1
PARAM_VALUE 0 card->host 4096-ptr_max
PARAM_VALUE 0 card->host->led->brightness 0-4294967295
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.owner (-1)
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.tmode_half_duplex 0-1
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.uhs2_resp_len 0,4-6,8
PARAM_VALUE 0 card->scr.sda_vsn 1-255
PARAM_VALUE 0 card->sw_caps.hs_max_dtr 1-u32max
PARAM_VALUE 0 card->type 0-1,3-u32max
PARAM_VALUE 1 mode 1
PARAM_VALUE 2 group 0
PARAM_VALUE 3 value 1
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
DATA_SOURCE 0 card $0
DATA_SOURCE 4 resp r _kmalloc_noprof
FUZZY_MAX 0 card->scr.sda_vsn 1
BIT_INFO 0 card->csd.cmdclass 0x400,0xffff
BIT_INFO 0 card->host->caps 0x4,0xffffffff

drivers/mmc/core/sd.c sd_select_driver_type() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->dev.p->dead 0-1
PARAM_VALUE 0 card->dev.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 card->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 card->drive_strength 0
PARAM_VALUE 0 card->host 4096-ptr_max
PARAM_VALUE 0 card->host->card 0,4096-ptr_max
PARAM_VALUE 0 card->host->ios.bus_width 2
PARAM_VALUE 0 card->host->led->brightness 0-4294967295
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.owner 0,(-1)
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.owner_cpu 0,u32max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.packet_len 0,4-12
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.payload_len 0-8
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.tmode_half_duplex 0-1
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.uhs2_resp_len 0,4-6,8
PARAM_VALUE 0 card->host->ops 4096-ptr_max
PARAM_VALUE 0 card->host->ops->select_drive_strength 1-u64max
PARAM_VALUE 0 card->host->ops->set_ios 4096-ptr_max
PARAM_VALUE 0 card->host->parent->cma_area->nranges s32min-s32max
PARAM_VALUE 0 card->sd_bus_speed 0-4
PARAM_VALUE 0 *card->host->err_stats 0-4294967295
PARAM_VALUE 0 *card->raw_csd 0-4294967295
PARAM_VALUE 0 *card->raw_ssr 0-4294967295
PARAM_VALUE 1 mode 1
PARAM_VALUE 2 group 2
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card->dev.type (-1),48
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
DATA_SOURCE 0 card $0
DATA_SOURCE 3 value r mmc_select_drive_strength
DATA_SOURCE 4 resp $1
BIT_INFO 0 card->csd.cmdclass 0x400,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 card->host->fail_mmc_request.stacktrace_depth 0-u64max
HOST_DATA 3 value 0-255[c]
NO_OVERFLOW_SIMPLE 0 card->host->ios.clock
HALF_LOCKED2 &pool->lock

drivers/mmc/core/sd.c sd_set_bus_speed_mode() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->dev.p->dead 0-1
PARAM_VALUE 0 card->dev.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 card->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 card->drive_strength 0-15
PARAM_VALUE 0 card->host 4096-ptr_max
PARAM_VALUE 0 card->host->card 0,4096-ptr_max
PARAM_VALUE 0 card->host->ios.bus_width 2
PARAM_VALUE 0 card->host->led->brightness 0-4294967295
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.packet_len 0,4-12
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.payload_len 0-8
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.tmode_half_duplex 0-1
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.uhs2_resp_len 0,4-6,8
PARAM_VALUE 0 card->host->ops 4096-ptr_max
PARAM_VALUE 0 card->host->ops->set_ios 4096-ptr_max
PARAM_VALUE 0 card->host->parent->cma_area->nranges s32min-s32max
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->sd_bus_speed 0-4
PARAM_VALUE 0 card->sw_caps.uhs_max_dtr 25000000,50000000,100000000,208000000
PARAM_VALUE 0 *card->host->err_stats 0-4294967295
PARAM_VALUE 0 *card->raw_csd 0-4294967295
PARAM_VALUE 0 *card->raw_ssr 0-4294967295
PARAM_VALUE 1 mode 1
PARAM_VALUE 2 group 0
PARAM_VALUE 3 value 0-4
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card->dev.type (-1),48
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
CAPPED_DATA 4 resp 1
DATA_SOURCE 0 card $0
DATA_SOURCE 4 resp $1
FUZZY_MAX 0 card->sw_caps.uhs_max_dtr 208000000
BIT_INFO 0 card->csd.cmdclass 0x400,0xffffffffffffffff
BIT_INFO 0 card->sw_caps.uhs_max_dtr 0x604000,0xffffdc0
HARD_MAX 0 card->sw_caps.uhs_max_dtr 208000000
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 card->host->fail_mmc_request.stacktrace_depth 0-u64max
NO_OVERFLOW_SIMPLE 0 card->host->ios.clock
UNITS 3 value unit_array_size
HALF_LOCKED2 &pool->lock

drivers/mmc/core/sd.c sd_set_current_limit() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->dev.p->dead 0-1
PARAM_VALUE 0 card->dev.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 card->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 card->drive_strength 0-15
PARAM_VALUE 0 card->host 4096-ptr_max
PARAM_VALUE 0 card->host->card 0,4096-ptr_max
PARAM_VALUE 0 card->host->ios.bus_width 2
PARAM_VALUE 0 card->host->led->brightness 0-4294967295
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.packet_len 0,4-12
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.payload_len 0-8
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.tmode_half_duplex 0-1
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.uhs2_resp_len 0,4-6,8
PARAM_VALUE 0 card->host->ops 4096-ptr_max
PARAM_VALUE 0 card->host->ops->set_ios 4096-ptr_max
PARAM_VALUE 0 card->host->parent->cma_area->nranges s32min-s32max
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->sd_bus_speed 2-4
PARAM_VALUE 0 *card->host->err_stats 0-4294967295
PARAM_VALUE 0 *card->raw_csd 0-4294967295
PARAM_VALUE 0 *card->raw_ssr 0-4294967295
PARAM_VALUE 1 mode 1
PARAM_VALUE 2 group 3
PARAM_VALUE 3 value 1-3
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card (-1),2576
BUF_SIZE 0 card->dev.type (-1),48
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
CAPPED_DATA 4 resp 1
DATA_SOURCE 0 card $0
DATA_SOURCE 4 resp $1
BIT_INFO 0 card->csd.cmdclass 0x400,0xffffffffffffffff
BIT_INFO 0 card->sw_caps.sd3_curr_limit 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 card->host->fail_mmc_request.stacktrace_depth 0-u64max
NO_OVERFLOW_SIMPLE 0 card->host->ios.clock
HALF_LOCKED2 &pool->lock

drivers/mmc/core/sd_uhs2.c sd_uhs2_legacy_init() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->cid.fwrev 0-15
PARAM_VALUE 0 card->cid.hwrev 0-15
PARAM_VALUE 0 card->cid.manfid 0-255
PARAM_VALUE 0 card->cid.month 0-15
PARAM_VALUE 0 card->cid.prod_name 4096-ptr_max
PARAM_VALUE 0 card->cid.year 2000-2255
PARAM_VALUE 0 card->csd.c_size 0-268435455
PARAM_VALUE 0 card->csd.capacity 0-274877906944
PARAM_VALUE 0 card->csd.cmdclass 0-4095
PARAM_VALUE 0 card->csd.max_dtr 0-800000000
PARAM_VALUE 0 card->csd.r2w_factor 0-7
PARAM_VALUE 0 card->csd.read_blkbits 0-15
PARAM_VALUE 0 card->csd.taac_clks 0-25500
PARAM_VALUE 0 card->csd.taac_ns 0-80000000
PARAM_VALUE 0 card->csd.write_blkbits 0-15
PARAM_VALUE 0 card->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 card->erased_byte 0,255
PARAM_VALUE 0 card->host 4096-ptr_max
PARAM_VALUE 0 card->host->card 0,4096-ptr_max
PARAM_VALUE 0 card->host->led->brightness 0-4294967295
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.done 0,u32max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.packet_len 0,4-12
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.payload_len 0-8
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.tmode_half_duplex 0-1
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.uhs2_resp_len 0,4-6,8
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 card->rca 0-u16max
PARAM_VALUE 0 card->scr.bus_widths 0-15
PARAM_VALUE 0 card->scr.cmds 0-15
PARAM_VALUE 0 card->scr.sda_spec3 0-1
PARAM_VALUE 0 card->scr.sda_spec4 0-1
PARAM_VALUE 0 card->scr.sda_specx 0-15
PARAM_VALUE 0 card->scr.sda_vsn 0-15
PARAM_VALUE 0 card->state 0,2-u32max
PARAM_VALUE 0 *card->host->err_stats 0-4294967295
PARAM_VALUE 0 *card->raw_csd 0-4294967295
PARAM_VALUE 1 mode 0
PARAM_VALUE 2 group 3
PARAM_VALUE 3 value 4
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
DATA_SOURCE 0 card $1
DATA_SOURCE 4 resp r _kmalloc_noprof
BIT_INFO 0 card->csd.cmdclass 0x400,0xfff
RX_PATH
TASK_NOT_RUNNING

drivers/mmc/core/sd_uhs2.c sd_uhs2_legacy_init() -> mmc_sd_switch()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->cid.fwrev 0-15
PARAM_VALUE 0 card->cid.hwrev 0-15
PARAM_VALUE 0 card->cid.manfid 0-255
PARAM_VALUE 0 card->cid.month 0-15
PARAM_VALUE 0 card->cid.prod_name 4096-ptr_max
PARAM_VALUE 0 card->cid.year 2000-2255
PARAM_VALUE 0 card->csd.c_size 0-268435455
PARAM_VALUE 0 card->csd.capacity 0-274877906944
PARAM_VALUE 0 card->csd.cmdclass 0-4095
PARAM_VALUE 0 card->csd.max_dtr 0-800000000
PARAM_VALUE 0 card->csd.r2w_factor 0-7
PARAM_VALUE 0 card->csd.read_blkbits 0-15
PARAM_VALUE 0 card->csd.taac_clks 0-25500
PARAM_VALUE 0 card->csd.taac_ns 0-80000000
PARAM_VALUE 0 card->csd.write_blkbits 0-15
PARAM_VALUE 0 card->dev.iommu_group->owner_cnt 0-4294967295
PARAM_VALUE 0 card->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 card->erased_byte 0,255
PARAM_VALUE 0 card->host 4096-ptr_max
PARAM_VALUE 0 card->host->card 0,4096-ptr_max
PARAM_VALUE 0 card->host->led->brightness 0-4294967295
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.done 0,u32max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->cmd_completion.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 card->host->ongoing_mrq->done 0,429396076522299392,6569461247470579712,7038937104643203072,8039316214707961856,8283609542540963840
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.packet_len 0,4-12
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.payload_len 0-8
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.tmode_half_duplex 0-1
PARAM_VALUE 0 card->host->ongoing_mrq->uhs2_cmd.uhs2_resp_len 0,4-6,8
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->host->private->pcr->pcr_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 card->host->private->ucr->dev_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 card->host->uhs2_app_cmd 0
PARAM_VALUE 0 card->rca 0-u16max
PARAM_VALUE 0 card->scr.bus_widths 0-15
PARAM_VALUE 0 card->scr.cmds 0-15
PARAM_VALUE 0 card->scr.sda_spec3 0-1
PARAM_VALUE 0 card->scr.sda_spec4 0-1
PARAM_VALUE 0 card->scr.sda_specx 0-15
PARAM_VALUE 0 card->scr.sda_vsn 0-15
PARAM_VALUE 0 card->state 0,2-u32max
PARAM_VALUE 0 *card->host->err_stats 0-4294967295
PARAM_VALUE 0 *card->raw_csd 0-4294967295
PARAM_VALUE 1 mode 1
PARAM_VALUE 2 group 3
PARAM_VALUE 3 value 4
PARAM_VALUE 4 resp 4096-ptr_max
BUF_SIZE 4 resp 64
BUF_SIZE 4 resp 64
DATA_SOURCE 0 card $1
DATA_SOURCE 4 resp r _kmalloc_noprof
BIT_INFO 0 card->csd.cmdclass 0x400,0xfff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL