Lines Matching refs:csd

97 	struct mmc_csd csd;	/* csd decoded */  member
181 static void mmc_decode_csd_mmc(uint32_t *raw_csd, struct mmc_csd *csd);
182 static int mmc_decode_csd_sd(uint32_t *raw_csd, struct mmc_csd *csd);
832 if (mmcbr_get_mode(dev) != mode_mmc || ivar->csd.spec_vers < 4 || in mmc_set_power_class()
1180 mmc_decode_csd_sd(uint32_t *raw_csd, struct mmc_csd *csd) in mmc_decode_csd_sd() argument
1186 memset(csd, 0, sizeof(*csd)); in mmc_decode_csd_sd()
1187 csd->csd_structure = v = mmc_get_bits(raw_csd, 128, 126, 2); in mmc_decode_csd_sd()
1191 csd->tacc = (exp[e] * mant[m] + 9) / 10; in mmc_decode_csd_sd()
1192 csd->nsac = mmc_get_bits(raw_csd, 128, 104, 8) * 100; in mmc_decode_csd_sd()
1195 csd->tran_speed = exp[e] * 10000 * mant[m]; in mmc_decode_csd_sd()
1196 csd->ccc = mmc_get_bits(raw_csd, 128, 84, 12); in mmc_decode_csd_sd()
1197 csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 128, 80, 4); in mmc_decode_csd_sd()
1198 csd->read_bl_partial = mmc_get_bits(raw_csd, 128, 79, 1); in mmc_decode_csd_sd()
1199 csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1); in mmc_decode_csd_sd()
1200 csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1); in mmc_decode_csd_sd()
1201 csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1); in mmc_decode_csd_sd()
1202 csd->vdd_r_curr_min = in mmc_decode_csd_sd()
1204 csd->vdd_r_curr_max = in mmc_decode_csd_sd()
1206 csd->vdd_w_curr_min = in mmc_decode_csd_sd()
1208 csd->vdd_w_curr_max = in mmc_decode_csd_sd()
1212 csd->capacity = ((1 + m) << (e + 2)) * csd->read_bl_len; in mmc_decode_csd_sd()
1213 csd->erase_blk_en = mmc_get_bits(raw_csd, 128, 46, 1); in mmc_decode_csd_sd()
1214 csd->erase_sector = mmc_get_bits(raw_csd, 128, 39, 7) + 1; in mmc_decode_csd_sd()
1215 csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 7); in mmc_decode_csd_sd()
1216 csd->wp_grp_enable = mmc_get_bits(raw_csd, 128, 31, 1); in mmc_decode_csd_sd()
1217 csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 128, 26, 3); in mmc_decode_csd_sd()
1218 csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 128, 22, 4); in mmc_decode_csd_sd()
1219 csd->write_bl_partial = mmc_get_bits(raw_csd, 128, 21, 1); in mmc_decode_csd_sd()
1224 csd->tacc = (exp[e] * mant[m] + 9) / 10; in mmc_decode_csd_sd()
1225 csd->nsac = mmc_get_bits(raw_csd, 128, 104, 8) * 100; in mmc_decode_csd_sd()
1228 csd->tran_speed = exp[e] * 10000 * mant[m]; in mmc_decode_csd_sd()
1229 csd->ccc = mmc_get_bits(raw_csd, 128, 84, 12); in mmc_decode_csd_sd()
1230 csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 128, 80, 4); in mmc_decode_csd_sd()
1231 csd->read_bl_partial = mmc_get_bits(raw_csd, 128, 79, 1); in mmc_decode_csd_sd()
1232 csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1); in mmc_decode_csd_sd()
1233 csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1); in mmc_decode_csd_sd()
1234 csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1); in mmc_decode_csd_sd()
1235 csd->capacity = ((uint64_t)mmc_get_bits(raw_csd, 128, 48, 22) + in mmc_decode_csd_sd()
1237 csd->erase_blk_en = mmc_get_bits(raw_csd, 128, 46, 1); in mmc_decode_csd_sd()
1238 csd->erase_sector = mmc_get_bits(raw_csd, 128, 39, 7) + 1; in mmc_decode_csd_sd()
1239 csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 7); in mmc_decode_csd_sd()
1240 csd->wp_grp_enable = mmc_get_bits(raw_csd, 128, 31, 1); in mmc_decode_csd_sd()
1241 csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 128, 26, 3); in mmc_decode_csd_sd()
1242 csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 128, 22, 4); in mmc_decode_csd_sd()
1243 csd->write_bl_partial = mmc_get_bits(raw_csd, 128, 21, 1); in mmc_decode_csd_sd()
1250 mmc_decode_csd_mmc(uint32_t *raw_csd, struct mmc_csd *csd) in mmc_decode_csd_mmc() argument
1255 memset(csd, 0, sizeof(*csd)); in mmc_decode_csd_mmc()
1256 csd->csd_structure = mmc_get_bits(raw_csd, 128, 126, 2); in mmc_decode_csd_mmc()
1257 csd->spec_vers = mmc_get_bits(raw_csd, 128, 122, 4); in mmc_decode_csd_mmc()
1260 csd->tacc = exp[e] * mant[m] + 9 / 10; in mmc_decode_csd_mmc()
1261 csd->nsac = mmc_get_bits(raw_csd, 128, 104, 8) * 100; in mmc_decode_csd_mmc()
1264 csd->tran_speed = exp[e] * 10000 * mant[m]; in mmc_decode_csd_mmc()
1265 csd->ccc = mmc_get_bits(raw_csd, 128, 84, 12); in mmc_decode_csd_mmc()
1266 csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 128, 80, 4); in mmc_decode_csd_mmc()
1267 csd->read_bl_partial = mmc_get_bits(raw_csd, 128, 79, 1); in mmc_decode_csd_mmc()
1268 csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1); in mmc_decode_csd_mmc()
1269 csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1); in mmc_decode_csd_mmc()
1270 csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1); in mmc_decode_csd_mmc()
1271 csd->vdd_r_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 59, 3)]; in mmc_decode_csd_mmc()
1272 csd->vdd_r_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 56, 3)]; in mmc_decode_csd_mmc()
1273 csd->vdd_w_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 53, 3)]; in mmc_decode_csd_mmc()
1274 csd->vdd_w_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 50, 3)]; in mmc_decode_csd_mmc()
1277 csd->capacity = ((1 + m) << (e + 2)) * csd->read_bl_len; in mmc_decode_csd_mmc()
1278 csd->erase_blk_en = 0; in mmc_decode_csd_mmc()
1279 csd->erase_sector = (mmc_get_bits(raw_csd, 128, 42, 5) + 1) * in mmc_decode_csd_mmc()
1281 csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 5); in mmc_decode_csd_mmc()
1282 csd->wp_grp_enable = mmc_get_bits(raw_csd, 128, 31, 1); in mmc_decode_csd_mmc()
1283 csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 128, 26, 3); in mmc_decode_csd_mmc()
1284 csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 128, 22, 4); in mmc_decode_csd_mmc()
1285 csd->write_bl_partial = mmc_get_bits(raw_csd, 128, 21, 1); in mmc_decode_csd_mmc()
1658 err = mmc_decode_csd_sd(ivar->raw_csd, &ivar->csd); in mmc_discover_cards()
1663 ivar->sec_count = ivar->csd.capacity / MMC_SECTOR_SIZE; in mmc_discover_cards()
1664 if (ivar->csd.csd_structure > 0) in mmc_discover_cards()
1666 ivar->tran_speed = ivar->csd.tran_speed; in mmc_discover_cards()
1667 ivar->erase_sector = ivar->csd.erase_sector * in mmc_discover_cards()
1668 ivar->csd.write_bl_len / MMC_SECTOR_SIZE; in mmc_discover_cards()
1699 (ivar->csd.ccc & (1 << 10))) { in mmc_discover_cards()
1758 mmc_decode_csd_mmc(ivar->raw_csd, &ivar->csd); in mmc_discover_cards()
1759 ivar->sec_count = ivar->csd.capacity / MMC_SECTOR_SIZE; in mmc_discover_cards()
1760 ivar->tran_speed = ivar->csd.tran_speed; in mmc_discover_cards()
1761 ivar->erase_sector = ivar->csd.erase_sector * in mmc_discover_cards()
1762 ivar->csd.write_bl_len / MMC_SECTOR_SIZE; in mmc_discover_cards()
1785 if (ivar->csd.spec_vers >= 4) { in mmc_discover_cards()
1909 if (ivar->csd.read_bl_len != MMC_SECTOR_SIZE || in mmc_discover_cards()
1910 ivar->csd.write_bl_len != MMC_SECTOR_SIZE) in mmc_discover_cards()
2473 *result = ivar->csd.spec_vers; in mmc_read_ivar()
2476 *result = ivar->csd.dsr_imp; in mmc_read_ivar()