#define HIVE_MEM_histogram_args scalar_processor_dmem
#define HIVE_ADDR_histogram_args 0x29C4
#define HIVE_SIZE_histogram_args 4
-#define HIVE_ADDR_capture_pp_dynamic_entry 0x2A5E
+#define HIVE_ADDR_capture_pp_dynamic_entry 0x2A59
#define HIVE_MEM_isp_sdis_horiproj_num scalar_processor_dmem
#define HIVE_ADDR_isp_sdis_horiproj_num 0x1580
#define HIVE_SIZE_isp_sdis_horiproj_num 4
err = sh_css_params_init();
if (err != sh_css_success)
return err;
+ err = sh_css_sp_init();
+ if (err != sh_css_success)
+ return err;
err = sh_css_load_firmware(fw_data, fw_size);
if (err != sh_css_success)
return err;
#define GP_FIFO_BASE ((void *)0x10200304)
#define CSS_RX_BASE ((void *)0x10260000)
+#define SP_DMEM_SIZE (0x4000)
+
/* SP Registers */
#define SP_PC_REG 0x9
#define SP_SC_REG 0x0
min(max((((v)>>sSHIFT) >> (sFRACTION_BITS_FITTING(a)-(b))), \
sISP_VAL_MIN), sISP_VAL_MAX)
#define uDIGIT_FITTING(v, a, b) \
- min(max((((v)>>uSHIFT) >> (uFRACTION_BITS_FITTING(a)-(b))), \
+ min((unsigned)max((unsigned)(((v)>>uSHIFT) >> (uFRACTION_BITS_FITTING(a)-(b))), \
uISP_VAL_MIN), uISP_VAL_MAX)
#define FPNTBL_BYTES(binary) \
sh_css_process_gc(void)
{
isp_parameters.gamma_gain_k1 =
- sDIGIT_FITTING(gc_config->gain_k1, 16, SH_CSS_GAMMA_GAIN_K_SHIFT);
+ uDIGIT_FITTING(gc_config->gain_k1, 16, SH_CSS_GAMMA_GAIN_K_SHIFT);
isp_parameters.gamma_gain_k2 =
- sDIGIT_FITTING(gc_config->gain_k2, 16, SH_CSS_GAMMA_GAIN_K_SHIFT);
+ uDIGIT_FITTING(gc_config->gain_k2, 16, SH_CSS_GAMMA_GAIN_K_SHIFT);
isp_params_changed = true;
gc_config_changed = false;
}
#include "sh_css_hrt.h"
#include "sh_css_defs.h"
#include "sh_css_internal.h"
+#include "sh_css_hw.h"
#define HRT_NO_BLOB_sp
#include "sp.map.h"
{
struct sh_css_sp_init_dmem_cfg init_dmem_cfg;
- /* store data section to DDR */
- if (init_dmem_ddr)
- hrt_isp_css_mm_free(init_dmem_ddr);
-
- init_dmem_ddr = hrt_isp_css_mm_alloc(fw->data_size);
hrt_isp_css_mm_store(init_dmem_ddr, fw->data, fw->data_size);
/* Configure the data structure to initialize dmem */
}
+enum sh_css_err
+sh_css_sp_init(void)
+{
+ init_dmem_ddr = hrt_isp_css_mm_alloc(SP_DMEM_SIZE);
+ if (!init_dmem_ddr)
+ return sh_css_err_cannot_allocate_memory;
+
+ return sh_css_success;
+}
+
void
sh_css_sp_uninit(void)
{
void
sh_css_sp_store_init_dmem(const struct sh_css_sp_fw *fw);
+enum sh_css_err
+sh_css_sp_init(void);
+
void
sh_css_sp_uninit(void);