diff options
author | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2020-05-29 11:41:02 +0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2020-06-11 19:42:17 +0300 |
commit | 4556cbcf80c9b40130b69968155c49ecefcebbc0 (patch) | |
tree | f51017065ff76703fce8c34cc33d253a16f97e84 /drivers/staging/media | |
parent | 530c09f26179debc4bcd7a0ad6da38d75bfc0296 (diff) | |
download | linux-4556cbcf80c9b40130b69968155c49ecefcebbc0.tar.xz |
media: atomisp: add some debug messages when binaries are used
The ISP firmware logic is complex, as several binaries are
contained into a single file.
Print debug messages:
- with a stack dump if binary not found;
- when a firmware is selected.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/staging/media')
-rw-r--r-- | drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c index c10a09ca1c52..cca0c6161350 100644 --- a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c +++ b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c @@ -29,6 +29,8 @@ #include "sh_css_defs.h" #include "sh_css_legacy.h" +#include "atomisp_internal.h" + #include "vf/vf_1.0/ia_css_vf.host.h" #include "sc/sc_1.0/ia_css_sc.host.h" #include "sdis/sdis_1.0/ia_css_sdis.host.h" @@ -36,7 +38,6 @@ #include "camera/pipe/interface/ia_css_pipe_binarydesc.h" - #include "assert_support.h" #define IMPLIES(a, b) (!(a) || (b)) /* A => B */ @@ -1375,9 +1376,8 @@ ia_css_binary_fill_info(const struct ia_css_binary_xinfo *xinfo, return 0; } -int -ia_css_binary_find(struct ia_css_binary_descr *descr, - struct ia_css_binary *binary) { +static int __ia_css_binary_find(struct ia_css_binary_descr *descr, + struct ia_css_binary *binary) { int mode; bool online; bool two_ppc; @@ -1793,9 +1793,32 @@ ia_css_binary_find(struct ia_css_binary_descr *descr, ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_binary_find() leave: return_err=%d\n", err); + if (!err && xcandidate) + dev_dbg(atomisp_dev, + "Using binary %s (id %d), type %d, mode %d, continuous %s\n", + xcandidate->blob->name, + xcandidate->sp.id, + xcandidate->type, + xcandidate->sp.pipeline.mode, + xcandidate->sp.enable.continuous ? "true" : "false"); + + return err; } +int ia_css_binary_find(struct ia_css_binary_descr *descr, + struct ia_css_binary *binary) +{ + int ret = __ia_css_binary_find(descr, binary); + + if (unlikely(ret)) { + dev_dbg(atomisp_dev, "Seeking for binary failed at:"); + dump_stack(); + } + + return ret; +} + unsigned ia_css_binary_max_vf_width(void) { |