Commit d82a4a14 authored by Corentin Labbe's avatar Corentin Labbe Committed by Mauro Carvalho Chehab

media: staging: media: atomisp2: remove unused headers

All thoses headers are not used by any source files.
Lets just remove them.
Signed-off-by: default avatarCorentin Labbe <clabbe@baylibre.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 01b61059
/*
* vlv2_plat_clock.h
*
* Copyright (C) 2013 Intel Corp
* Author: Asutosh Pathak <asutosh.pathak@intel.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#ifndef __VLV2_PLAT_CLOCK_H
#define __VLV2_PLAT_CLOCK_H
int vlv2_plat_set_clock_freq(int clock_num, int freq_type);
int vlv2_plat_get_clock_freq(int clock_num);
int vlv2_plat_configure_clock(int clock_num, u32 conf);
int vlv2_plat_get_clock_status(int clock_num);
#endif /* __VLV2_PLAT_CLOCK_H */
/*
* 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 _gp_regs_defs_h
#define _gp_regs_defs_h
#define _HRT_GP_REGS_IS_FWD_REG_IDX 0
#define _HRT_GP_REGS_REG_ALIGN 4
#endif /* _gp_regs_defs_h */
#ifndef ISP2401
/*
* 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 _sp_hrt_h_
#define _sp_hrt_h_
#define hrt_sp_dmem(cell) HRT_PROC_TYPE_PROP(cell, _dmem)
#define hrt_sp_dmem_master_port_address(cell) hrt_mem_master_port_address(cell, hrt_sp_dmem(cell))
#endif /* _sp_hrt_h_ */
#endif
/*
* 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 _gp_regs_defs_h
#define _gp_regs_defs_h
#define _HRT_GP_REGS_IS_FWD_REG_IDX 0
#define _HRT_GP_REGS_REG_ALIGN 4
#endif /* _gp_regs_defs_h */
#ifndef ISP2401
/*
* 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 _sp_hrt_h_
#define _sp_hrt_h_
#define hrt_sp_dmem(cell) HRT_PROC_TYPE_PROP(cell, _dmem)
#define hrt_sp_dmem_master_port_address(cell) hrt_mem_master_port_address(cell, hrt_sp_dmem(cell))
#endif /* _sp_hrt_h_ */
#endif
/*
* 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 _gp_regs_defs_h
#define _gp_regs_defs_h
#define _HRT_GP_REGS_IS_FWD_REG_IDX 0
#define _HRT_GP_REGS_REG_ALIGN 4
#endif /* _gp_regs_defs_h */
#ifndef ISP2401
/*
* 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 _sp_hrt_h_
#define _sp_hrt_h_
#define hrt_sp_dmem(cell) HRT_PROC_TYPE_PROP(cell, _dmem)
#define hrt_sp_dmem_master_port_address(cell) hrt_mem_master_port_address(cell, hrt_sp_dmem(cell))
#endif /* _sp_hrt_h_ */
#endif
/*
* 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.
*/
#ifndef _hive_isp_css_ddr_hrt_modified_h_
#define _hive_isp_css_ddr_hrt_modified_h_
#include <hmm_64/hmm.h>
/* This function reads an image from DDR and stores it in the img_buf array
that has been allocated by the caller.
The specifics of how the pixels are stored into DDR by the DMA are taken
into account (bits padded to a width of 256, depending on the number of
elements per ddr word).
The DMA specific parameters give to this function (elems_per_xword and sign_extend)
should correspond to those given to the DMA engine.
The address is a virtual address which will be translated to a physical address before
data is loaded from or stored to that address.
The return value is 0 in case of success and 1 in case of failure.
*/
unsigned int
hrt_isp_css_read_image_from_ddr(
unsigned short *img_buf,
unsigned int width,
unsigned int height,
unsigned int elems_per_xword,
unsigned int sign_extend,
hmm_ptr virt_addr);
/* This function writes an image to DDR, keeping the same aspects into account as the read_image function
above. */
unsigned int
hrt_isp_css_write_image_to_ddr(
const unsigned short *img_buf,
unsigned int width,
unsigned int height,
unsigned int elems_per_xword,
unsigned int sign_extend,
hmm_ptr virt_addr);
/* return the size in bytes of an image (frame or plane). */
unsigned int
hrt_isp_css_sizeof_image_in_ddr(
unsigned int width,
unsigned int height,
unsigned int bits_per_element);
unsigned int
hrt_isp_css_stride_of_image_in_ddr(
unsigned int width,
unsigned int bits_per_element);
hmm_ptr
hrt_isp_css_alloc_image_in_ddr(
unsigned int width,
unsigned int height,
unsigned int elems_per_xword);
hmm_ptr
hrt_isp_css_calloc_image_in_ddr(
unsigned int width,
unsigned int height,
unsigned int elems_per_xword);
#ifndef HIVE_ISP_NO_GDC
#include "gdc_v2_defs.h"
hmm_ptr
hrt_isp_css_alloc_gdc_lut_in_ddr(void);
void
hrt_isp_css_write_gdc_lut_to_ddr(
short values[4][HRT_GDC_N],
hmm_ptr virt_addr);
#endif
#ifdef _HIVE_ISP_CSS_FPGA_SYSTEM
hmm_ptr
hrt_isp_css_alloc_image_for_display(
unsigned int width,
unsigned int height,
unsigned int elems_per_xword);
hmm_ptr
hrt_isp_css_calloc_image_for_display(
unsigned int width,
unsigned int height,
unsigned int elems_per_xword);
#endif
/* New set of functions, these do not require the elems_per_xword, but use bits_per_element instead,
this way the user does not need to know about the width of a DDR word. */
unsigned int
hrt_isp_css_read_unsigned(
unsigned short *target,
unsigned int width,
unsigned int height,
unsigned int source_bits_per_element,
hmm_ptr source);
unsigned int
hrt_isp_css_read_signed(
short *target,
unsigned int width,
unsigned int height,
unsigned int source_bits_per_element,
hmm_ptr source);
unsigned int
hrt_isp_css_write_unsigned(
const unsigned short *source,
unsigned int width,
unsigned int height,
unsigned int target_bits_per_element,
hmm_ptr target);
unsigned int
hrt_isp_css_write_signed(
const short *source,
unsigned int width,
unsigned int height,
unsigned int target_bits_per_element,
hmm_ptr target);
hmm_ptr
hrt_isp_css_alloc(
unsigned int width,
unsigned int height,
unsigned int bits_per_element);
hmm_ptr
hrt_isp_css_calloc(
unsigned int width,
unsigned int height,
unsigned int bits_per_element);
#endif /* _hive_isp_css_ddr_hrt_modified_h_ */
/*
* 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.
*/
#ifndef _hive_isp_css_hrt_h
#define _hive_isp_css_hrt_h
#include "system_types.h"
#include "hive_isp_css_host_ids_hrt.h"
#include "hive_isp_css_defs.h"
#ifdef HRT_ISP_CSS_CUSTOM_HOST
#ifndef HRT_USE_VIR_ADDRS
#define HRT_USE_VIR_ADDRS
#endif
/*#include "hive_isp_css_custom_host_hrt.h"*/
#endif
#include <gpio_block.h>
#include <gp_regs.h>
#include <gp_timer_hrt.h>
#include <css_receiver_2400_hrt.h>
// #include <isp2400_mamoiada_params.h>
// #include <isp2400_support.h>
/* insert idle signal clearing and setting around hrt_main */
#if !defined(HRT_HW) || defined(HRT_ISP_CSS_INSERT_IDLE_SIGNAL)
#define hrt_main _hrt_isp_css_main
#endif
#ifdef _HIVE_ISP_CSS_SPECMAN_SYSTEM
#include "hive_isp_css_2400_specman_system.h"
#else
#if defined(IS_ISP_2400_MAMOIADA_SYSTEM)
#include "hive_isp_css_2400_system.h"
#elif defined(IS_ISP_2401_MAMOIADA_SYSTEM)
#include "hive_isp_css_2401_system.h"
#else
#error "hive_isp_css_hrt_modified.h: SYSTEM must be one of {2400_MAMOIADA_SYSTEM, 2401_MAMOIADA_SYSTEM}"
#endif
#endif
#include <sp_hrt.h>
#include <input_system_hrt.h>
#include <input_selector_hrt.h>
#include <sig_monitor_hrt.h>
#include "hive_isp_css_sdram_wakeup_hrt.h"
#include "hive_isp_css_idle_signal_hrt.h"
#include "hive_isp_css_sp_hrt.h"
#include "hive_isp_css_isp_hrt.h"
#include "hive_isp_css_streaming_to_mipi_hrt.h"
#include "hive_isp_css_testbench_hrt.h"
#include "hive_isp_css_streaming_monitors_hrt.h"
#include "hive_isp_css_gp_regs_hrt.h"
#if defined(IS_ISP_2400_MAMOIADA_SYSTEM)
#include "hive_isp_css_irq_hrt.h"
#elif defined(IS_ISP_2401_MAMOIADA_SYSTEM)
#include "hive_isp_css_2401_irq_hrt.h"
#else
#error "hive_isp_css_hrt_modified.h: SYSTEM must be one of {2400_MAMOIADA_SYSTEM, 2401_MAMOIADA_SYSTEM}"
#endif
#include "hive_isp_css_stream_switch_hrt.h"
#include "hive_isp_css_ddr_hrt_modified.h"
#include "hive_isp_css_dma_set_hrt.h"
#define HIVE_ISP_CSS_NO_STREAM_SWITCH 1
#endif /* _hive_isp_css_hrt_h */
/*
* 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 __RESOURCE_GLOBAL_H_INCLUDED__
#define __RESOURCE_GLOBAL_H_INCLUDED__
#define IS_RESOURCE_VERSION_1
typedef enum {
DMA_CHANNEL_RESOURCE_TYPE,
IRQ_CHANNEL_RESOURCE_TYPE,
MEM_SECTION_RESOURCE_TYPE,
N_RESOURCE_TYPE
} resource_type_ID_t;
typedef enum {
PERMANENT_RESOURCE_RESERVATION,
PERSISTENT_RESOURCE_RESERVATION,
DEDICTATED_RESOURCE_RESERVATION,
SHARED_RESOURCE_RESERVATION,
N_RESOURCE_RESERVATION
} resource_reservation_t;
#endif /* __RESOURCE_GLOBAL_H_INCLUDED__ */
/*
* 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 __XMEM_GLOBAL_H_INCLUDED__
#define __XMEM_GLOBAL_H_INCLUDED__
#include "isp.h"
#endif /* __XMEM_GLOBAL_H_INCLUDED__ */
/*
* 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 __BAMEM_H_INCLUDED__
#define __BAMEM_H_INCLUDED__
/*
* This file is included on every cell {SP,ISP,host} and on every system
* that uses the BAMEM device. It defines the API to DLI bridge
*
* System and cell specific interfaces and inline code are included
* conditionally through Makefile path settings.
*
* - . system and cell agnostic interfaces, constants and identifiers
* - public: system agnostic, cell specific interfaces
* - private: system dependent, cell specific interfaces & inline implementations
* - global: system specific constants and identifiers
* - local: system and cell specific constants and identifiers
*/
#include "system_local.h"
#include "bamem_local.h"
#ifndef __INLINE_BAMEM__
#define STORAGE_CLASS_BAMEM_H extern
#define STORAGE_CLASS_BAMEM_C
#include "bamem_public.h"
#else /* __INLINE_BAMEM__ */
#define STORAGE_CLASS_BAMEM_H static inline
#define STORAGE_CLASS_BAMEM_C static inline
#include "bamem_private.h"
#endif /* __INLINE_BAMEM__ */
#endif /* __BAMEM_H_INCLUDED__ */
/*
* 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 __BBB_CONFIG_H_INCLUDED__
#define __BBB_CONFIG_H_INCLUDED__
/* This header contains BBB defines common to ISP and host */
#define BFA_MAX_KWAY (49)
#define BFA_RW_LUT_SIZE (7)
#define SAD3x3_IN_SHIFT (2) /* input right shift value for SAD3x3 */
#define SAD3x3_OUT_SHIFT (2) /* output right shift value for SAD3x3 */
/* XCU and BMA related defines shared between host and ISP
* also need to be moved here */
#endif /* __BBB_CONFIG_H_INCLUDED__ */
/*
* 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 __CPU_MEM_SUPPORT_H_INCLUDED__
#define __CPU_MEM_SUPPORT_H_INCLUDED__
#if defined (__KERNEL__)
#include <linux/string.h> /* memset */
#else
#include <string.h> /* memset */
#endif
#include "sh_css_internal.h" /* sh_css_malloc and sh_css_free */
static inline void*
ia_css_cpu_mem_alloc(unsigned int size)
{
return sh_css_malloc(size);
}
static inline void*
ia_css_cpu_mem_copy(void* dst, const void* src, unsigned int size)
{
if(!src || !dst)
return NULL;
return memcpy(dst, src, size);
}
static inline void*
ia_css_cpu_mem_set_zero(void* dst, unsigned int size)
{
if(!dst)
return NULL;
return memset(dst, 0, size);
}
static inline void
ia_css_cpu_mem_free(void* ptr)
{
if(!ptr)
return;
sh_css_free(ptr);
}
#endif /* __CPU_MEM_SUPPORT_H_INCLUDED__ */
/*
* 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 __ISP2400_CONFIG_H_INCLUDED__
#define __ISP2400_CONFIG_H_INCLUDED__
#define NUM_BITS 14
#define NUM_SLICE_ELEMS 4
#define ROUNDMODE ROUND_NEAREST_EVEN
#define MAX_SHIFT_1W (NUM_BITS-1) /* Max number of bits a 1w input can be shifted */
#define MAX_SHIFT_2W (2*NUM_BITS-1) /* Max number of bits a 2w input can be shifted */
#endif /* __ISP2400_CONFIG_H_INCLUDED__ */
/*
* 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 __ISP2500_CONFIG_H_INCLUDED__
#define __ISP2500_CONFIG_H_INCLUDED__
#define NUM_BITS 12
#define NUM_SLICE_ELEMS 4
#define ROUNDMODE ROUND_NEAREST_EVEN
#define MAX_SHIFT_1W (NUM_BITS-1) /* Max number of bits a 1w input can be shifted */
#define MAX_SHIFT_2W (2*NUM_BITS-1) /* Max number of bits a 2w input can be shifted */
#define HAS_div_unit
#define HAS_vec_sub
#endif /* __ISP2500_CONFIG_H_INCLUDED__ */
/*
* 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 __ISP2600_CONFIG_H_INCLUDED__
#define __ISP2600_CONFIG_H_INCLUDED__
#define NUM_BITS 16
#define NUM_SLICE_ELEMS 8
#define ROUNDMODE ROUND_NEAREST_EVEN
#define MAX_SHIFT_1W (NUM_BITS-1) /* Max number of bits a 1w input can be shifted */
#define MAX_SHIFT_2W (2*NUM_BITS-1) /* Max number of bits a 2w input can be shifted */
#define ISP_NWAY 32 /* Number of elements in a vector in ISP 2600 */
#define HAS_div_unit
#define HAS_1w_sqrt_u_unit
#define HAS_2w_sqrt_u_unit
#define HAS_vec_sub
#endif /* __ISP2600_CONFIG_H_INCLUDED__ */
#ifndef ISP2401
/*
* 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 __ISP2601_CONFIG_H_INCLUDED__
#define __ISP2601_CONFIG_H_INCLUDED__
#define NUM_BITS 16
#define ISP_VEC_ELEMBITS NUM_BITS
#define ISP_NWAY 32
#define NUM_SLICE_ELEMS 4
#define ROUNDMODE ROUND_NEAREST_EVEN
#define MAX_SHIFT_1W (NUM_BITS-1) /* Max number of bits a 1w input can be shifted */
#define MAX_SHIFT_2W (2*NUM_BITS-1) /* Max number of bits a 2w input can be shifted */
#define HAS_div_unit
#define HAS_bfa_unit
#define HAS_1w_sqrt_u_unit
#define HAS_2w_sqrt_u_unit
#define HAS_vec_sub
/* Bit widths and element widths defined in HW implementation of BFA */
#define BFA_THRESHOLD_BIT_CNT (8)
#define BFA_THRESHOLD_MASK ((1<<BFA_THRESHOLD_BIT_CNT)-1)
#define BFA_SW_BIT_CNT (7)
#define BFA_SW_MASK ((1<<BFA_SW_BIT_CNT)-1)
#define BFA_RW_BIT_CNT (7)
#define BFA_RW_MASK ((1<<BFA_RW_BIT_CNT)-1)
#define BFA_RW_SLOPE_BIT_POS (8)
#define BFA_RW_SLOPE_BIT_SHIFT (5)
#define BFA_RW_IDX_BIT_CNT (3)
#define BFA_RW_FRAC_BIT_CNT (5)
#define BFA_RW_LUT0_FRAC_START_BIT (0)
#define BFA_RW_LUT0_FRAC_END_BIT (BFA_RW_LUT0_FRAC_START_BIT+BFA_RW_FRAC_BIT_CNT-1) /* 4 */
#define BFA_RW_LUT1_FRAC_START_BIT (2)
#define BFA_RW_LUT1_FRAC_END_BIT (BFA_RW_LUT1_FRAC_START_BIT+BFA_RW_FRAC_BIT_CNT-1) /* 6 */
/* LUT IDX end bit computation, start+idx_bit_cnt-2, one -1 comes as we count
* bits from 0, another -1 comes as we use 2 lut table, so idx_bit_cnt is one
* bit more */
#define BFA_RW_LUT0_IDX_START_BIT (BFA_RW_LUT0_FRAC_END_BIT+1) /* 5 */
#define BFA_RW_LUT0_IDX_END_BIT (BFA_RW_LUT0_IDX_START_BIT+BFA_RW_IDX_BIT_CNT-2) /* 6 */
#define BFA_RW_LUT1_IDX_START_BIT (BFA_RW_LUT1_FRAC_END_BIT + 1) /* 7 */
#define BFA_RW_LUT1_IDX_END_BIT (BFA_RW_LUT1_IDX_START_BIT+BFA_RW_IDX_BIT_CNT-2) /* 8 */
#define BFA_RW_LUT_THRESHOLD (1<<(BFA_RW_LUT1_IDX_END_BIT-1)) /* 0x80 : next bit after lut1 end is set */
#define BFA_RW_LUT1_IDX_OFFSET ((1<<(BFA_RW_IDX_BIT_CNT-1))-1) /* 3 */
#define BFA_CP_MASK (0xFFFFFF80)
#define BFA_SUBABS_SHIFT (6)
#define BFA_SUBABS_BIT_CNT (8)
#define BFA_SUBABS_MAX ((1<<BFA_SUBABS_BIT_CNT)-1)
#define BFA_SUBABSSAT_BIT_CNT (9)
#define BFA_SUBABSSAT_MAX ((1<<BFA_SUBABSSAT_BIT_CNT)-1)
#define BFA_WEIGHT_SHIFT (6)
#endif /* __ISP2601_CONFIG_H_INCLUDED__ */
#endif
/*
* 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 __ISP_CONFIG_H_INCLUDED__
#define __ISP_CONFIG_H_INCLUDED__
#if defined(ISP2400) || defined(ISP2401)
#include "isp2400_config.h"
#else
#error "Please define a core {ISP2400, ISP2401}"
#endif
#endif /* __ISP_CONFIG_H_INCLUDED__ */
/*
* 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 __ISP_OP1W_TYPES_H_INCLUDED__
#define __ISP_OP1W_TYPES_H_INCLUDED__
/*
* This file is part of the Multi-precision vector operations exstension package.
*/
/*
* Single-precision vector operations
*/
/*
* Prerequisites:
*
*/
#include "mpmath.h"
/*
* Single-precision data type specification
*/
typedef mpsdata_t tvector1w;
typedef mpsdata_t tscalar1w;
typedef spsdata_t tflags;
typedef mpudata_t tvector1w_unsigned;
typedef mpsdata_t tscalar1w_weight;
typedef mpsdata_t tvector1w_signed_positive;
typedef mpsdata_t tvector1w_weight;
#ifdef ISP2401
typedef bool tscalar_bool;
#endif
typedef struct {
tvector1w d;
tflags f;
} tvector1w_tflags1w;
#endif /* __ISP_OP1W_TYPES_H_INCLUDED__ */
/*
* 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 __ISP_OP2W_TYPES_H_INCLUDED__
#define __ISP_OP2W_TYPES_H_INCLUDED__
/*
* This file is part of the Multi-precision vector operations exstension package.
*/
/*
* Double-precision vector operations
*/
/*
* Prerequisites:
*
*/
#include "mpmath.h"
#include "isp_op1w_types.h"
/*
* Single-precision data type specification
*/
typedef mpsdata_t tvector2w;
typedef mpsdata_t tscalar2w;
typedef mpsdata_t tvector2w_signed_positive;
typedef mpudata_t tvector2w_unsigned;
typedef struct {
tvector2w d;
tflags f;
} tvector2w_tflags;
#endif /* __ISP_OP2W_TYPES_H_INCLUDED__ */
/*
* 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 __ISP_OP_COUNT_H_INCLUDED__
#define __ISP_OP_COUNT_H_INCLUDED__
#include <stdio.h>
typedef struct {
long long bbb_cnt; /* number of bbb */
int bbb_op; /* operations per bbb */
long long total_cnt; /* bbb_cnt * bbb_op */
} bbb_stat_t;
typedef enum {
bbb_func_OP_1w_and,
bbb_func_OP_1w_or,
bbb_func_OP_1w_xor,
bbb_func_OP_1w_inv,
bbb_func_OP_1w_add,
bbb_func_OP_1w_sub,
bbb_func_OP_1w_addsat,
bbb_func_OP_1w_subsat,
bbb_func_OP_1w_subasr1,
bbb_func_OP_1w_subhalf,
bbb_func_OP_1w_subhalfrnd,
bbb_func_OP_1w_abs,
bbb_func_OP_1w_subabssat,
#ifdef ISP2401
bbb_func_OP_1w_subsat_u,
#endif
bbb_func_OP_1w_muld,
bbb_func_OP_1w_mul,
bbb_func_OP_1w_qmul,
bbb_func_OP_1w_qrmul,
bbb_func_OP_1w_eq,
bbb_func_OP_1w_ne,
bbb_func_OP_1w_le,
bbb_func_OP_1w_lt,
bbb_func_OP_1w_ge,
bbb_func_OP_1w_gt,
bbb_func_OP_1w_asr,
bbb_func_OP_1w_asrrnd,
bbb_func_OP_1w_asl,
bbb_func_OP_1w_aslsat,
bbb_func_OP_1w_lsl,
bbb_func_OP_1w_lsr,
#ifdef ISP2401
bbb_func_OP_1w_ashift,
bbb_func_OP_1w_lshift,
#endif
bbb_func_OP_int_cast_to_1w ,
bbb_func_OP_1w_cast_to_int ,
bbb_func_OP_1w_cast_to_2w ,
bbb_func_OP_2w_cast_to_1w ,
bbb_func_OP_2w_sat_cast_to_1w ,
bbb_func_OP_1w_clip_asym,
bbb_func_OP_1w_clipz,
bbb_func_OP_1w_div,
bbb_func_OP_1w_qdiv,
bbb_func_OP_1w_mod,
bbb_func_OP_1w_sqrt_u,
bbb_func_OP_1w_mux,
bbb_func_OP_1w_avg,
bbb_func_OP_1w_avgrnd,
bbb_func_OP_1w_min,
bbb_func_OP_1w_max,
bbb_func_OP_2w_and,
bbb_func_OP_2w_or,
bbb_func_OP_2w_xor,
bbb_func_OP_2w_inv,
bbb_func_OP_2w_add,
bbb_func_OP_2w_sub,
bbb_func_OP_2w_addsat,
bbb_func_OP_2w_subsat,
bbb_func_OP_2w_subasr1,
bbb_func_OP_2w_subhalf,
bbb_func_OP_2w_subhalfrnd,
bbb_func_OP_2w_abs,
bbb_func_OP_2w_subabssat,
bbb_func_OP_2w_mul,
bbb_func_OP_2w_qmul,
bbb_func_OP_2w_qrmul,
bbb_func_OP_2w_eq,
bbb_func_OP_2w_ne,
bbb_func_OP_2w_le,
bbb_func_OP_2w_lt,
bbb_func_OP_2w_ge,
bbb_func_OP_2w_gt,
bbb_func_OP_2w_asr,
bbb_func_OP_2w_asrrnd,
bbb_func_OP_2w_asl,
bbb_func_OP_2w_aslsat,
bbb_func_OP_2w_lsl,
bbb_func_OP_2w_lsr,
bbb_func_OP_2w_clip_asym,
bbb_func_OP_2w_clipz,
bbb_func_OP_2w_div,
bbb_func_OP_2w_divh,
bbb_func_OP_2w_mod,
bbb_func_OP_2w_sqrt_u,
bbb_func_OP_2w_mux,
bbb_func_OP_2w_avg,
bbb_func_OP_2w_avgrnd,
bbb_func_OP_2w_min,
bbb_func_OP_2w_max,
bbb_func_OP_1w_mul_realigning,
#ifdef ISP2401
bbb_func_OP_1w_imax32,
bbb_func_OP_1w_imaxidx32,
bbb_func_OP_1w_cond_add,
#endif
bbb_func_num_functions
} bbb_functions_t;
typedef enum {
core_func_OP_and,
core_func_OP_or,
core_func_OP_xor,
core_func_OP_inv,
core_func_OP_add,
core_func_OP_sub,
core_func_OP_addsat,
core_func_OP_subsat,
core_func_OP_subasr1,
core_func_OP_abs,
core_func_OP_subabssat,
#ifdef ISP2401
core_func_OP_subsat_u,
#endif
core_func_OP_muld,
core_func_OP_mul,
core_func_OP_qrmul,
core_func_OP_eq,
core_func_OP_ne,
core_func_OP_le,
core_func_OP_lt,
core_func_OP_ge,
core_func_OP_gt,
core_func_OP_asr,
core_func_OP_asl,
core_func_OP_asrrnd,
core_func_OP_lsl,
core_func_OP_lslsat,
core_func_OP_lsr,
core_func_OP_lsrrnd,
core_func_OP_clip_asym,
core_func_OP_clipz,
core_func_OP_div,
core_func_OP_mod,
core_func_OP_sqrt,
core_func_OP_mux,
core_func_OP_avgrnd,
core_func_OP_min,
core_func_OP_max,
core_func_num_functions
} core_functions_t;
/* inc_bbb_count() can be used for building blocks that are implemented with one operation
inc_bbb_count_ext() will be used in case the operation count is not known or greater than one.
For some operations there is a difference in operation count for the cloned version and the
not cloned version. this difference is not vissible on the reference code side.
We could add a min and max operation count for those operations, and keep track of those counts
separately. That way in the report the impact can be seen. */
#ifdef DISABLE_OPCNT
#define inc_bbb_count(func)
#define inc_bbb_count_ext(func, cnt)
#define enable_bbb_count()
#define disable_bbb_count()
#else
#define inc_bbb_count(func) _inc_bbb_count(func)
#define inc_bbb_count_ext(func, cnt) _inc_bbb_count_ext(func, cnt)
#define enable_bbb_count() _enable_bbb_count()
#define disable_bbb_count() _disable_bbb_count()
#endif
void
inc_core_count_n(
core_functions_t func,
unsigned n);
void
_enable_bbb_count(void);
void
_disable_bbb_count(void);
void
_inc_bbb_count(
bbb_functions_t func);
void
_inc_bbb_count_ext(
bbb_functions_t func,
int op_count);
void
bbb_func_reset_count(void);
void
bbb_func_print_totals(
FILE * fp,
unsigned non_zero_only);
void
core_func_print_totals(
FILE* fp,
unsigned non_zero_only);
#endif
/*
* 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 __OSYS_PUBLIC_H_INCLUDED__
#define __OSYS_PUBLIC_H_INCLUDED__
#include "system_types.h"
#endif /* __OSYS_PUBLIC_H_INCLUDED__ */
/*
* 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 __PIPELINE_PUBLIC_H_INCLUDED__
#define __PIPELINE_PUBLIC_H_INCLUDED__
#endif /* __PIPELINE_PUBLIC_H_INCLUDED__ */
/*
* 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 __OSYS_H_INCLUDED__
#define __OSYS_H_INCLUDED__
/*
* This file is included on every cell {SP,ISP,host} and on every system
* that uses the OSYS device. It defines the API to DLI bridge
*
* System and cell specific interfaces and inline code are included
* conditionally through Makefile path settings.
*
* - . system and cell agnostic interfaces, constants and identifiers
* - public: system agnostic, cell specific interfaces
* - private: system dependent, cell specific interfaces & inline implementations
* - global: system specific constants and identifiers
* - local: system and cell specific constants and identifiers
*
*/
#include "system_local.h"
#include "osys_local.h"
#ifndef __INLINE_OSYS__
#define STORAGE_CLASS_OSYS_H extern
#define STORAGE_CLASS_OSYS_C
#include "osys_public.h"
#else /* __INLINE_OSYS__ */
#define STORAGE_CLASS_OSYS_H static inline
#define STORAGE_CLASS_OSYS_C static inline
#include "osys_private.h"
#endif /* __INLINE_OSYS__ */
#endif /* __OSYS_H_INCLUDED__ */
/*
* 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 __STREAM_BUFFER_GLOBAL_H_INCLUDED__
#define __STREAM_BUFFER_GLOBAL_H_INCLUDED__
typedef struct stream_buffer_s stream_buffer_t;
struct stream_buffer_s {
unsigned base;
unsigned limit;
unsigned top;
};
#endif /* __STREAM_BUFFER_GLOBAL_H_INCLUDED__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment