blk: Add BLK_MTD_CONT_WRITE tag

Change-Id: I72537387912d5c981dbe205c0d0c1864fa42a555
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This commit is contained in:
Jon Lin 2020-09-04 17:42:03 +08:00 committed by Joseph Chen
parent 0e91bf0e81
commit 853fc11fcc
2 changed files with 10 additions and 10 deletions

View File

@ -446,7 +446,15 @@ ulong mtd_dwrite(struct udevice *udev, lbaint_t start,
if (desc->devnum == BLK_MTD_NAND || if (desc->devnum == BLK_MTD_NAND ||
desc->devnum == BLK_MTD_SPI_NAND || desc->devnum == BLK_MTD_SPI_NAND ||
desc->devnum == BLK_MTD_SPI_NOR) { desc->devnum == BLK_MTD_SPI_NOR) {
if (desc->op_flag == BLK_MTD_NBA_RW) { if (desc->op_flag == BLK_MTD_CONT_WRITE) {
ret = mtd_map_write(mtd, off, &rwsize,
NULL, mtd->size,
(u_char *)(src), 0);
if (!ret)
return blkcnt;
else
return 0;
} else {
lbaint_t off_aligned, alinged; lbaint_t off_aligned, alinged;
size_t rwsize_aligned; size_t rwsize_aligned;
u8 *p_buf; u8 *p_buf;
@ -481,14 +489,6 @@ ulong mtd_dwrite(struct udevice *udev, lbaint_t start,
return blkcnt; return blkcnt;
else else
return 0; return 0;
} else {
ret = mtd_map_write(mtd, off, &rwsize,
NULL, mtd->size,
(u_char *)(src), 0);
if (!ret)
return blkcnt;
else
return 0;
} }
} else { } else {
return 0; return 0;

View File

@ -53,7 +53,7 @@ enum if_type {
/* define block device operation flags */ /* define block device operation flags */
#define BLK_PRE_RW BIT(0) /* Block prepare read & write*/ #define BLK_PRE_RW BIT(0) /* Block prepare read & write*/
#define BLK_MTD_NBA_RW BIT(1) /* MTD block non-block-aligned read & write */ #define BLK_MTD_CONT_WRITE BIT(1) /* Special for Nand device P/E */
/* /*
* Identifies the partition table type (ie. MBR vs GPT GUID) signature * Identifies the partition table type (ie. MBR vs GPT GUID) signature