From 21b8473ccff46c335f413c12bfc8db810a4e8f03 Mon Sep 17 00:00:00 2001 From: Far Date: Wed, 14 Apr 2021 10:32:18 +0800 Subject: [PATCH] Feature: fatfs scandir format optimization Change-Id: I5ccc7f115cf5f989bd2a2580dcfe4f596bf973a0 --- drivers/bch/bchlib_cache.c | 3 ++- drivers/bch/bchlib_read.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/bch/bchlib_cache.c b/drivers/bch/bchlib_cache.c index 4c62087..2c5610a 100755 --- a/drivers/bch/bchlib_cache.c +++ b/drivers/bch/bchlib_cache.c @@ -113,7 +113,8 @@ int bchlib_readsector(FAR struct bchlib_s *bch, unsigned long long sector) } bch->sector = (unsigned long long)-1; - ret = los_disk_read(bch->disk->disk_id, (FAR void *)bch->buffer, sector, 1); + /* useRead is set TRUE, it'll use read block for not reading large data */ + ret = los_disk_read(bch->disk->disk_id, (FAR void *)bch->buffer, sector, 1, TRUE); if (ret < 0) { PRINTK("Read failed: %d\n", ret); diff --git a/drivers/bch/bchlib_read.c b/drivers/bch/bchlib_read.c index 0c3960c..a9a7033 100755 --- a/drivers/bch/bchlib_read.c +++ b/drivers/bch/bchlib_read.c @@ -159,7 +159,8 @@ ssize_t bchlib_read(FAR void *handle, FAR char *buffer, loff_t offset, size_t le { nsectors = bch->nsectors - sector; } - ret = los_disk_read(bch->disk->disk_id, (FAR void *)buffer, sector + bch->sectstart, nsectors); + /* No need for reading large contiguous data, useRead(param 4) is set TRUE */ + ret = los_disk_read(bch->disk->disk_id, (FAR void *)buffer, sector + bch->sectstart, nsectors, TRUE); if (ret < 0) { -- GitLab