mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
rockchip: block: blk-uclass: add bounce buffer flag to blk_desc
Currently bounce buffer support is enabled for all block devices when available. Add a flag to blk_desc to enable only on demand. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
80201eccaa
commit
81bd22e935
3 changed files with 7 additions and 2 deletions
|
@ -441,7 +441,7 @@ long blk_read(struct udevice *dev, lbaint_t start, lbaint_t blkcnt, void *buf)
|
|||
start, blkcnt, desc->blksz, buf))
|
||||
return blkcnt;
|
||||
|
||||
if (IS_ENABLED(CONFIG_BOUNCE_BUFFER)) {
|
||||
if (IS_ENABLED(CONFIG_BOUNCE_BUFFER) && desc->bb) {
|
||||
struct blk_bounce_buffer bbstate = { .dev = dev };
|
||||
int ret;
|
||||
|
||||
|
@ -478,7 +478,7 @@ long blk_write(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
|
|||
|
||||
blkcache_invalidate(desc->uclass_id, desc->devnum);
|
||||
|
||||
if (IS_ENABLED(CONFIG_BOUNCE_BUFFER)) {
|
||||
if (IS_ENABLED(CONFIG_BOUNCE_BUFFER) && desc->bb) {
|
||||
struct blk_bounce_buffer bbstate = { .dev = dev };
|
||||
int ret;
|
||||
|
||||
|
|
|
@ -459,6 +459,9 @@ static void scsi_init_dev_desc_priv(struct blk_desc *dev_desc)
|
|||
dev_desc->product[0] = 0;
|
||||
dev_desc->revision[0] = 0;
|
||||
dev_desc->removable = false;
|
||||
#if IS_ENABLED(CONFIG_BOUNCE_BUFFER)
|
||||
dev_desc->bb = true;
|
||||
#endif /* CONFIG_BOUNCE_BUFFER */
|
||||
}
|
||||
|
||||
#if !defined(CONFIG_DM_SCSI)
|
||||
|
@ -606,6 +609,7 @@ static int do_scsi_scan_one(struct udevice *dev, int id, int lun, bool verbose)
|
|||
bdesc->lun = lun;
|
||||
bdesc->removable = bd.removable;
|
||||
bdesc->type = bd.type;
|
||||
bdesc->bb = bd.bb;
|
||||
memcpy(&bdesc->vendor, &bd.vendor, sizeof(bd.vendor));
|
||||
memcpy(&bdesc->product, &bd.product, sizeof(bd.product));
|
||||
memcpy(&bdesc->revision, &bd.revision, sizeof(bd.revision));
|
||||
|
|
|
@ -68,6 +68,7 @@ struct blk_desc {
|
|||
/* device can use 48bit addr (ATA/ATAPI v7) */
|
||||
bool lba48;
|
||||
unsigned char atapi; /* Use ATAPI protocol */
|
||||
unsigned char bb; /* Use bounce buffer */
|
||||
lbaint_t lba; /* number of blocks */
|
||||
unsigned long blksz; /* block size */
|
||||
int log2blksz; /* for convenience: log2(blksz) */
|
||||
|
|
Loading…
Reference in a new issue