Integrate PSI KPI profiler
authorVincent Stehlé <v-stehle@ti.com>
Mon, 20 Aug 2012 08:59:27 +0000 (10:59 +0200)
committerVincent Stehlé <v-stehle@ti.com>
Wed, 13 Mar 2013 18:20:06 +0000 (19:20 +0100)
commit41b510bca3090f5660602d4ad7d1513167936967
treedd1014f6a72660882b0b74afd16dbb430e378c26
parentcfbfcc77a5a3491a6582196f5da24c4def383cd1
Integrate PSI KPI profiler

This is PSI KPI profiler integration into the DCE image, take 3 (and a half ;)

We track create/delete to support more than one DCE stream running with correct
profiling.

We report KPI IVA & cores loads in the load_task. We hack PSI KPI profiler a
bit, to be able to read the IVA & cores total times "live" and do our
computations. We protect the cores statistical data collection with a GateAll
for consistency. Note that each core has his timer now.

Adapt some functions for latest bios:
s/Core_getCoreId/Core_getId/
s/Hwi_disableCoreInts/Hwi_disable/
s/Hwi_restoreCoreInts/Hwi_restore/

We also pass chipset_id to the KPI profiler for runtime OMAP selection. This is
used only for 32k timer address determination right now, but the mechanism is
in place, at least. Also, we try to handle unknown chipsets gracefully.

Remainings things:

- Do not hardcode KPI_PROFILER but let the build "recipe" decide.
- Make the create/delete refcnt work with other codec "clients" than DCE, too.
- Fix profile.h include path; today this breaks DCE "modularity".
- Dynamic enable/disable (print phy addr of kpi_control and let the user poke?)
  At least do not touch from dce.c
- Do not hardcode BUILD_FOR_SMP?
- Come back to per-core interrupts disable/enable when bios allows it again.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
ducati/ti/dce/baseimage/dce_ipu.cfg
ducati/ti/dce/baseimage/load_task.c
ducati/ti/dce/baseimage/package.xdc
ducati/ti/dce/baseimage/profile.c [deleted file]
ducati/ti/dce/baseimage/profile.h [deleted file]
ducati/ti/dce/dce.c
ducati/ti/dce/package.bld
ducati/ti/dce/profile.c [new file with mode: 0644]
ducati/ti/dce/profile.h [new file with mode: 0644]