Revert "blk: Invalidate block cache when switching hwpart"

This reverts commit 0ebe112d09.

Most block devices have only one hwpart. Multiple hwparts only found used
by eMMC devices in u-boot. The mmc driver do blk_dselect_hwpart() at the
beginning of mmc_bread() which causes block cache being invalidated too
frequently and makes block cache useless.

So it's not a good idea to put blkcache_invalidate() in the common
functions. It should be called inside mmc_select_hwpart().

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Felix Brack <fb@ltec.ch>
This commit is contained in:
Weijie Gao 2019-08-27 15:32:18 +08:00 committed by Tom Rini
parent 5e0404ff85
commit 1ce884797c

View File

@ -208,11 +208,7 @@ int blk_select_hwpart_devnum(enum if_type if_type, int devnum, int hwpart)
if (ret)
return ret;
ret = blk_select_hwpart(dev, hwpart);
if (!ret)
blkcache_invalidate(if_type, devnum);
return ret;
return blk_select_hwpart(dev, hwpart);
}
int blk_list_part(enum if_type if_type)
@ -352,13 +348,7 @@ int blk_select_hwpart(struct udevice *dev, int hwpart)
int blk_dselect_hwpart(struct blk_desc *desc, int hwpart)
{
int ret;
ret = blk_select_hwpart(desc->bdev, hwpart);
if (!ret)
blkcache_invalidate(desc->if_type, desc->devnum);
return ret;
return blk_select_hwpart(desc->bdev, hwpart);
}
int blk_first_device(int if_type, struct udevice **devp)