BZ: 17272
Some pointers within the CSS code were not being initialized
and reset correctly, due to which memory allocation/free-up
caused warnings. This patch fixes these cases. A new function
is added to properly uninitialize the sh_css_sp module.
Change-Id: I885a7aeb2b77197562bc468a673c2653cc30f3fc
Orig-Change-Id: I98370340392d3b7aca2f5c63403d3fbfe17164bd
Signed-off-by: Lokesh Gupta <lokesh.gupta@intel.com>
Reviewed-on: http://android.intel.com:8080/23911
Reviewed-by: Wang, Wen W <wen.w.wang@intel.com>
Reviewed-by: Koski, Anttu <anttu.koski@intel.com>
Reviewed-by: Cohen, David A <david.a.cohen@intel.com>
Reviewed-by: Toivonen, Tuukka <tuukka.toivonen@intel.com>
Reviewed-by: Von Oerthel, Jurgen <jurgen.von.oerthel@intel.com>
Reviewed-by: Kruger, Jozef <jozef.kruger@intel.com>
Tested-by: Koski, Anttu <anttu.koski@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Reviewed-on: http://android.intel.com:8080/28011
Reviewed-by: Tuominen, TeemuX <teemux.tuominen@intel.com>
/* cleanup generic data */
sh_css_params_uninit();
sh_css_binary_uninit();
+ sh_css_sp_uninit();
if (my_css.sp_bin_addr) {
hrt_isp_css_mm_free(my_css.sp_bin_addr);
my_css.sp_bin_addr = NULL;
sh_css_hrt_gdc_set_lut(zoom_table);
}
-static void
-safe_free(void *ptr)
-{
- if (ptr)
- hrt_isp_css_mm_free(ptr);
-}
+#define safe_free(x) do { \
+ if (x) \
+ hrt_isp_css_mm_free(x); \
+ (x) = NULL; \
+ } while (0)
void
sh_css_params_uninit(void)
/* 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);
}
void
+sh_css_sp_uninit()
+{
+ if (init_dmem_ddr) {
+ hrt_isp_css_mm_free(init_dmem_ddr);
+ init_dmem_ddr = NULL;
+ }
+}
+
+void
sh_css_sp_start_histogram(struct sh_css_histogram *histogram,
const struct sh_css_frame *frame)
{
sh_css_sp_store_init_dmem(const struct sh_css_sp_fw *fw);
void
+sh_css_sp_uninit();
+
+void
sh_css_sp_start_histogram(struct sh_css_histogram *histogram,
const struct sh_css_frame *frame);