Lines Matching refs:dev_desc

25 	struct blk_desc	*dev_desc;
28 static int raw_part_get_info_by_name(struct blk_desc *dev_desc,
60 info->blksz = dev_desc->blksz;
66 int ret = blk_dselect_hwpart(dev_desc, mmcpart);
76 static int do_get_part_info(struct blk_desc **dev_desc, const char *name,
82 *dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV);
83 if (*dev_desc) {
84 ret = part_get_info_by_name(*dev_desc, name, info);
89 ret = raw_part_get_info_by_name(*dev_desc, name, info);
95 ret = part_get_info_by_dev_and_name_or_num("mmc", name, dev_desc,
100 static int part_get_info_by_name_or_alias(struct blk_desc **dev_desc,
115 return do_get_part_info(dev_desc, name, info);
157 struct blk_desc *dev_desc = sparse->dev_desc;
159 return fb_mmc_blk_write(dev_desc, blk, blkcnt, buffer);
168 static void write_raw_image(struct blk_desc *dev_desc,
187 blks = fb_mmc_blk_write(dev_desc, info->start, blkcnt, buffer);
190 pr_err("failed writing to device %d\n", dev_desc->devnum);
202 static int fb_mmc_erase_mmc_hwpart(struct blk_desc *dev_desc)
206 debug("Start Erasing mmc hwpart[%u]...\n", dev_desc->hwpart);
208 blks = fb_mmc_blk_write(dev_desc, 0, dev_desc->lba, NULL);
210 if (blks != dev_desc->lba) {
211 pr_err("Failed to erase mmc hwpart[%u]\n", dev_desc->hwpart);
216 dev_desc->lba * dev_desc->blksz, dev_desc->hwpart);
223 static void fb_mmc_boot_ops(struct blk_desc *dev_desc, void *buffer,
231 if (blk_dselect_hwpart(dev_desc, hwpart)) {
240 blksz = dev_desc->blksz;
244 if (blkcnt > dev_desc->lba) {
252 blks = fb_mmc_blk_write(dev_desc, 0, blkcnt, buffer);
264 if (fb_mmc_erase_mmc_hwpart(dev_desc)) {
280 * @param[in] dev_desc MMC device descriptor
286 static lbaint_t fb_mmc_get_boot_header(struct blk_desc *dev_desc,
305 res = blk_dread(dev_desc, info->start, hdr_sectors, (void *)hdr);
326 * @param dev_desc MMC device descriptor
332 static int fb_mmc_update_zimage(struct blk_desc *dev_desc,
352 res = part_get_info_by_name(dev_desc, BOOT_PARTITION_NAME, &info);
364 hdr_sectors = fb_mmc_get_boot_header(dev_desc, &info, hdr, response);
397 res = blk_dread(dev_desc, ramdisk_sector_start, ramdisk_sectors,
408 res = blk_dwrite(dev_desc, info.start, hdr_sectors, (void *)hdr);
419 res = blk_dwrite(dev_desc, kernel_sector_start, kernel_sectors,
431 res = blk_dwrite(dev_desc, ramdisk_sector_start, ramdisk_sectors,
449 * @dev_desc: Pointer to returned blk_desc pointer
454 struct blk_desc **dev_desc,
464 ret = part_get_info_by_name_or_alias(dev_desc, part_name, part_info);
513 struct blk_desc *dev_desc;
518 dev_desc = fastboot_mmc_get_dev(response);
519 if (dev_desc)
520 fb_mmc_boot_ops(dev_desc, download_buffer, 1,
525 dev_desc = fastboot_mmc_get_dev(response);
526 if (dev_desc)
527 fb_mmc_boot_ops(dev_desc, download_buffer, 2,
535 dev_desc = fastboot_mmc_get_dev(response);
536 if (!dev_desc)
541 if (is_valid_gpt_buf(dev_desc, download_buffer)) {
547 if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
553 part_init(dev_desc);
562 dev_desc = fastboot_mmc_get_dev(response);
563 if (!dev_desc)
573 if (write_mbr_sector(dev_desc, download_buffer)) {
579 part_init(dev_desc);
588 dev_desc = fastboot_mmc_get_dev(response);
589 if (dev_desc)
590 fb_mmc_update_zimage(dev_desc, download_buffer,
598 dev_desc = fastboot_mmc_get_dev(response);
599 if (!dev_desc)
603 info.size = dev_desc->lba;
604 info.blksz = dev_desc->blksz;
609 fastboot_mmc_get_part_info(cmd, &dev_desc, &info, response) < 0)
617 sparse_priv.dev_desc = dev_desc;
635 write_raw_image(dev_desc, &info, cmd, download_buffer,
648 struct blk_desc *dev_desc;
656 dev_desc = fastboot_mmc_get_dev(response);
657 if (dev_desc)
658 fb_mmc_boot_ops(dev_desc, NULL, 1, 0, response);
663 dev_desc = fastboot_mmc_get_dev(response);
664 if (dev_desc)
665 fb_mmc_boot_ops(dev_desc, NULL, 2, 0, response);
673 dev_desc = fastboot_mmc_get_dev(response);
674 if (!dev_desc)
677 if (fb_mmc_erase_mmc_hwpart(dev_desc))
685 if (fastboot_mmc_get_part_info(cmd, &dev_desc, &info, response) < 0)
700 blks = fb_mmc_blk_write(dev_desc, blks_start, blks_size, NULL);
703 pr_err("failed erasing from device %d\n", dev_desc->devnum);