mirror of
https://github.com/LuckfoxTECH/luckfox-pico.git
synced 2026-01-19 17:59:18 +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:
@@ -49,6 +49,7 @@
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/sched/mm.h>
|
||||
|
||||
#include <linux/sunrpc/clnt.h>
|
||||
|
||||
@@ -1776,6 +1777,7 @@ static void nfs4_state_mark_reclaim_helper(struct nfs_client *clp,
|
||||
|
||||
static void nfs4_state_start_reclaim_reboot(struct nfs_client *clp)
|
||||
{
|
||||
set_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state);
|
||||
/* Mark all delegations for reclaim */
|
||||
nfs_delegation_mark_reclaim(clp);
|
||||
nfs4_state_mark_reclaim_helper(clp, nfs4_state_mark_reclaim_reboot);
|
||||
@@ -2557,9 +2559,17 @@ static void nfs4_layoutreturn_any_run(struct nfs_client *clp)
|
||||
|
||||
static void nfs4_state_manager(struct nfs_client *clp)
|
||||
{
|
||||
unsigned int memflags;
|
||||
int status = 0;
|
||||
const char *section = "", *section_sep = "";
|
||||
|
||||
/*
|
||||
* State recovery can deadlock if the direct reclaim code tries
|
||||
* start NFS writeback. So ensure memory allocations are all
|
||||
* GFP_NOFS.
|
||||
*/
|
||||
memflags = memalloc_nofs_save();
|
||||
|
||||
/* Ensure exclusive access to NFSv4 state */
|
||||
do {
|
||||
trace_nfs4_state_mgr(clp);
|
||||
@@ -2633,6 +2643,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
|
||||
if (status < 0)
|
||||
goto out_error;
|
||||
nfs4_state_end_reclaim_reboot(clp);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Detect expired delegations... */
|
||||
@@ -2654,6 +2665,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
|
||||
clear_bit(NFS4CLNT_RECLAIM_NOGRACE, &clp->cl_state);
|
||||
}
|
||||
|
||||
memalloc_nofs_restore(memflags);
|
||||
nfs4_end_drain_session(clp);
|
||||
nfs4_clear_state_manager_bit(clp);
|
||||
|
||||
@@ -2671,6 +2683,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
|
||||
return;
|
||||
if (test_and_set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state) != 0)
|
||||
return;
|
||||
memflags = memalloc_nofs_save();
|
||||
} while (refcount_read(&clp->cl_count) > 1 && !signalled());
|
||||
goto out_drain;
|
||||
|
||||
@@ -2683,6 +2696,7 @@ out_error:
|
||||
clp->cl_hostname, -status);
|
||||
ssleep(1);
|
||||
out_drain:
|
||||
memalloc_nofs_restore(memflags);
|
||||
nfs4_end_drain_session(clp);
|
||||
nfs4_clear_state_manager_bit(clp);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user