ext_csd 215 drivers/mmc/core/block.c if (card->ext_csd.boot_ro_lock & EXT_CSD_BOOT_WP_B_PERM_WP_EN) ext_csd 217 drivers/mmc/core/block.c else if (card->ext_csd.boot_ro_lock & EXT_CSD_BOOT_WP_B_PWR_WP_EN) ext_csd 620 drivers/mmc/core/block.c card->ext_csd.part_config = value; ext_csd 842 drivers/mmc/core/block.c if (card->ext_csd.cmdq_en) { ext_csd 860 drivers/mmc/core/block.c if (card->reenable_cmdq && !card->ext_csd.cmdq_en) ext_csd 877 drivers/mmc/core/block.c u8 part_config = card->ext_csd.part_config; ext_csd 888 drivers/mmc/core/block.c card->ext_csd.part_time); ext_csd 894 drivers/mmc/core/block.c card->ext_csd.part_config = part_config; ext_csd 1034 drivers/mmc/core/block.c u8 **ext_csd; ext_csd 1057 drivers/mmc/core/block.c card->ext_csd.boot_ro_lock | ext_csd 1059 drivers/mmc/core/block.c card->ext_csd.part_time); ext_csd 1064 drivers/mmc/core/block.c card->ext_csd.boot_ro_lock |= ext_csd 1073 drivers/mmc/core/block.c ext_csd = mq_rq->drv_op_data; ext_csd 1074 drivers/mmc/core/block.c ret = mmc_get_ext_csd(card, ext_csd); ext_csd 1214 drivers/mmc/core/block.c if (!(card->ext_csd.rel_param & EXT_CSD_WR_REL_PARAM_EN)) { ext_csd 1216 drivers/mmc/core/block.c if (!IS_ALIGNED(blk_rq_pos(req), card->ext_csd.rel_sectors)) ext_csd 1219 drivers/mmc/core/block.c if (brq->data.blocks > card->ext_csd.rel_sectors) ext_csd 1220 drivers/mmc/core/block.c brq->data.blocks = card->ext_csd.rel_sectors; ext_csd 1221 drivers/mmc/core/block.c else if (brq->data.blocks < card->ext_csd.rel_sectors) ext_csd 1372 drivers/mmc/core/block.c do_data_tag = card->ext_csd.data_tag_unit_size && ext_csd 1376 drivers/mmc/core/block.c card->ext_csd.data_tag_unit_size); ext_csd 2353 drivers/mmc/core/block.c ((card->ext_csd.rel_param & EXT_CSD_WR_REL_PARAM_EN) || ext_csd 2354 drivers/mmc/core/block.c card->ext_csd.rel_sectors)) { ext_csd 2379 drivers/mmc/core/block.c size = card->ext_csd.sectors; ext_csd 2627 drivers/mmc/core/block.c card->ext_csd.boot_ro_lockable) ext_csd 2675 drivers/mmc/core/block.c card->ext_csd.boot_ro_lockable) { ext_csd 2678 drivers/mmc/core/block.c if (card->ext_csd.boot_ro_lock & EXT_CSD_BOOT_WP_B_PWR_WP_DIS) ext_csd 2743 drivers/mmc/core/block.c u8 *ext_csd; ext_csd 2757 drivers/mmc/core/block.c req_to_mmc_queue_req(req)->drv_op_data = &ext_csd; ext_csd 2767 drivers/mmc/core/block.c n += sprintf(buf + n, "%02x", ext_csd[i]); ext_csd 2772 drivers/mmc/core/block.c kfree(ext_csd); ext_csd 2777 drivers/mmc/core/block.c kfree(ext_csd); ext_csd 1556 drivers/mmc/core/core.c (arg == MMC_TRIM_ARG && card->ext_csd.rev >= 6)) { ext_csd 1557 drivers/mmc/core/core.c erase_timeout = card->ext_csd.trim_timeout; ext_csd 1558 drivers/mmc/core/core.c } else if (card->ext_csd.erase_group_def & 1) { ext_csd 1561 drivers/mmc/core/core.c erase_timeout = card->ext_csd.trim_timeout; ext_csd 1563 drivers/mmc/core/core.c erase_timeout = card->ext_csd.hc_erase_timeout; ext_csd 1597 drivers/mmc/core/core.c erase_timeout *= card->ext_csd.sec_erase_mult; ext_csd 1599 drivers/mmc/core/core.c erase_timeout *= card->ext_csd.sec_trim_mult; ext_csd 1878 drivers/mmc/core/core.c !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN)) ext_csd 1882 drivers/mmc/core/core.c !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN)) ext_csd 1933 drivers/mmc/core/core.c if ((card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN) && ext_csd 1946 drivers/mmc/core/core.c if (card->ext_csd.feature_support & MMC_DISCARD_FEATURE) ext_csd 1956 drivers/mmc/core/core.c if (card->ext_csd.sec_feature_support & EXT_CSD_SEC_SANITIZE) ext_csd 1964 drivers/mmc/core/core.c if ((card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN) && ext_csd 2070 drivers/mmc/core/core.c if (mmc_card_mmc(card) && !(card->ext_csd.erase_group_def & 1)) ext_csd 122 drivers/mmc/core/mmc.c if (card->ext_csd.erase_group_def & 1) ext_csd 123 drivers/mmc/core/mmc.c card->erase_size = card->ext_csd.hc_erase_size; ext_csd 188 drivers/mmc/core/mmc.c u8 card_type = card->ext_csd.raw_card_type; ext_csd 242 drivers/mmc/core/mmc.c card->ext_csd.strobe_support && ext_csd 246 drivers/mmc/core/mmc.c card->ext_csd.hs_max_dtr = hs_max_dtr; ext_csd 247 drivers/mmc/core/mmc.c card->ext_csd.hs200_max_dtr = hs200_max_dtr; ext_csd 251 drivers/mmc/core/mmc.c static void mmc_manage_enhanced_area(struct mmc_card *card, u8 *ext_csd) ext_csd 258 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_offset = -EINVAL; ext_csd 259 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_size = -EINVAL; ext_csd 266 drivers/mmc/core/mmc.c if ((ext_csd[EXT_CSD_PARTITION_SUPPORT] & 0x2) && ext_csd 267 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_PARTITION_ATTRIBUTE] & 0x1)) { ext_csd 268 drivers/mmc/core/mmc.c if (card->ext_csd.partition_setting_completed) { ext_csd 270 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]; ext_csd 272 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ext_csd 277 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_offset = ext_csd 278 drivers/mmc/core/mmc.c (((unsigned long long)ext_csd[139]) << 24) + ext_csd 279 drivers/mmc/core/mmc.c (((unsigned long long)ext_csd[138]) << 16) + ext_csd 280 drivers/mmc/core/mmc.c (((unsigned long long)ext_csd[137]) << 8) + ext_csd 281 drivers/mmc/core/mmc.c (((unsigned long long)ext_csd[136])); ext_csd 283 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_offset <<= 9; ext_csd 287 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_size = ext_csd 288 drivers/mmc/core/mmc.c (ext_csd[142] << 16) + (ext_csd[141] << 8) + ext_csd 289 drivers/mmc/core/mmc.c ext_csd[140]; ext_csd 290 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_size *= ext_csd 292 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_size <<= 9; ext_csd 312 drivers/mmc/core/mmc.c static void mmc_manage_gp_partitions(struct mmc_card *card, u8 *ext_csd) ext_csd 323 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_PARTITION_SUPPORT] & ext_csd 326 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]; ext_csd 328 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ext_csd 331 drivers/mmc/core/mmc.c if (!ext_csd[EXT_CSD_GP_SIZE_MULT + idx * 3] && ext_csd 332 drivers/mmc/core/mmc.c !ext_csd[EXT_CSD_GP_SIZE_MULT + idx * 3 + 1] && ext_csd 333 drivers/mmc/core/mmc.c !ext_csd[EXT_CSD_GP_SIZE_MULT + idx * 3 + 2]) ext_csd 335 drivers/mmc/core/mmc.c if (card->ext_csd.partition_setting_completed == 0) { ext_csd 341 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_GP_SIZE_MULT + idx * 3 + 2] ext_csd 343 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_GP_SIZE_MULT + idx * 3 + 1] ext_csd 345 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_GP_SIZE_MULT + idx * 3]; ext_csd 362 drivers/mmc/core/mmc.c static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd) ext_csd 370 drivers/mmc/core/mmc.c card->ext_csd.raw_ext_csd_structure = ext_csd[EXT_CSD_STRUCTURE]; ext_csd 372 drivers/mmc/core/mmc.c if (card->ext_csd.raw_ext_csd_structure > 2) { ext_csd 375 drivers/mmc/core/mmc.c card->ext_csd.raw_ext_csd_structure); ext_csd 391 drivers/mmc/core/mmc.c card->ext_csd.rev = ext_csd[EXT_CSD_REV]; ext_csd 396 drivers/mmc/core/mmc.c card->ext_csd.raw_sectors[0] = ext_csd[EXT_CSD_SEC_CNT + 0]; ext_csd 397 drivers/mmc/core/mmc.c card->ext_csd.raw_sectors[1] = ext_csd[EXT_CSD_SEC_CNT + 1]; ext_csd 398 drivers/mmc/core/mmc.c card->ext_csd.raw_sectors[2] = ext_csd[EXT_CSD_SEC_CNT + 2]; ext_csd 399 drivers/mmc/core/mmc.c card->ext_csd.raw_sectors[3] = ext_csd[EXT_CSD_SEC_CNT + 3]; ext_csd 400 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 2) { ext_csd 401 drivers/mmc/core/mmc.c card->ext_csd.sectors = ext_csd 402 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_CNT + 0] << 0 | ext_csd 403 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_CNT + 1] << 8 | ext_csd 404 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_CNT + 2] << 16 | ext_csd 405 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_CNT + 3] << 24; ext_csd 408 drivers/mmc/core/mmc.c if (card->ext_csd.sectors > (2u * 1024 * 1024 * 1024) / 512) ext_csd 412 drivers/mmc/core/mmc.c card->ext_csd.strobe_support = ext_csd[EXT_CSD_STROBE_SUPPORT]; ext_csd 413 drivers/mmc/core/mmc.c card->ext_csd.raw_card_type = ext_csd[EXT_CSD_CARD_TYPE]; ext_csd 416 drivers/mmc/core/mmc.c card->ext_csd.raw_s_a_timeout = ext_csd[EXT_CSD_S_A_TIMEOUT]; ext_csd 417 drivers/mmc/core/mmc.c card->ext_csd.raw_erase_timeout_mult = ext_csd 418 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_ERASE_TIMEOUT_MULT]; ext_csd 419 drivers/mmc/core/mmc.c card->ext_csd.raw_hc_erase_grp_size = ext_csd 420 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]; ext_csd 421 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 3) { ext_csd 422 drivers/mmc/core/mmc.c u8 sa_shift = ext_csd[EXT_CSD_S_A_TIMEOUT]; ext_csd 423 drivers/mmc/core/mmc.c card->ext_csd.part_config = ext_csd[EXT_CSD_PART_CONFIG]; ext_csd 426 drivers/mmc/core/mmc.c card->ext_csd.part_time = 10 * ext_csd[EXT_CSD_PART_SWITCH_TIME]; ext_csd 428 drivers/mmc/core/mmc.c if (card->ext_csd.part_time && ext_csd 429 drivers/mmc/core/mmc.c card->ext_csd.part_time < MMC_MIN_PART_SWITCH_TIME) ext_csd 430 drivers/mmc/core/mmc.c card->ext_csd.part_time = MMC_MIN_PART_SWITCH_TIME; ext_csd 434 drivers/mmc/core/mmc.c card->ext_csd.sa_timeout = ext_csd 435 drivers/mmc/core/mmc.c 1 << ext_csd[EXT_CSD_S_A_TIMEOUT]; ext_csd 436 drivers/mmc/core/mmc.c card->ext_csd.erase_group_def = ext_csd 437 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_ERASE_GROUP_DEF]; ext_csd 438 drivers/mmc/core/mmc.c card->ext_csd.hc_erase_timeout = 300 * ext_csd 439 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_ERASE_TIMEOUT_MULT]; ext_csd 440 drivers/mmc/core/mmc.c card->ext_csd.hc_erase_size = ext_csd 441 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] << 10; ext_csd 443 drivers/mmc/core/mmc.c card->ext_csd.rel_sectors = ext_csd[EXT_CSD_REL_WR_SEC_C]; ext_csd 449 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_BOOT_MULT] && mmc_boot_partition_access(card->host)) { ext_csd 451 drivers/mmc/core/mmc.c part_size = ext_csd[EXT_CSD_BOOT_MULT] << 17; ext_csd 460 drivers/mmc/core/mmc.c card->ext_csd.raw_hc_erase_gap_size = ext_csd 461 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ext_csd 462 drivers/mmc/core/mmc.c card->ext_csd.raw_sec_trim_mult = ext_csd 463 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_TRIM_MULT]; ext_csd 464 drivers/mmc/core/mmc.c card->ext_csd.raw_sec_erase_mult = ext_csd 465 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_ERASE_MULT]; ext_csd 466 drivers/mmc/core/mmc.c card->ext_csd.raw_sec_feature_support = ext_csd 467 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT]; ext_csd 468 drivers/mmc/core/mmc.c card->ext_csd.raw_trim_mult = ext_csd 469 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_TRIM_MULT]; ext_csd 470 drivers/mmc/core/mmc.c card->ext_csd.raw_partition_support = ext_csd[EXT_CSD_PARTITION_SUPPORT]; ext_csd 471 drivers/mmc/core/mmc.c card->ext_csd.raw_driver_strength = ext_csd[EXT_CSD_DRIVER_STRENGTH]; ext_csd 472 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 4) { ext_csd 473 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_PARTITION_SETTING_COMPLETED] & ext_csd 475 drivers/mmc/core/mmc.c card->ext_csd.partition_setting_completed = 1; ext_csd 477 drivers/mmc/core/mmc.c card->ext_csd.partition_setting_completed = 0; ext_csd 479 drivers/mmc/core/mmc.c mmc_manage_enhanced_area(card, ext_csd); ext_csd 481 drivers/mmc/core/mmc.c mmc_manage_gp_partitions(card, ext_csd); ext_csd 483 drivers/mmc/core/mmc.c card->ext_csd.sec_trim_mult = ext_csd 484 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_TRIM_MULT]; ext_csd 485 drivers/mmc/core/mmc.c card->ext_csd.sec_erase_mult = ext_csd 486 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_ERASE_MULT]; ext_csd 487 drivers/mmc/core/mmc.c card->ext_csd.sec_feature_support = ext_csd 488 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT]; ext_csd 489 drivers/mmc/core/mmc.c card->ext_csd.trim_timeout = 300 * ext_csd 490 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_TRIM_MULT]; ext_csd 497 drivers/mmc/core/mmc.c card->ext_csd.boot_ro_lock = ext_csd[EXT_CSD_BOOT_WP]; ext_csd 498 drivers/mmc/core/mmc.c card->ext_csd.boot_ro_lockable = true; ext_csd 501 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_52_195 = ext_csd 502 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_52_195]; ext_csd 503 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_26_195 = ext_csd 504 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_26_195]; ext_csd 505 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_52_360 = ext_csd 506 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_52_360]; ext_csd 507 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_26_360 = ext_csd 508 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_26_360]; ext_csd 509 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_200_195 = ext_csd 510 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_200_195]; ext_csd 511 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_200_360 = ext_csd 512 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_200_360]; ext_csd 513 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_ddr_52_195 = ext_csd 514 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_DDR_52_195]; ext_csd 515 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_ddr_52_360 = ext_csd 516 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_DDR_52_360]; ext_csd 517 drivers/mmc/core/mmc.c card->ext_csd.raw_pwr_cl_ddr_200_360 = ext_csd 518 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_PWR_CL_DDR_200_360]; ext_csd 521 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 5) { ext_csd 527 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1) { ext_csd 528 drivers/mmc/core/mmc.c card->ext_csd.bkops = 1; ext_csd 529 drivers/mmc/core/mmc.c card->ext_csd.man_bkops_en = ext_csd 530 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_BKOPS_EN] & ext_csd 532 drivers/mmc/core/mmc.c card->ext_csd.raw_bkops_status = ext_csd 533 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_BKOPS_STATUS]; ext_csd 534 drivers/mmc/core/mmc.c if (card->ext_csd.man_bkops_en) ext_csd 537 drivers/mmc/core/mmc.c card->ext_csd.auto_bkops_en = ext_csd 538 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_BKOPS_EN] & ext_csd 540 drivers/mmc/core/mmc.c if (card->ext_csd.auto_bkops_en) ext_csd 547 drivers/mmc/core/mmc.c !broken_hpi && (ext_csd[EXT_CSD_HPI_FEATURES] & 0x1)) { ext_csd 548 drivers/mmc/core/mmc.c card->ext_csd.hpi = 1; ext_csd 549 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_HPI_FEATURES] & 0x2) ext_csd 550 drivers/mmc/core/mmc.c card->ext_csd.hpi_cmd = MMC_STOP_TRANSMISSION; ext_csd 552 drivers/mmc/core/mmc.c card->ext_csd.hpi_cmd = MMC_SEND_STATUS; ext_csd 557 drivers/mmc/core/mmc.c card->ext_csd.out_of_int_time = ext_csd 558 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_OUT_OF_INTERRUPT_TIME] * 10; ext_csd 561 drivers/mmc/core/mmc.c card->ext_csd.rel_param = ext_csd[EXT_CSD_WR_REL_PARAM]; ext_csd 562 drivers/mmc/core/mmc.c card->ext_csd.rst_n_function = ext_csd[EXT_CSD_RST_N_FUNCTION]; ext_csd 567 drivers/mmc/core/mmc.c card->ext_csd.raw_rpmb_size_mult = ext_csd[EXT_CSD_RPMB_MULT]; ext_csd 568 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_RPMB_MULT] && mmc_host_cmd23(card->host)) { ext_csd 569 drivers/mmc/core/mmc.c mmc_part_add(card, ext_csd[EXT_CSD_RPMB_MULT] << 17, ext_csd 576 drivers/mmc/core/mmc.c card->ext_csd.raw_erased_mem_count = ext_csd[EXT_CSD_ERASED_MEM_CONT]; ext_csd 577 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_ERASED_MEM_CONT]) ext_csd 583 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time = DEFAULT_CMD6_TIMEOUT_MS; ext_csd 584 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 6) { ext_csd 585 drivers/mmc/core/mmc.c card->ext_csd.feature_support |= MMC_DISCARD_FEATURE; ext_csd 587 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time = 10 * ext_csd 588 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_GENERIC_CMD6_TIME]; ext_csd 589 drivers/mmc/core/mmc.c card->ext_csd.power_off_longtime = 10 * ext_csd 590 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_POWER_OFF_LONG_TIME]; ext_csd 592 drivers/mmc/core/mmc.c card->ext_csd.cache_size = ext_csd 593 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_CACHE_SIZE + 0] << 0 | ext_csd 594 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_CACHE_SIZE + 1] << 8 | ext_csd 595 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_CACHE_SIZE + 2] << 16 | ext_csd 596 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_CACHE_SIZE + 3] << 24; ext_csd 598 drivers/mmc/core/mmc.c if (ext_csd[EXT_CSD_DATA_SECTOR_SIZE] == 1) ext_csd 599 drivers/mmc/core/mmc.c card->ext_csd.data_sector_size = 4096; ext_csd 601 drivers/mmc/core/mmc.c card->ext_csd.data_sector_size = 512; ext_csd 603 drivers/mmc/core/mmc.c if ((ext_csd[EXT_CSD_DATA_TAG_SUPPORT] & 1) && ext_csd 604 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_TAG_UNIT_SIZE] <= 8)) { ext_csd 605 drivers/mmc/core/mmc.c card->ext_csd.data_tag_unit_size = ext_csd 606 drivers/mmc/core/mmc.c ((unsigned int) 1 << ext_csd[EXT_CSD_TAG_UNIT_SIZE]) * ext_csd 607 drivers/mmc/core/mmc.c (card->ext_csd.data_sector_size); ext_csd 609 drivers/mmc/core/mmc.c card->ext_csd.data_tag_unit_size = 0; ext_csd 612 drivers/mmc/core/mmc.c card->ext_csd.max_packed_writes = ext_csd 613 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_MAX_PACKED_WRITES]; ext_csd 614 drivers/mmc/core/mmc.c card->ext_csd.max_packed_reads = ext_csd 615 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_MAX_PACKED_READS]; ext_csd 617 drivers/mmc/core/mmc.c card->ext_csd.data_sector_size = 512; ext_csd 621 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 7) { ext_csd 622 drivers/mmc/core/mmc.c memcpy(card->ext_csd.fwrev, &ext_csd[EXT_CSD_FIRMWARE_VERSION], ext_csd 624 drivers/mmc/core/mmc.c card->ext_csd.ffu_capable = ext_csd 625 drivers/mmc/core/mmc.c (ext_csd[EXT_CSD_SUPPORTED_MODE] & 0x1) && ext_csd 626 drivers/mmc/core/mmc.c !(ext_csd[EXT_CSD_FW_CONFIG] & 0x1); ext_csd 628 drivers/mmc/core/mmc.c card->ext_csd.pre_eol_info = ext_csd[EXT_CSD_PRE_EOL_INFO]; ext_csd 629 drivers/mmc/core/mmc.c card->ext_csd.device_life_time_est_typ_a = ext_csd 630 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]; ext_csd 631 drivers/mmc/core/mmc.c card->ext_csd.device_life_time_est_typ_b = ext_csd 632 drivers/mmc/core/mmc.c ext_csd[EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]; ext_csd 636 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 8) { ext_csd 637 drivers/mmc/core/mmc.c card->ext_csd.cmdq_support = ext_csd[EXT_CSD_CMDQ_SUPPORT] & ext_csd 639 drivers/mmc/core/mmc.c card->ext_csd.cmdq_depth = (ext_csd[EXT_CSD_CMDQ_DEPTH] & ext_csd 642 drivers/mmc/core/mmc.c if (card->ext_csd.cmdq_depth <= 2) { ext_csd 643 drivers/mmc/core/mmc.c card->ext_csd.cmdq_support = false; ext_csd 644 drivers/mmc/core/mmc.c card->ext_csd.cmdq_depth = 0; ext_csd 646 drivers/mmc/core/mmc.c if (card->ext_csd.cmdq_support) { ext_csd 649 drivers/mmc/core/mmc.c card->ext_csd.cmdq_depth); ext_csd 658 drivers/mmc/core/mmc.c u8 *ext_csd; ext_csd 664 drivers/mmc/core/mmc.c err = mmc_get_ext_csd(card, &ext_csd); ext_csd 689 drivers/mmc/core/mmc.c err = mmc_decode_ext_csd(card, ext_csd); ext_csd 690 drivers/mmc/core/mmc.c kfree(ext_csd); ext_csd 707 drivers/mmc/core/mmc.c err = !((card->ext_csd.raw_partition_support == ext_csd 709 drivers/mmc/core/mmc.c (card->ext_csd.raw_erased_mem_count == ext_csd 711 drivers/mmc/core/mmc.c (card->ext_csd.rev == ext_csd 713 drivers/mmc/core/mmc.c (card->ext_csd.raw_ext_csd_structure == ext_csd 715 drivers/mmc/core/mmc.c (card->ext_csd.raw_card_type == ext_csd 717 drivers/mmc/core/mmc.c (card->ext_csd.raw_s_a_timeout == ext_csd 719 drivers/mmc/core/mmc.c (card->ext_csd.raw_hc_erase_gap_size == ext_csd 721 drivers/mmc/core/mmc.c (card->ext_csd.raw_erase_timeout_mult == ext_csd 723 drivers/mmc/core/mmc.c (card->ext_csd.raw_hc_erase_grp_size == ext_csd 725 drivers/mmc/core/mmc.c (card->ext_csd.raw_sec_trim_mult == ext_csd 727 drivers/mmc/core/mmc.c (card->ext_csd.raw_sec_erase_mult == ext_csd 729 drivers/mmc/core/mmc.c (card->ext_csd.raw_sec_feature_support == ext_csd 731 drivers/mmc/core/mmc.c (card->ext_csd.raw_trim_mult == ext_csd 733 drivers/mmc/core/mmc.c (card->ext_csd.raw_sectors[0] == ext_csd 735 drivers/mmc/core/mmc.c (card->ext_csd.raw_sectors[1] == ext_csd 737 drivers/mmc/core/mmc.c (card->ext_csd.raw_sectors[2] == ext_csd 739 drivers/mmc/core/mmc.c (card->ext_csd.raw_sectors[3] == ext_csd 741 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_52_195 == ext_csd 743 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_26_195 == ext_csd 745 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_52_360 == ext_csd 747 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_26_360 == ext_csd 749 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_200_195 == ext_csd 751 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_200_360 == ext_csd 753 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_ddr_52_195 == ext_csd 755 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_ddr_52_360 == ext_csd 757 drivers/mmc/core/mmc.c (card->ext_csd.raw_pwr_cl_ddr_200_360 == ext_csd 774 drivers/mmc/core/mmc.c MMC_DEV_ATTR(ffu_capable, "%d\n", card->ext_csd.ffu_capable); ext_csd 780 drivers/mmc/core/mmc.c MMC_DEV_ATTR(rev, "0x%x\n", card->ext_csd.rev); ext_csd 781 drivers/mmc/core/mmc.c MMC_DEV_ATTR(pre_eol_info, "0x%02x\n", card->ext_csd.pre_eol_info); ext_csd 783 drivers/mmc/core/mmc.c card->ext_csd.device_life_time_est_typ_a, ext_csd 784 drivers/mmc/core/mmc.c card->ext_csd.device_life_time_est_typ_b); ext_csd 787 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_offset); ext_csd 788 drivers/mmc/core/mmc.c MMC_DEV_ATTR(enhanced_area_size, "%u\n", card->ext_csd.enhanced_area_size); ext_csd 789 drivers/mmc/core/mmc.c MMC_DEV_ATTR(raw_rpmb_size_mult, "%#x\n", card->ext_csd.raw_rpmb_size_mult); ext_csd 790 drivers/mmc/core/mmc.c MMC_DEV_ATTR(rel_sectors, "%#x\n", card->ext_csd.rel_sectors); ext_csd 793 drivers/mmc/core/mmc.c MMC_DEV_ATTR(cmdq_en, "%d\n", card->ext_csd.cmdq_en); ext_csd 801 drivers/mmc/core/mmc.c if (card->ext_csd.rev < 7) { ext_csd 805 drivers/mmc/core/mmc.c card->ext_csd.fwrev); ext_csd 870 drivers/mmc/core/mmc.c struct mmc_ext_csd *ext_csd = &card->ext_csd; ext_csd 877 drivers/mmc/core/mmc.c pwrclass_val = ext_csd->raw_pwr_cl_26_195; ext_csd 880 drivers/mmc/core/mmc.c ext_csd->raw_pwr_cl_52_195 : ext_csd 881 drivers/mmc/core/mmc.c ext_csd->raw_pwr_cl_ddr_52_195; ext_csd 883 drivers/mmc/core/mmc.c pwrclass_val = ext_csd->raw_pwr_cl_200_195; ext_csd 895 drivers/mmc/core/mmc.c pwrclass_val = ext_csd->raw_pwr_cl_26_360; ext_csd 898 drivers/mmc/core/mmc.c ext_csd->raw_pwr_cl_52_360 : ext_csd 899 drivers/mmc/core/mmc.c ext_csd->raw_pwr_cl_ddr_52_360; ext_csd 902 drivers/mmc/core/mmc.c ext_csd->raw_pwr_cl_ddr_200_360 : ext_csd 903 drivers/mmc/core/mmc.c ext_csd->raw_pwr_cl_200_360; ext_csd 923 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 968 drivers/mmc/core/mmc.c max_dtr > card->ext_csd.hs200_max_dtr) ext_csd 969 drivers/mmc/core/mmc.c max_dtr = card->ext_csd.hs200_max_dtr; ext_csd 970 drivers/mmc/core/mmc.c else if (mmc_card_hs(card) && max_dtr > card->ext_csd.hs_max_dtr) ext_csd 971 drivers/mmc/core/mmc.c max_dtr = card->ext_csd.hs_max_dtr; ext_csd 1020 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 1058 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, MMC_TIMING_MMC_HS, ext_csd 1089 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, ext_csd 1158 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, 0, ext_csd 1174 drivers/mmc/core/mmc.c max_dtr = card->ext_csd.hs_max_dtr; ext_csd 1188 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 1200 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, 0, ext_csd 1240 drivers/mmc/core/mmc.c max_dtr = card->ext_csd.hs_max_dtr; ext_csd 1246 drivers/mmc/core/mmc.c val, card->ext_csd.generic_cmd6_time, 0, ext_csd 1259 drivers/mmc/core/mmc.c EXT_CSD_BUS_WIDTH_8, card->ext_csd.generic_cmd6_time, ext_csd 1277 drivers/mmc/core/mmc.c val, card->ext_csd.generic_cmd6_time, 0, ext_csd 1312 drivers/mmc/core/mmc.c card_drv_type = card->ext_csd.raw_driver_strength | ext_csd 1320 drivers/mmc/core/mmc.c card->ext_csd.hs200_max_dtr, ext_csd 1361 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, 0, ext_csd 1374 drivers/mmc/core/mmc.c mmc_set_clock(host, card->ext_csd.hs_max_dtr); ext_csd 1381 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 1395 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, 0, ext_csd 1460 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time, 0, ext_csd 1686 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 3) { ext_csd 1689 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 1701 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_offset = -EINVAL; ext_csd 1702 drivers/mmc/core/mmc.c card->ext_csd.enhanced_area_size = -EINVAL; ext_csd 1704 drivers/mmc/core/mmc.c card->ext_csd.erase_group_def = 1; ext_csd 1717 drivers/mmc/core/mmc.c if (card->ext_csd.part_config & EXT_CSD_PART_CONFIG_ACC_MASK) { ext_csd 1718 drivers/mmc/core/mmc.c card->ext_csd.part_config &= ~EXT_CSD_PART_CONFIG_ACC_MASK; ext_csd 1720 drivers/mmc/core/mmc.c card->ext_csd.part_config, ext_csd 1721 drivers/mmc/core/mmc.c card->ext_csd.part_time); ext_csd 1729 drivers/mmc/core/mmc.c if (card->ext_csd.rev >= 6) { ext_csd 1733 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 1742 drivers/mmc/core/mmc.c card->ext_csd.power_off_notification = EXT_CSD_POWER_ON; ext_csd 1786 drivers/mmc/core/mmc.c if (card->ext_csd.hpi) { ext_csd 1789 drivers/mmc/core/mmc.c card->ext_csd.generic_cmd6_time); ext_csd 1795 drivers/mmc/core/mmc.c card->ext_csd.hpi_en = 0; ext_csd 1798 drivers/mmc/core/mmc.c card->ext_csd.hpi_en = 1; ext_csd 1809 drivers/mmc/core/mmc.c if (card->ext_csd.cache_size > 0) { ext_csd 1812 drivers/mmc/core/mmc.c timeout_ms = max(card->ext_csd.generic_cmd6_time, timeout_ms); ext_csd 1824 drivers/mmc/core/mmc.c card->ext_csd.cache_ctrl = 0; ext_csd 1827 drivers/mmc/core/mmc.c card->ext_csd.cache_ctrl = 1; ext_csd 1835 drivers/mmc/core/mmc.c card->ext_csd.cmdq_en = false; ext_csd 1836 drivers/mmc/core/mmc.c if (card->ext_csd.cmdq_support && host->caps2 & MMC_CAP2_CQE) { ext_csd 1843 drivers/mmc/core/mmc.c card->ext_csd.cmdq_support = false; ext_csd 1844 drivers/mmc/core/mmc.c card->ext_csd.cmdq_depth = 0; ext_csd 1853 drivers/mmc/core/mmc.c card->reenable_cmdq = card->ext_csd.cmdq_en; ext_csd 1855 drivers/mmc/core/mmc.c if (card->ext_csd.cmdq_en && !host->cqe_enabled) { ext_csd 1889 drivers/mmc/core/mmc.c return (card && card->ext_csd.rev >= 3); ext_csd 1896 drivers/mmc/core/mmc.c unsigned int timeout_ms = DIV_ROUND_UP(card->ext_csd.sa_timeout, 10000); ext_csd 1948 drivers/mmc/core/mmc.c (card->ext_csd.power_off_notification == EXT_CSD_POWER_ON); ext_csd 1953 drivers/mmc/core/mmc.c unsigned int timeout = card->ext_csd.generic_cmd6_time; ext_csd 1958 drivers/mmc/core/mmc.c timeout = card->ext_csd.power_off_longtime; ext_csd 1968 drivers/mmc/core/mmc.c card->ext_csd.power_off_notification = EXT_CSD_NO_POWER_NOTIFICATION; ext_csd 2153 drivers/mmc/core/mmc.c rst_n_function = card->ext_csd.rst_n_function; ext_csd 359 drivers/mmc/core/mmc_ops.c u8 *ext_csd; ext_csd 371 drivers/mmc/core/mmc_ops.c ext_csd = kzalloc(512, GFP_KERNEL); ext_csd 372 drivers/mmc/core/mmc_ops.c if (!ext_csd) ext_csd 375 drivers/mmc/core/mmc_ops.c err = mmc_send_cxd_data(card, card->host, MMC_SEND_EXT_CSD, ext_csd, ext_csd 378 drivers/mmc/core/mmc_ops.c kfree(ext_csd); ext_csd 380 drivers/mmc/core/mmc_ops.c *new_ext_csd = ext_csd; ext_csd 809 drivers/mmc/core/mmc_ops.c opcode = card->ext_csd.hpi_cmd; ext_csd 844 drivers/mmc/core/mmc_ops.c if (!card->ext_csd.hpi_en) { ext_csd 879 drivers/mmc/core/mmc_ops.c prg_wait = jiffies + msecs_to_jiffies(card->ext_csd.out_of_int_time); ext_csd 901 drivers/mmc/core/mmc_ops.c u8 *ext_csd; ext_csd 903 drivers/mmc/core/mmc_ops.c err = mmc_get_ext_csd(card, &ext_csd); ext_csd 907 drivers/mmc/core/mmc_ops.c card->ext_csd.raw_bkops_status = ext_csd[EXT_CSD_BKOPS_STATUS]; ext_csd 908 drivers/mmc/core/mmc_ops.c card->ext_csd.raw_exception_status = ext_csd[EXT_CSD_EXP_EVENTS_STATUS]; ext_csd 909 drivers/mmc/core/mmc_ops.c kfree(ext_csd); ext_csd 924 drivers/mmc/core/mmc_ops.c if (!card->ext_csd.man_bkops_en) ext_csd 934 drivers/mmc/core/mmc_ops.c if (!card->ext_csd.raw_bkops_status || ext_csd 935 drivers/mmc/core/mmc_ops.c card->ext_csd.raw_bkops_status < EXT_CSD_BKOPS_LEVEL_2) ext_csd 963 drivers/mmc/core/mmc_ops.c (card->ext_csd.cache_size > 0) && ext_csd 964 drivers/mmc/core/mmc_ops.c (card->ext_csd.cache_ctrl & 1)) { ext_csd 981 drivers/mmc/core/mmc_ops.c if (!card->ext_csd.cmdq_support) ext_csd 985 drivers/mmc/core/mmc_ops.c val, card->ext_csd.generic_cmd6_time); ext_csd 987 drivers/mmc/core/mmc_ops.c card->ext_csd.cmdq_en = enable; ext_csd 612 drivers/mmc/core/mmc_test.c return card->ext_csd.sectors; ext_csd 2324 drivers/mmc/core/mmc_test.c if (card->ext_csd.cmdq_en) ext_csd 3218 drivers/mmc/core/mmc_test.c if (card->ext_csd.cmdq_en) { ext_csd 374 drivers/mmc/core/queue.c block_size = card->ext_csd.data_sector_size; ext_csd 429 drivers/mmc/core/queue.c min_t(int, card->ext_csd.cmdq_depth, host->cqe_qdepth); ext_csd 167 drivers/mmc/core/quirks.h f->ext_csd_rev == card->ext_csd.rev) && ext_csd 288 include/linux/mmc/card.h struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */ ext_csd 317 include/linux/mmc/card.h return card->ext_csd.data_sector_size == 4096;