linux/drivers/staging/media/atomisp/pci/ia_css_mipi.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Support for Intel Camera Imaging ISP subsystem.
   4 * Copyright (c) 2015, Intel Corporation.
   5 *
   6 * This program is free software; you can redistribute it and/or modify it
   7 * under the terms and conditions of the GNU General Public License,
   8 * version 2, as published by the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope it will be useful, but WITHOUT
  11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  13 * more details.
  14 */
  15
  16#ifndef __IA_CSS_MIPI_H
  17#define __IA_CSS_MIPI_H
  18
  19/* @file
  20 * This file contains MIPI support functionality
  21 */
  22
  23#include <type_support.h>
  24#include "ia_css_err.h"
  25#include "ia_css_stream_format.h"
  26#include "ia_css_input_port.h"
  27
  28/* @brief Register size of a CSS MIPI frame for check during capturing.
  29 *
  30 * @param[in]   port    CSI-2 port this check is registered.
  31 * @param[in]   size_mem_words  The frame size in memory words (32B).
  32 * @return              Return the error in case of failure. E.g. MAX_NOF_ENTRIES REACHED
  33 *
  34 * Register size of a CSS MIPI frame to check during capturing. Up to
  35 *              IA_CSS_MIPI_SIZE_CHECK_MAX_NOF_ENTRIES entries per port allowed. Entries are reset
  36 *              when stream is stopped.
  37 *
  38 *
  39 */
  40int
  41ia_css_mipi_frame_enable_check_on_size(const enum mipi_port_id port,
  42                                       const unsigned int       size_mem_words);
  43
  44/* @brief Calculate the size of a mipi frame.
  45 *
  46 * @param[in]   width           The width (in pixels) of the frame.
  47 * @param[in]   height          The height (in lines) of the frame.
  48 * @param[in]   format          The frame (MIPI) format.
  49 * @param[in]   hasSOLandEOL    Whether frame (MIPI) contains (optional) SOL and EOF packets.
  50 * @param[in]   embedded_data_size_words                Embedded data size in memory words.
  51 * @param               size_mem_words                                  The mipi frame size in memory words (32B).
  52 * @return              The error code.
  53 *
  54 * Calculate the size of a mipi frame, based on the resolution and format.
  55 */
  56int
  57ia_css_mipi_frame_calculate_size(const unsigned int width,
  58                                 const unsigned int height,
  59                                 const enum atomisp_input_format format,
  60                                 const bool hasSOLandEOL,
  61                                 const unsigned int embedded_data_size_words,
  62                                 unsigned int *size_mem_words);
  63
  64#endif /* __IA_CSS_MIPI_H */
  65