]>
git.ipfire.org Git - people/ms/u-boot.git/blob - cmd/blkcache.c
2 * Copyright (C) Nelson Integration, LLC 2016
3 * Author: Eric Nelson<eric@nelint.com>
5 * SPDX-License-Identifier: GPL-2.0+
13 static int blkc_show(cmd_tbl_t
*cmdtp
, int flag
,
14 int argc
, char * const argv
[])
16 struct block_cache_stats stats
;
17 blkcache_stats(&stats
);
22 "max blocks/entry: %u\n"
23 "max cache entries: %u\n",
24 stats
.hits
, stats
.misses
, stats
.entries
,
25 stats
.max_blocks_per_entry
, stats
.max_entries
);
29 static int blkc_configure(cmd_tbl_t
*cmdtp
, int flag
,
30 int argc
, char * const argv
[])
32 unsigned blocks_per_entry
, max_entries
;
36 blocks_per_entry
= simple_strtoul(argv
[1], 0, 0);
37 max_entries
= simple_strtoul(argv
[2], 0, 0);
38 blkcache_configure(blocks_per_entry
, max_entries
);
39 printf("changed to max of %u entries of %u blocks each\n",
40 max_entries
, blocks_per_entry
);
44 static cmd_tbl_t cmd_blkc_sub
[] = {
45 U_BOOT_CMD_MKENT(show
, 0, 0, blkc_show
, "", ""),
46 U_BOOT_CMD_MKENT(configure
, 3, 0, blkc_configure
, "", ""),
49 static __maybe_unused
void blkc_reloc(void)
54 fixup_cmdtable(cmd_blkc_sub
, ARRAY_SIZE(cmd_blkc_sub
));
59 static int do_blkcache(cmd_tbl_t
*cmdtp
, int flag
,
60 int argc
, char * const argv
[])
64 #ifdef CONFIG_NEEDS_MANUAL_RELOC
70 /* Strip off leading argument */
74 c
= find_cmd_tbl(argv
[0], &cmd_blkc_sub
[0], ARRAY_SIZE(cmd_blkc_sub
));
79 return c
->cmd(cmdtp
, flag
, argc
, argv
);
83 blkcache
, 4, 0, do_blkcache
,
84 "block cache diagnostics and control",
85 "show - show and reset statistics\n"
86 "blkcache configure blocks entries\n"