linux/drivers/staging/media/atomisp/pci/runtime/ifmtr/src/ifmtr.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Support for Intel Camera Imaging ISP subsystem.
 * Copyright (c) 2010 - 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.
 */

#include "system_global.h"
#include <linux/kernel.h>


#include "ia_css_ifmtr.h"
#include <math_support.h>
#include "sh_css_internal.h"
#include "input_formatter.h"
#include "assert_support.h"
#include "sh_css_sp.h"
#include "isp/modes/interface/input_buf.isp.h"

/************************************************************
 * Static functions declarations
 ************************************************************/
static int ifmtr_start_column(
    const struct ia_css_stream_config *config,
    unsigned int bin_in,
    unsigned int *start_column);

static int ifmtr_input_start_line(
    const struct ia_css_stream_config *config,
    unsigned int bin_in,
    unsigned int *start_line);

static void ifmtr_set_if_blocking_mode(
    const input_formatter_cfg_t *const config_a,
    const input_formatter_cfg_t *const config_b);

/************************************************************
 * Public functions
 ************************************************************/

/* ISP expects GRBG bayer order, we skip one line and/or one row
 * to correct in case the input bayer order is different.
 */
unsigned int ia_css_ifmtr_lines_needed_for_bayer_order(
    const struct ia_css_stream_config *config)
{}

unsigned int ia_css_ifmtr_columns_needed_for_bayer_order(
    const struct ia_css_stream_config *config)
{}

int ia_css_ifmtr_configure(struct ia_css_stream_config *config,
				       struct ia_css_binary *binary)
{}

bool ifmtr_set_if_blocking_mode_reset =;

/************************************************************
 * Static functions
 ************************************************************/
static void ifmtr_set_if_blocking_mode(
    const input_formatter_cfg_t *const config_a,
    const input_formatter_cfg_t *const config_b)
{}

static int ifmtr_start_column(
    const struct ia_css_stream_config *config,
    unsigned int bin_in,
    unsigned int *start_column)
{}

static int ifmtr_input_start_line(
    const struct ia_css_stream_config *config,
    unsigned int bin_in,
    unsigned int *start_line)
{}