/* SPDX-License-Identifier: GPL-2.0 */ /* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2015, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ #ifndef __INPUT_SYSTEM_PRIVATE_H_INCLUDED__ #define __INPUT_SYSTEM_PRIVATE_H_INCLUDED__ #include "input_system_public.h" STORAGE_CLASS_INPUT_SYSTEM_C input_system_err_t input_system_get_state( const input_system_ID_t ID, input_system_state_t *state) { u32 i; (void)(ID); /* get the states of all CSI RX frontend devices */ for (i = 0; i < N_CSI_RX_FRONTEND_ID; i++) { csi_rx_fe_ctrl_get_state( (csi_rx_frontend_ID_t)i, &state->csi_rx_fe_ctrl_state[i]); } /* get the states of all CIS RX backend devices */ for (i = 0; i < N_CSI_RX_BACKEND_ID; i++) { csi_rx_be_ctrl_get_state( (csi_rx_backend_ID_t)i, &state->csi_rx_be_ctrl_state[i]); } /* get the states of all pixelgen devices */ for (i = 0; i < N_PIXELGEN_ID; i++) { pixelgen_ctrl_get_state( (pixelgen_ID_t)i, &state->pixelgen_ctrl_state[i]); } /* get the states of all stream2mmio devices */ for (i = 0; i < N_STREAM2MMIO_ID; i++) { stream2mmio_get_state( (stream2mmio_ID_t)i, &state->stream2mmio_state[i]); } /* get the states of all ibuf-controller devices */ for (i = 0; i < N_IBUF_CTRL_ID; i++) { ibuf_ctrl_get_state( (ibuf_ctrl_ID_t)i, &state->ibuf_ctrl_state[i]); } /* get the states of all isys irq controllers */ for (i = 0; i < N_ISYS_IRQ_ID; i++) { isys_irqc_state_get((isys_irq_ID_t)i, &state->isys_irqc_state[i]); } /* TODO: get the states of all ISYS2401 DMA devices */ for (i = 0; i < N_ISYS2401_DMA_ID; i++) { } return INPUT_SYSTEM_ERR_NO_ERROR; } STORAGE_CLASS_INPUT_SYSTEM_C void input_system_dump_state( const input_system_ID_t ID, input_system_state_t *state) { u32 i; (void)(ID); /* dump the states of all CSI RX frontend devices */ for (i = 0; i < N_CSI_RX_FRONTEND_ID; i++) { csi_rx_fe_ctrl_dump_state( (csi_rx_frontend_ID_t)i, &state->csi_rx_fe_ctrl_state[i]); } /* dump the states of all CIS RX backend devices */ for (i = 0; i < N_CSI_RX_BACKEND_ID; i++) { csi_rx_be_ctrl_dump_state( (csi_rx_backend_ID_t)i, &state->csi_rx_be_ctrl_state[i]); } /* dump the states of all pixelgen devices */ for (i = 0; i < N_PIXELGEN_ID; i++) { pixelgen_ctrl_dump_state( (pixelgen_ID_t)i, &state->pixelgen_ctrl_state[i]); } /* dump the states of all st2mmio devices */ for (i = 0; i < N_STREAM2MMIO_ID; i++) { stream2mmio_dump_state( (stream2mmio_ID_t)i, &state->stream2mmio_state[i]); } /* dump the states of all ibuf-controller devices */ for (i = 0; i < N_IBUF_CTRL_ID; i++) { ibuf_ctrl_dump_state( (ibuf_ctrl_ID_t)i, &state->ibuf_ctrl_state[i]); } /* dump the states of all isys irq controllers */ for (i = 0; i < N_ISYS_IRQ_ID; i++) { isys_irqc_state_dump((isys_irq_ID_t)i, &state->isys_irqc_state[i]); } /* TODO: dump the states of all ISYS2401 DMA devices */ for (i = 0; i < N_ISYS2401_DMA_ID; i++) { } return; } #endif /* __INPUT_SYSTEM_PRIVATE_H_INCLUDED__ */