/* Copyright 2018 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/**
 * See CONFIG_TASK_LIST in config.h for details.
 */

/* We don't need uart_task when using scp uart (uart0, uart1). */
#if CONFIG_UART_CONSOLE == 2
#define UART_TASK TASK_ALWAYS(APUART, uart_task, NULL, LARGER_TASK_STACK_SIZE)
#else
#define UART_TASK
#endif

#define S3_SUSPEND_TASK_LIST \
	TASK_ALWAYS(VDEC_SERVICE, vdec_service_task, NULL, LARGER_TASK_STACK_SIZE) \
	TASK_ALWAYS(VENC_SERVICE, venc_service_task, NULL, LARGER_TASK_STACK_SIZE) \
	TASK_ALWAYS(FD_SERVICE, fd_service_task, NULL, 760) \
	TASK_ALWAYS(DIP_SERVICE, dip_service_task, NULL, 6400) \
	TASK_ALWAYS(MDP_SERVICE, mdp_service_task, NULL, 1800) \
	TASK_ALWAYS(ISP_SERVICE, isp_service_task, NULL, 880)

#define CONFIG_TASK_LIST \
	TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \
	UART_TASK \
	S3_SUSPEND_TASK_LIST \
	TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
	TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE)
