diff options
Diffstat (limited to 'firmware/2lib/2ui_screens.c')
-rw-r--r-- | firmware/2lib/2ui_screens.c | 350 |
1 files changed, 0 insertions, 350 deletions
diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c index 5e08b57d..3a8e0b60 100644 --- a/firmware/2lib/2ui_screens.c +++ b/firmware/2lib/2ui_screens.c @@ -125,25 +125,6 @@ static vb2_error_t log_page_reset_to_top(struct vb2_ui_context *ui) return log_page_update(ui, NULL); } -static vb2_error_t log_page_show_back_or_cancel(struct vb2_ui_context *ui, - int is_show_cancel) -{ - int back_item = ui->state->screen->back_item; - int cancel_item = ui->state->screen->cancel_item; - VB2_CLR_BIT(ui->state->hidden_item_mask, back_item); - VB2_CLR_BIT(ui->state->hidden_item_mask, cancel_item); - if (is_show_cancel) { - VB2_SET_BIT(ui->state->hidden_item_mask, back_item); - if (ui->state->selected_item == back_item) - ui->state->selected_item = cancel_item; - } else { - VB2_SET_BIT(ui->state->hidden_item_mask, cancel_item); - if (ui->state->selected_item == cancel_item) - ui->state->selected_item = back_item; - } - return VB2_SUCCESS; -} - static vb2_error_t log_page_prev_action(struct vb2_ui_context *ui) { /* Validity check. */ @@ -514,331 +495,6 @@ static const struct vb2_screen_info recovery_to_dev_screen = { .menu = MENU_ITEMS(recovery_to_dev_items), }; -/******************************************************************************/ -/* VB2_SCREEN_DIAGNOSTICS */ - -#define DIAGNOSTICS_ITEM_STORAGE_HEALTH 1 -#define DIAGNOSTICS_ITEM_STORAGE_TEST_SHORT 2 -#define DIAGNOSTICS_ITEM_STORAGE_TEST_EXTENDED 3 - -static vb2_error_t diagnostics_init(struct vb2_ui_context *ui) -{ - const char *unused_log_string; - vb2_error_t rv = vb2ex_diag_get_storage_test_log(&unused_log_string); - if (rv == VB2_ERROR_EX_UNIMPLEMENTED) { - VB2_SET_BIT(ui->state->disabled_item_mask, - DIAGNOSTICS_ITEM_STORAGE_TEST_SHORT); - VB2_SET_BIT(ui->state->disabled_item_mask, - DIAGNOSTICS_ITEM_STORAGE_TEST_EXTENDED); - } - ui->state->selected_item = DIAGNOSTICS_ITEM_STORAGE_HEALTH; - return VB2_SUCCESS; -} - -static const struct vb2_menu_item diagnostics_items[] = { - LANGUAGE_SELECT_ITEM, - [DIAGNOSTICS_ITEM_STORAGE_HEALTH] = { - .text = "Storage health info", - .target = VB2_SCREEN_DIAGNOSTICS_STORAGE_HEALTH, - }, - [DIAGNOSTICS_ITEM_STORAGE_TEST_SHORT] = { - .text = "Storage self-test (short)", - .target = VB2_SCREEN_DIAGNOSTICS_STORAGE_TEST_SHORT, - }, - [DIAGNOSTICS_ITEM_STORAGE_TEST_EXTENDED] = { - .text = "Storage self-test (Extended)", - .target = VB2_SCREEN_DIAGNOSTICS_STORAGE_TEST_EXTENDED, - }, - { - .text = "Memory check (quick)", - .target = VB2_SCREEN_DIAGNOSTICS_MEMORY_QUICK, - }, - { - .text = "Memory check (full)", - .target = VB2_SCREEN_DIAGNOSTICS_MEMORY_FULL, - }, - POWER_OFF_ITEM, -}; - -static const struct vb2_screen_info diagnostics_screen = { - .id = VB2_SCREEN_DIAGNOSTICS, - .name = "Diagnostic tools", - .init = diagnostics_init, - .menu = MENU_ITEMS(diagnostics_items), -}; - -/******************************************************************************/ -/* VB2_SCREEN_DIAGNOSTICS_STORAGE_HEALTH */ - -#define DIAGNOSTICS_STORAGE_HEALTH_ITEM_PAGE_UP 0 -#define DIAGNOSTICS_STORAGE_HEALTH_ITEM_PAGE_DOWN 1 -#define DIAGNOSTICS_STORAGE_HEALTH_ITEM_BACK 2 - -static vb2_error_t diagnostics_storage_health_init_impl( - struct vb2_ui_context *ui) -{ - const char *log_string; - VB2_TRY(vb2ex_diag_get_storage_health(&log_string)); - VB2_TRY(log_page_update(ui, log_string)); - return log_page_reset_to_top(ui); -} - -static vb2_error_t diagnostics_storage_health_init(struct vb2_ui_context *ui) -{ - if (vb2_is_error(diagnostics_storage_health_init_impl(ui))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static const struct vb2_menu_item diagnostics_storage_health_items[] = { - [DIAGNOSTICS_STORAGE_HEALTH_ITEM_PAGE_UP] = PAGE_UP_ITEM, - [DIAGNOSTICS_STORAGE_HEALTH_ITEM_PAGE_DOWN] = PAGE_DOWN_ITEM, - [DIAGNOSTICS_STORAGE_HEALTH_ITEM_BACK] = BACK_ITEM, - POWER_OFF_ITEM, -}; - -static const struct vb2_screen_info diagnostics_storage_health_screen = { - .id = VB2_SCREEN_DIAGNOSTICS_STORAGE_HEALTH, - .name = "Storage health info", - .init = diagnostics_storage_health_init, - .menu = MENU_ITEMS(diagnostics_storage_health_items), - .page_up_item = DIAGNOSTICS_STORAGE_HEALTH_ITEM_PAGE_UP, - .page_down_item = DIAGNOSTICS_STORAGE_HEALTH_ITEM_PAGE_DOWN, - .back_item = DIAGNOSTICS_STORAGE_HEALTH_ITEM_BACK, -}; - -/******************************************************************************/ -/* VB2_SCREEN_DIAGNOSTICS_STORAGE_TEST */ - -#define DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_UP 0 -#define DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_DOWN 1 -#define DIAGNOSTICS_STORAGE_TEST_ITEM_BACK 2 -#define DIAGNOSTICS_STORAGE_TEST_ITEM_CANCEL 3 - -static vb2_error_t diagnostics_storage_test_update_impl( - struct vb2_ui_context *ui) -{ - const char *log_string; - int is_test_running = 0; - - /* Early return if the test is done. */ - if (ui->state->test_finished) - return VB2_SUCCESS; - - vb2_error_t rv = vb2ex_diag_get_storage_test_log(&log_string); - switch (rv) { - case VB2_ERROR_EX_DIAG_TEST_RUNNING: - is_test_running = 1; - break; - case VB2_SUCCESS: - ui->state->test_finished = 1; - break; - default: - VB2_DEBUG("vb2ex_diag_get_storage_test_log returned %#x\n", rv); - return rv; - } - VB2_TRY(log_page_show_back_or_cancel(ui, is_test_running)); - return log_page_update(ui, log_string); -} - -static vb2_error_t diagnostics_storage_test_update(struct vb2_ui_context *ui) -{ - if (vb2_is_error(diagnostics_storage_test_update_impl(ui))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static vb2_error_t diagnostics_storage_test_control( - struct vb2_ui_context *ui, enum vb2_diag_storage_test op) -{ - if (vb2_is_error(vb2ex_diag_storage_test_control(op))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static vb2_error_t diagnostics_storage_test_init(struct vb2_ui_context *ui) -{ - VB2_TRY(diagnostics_storage_test_update(ui)); - if (vb2_is_error(log_page_reset_to_top(ui))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static vb2_error_t diagnostics_storage_test_short_init( - struct vb2_ui_context *ui) -{ - VB2_TRY(diagnostics_storage_test_control(ui, - VB2_DIAG_STORAGE_TEST_STOP)); - VB2_TRY(diagnostics_storage_test_control(ui, - VB2_DIAG_STORAGE_TEST_SHORT)); - return diagnostics_storage_test_init(ui); -} - -static vb2_error_t diagnostics_storage_test_extended_init( - struct vb2_ui_context *ui) -{ - VB2_TRY(diagnostics_storage_test_control(ui, - VB2_DIAG_STORAGE_TEST_STOP)); - VB2_TRY(diagnostics_storage_test_control( - ui, VB2_DIAG_STORAGE_TEST_EXTENDED)); - return diagnostics_storage_test_init(ui); -} - -static vb2_error_t diagnostics_storage_test_cancel(struct vb2_ui_context *ui) -{ - VB2_TRY(diagnostics_storage_test_control(ui, - VB2_DIAG_STORAGE_TEST_STOP)); - return vb2_ui_screen_back(ui); -} - -static const struct vb2_menu_item diagnostics_storage_test_items[] = { - [DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_UP] = PAGE_UP_ITEM, - [DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_DOWN] = PAGE_DOWN_ITEM, - [DIAGNOSTICS_STORAGE_TEST_ITEM_BACK] = BACK_ITEM, - [DIAGNOSTICS_STORAGE_TEST_ITEM_CANCEL] = { - .text = "Cancel", - .action = diagnostics_storage_test_cancel, - }, - POWER_OFF_ITEM, -}; - -static const struct vb2_screen_info diagnostics_storage_test_short_screen = { - .id = VB2_SCREEN_DIAGNOSTICS_STORAGE_TEST_SHORT, - .name = "Storage self-test (short)", - .init = diagnostics_storage_test_short_init, - .action = diagnostics_storage_test_update, - .menu = MENU_ITEMS(diagnostics_storage_test_items), - .page_up_item = DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_UP, - .page_down_item = DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_DOWN, - .back_item = DIAGNOSTICS_STORAGE_TEST_ITEM_BACK, - .cancel_item = DIAGNOSTICS_STORAGE_TEST_ITEM_CANCEL, -}; - -static const struct vb2_screen_info diagnostics_storage_test_extended_screen = { - .id = VB2_SCREEN_DIAGNOSTICS_STORAGE_TEST_EXTENDED, - .name = "Storage self-test (extended)", - .init = diagnostics_storage_test_extended_init, - .action = diagnostics_storage_test_update, - .menu = MENU_ITEMS(diagnostics_storage_test_items), - .page_up_item = DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_UP, - .page_down_item = DIAGNOSTICS_STORAGE_TEST_ITEM_PAGE_DOWN, - .back_item = DIAGNOSTICS_STORAGE_TEST_ITEM_BACK, - .cancel_item = DIAGNOSTICS_STORAGE_TEST_ITEM_CANCEL, -}; - -/******************************************************************************/ -/* VB2_SCREEN_DIAGNOSTICS_MEMORY_QUICK - VB2_SCREEN_DIAGNOSTICS_MEMORY_FULL */ - -#define DIAGNOSTICS_MEMORY_ITEM_PAGE_UP 0 -#define DIAGNOSTICS_MEMORY_ITEM_PAGE_DOWN 1 -#define DIAGNOSTICS_MEMORY_ITEM_BACK 2 -#define DIAGNOSTICS_MEMORY_ITEM_CANCEL 3 - -typedef vb2_error_t (*memory_test_op_t)(int reset, const char **out); -static vb2_error_t diagnostics_memory_update_screen_impl( - struct vb2_ui_context *ui, memory_test_op_t op, int reset) -{ - const char *log_string = NULL; - vb2_error_t rv; - int is_test_running = 0; - - /* Early return if the memory test is done. */ - if (ui->state->test_finished) - return VB2_SUCCESS; - - rv = op(reset, &log_string); - switch (rv) { - /* The test is still running but the output buffer was unchanged. */ - case VB2_ERROR_EX_DIAG_TEST_RUNNING: - return VB2_SUCCESS; - case VB2_ERROR_EX_DIAG_TEST_UPDATED: - is_test_running = 1; - break; - case VB2_SUCCESS: - ui->state->test_finished = 1; - break; - default: - VB2_DEBUG("memory_test_op returned %#x\n", rv); - return rv; - } - VB2_TRY(log_page_show_back_or_cancel(ui, is_test_running)); - return log_page_update(ui, log_string); -} - -static vb2_error_t diagnostics_memory_update_screen(struct vb2_ui_context *ui, - memory_test_op_t op, - int reset) -{ - if (vb2_is_error(diagnostics_memory_update_screen_impl(ui, op, reset))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static vb2_error_t diagnostics_memory_init_quick(struct vb2_ui_context *ui) -{ - VB2_TRY(diagnostics_memory_update_screen( - ui, &vb2ex_diag_memory_quick_test, 1)); - if (vb2_is_error(log_page_reset_to_top(ui))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static vb2_error_t diagnostics_memory_init_full(struct vb2_ui_context *ui) -{ - VB2_TRY(diagnostics_memory_update_screen( - ui, &vb2ex_diag_memory_full_test, 1)); - if (vb2_is_error(log_page_reset_to_top(ui))) - return set_ui_error_and_go_back(ui, VB2_UI_ERROR_DIAGNOSTICS); - return VB2_SUCCESS; -} - -static vb2_error_t diagnostics_memory_update_quick(struct vb2_ui_context *ui) -{ - return diagnostics_memory_update_screen( - ui, &vb2ex_diag_memory_quick_test, 0); -} - -static vb2_error_t diagnostics_memory_update_full(struct vb2_ui_context *ui) -{ - return diagnostics_memory_update_screen( - ui, &vb2ex_diag_memory_full_test, 0); -} - -static const struct vb2_menu_item diagnostics_memory_items[] = { - [DIAGNOSTICS_MEMORY_ITEM_PAGE_UP] = PAGE_UP_ITEM, - [DIAGNOSTICS_MEMORY_ITEM_PAGE_DOWN] = PAGE_DOWN_ITEM, - [DIAGNOSTICS_MEMORY_ITEM_BACK] = BACK_ITEM, - [DIAGNOSTICS_MEMORY_ITEM_CANCEL] = { - .text = "Cancel", - .action = vb2_ui_screen_back, - }, - POWER_OFF_ITEM, -}; - -static const struct vb2_screen_info diagnostics_memory_quick_screen = { - .id = VB2_SCREEN_DIAGNOSTICS_MEMORY_QUICK, - .name = "Memory check (quick)", - .init = diagnostics_memory_init_quick, - .action = diagnostics_memory_update_quick, - .menu = MENU_ITEMS(diagnostics_memory_items), - .page_up_item = DIAGNOSTICS_MEMORY_ITEM_PAGE_UP, - .page_down_item = DIAGNOSTICS_MEMORY_ITEM_PAGE_DOWN, - .back_item = DIAGNOSTICS_MEMORY_ITEM_BACK, - .cancel_item = DIAGNOSTICS_MEMORY_ITEM_CANCEL, -}; - -static const struct vb2_screen_info diagnostics_memory_full_screen = { - .id = VB2_SCREEN_DIAGNOSTICS_MEMORY_FULL, - .name = "Memory check (full)", - .init = diagnostics_memory_init_full, - .action = diagnostics_memory_update_full, - .menu = MENU_ITEMS(diagnostics_memory_items), - .page_up_item = DIAGNOSTICS_MEMORY_ITEM_PAGE_UP, - .page_down_item = DIAGNOSTICS_MEMORY_ITEM_PAGE_DOWN, - .back_item = DIAGNOSTICS_MEMORY_ITEM_BACK, - .cancel_item = DIAGNOSTICS_MEMORY_ITEM_CANCEL, -}; /******************************************************************************/ /* @@ -854,12 +510,6 @@ static const struct vb2_screen_info *screens[] = { &debug_info_screen, &firmware_log_screen, &recovery_to_dev_screen, - &diagnostics_screen, - &diagnostics_storage_health_screen, - &diagnostics_storage_test_short_screen, - &diagnostics_storage_test_extended_screen, - &diagnostics_memory_quick_screen, - &diagnostics_memory_full_screen, }; const struct vb2_screen_info *vb2_get_screen_info(enum vb2_screen id) |