mirror of
https://github.com/LuckfoxTECH/luckfox-pico.git
synced 2026-01-19 09:52:31 +01:00
project:build.sh: Added fastboot support; custom modifications to U-Boot and kernel implemented using patches.
project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
This commit is contained in:
@@ -52,6 +52,8 @@ TRACE_DEFINE_ENUM(CP_DISCARD);
|
||||
TRACE_DEFINE_ENUM(CP_TRIMMED);
|
||||
TRACE_DEFINE_ENUM(CP_PAUSE);
|
||||
TRACE_DEFINE_ENUM(CP_RESIZE);
|
||||
TRACE_DEFINE_ENUM(EX_READ);
|
||||
TRACE_DEFINE_ENUM(EX_BLOCK_AGE);
|
||||
|
||||
#define show_block_type(type) \
|
||||
__print_symbolic(type, \
|
||||
@@ -162,6 +164,11 @@ TRACE_DEFINE_ENUM(CP_RESIZE);
|
||||
{ COMPRESS_ZSTD, "ZSTD" }, \
|
||||
{ COMPRESS_LZORLE, "LZO-RLE" })
|
||||
|
||||
#define show_extent_type(type) \
|
||||
__print_symbolic(type, \
|
||||
{ EX_READ, "Read" }, \
|
||||
{ EX_BLOCK_AGE, "Block Age" })
|
||||
|
||||
struct f2fs_sb_info;
|
||||
struct f2fs_io_info;
|
||||
struct extent_info;
|
||||
@@ -1526,28 +1533,31 @@ TRACE_EVENT(f2fs_issue_flush,
|
||||
|
||||
TRACE_EVENT(f2fs_lookup_extent_tree_start,
|
||||
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs),
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs, enum extent_type type),
|
||||
|
||||
TP_ARGS(inode, pgofs),
|
||||
TP_ARGS(inode, pgofs, type),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(ino_t, ino)
|
||||
__field(unsigned int, pgofs)
|
||||
__field(enum extent_type, type)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->pgofs = pgofs;
|
||||
__entry->type = type;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u",
|
||||
TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, type = %s",
|
||||
show_dev_ino(__entry),
|
||||
__entry->pgofs)
|
||||
__entry->pgofs,
|
||||
show_extent_type(__entry->type))
|
||||
);
|
||||
|
||||
TRACE_EVENT_CONDITION(f2fs_lookup_extent_tree_end,
|
||||
TRACE_EVENT_CONDITION(f2fs_lookup_read_extent_tree_end,
|
||||
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs,
|
||||
struct extent_info *ei),
|
||||
@@ -1561,8 +1571,8 @@ TRACE_EVENT_CONDITION(f2fs_lookup_extent_tree_end,
|
||||
__field(ino_t, ino)
|
||||
__field(unsigned int, pgofs)
|
||||
__field(unsigned int, fofs)
|
||||
__field(u32, blk)
|
||||
__field(unsigned int, len)
|
||||
__field(u32, blk)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
@@ -1570,25 +1580,65 @@ TRACE_EVENT_CONDITION(f2fs_lookup_extent_tree_end,
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->pgofs = pgofs;
|
||||
__entry->fofs = ei->fofs;
|
||||
__entry->blk = ei->blk;
|
||||
__entry->len = ei->len;
|
||||
__entry->blk = ei->blk;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, "
|
||||
"ext_info(fofs: %u, blk: %u, len: %u)",
|
||||
"read_ext_info(fofs: %u, len: %u, blk: %u)",
|
||||
show_dev_ino(__entry),
|
||||
__entry->pgofs,
|
||||
__entry->fofs,
|
||||
__entry->blk,
|
||||
__entry->len)
|
||||
__entry->len,
|
||||
__entry->blk)
|
||||
);
|
||||
|
||||
TRACE_EVENT(f2fs_update_extent_tree_range,
|
||||
TRACE_EVENT_CONDITION(f2fs_lookup_age_extent_tree_end,
|
||||
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs, block_t blkaddr,
|
||||
unsigned int len),
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs,
|
||||
struct extent_info *ei),
|
||||
|
||||
TP_ARGS(inode, pgofs, blkaddr, len),
|
||||
TP_ARGS(inode, pgofs, ei),
|
||||
|
||||
TP_CONDITION(ei),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(ino_t, ino)
|
||||
__field(unsigned int, pgofs)
|
||||
__field(unsigned int, fofs)
|
||||
__field(unsigned int, len)
|
||||
__field(unsigned long long, age)
|
||||
__field(unsigned long long, blocks)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->pgofs = pgofs;
|
||||
__entry->fofs = ei->fofs;
|
||||
__entry->len = ei->len;
|
||||
__entry->age = ei->age;
|
||||
__entry->blocks = ei->last_blocks;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, "
|
||||
"age_ext_info(fofs: %u, len: %u, age: %llu, blocks: %llu)",
|
||||
show_dev_ino(__entry),
|
||||
__entry->pgofs,
|
||||
__entry->fofs,
|
||||
__entry->len,
|
||||
__entry->age,
|
||||
__entry->blocks)
|
||||
);
|
||||
|
||||
TRACE_EVENT(f2fs_update_read_extent_tree_range,
|
||||
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs, unsigned int len,
|
||||
block_t blkaddr,
|
||||
unsigned int c_len),
|
||||
|
||||
TP_ARGS(inode, pgofs, len, blkaddr, c_len),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
@@ -1596,70 +1646,115 @@ TRACE_EVENT(f2fs_update_extent_tree_range,
|
||||
__field(unsigned int, pgofs)
|
||||
__field(u32, blk)
|
||||
__field(unsigned int, len)
|
||||
__field(unsigned int, c_len)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->pgofs = pgofs;
|
||||
__entry->blk = blkaddr;
|
||||
__entry->len = len;
|
||||
__entry->blk = blkaddr;
|
||||
__entry->c_len = c_len;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, "
|
||||
"blkaddr = %u, len = %u",
|
||||
"len = %u, blkaddr = %u, c_len = %u",
|
||||
show_dev_ino(__entry),
|
||||
__entry->pgofs,
|
||||
__entry->len,
|
||||
__entry->blk,
|
||||
__entry->len)
|
||||
__entry->c_len)
|
||||
);
|
||||
|
||||
TRACE_EVENT(f2fs_update_age_extent_tree_range,
|
||||
|
||||
TP_PROTO(struct inode *inode, unsigned int pgofs, unsigned int len,
|
||||
unsigned long long age,
|
||||
unsigned long long last_blks),
|
||||
|
||||
TP_ARGS(inode, pgofs, len, age, last_blks),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(ino_t, ino)
|
||||
__field(unsigned int, pgofs)
|
||||
__field(unsigned int, len)
|
||||
__field(unsigned long long, age)
|
||||
__field(unsigned long long, blocks)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->pgofs = pgofs;
|
||||
__entry->len = len;
|
||||
__entry->age = age;
|
||||
__entry->blocks = last_blks;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, "
|
||||
"len = %u, age = %llu, blocks = %llu",
|
||||
show_dev_ino(__entry),
|
||||
__entry->pgofs,
|
||||
__entry->len,
|
||||
__entry->age,
|
||||
__entry->blocks)
|
||||
);
|
||||
|
||||
TRACE_EVENT(f2fs_shrink_extent_tree,
|
||||
|
||||
TP_PROTO(struct f2fs_sb_info *sbi, unsigned int node_cnt,
|
||||
unsigned int tree_cnt),
|
||||
unsigned int tree_cnt, enum extent_type type),
|
||||
|
||||
TP_ARGS(sbi, node_cnt, tree_cnt),
|
||||
TP_ARGS(sbi, node_cnt, tree_cnt, type),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(unsigned int, node_cnt)
|
||||
__field(unsigned int, tree_cnt)
|
||||
__field(enum extent_type, type)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = sbi->sb->s_dev;
|
||||
__entry->node_cnt = node_cnt;
|
||||
__entry->tree_cnt = tree_cnt;
|
||||
__entry->type = type;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), shrunk: node_cnt = %u, tree_cnt = %u",
|
||||
TP_printk("dev = (%d,%d), shrunk: node_cnt = %u, tree_cnt = %u, type = %s",
|
||||
show_dev(__entry->dev),
|
||||
__entry->node_cnt,
|
||||
__entry->tree_cnt)
|
||||
__entry->tree_cnt,
|
||||
show_extent_type(__entry->type))
|
||||
);
|
||||
|
||||
TRACE_EVENT(f2fs_destroy_extent_tree,
|
||||
|
||||
TP_PROTO(struct inode *inode, unsigned int node_cnt),
|
||||
TP_PROTO(struct inode *inode, unsigned int node_cnt,
|
||||
enum extent_type type),
|
||||
|
||||
TP_ARGS(inode, node_cnt),
|
||||
TP_ARGS(inode, node_cnt, type),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(ino_t, ino)
|
||||
__field(unsigned int, node_cnt)
|
||||
__field(enum extent_type, type)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->node_cnt = node_cnt;
|
||||
__entry->type = type;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u",
|
||||
TP_printk("dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u, type = %s",
|
||||
show_dev_ino(__entry),
|
||||
__entry->node_cnt)
|
||||
__entry->node_cnt,
|
||||
show_extent_type(__entry->type))
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(f2fs_sync_dirty_inodes,
|
||||
|
||||
Reference in New Issue
Block a user