Lines Matching full:mmc

17 #include <mmc.h>
26 struct mmc *mmc; in mmc_block_op() local
30 mmc = find_mmc_device(dfu->data.mmc.dev_num); in mmc_block_op()
31 if (!mmc) { in mmc_block_op()
32 pr_err("Device MMC %d - not found!", dfu->data.mmc.dev_num); in mmc_block_op()
40 *len = ALIGN(*len, dfu->data.mmc.lba_blk_size); in mmc_block_op()
42 blk_start = dfu->data.mmc.lba_start + in mmc_block_op()
43 (u32)lldiv(offset, dfu->data.mmc.lba_blk_size); in mmc_block_op()
44 blk_count = *len / dfu->data.mmc.lba_blk_size; in mmc_block_op()
46 dfu->data.mmc.lba_start + dfu->data.mmc.lba_size) { in mmc_block_op()
51 if (dfu->data.mmc.hw_partition >= 0) { in mmc_block_op()
52 part_num_bkp = mmc_get_blk_desc(mmc)->hwpart; in mmc_block_op()
54 dfu->data.mmc.dev_num, in mmc_block_op()
55 dfu->data.mmc.hw_partition); in mmc_block_op()
61 op == DFU_OP_READ ? "MMC READ" : "MMC WRITE", in mmc_block_op()
62 dfu->data.mmc.dev_num, blk_start, blk_count, buf); in mmc_block_op()
65 n = blk_dread(mmc_get_blk_desc(mmc), blk_start, blk_count, buf); in mmc_block_op()
68 n = blk_dwrite(mmc_get_blk_desc(mmc), blk_start, blk_count, in mmc_block_op()
76 pr_err("MMC operation failed"); in mmc_block_op()
77 if (dfu->data.mmc.hw_partition >= 0) in mmc_block_op()
79 dfu->data.mmc.dev_num, in mmc_block_op()
84 if (dfu->data.mmc.hw_partition >= 0) { in mmc_block_op()
86 dfu->data.mmc.dev_num, in mmc_block_op()
144 sprintf(cmd_buf, "%s%s mmc %d:%d", fsname, opname, in mmc_file_op()
145 dfu->data.mmc.dev, dfu->data.mmc.part); in mmc_file_op()
218 *size = dfu->data.mmc.lba_size * dfu->data.mmc.lba_blk_size; in dfu_get_medium_size_mmc()
305 struct mmc *mmc; in dfu_fill_entity_mmc() local
310 dfu->data.mmc.dev_num = simple_strtoul(devstr, NULL, 10); in dfu_fill_entity_mmc()
328 mmc = find_mmc_device(dfu->data.mmc.dev_num); in dfu_fill_entity_mmc()
329 if (mmc == NULL) { in dfu_fill_entity_mmc()
330 pr_err("Couldn't find MMC device no. %d.\n", in dfu_fill_entity_mmc()
331 dfu->data.mmc.dev_num); in dfu_fill_entity_mmc()
335 if (mmc_init(mmc)) { in dfu_fill_entity_mmc()
336 pr_err("Couldn't init MMC device.\n"); in dfu_fill_entity_mmc()
340 dfu->data.mmc.hw_partition = -EINVAL; in dfu_fill_entity_mmc()
343 dfu->data.mmc.lba_start = second_arg; in dfu_fill_entity_mmc()
344 dfu->data.mmc.lba_size = third_arg; in dfu_fill_entity_mmc()
345 dfu->data.mmc.lba_blk_size = mmc->read_bl_len; in dfu_fill_entity_mmc()
349 * specifying the mmc HW defined partition number in dfu_fill_entity_mmc()
353 dfu->data.mmc.hw_partition = in dfu_fill_entity_mmc()
358 struct blk_desc *blk_dev = mmc_get_blk_desc(mmc); in dfu_fill_entity_mmc()
363 pr_err("Couldn't find part #%d on mmc device #%d\n", in dfu_fill_entity_mmc()
369 dfu->data.mmc.lba_start = partinfo.start; in dfu_fill_entity_mmc()
370 dfu->data.mmc.lba_size = partinfo.size; in dfu_fill_entity_mmc()
371 dfu->data.mmc.lba_blk_size = partinfo.blksz; in dfu_fill_entity_mmc()
383 dfu->data.mmc.dev = second_arg; in dfu_fill_entity_mmc()
384 dfu->data.mmc.part = third_arg; in dfu_fill_entity_mmc()