gstreamer-omap:libdce.git
4 years agoIntegrate PSI KPI profiler
Vincent Stehlé [Mon, 20 Aug 2012 08:59:27 +0000 (10:59 +0200)]
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>
4 years agoImport PSI KPI profiler code
Vincent Stehlé [Mon, 20 Aug 2012 16:46:19 +0000 (18:46 +0200)]
Import PSI KPI profiler code

Original imported of PSI KPI profiler code from ducati MM commit
2641be42718183b6cec9a79806ce63232b1920a9, untouched.

Later update on version received from Philippe Lafon, using the internal timer
instead of the 32k to reduce profiling overhead. See
https://gerrit.ext.ti.com/gerrit/omap/#change,8766:

  [Tool] Faster instrumentation less intrusive

  The instrumentation is accelerated (~2x) using the CTM timer + code
  optimization for the ducati load measure If number of tasks > 64 the
  instrumentation now groups add all others into a "OTHERS" so that there is no
  limitation OMX now allows multi instances indexing (was needed for several
  instances of the same component) the 32K now uses the official API
  Tools_Time_get32k() (dependency: Iae1836f1af11f39cbe5b3fb9a0f9e439b4cfa1f9) the
  32K no sleep fix is removed from here since done in PM (dependency :
  I599363f465bde1bc8fd60c44722678f25e99cda7) Needed for both OMAP5 and OMAP4

  Change-Id: I5e245bf5e6dc6da4630c4c4536c9aad72c71d370
Signed-off-by: Philippe Lafon <p-lafon@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
4 years agoducati: fix up some nasty (insane?) build issues ndec/temp
Nicolas Dechesne [Mon, 11 Feb 2013 16:39:43 +0000 (17:39 +0100)]
ducati: fix up some nasty (insane?) build issues

in XDC, when a package has a 'requires' statement, it implies that
when running xdc -PD <target> it would potentially 'touch' the
dependency as well. E.g. when running xdc -PD clean, it would end
up cleaning the dependent package... even if that looks cumbersome.

as a consequence it is recommended to avoid 'requiring' packages
outside of our own tree. especially in the case of tools such as
XDC, BIOS, CE, ... which are typically installed in a 'read only'
central server.

so this commit removes the 'requires' and fixes the resulting
link issues.

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
4 years agoPM: adding suspend/resume support omap4
Guillaume Aubertin [Wed, 31 Oct 2012 13:21:23 +0000 (14:21 +0100)]
PM: adding suspend/resume support

ivahd needs to be reinitialised after a platform suspend.

We use sysbios-rpmsg callbacks to call the FC suspend/resume
functions, and a connect message is sent from the A9 side to reboot
the ivahd. the connect function is modified to handle this particular
case.

4 years agogitignore
Vincent Stehlé [Wed, 5 Dec 2012 11:32:01 +0000 (12:32 +0100)]
gitignore

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
4 years agoAdd .version
Vincent Stehlé [Wed, 22 Aug 2012 07:54:09 +0000 (09:54 +0200)]
Add .version

We add a .version section in the base image at link time, thanks to the new
version module.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
4 years agoGet rid of more UP core0 stuff
Vincent Stehlé [Mon, 20 Aug 2012 16:48:39 +0000 (18:48 +0200)]
Get rid of more UP core0 stuff

Remove leftovers in .bld

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
4 years agodce_ipu.cfg: actually the latest ducatimm is now using its own .cfg file
Olivier Naudan [Wed, 28 Nov 2012 09:17:17 +0000 (09:17 +0000)]
dce_ipu.cfg: actually the latest ducatimm is now using its own .cfg file

4 years agodce_ipu.cfg: the H264 and MPEG4 decoders are named differently in ducatimm tree and...
Olivier Naudan [Tue, 27 Nov 2012 10:13:24 +0000 (10:13 +0000)]
dce_ipu.cfg: the H264 and MPEG4 decoders are named differently in ducatimm tree and in stand-alone codec package
Let's try to load using all decoder names.

4 years agodce_ipu.cfg: Removed JPEG encoder, not provided in ducati firmware
Olivier Naudan [Tue, 27 Nov 2012 10:16:04 +0000 (10:16 +0000)]
dce_ipu.cfg: Removed JPEG encoder, not provided in ducati firmware

4 years agoRemoved dce_core0.cfg, no more used with SMP DSP/BIOS
Olivier Naudan [Tue, 27 Nov 2012 10:12:33 +0000 (10:12 +0000)]
Removed dce_core0.cfg, no more used with SMP DSP/BIOS

4 years agoCleaned up .gitignore
Olivier Naudan [Thu, 22 Nov 2012 15:25:29 +0000 (15:25 +0000)]
Cleaned up .gitignore

4 years agoUpdated Ducati header files (codecs and XDC tools)
Olivier Naudan [Tue, 20 Nov 2012 09:11:12 +0000 (09:11 +0000)]
Updated Ducati header files (codecs and XDC tools)

Based on ducatimm tag TI-MM-DUCATI_RLS_2.x.17, that is:

CONFIG_CE_VER='3_23_00_07' # Codec Engine
CONFIG_FC_VER='3_23_01_14' # Framework Components
CONFIG_XDAIS_VER='7_23_00_06' # eXpress DSP Algorithm Interoperability Standard
CONFIG_OSAL_VER='1_23_00_04' # Operating system abstraction layer
CONFIG_BIOS_VER='6_34_02_18' # TI's operating system for C28x, C64x+, C674x, MSP430 and ARM cores (ARM 9, Cortex-A*, Cortex-M*)
CONFIG_XDC_VER='3_24_03_33' # XDC tools (make-like tool)
CONFIG_IPC_VER='1_25_00_04' # Inter-processor communication protocol

CONFIG_CGTARM_VER='5.0.1' # ARM (Ducati) compiler
CONFIG_C6000_VER='7.2.5' # C6000 (Tesla) compiler

CONFIG_CODECS_H264ENC_VER='02_00_04_01_production'
CONFIG_CODECS_H264DEC_VER='02_00_00_07_production'
CONFIG_CODECS_JPEGVDEC_VER='01_00_05_00_production'
CONFIG_CODECS_MPEG2VDEC_VER='01_00_11_00_production'
CONFIG_CODECS_MPEG4ENC_VER='01_00_00_06_production'
CONFIG_CODECS_MPEG4VDEC_VER='01_00_07_00_production'
CONFIG_CODECS_VC1VDEC_VER='01_00_00_04_production'

4 years agoRemoved HDVICP library, no more used by codecs
Olivier Naudan [Tue, 6 Nov 2012 14:18:33 +0000 (09:18 -0500)]
Removed HDVICP library, no more used by codecs

4 years ago Makefile.am: add version information
Olivier Naudan [Mon, 5 Nov 2012 10:21:21 +0000 (05:21 -0500)]
 Makefile.am: add version information

4 years agoRemoved header files for codecs not available in ducati firmware: VP6, VP7 and RealVideo
Olivier Naudan [Fri, 2 Nov 2012 13:50:57 +0000 (09:50 -0400)]
Removed header files for codecs not available in ducati firmware: VP6, VP7 and RealVideo

4 years agoRefreshed Makefile.am based on the new Ducati headers
Olivier Naudan [Mon, 29 Oct 2012 10:48:38 +0000 (06:48 -0400)]
Refreshed Makefile.am based on the new Ducati headers

4 years agoUpdated Ducati header files (codecs and XDC tools)
Olivier Naudan [Thu, 25 Oct 2012 15:52:37 +0000 (11:52 -0400)]
Updated Ducati header files (codecs and XDC tools)

Based on ducatimm tag TI-MM-DUCATI_RLS_2.x.16.1, that is:

CONFIG_CE_VER='3_23_00_07' # Codec Engine
CONFIG_FC_VER='3_23_01_14' # Framework Components
CONFIG_XDAIS_VER='7_23_00_06' # eXpress DSP Algorithm Interoperability Standard
CONFIG_OSAL_VER='1_23_00_04' # Operating system abstraction layer
CONFIG_BIOS_VER='6_34_02_18' # TI's operating system for C28x, C64x+, C674x, MSP430 and ARM cores (ARM 9, Cortex-A*, Cortex-M*)
CONFIG_XDC_VER='3_24_03_33' # XDC tools (make-like tool)
CONFIG_IPC_VER='1_25_00_04' # Inter-processor communication protocol

CONFIG_CGTARM_VER='5.0.1' # ARM (Ducati) compiler
CONFIG_C6000_VER='7.2.5' # C6000 (Tesla) compiler

CONFIG_CODECS_HDVICP2_VER='01_00_00_19_production'
CONFIG_CODECS_H264ENC_VER='02_00_03_00_production'
CONFIG_CODECS_H264DEC_VER='01_00_00_11_production'
CONFIG_CODECS_H264SVCENC_VER='00_02_00_04_production'
CONFIG_CODECS_H264SVCVDEC_VER='00_05_00_00_production'
CONFIG_CODECS_JPEGVDEC_VER='01_00_05_00_production'
CONFIG_CODECS_MPEG2VDEC_VER='01_00_11_00_production'
CONFIG_CODECS_MPEG4ENC_VER='01_00_00_04_production'
CONFIG_CODECS_MPEG4VDEC_VER='01_00_07_00_production'
CONFIG_CODECS_VC1VDEC_VER='01_00_00_04_production'

5 years agoPM: moving ivahd_boot() back to ivahd_init()
Guillaume Aubertin [Fri, 5 Oct 2012 13:29:58 +0000 (15:29 +0200)]
PM: moving ivahd_boot() back to ivahd_init()

On the kernel side, the IVAHD is enabled in HW_AUTO when the omapdce module is
loaded, so the ivahd_boot() needs to be called only once during connect()

5 years agoExpose more APIs in the ih264enc.h header
Thibault Saunier [Wed, 3 Oct 2012 16:28:10 +0000 (13:28 -0300)]
Expose more APIs in the ih264enc.h header

5 years agoducati: get rid of un-needed #include
Nicolas Dechesne [Wed, 3 Oct 2012 11:37:28 +0000 (13:37 +0200)]
ducati: get rid of un-needed #include

we don't depend on resmgr... cleaning up..

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoProcess the freeBufID array even when an error occurs
Vincent Penquerc'h [Mon, 24 Sep 2012 17:18:34 +0000 (18:18 +0100)]
Process the freeBufID array even when an error occurs

At least the Ducati MPEG2 decoder may set buffers to be
unlocked when it returns an error, so change libdce to
always forward these buffers to the kernel.

Trying with VC1 or H264 videos seems to work fine so far.

5 years agofix authentication issues
Rob Clark [Mon, 24 Sep 2012 09:38:30 +0000 (11:38 +0200)]
fix authentication issues

Fix a few issues with the re-worked authentication.  If x11/wayland
auth fails, we want to preserve the original fd, and *not* call
drmOpen() again if dce_set_fd() has been called.

5 years agoadd wayland support
Rob Clark [Tue, 14 Aug 2012 21:17:44 +0000 (16:17 -0500)]
add wayland support

Support to authenticate with wayland server.

5 years agosplit X11 auth out into libdce-x11.c
Rob Clark [Tue, 14 Aug 2012 20:52:24 +0000 (15:52 -0500)]
split X11 auth out into libdce-x11.c

To keep things getting from getting out of hand when we add
authentication for wayland.

5 years agoRemove header file gone from CE and FC
Hervé Fache [Mon, 17 Sep 2012 08:32:57 +0000 (10:32 +0200)]
Remove header file gone from CE and FC

ti/sdo/utils/trace/gt.h used to be present in the Codec Engine and Framework
Components packages, but is gone in current versions.

Signed-off-by: Hervé Fache <h-fache@ti.com>
5 years agoPM: implementing PM on DCE side
Guillaume Aubertin [Thu, 16 Aug 2012 17:11:05 +0000 (19:11 +0200)]
PM: implementing PM on DCE side

this implementation relies on the pm_runtime implementation in omapdce kernel
driver.

- IVAHD power-on is handled by the kernel through pm_runtime_get_sync(), in the
rpmsg_probe() function. this put the IP in HW_AUTO.

-  ivahd_acquire() and ivahd_release() are now used to switch from HW_AUTO to
SW_WAKEUP when we need to use the IVAHD. the frequency is no more changed
from ducati side.

5 years agoFix MPEG4VDEC codec name
Xavier Boudet [Wed, 8 Aug 2012 16:04:21 +0000 (18:04 +0200)]
Fix MPEG4VDEC codec name

Signed-off-by: Xavier Boudet <x-boudet@ti.com>
5 years agoMoving MessageQCopy_init to dce_main()
Guillaume Aubertin [Mon, 6 Aug 2012 12:39:31 +0000 (14:39 +0200)]
Moving MessageQCopy_init to dce_main()

when DCE is used as a library, we don't know when the MessageQ is initialised
so we call it directly before sending the first message.

5 years agoUsing new XDAIS with XDM_MOVEBUFS support
Guillaume Aubertin [Fri, 3 Aug 2012 15:50:00 +0000 (17:50 +0200)]
Using new XDAIS with XDM_MOVEBUFS support

XDAIS 7.23.00.06 includes XDM_MOVEBUFS. headers are updated.

5 years agomoving MEMUTILS_getPhysicalAddr to baseimage
Guillaume Aubertin [Fri, 3 Aug 2012 13:41:43 +0000 (15:41 +0200)]
moving MEMUTILS_getPhysicalAddr to baseimage

This function is usually based in the baseimage, so we move it
to libdce's baseimage to avoid conflicts when using dce as a
library (ti.dce)

5 years agompeg4 codec: add path to independent codec too
Hervé Fache [Fri, 3 Aug 2012 16:02:41 +0000 (18:02 +0200)]
mpeg4 codec: add path to independent codec too

Signed-off-by: Hervé Fache <h-fache@ti.com>
5 years agoDefine DCE_RPC_CODEC_GET_VERSION
Alessandro Decina [Wed, 25 Jul 2012 02:59:48 +0000 (02:59 +0000)]
Define DCE_RPC_CODEC_GET_VERSION

5 years agoRevert "baseimage: add codecs"
Alessandro Decina [Wed, 25 Jul 2012 02:49:40 +0000 (02:49 +0000)]
Revert "baseimage: add codecs"

This reverts commit 80ed45a4f71ecae0f3b872d8b2ce781afc1fec76.

This switched mpeg4dec to mpeg4vdec, which is wrong for the codec
version we're currently targeting at least.

5 years agolibdce: translate data buffer address
Vincent Penquerc'h [Fri, 27 Jul 2012 15:04:08 +0000 (15:04 +0000)]
libdce: translate data buffer address

5 years agoih264vdec.h: add a dozen bytes at the end of the Status struct
Vincent Penquerc'h [Fri, 27 Jul 2012 14:20:03 +0000 (14:20 +0000)]
ih264vdec.h: add a dozen bytes at the end of the Status struct

The codec has had that added, and we need to have the correct size
in order to allocate the struct.

5 years agodist ti/sdo/codecs/h264enc/ih264enc.h
Alessandro Decina [Tue, 24 Jul 2012 12:25:30 +0000 (12:25 +0000)]
dist ti/sdo/codecs/h264enc/ih264enc.h

5 years agoducati: add missing videnc2_control prototype
Alessandro Decina [Wed, 11 Jul 2012 16:09:20 +0000 (16:09 +0000)]
ducati: add missing videnc2_control prototype

5 years agoUpdate h264enc header
Alessandro Decina [Mon, 16 Jul 2012 07:58:43 +0000 (07:58 +0000)]
Update h264enc header

Matches DEV.500.V.H264AVC.E.IVAHD.01.00.05.00

5 years agoAdd the IDRFrameInterval field to the IH264ENC_Params struct
Martin Storsjo [Wed, 2 May 2012 16:36:56 +0000 (19:36 +0300)]
Add the IDRFrameInterval field to the IH264ENC_Params struct

5 years agoAdd ih264enc.h header
Alessandro Decina [Fri, 13 Jul 2012 14:35:33 +0000 (14:35 +0000)]
Add ih264enc.h header

5 years agoDo not init systemHeap to reduce boot time
Vincent Stehlé [Tue, 3 Jul 2012 15:08:10 +0000 (17:08 +0200)]
Do not init systemHeap to reduce boot time

Before this patch, boot time was more than 20s. With this patch, boot time is
less than 5 seconds.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoAdd load reporting
Vincent Stehlé [Fri, 29 Jun 2012 10:23:32 +0000 (12:23 +0200)]
Add load reporting

Turn on cpu load computation and add a periodic task, which reports the cpu
load in the trace.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agobaseimage: add codecs
Vincent Stehlé [Fri, 6 Jul 2012 10:21:14 +0000 (12:21 +0200)]
baseimage: add codecs

Fix mpeg4vdec name, add H264SVC enc/dec.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoducati: set VIDENC2_DynamicParams::getBufferFxn to non-NULL
Alessandro Decina [Thu, 12 Jul 2012 12:27:13 +0000 (14:27 +0200)]
ducati: set VIDENC2_DynamicParams::getBufferFxn to non-NULL

Needed to make the h264 encoder work.

5 years agoimpeg4vdec.h: update header
Alessandro Decina [Thu, 28 Jun 2012 09:27:59 +0000 (09:27 +0000)]
impeg4vdec.h: update header

Matches MPEG4VDEC_TI.DEV.500.V.MPEG4.D.IVAHD.ASP.01.00.06.00

5 years agoSwitch master to rpmsg.
Alessandro Decina [Thu, 28 Jun 2012 08:38:00 +0000 (08:38 +0000)]
Switch master to rpmsg.

Merge -s ours eaa18193f189fc2376c4c00ac21f14b7e82e3277 switching
master to the rpmsg version. The syslink code (old master), is
now in the syslink2 branch.

5 years agoDisplay codec version at create
Vincent Stehlé [Thu, 14 Jun 2012 08:29:39 +0000 (10:29 +0200)]
Display codec version at create

v3: Display encoder version, too (untested).
v2: larger string buffer, makes it work with h264dec.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoRespond to sample ping
Vincent Stehlé [Tue, 26 Jun 2012 15:57:41 +0000 (17:57 +0200)]
Respond to sample ping

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoFix comments
Vincent Stehlé [Tue, 26 Jun 2012 15:56:40 +0000 (17:56 +0200)]
Fix comments

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoSupport SMP
Vincent Stehlé [Mon, 18 Jun 2012 16:08:15 +0000 (18:08 +0200)]
Support SMP

- Fix SMP define
- Enable use of smp platforms with $FOR_SMP environment variable.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoIgnore lib and baseimage
Vincent Stehlé [Wed, 30 May 2012 12:00:41 +0000 (14:00 +0200)]
Ignore lib and baseimage

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoMerge remote-tracking branch 'rob/rpmsg' into rpmsg
Alessandro Decina [Tue, 26 Jun 2012 18:19:31 +0000 (18:19 +0000)]
Merge remote-tracking branch 'rob/rpmsg' into rpmsg

5 years agolibdce: fix refcounting in init/deinit
Alessandro Decina [Tue, 15 May 2012 10:07:11 +0000 (10:07 +0000)]
libdce: fix refcounting in init/deinit

5 years agoAdd XDM_MEMTYPE_BO_OFFSET
Alessandro Decina [Wed, 9 May 2012 18:47:17 +0000 (18:47 +0000)]
Add XDM_MEMTYPE_BO_OFFSET

XDM_MEMTYPE_BO_OFFSET can be used in VIDDEC3_process outBufs to
signal that a buffer descriptor denotes an offset to the bo
passed in the first descriptor. Useful for example to decode NV12
into a single bo.

5 years agoAdd dce_get_fd() to get the drm fd
Alessandro Decina [Wed, 9 May 2012 18:45:35 +0000 (18:45 +0000)]
Add dce_get_fd() to get the drm fd

This is needed to be able to share the fd opened by dce_init

5 years agoUpdate firmware image
Vincent Stehlé [Tue, 5 Jun 2012 16:50:39 +0000 (18:50 +0200)]
Update firmware image

With this image, we can decode h264 video on OMAP5 with kernel 3.4.
(ducati-build commit: d5f49bdcd65412c52372aedea1cee47284f19ec0)

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agoducati: reports mem stats on codec create/delete instead of each buffer alloc
Nicolas Dechesne [Sat, 26 May 2012 19:44:44 +0000 (21:44 +0200)]
ducati: reports mem stats on codec create/delete instead of each buffer alloc

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: create a BIOS startup function with dce_init()
Nicolas Dechesne [Sat, 26 May 2012 19:10:58 +0000 (21:10 +0200)]
ducati: create a BIOS startup function with dce_init()

Configure ti.dce so that it automatically registers a startup function
when it's being used, so that the base image that uses DCE does not need
to make the call, it's managed automagically.

As such, dce_init() will be called when BIOS_start() is called.

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: removed un-needed references to sysbios-rpmsg old rsc table
Nicolas Dechesne [Sat, 26 May 2012 19:09:03 +0000 (21:09 +0200)]
ducati: removed un-needed references to sysbios-rpmsg old rsc table

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: split ti.dce into a lib and a separate baseimage
Nicolas Dechesne [Sat, 26 May 2012 17:04:40 +0000 (19:04 +0200)]
ducati: split ti.dce into a lib and a separate baseimage

The 'package' ti.dce both had the DCE code, as well as the
baseimage code (BIOS cfg, main(), ...). With this change we split the
DCE code from the baseimage. there is now:
 - ti.dce
 - ti.dce.baseimage

that will allow a simpler reuse of ti.dce into other base images

there is still some clean up that can be done in the base image to move
the thread creation, and some config in ti.dce, and this will be done
in further commits. This commit only changes the file 'location' without
changing any implementation detail.

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: filter out un-necessary profiles in config.bld
Nicolas Dechesne [Sat, 26 May 2012 17:00:09 +0000 (19:00 +0200)]
ducati: filter out un-necessary profiles in config.bld

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoSet HDVICP2_PARAMS.resetControlAddress dynamically based on chipset_id
Rob Clark [Fri, 11 May 2012 23:19:19 +0000 (18:19 -0500)]
Set HDVICP2_PARAMS.resetControlAddress dynamically based on chipset_id

It isn't enough that we use the correct address.. HDVICP2 needs to as
well.

Conflicts:

ducati/ti/dce/ivahd.c
firmware/ducati-m3-core0.xem3

5 years agoducati: remove call to VirtQueue_startup() in startup
Nicolas Dechesne [Wed, 16 May 2012 16:27:21 +0000 (18:27 +0200)]
ducati: remove call to VirtQueue_startup() in startup

This is now taken care by rpmsg after moving to 1.20+

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: initial build conf support for SMP BIOS
Nicolas Dechesne [Fri, 11 May 2012 18:10:01 +0000 (20:10 +0200)]
ducati: initial build conf support for SMP BIOS

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: implement VirtToPhys using new sysbios-rpmsg API
Nicolas Dechesne [Tue, 15 May 2012 10:45:38 +0000 (12:45 +0200)]
ducati: implement VirtToPhys using new sysbios-rpmsg API

With sysbios-rpmsg >= 1.10+ there is a new resource table mechanism,
and we need to update our VirtToPhys function.

Fortunately, this API is now implemented and provided by rpmsg.

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoducati: dce: Remove resource table trace print from image
Nicolas Dechesne [Fri, 11 May 2012 13:10:28 +0000 (15:10 +0200)]
ducati: dce: Remove resource table trace print from image

In order to have the linker include the resource table in the
baseimage, the resource variable needs to be used in some form.
Otherwise the optimization in the linker detects that this is a
non-referenced variable and removes it from the baseimage. To
alleviate this, a dummy trace was used to make sure the resource
table section is present in the firmware binary.

The new IpcMemory module inherently adds this trace, and so the
trace in DCE image is no longer required and is removed.

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
5 years agoAdd download link for compiler
Rob Clark [Tue, 29 May 2012 08:11:07 +0000 (16:11 +0800)]
Add download link for compiler

5 years agoOnly call reloc when reloc_len is non-zero
Vincent Stehlé [Tue, 22 May 2012 14:01:22 +0000 (16:01 +0200)]
Only call reloc when reloc_len is non-zero

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
5 years agolibdce: fix refcounting in init/deinit
Alessandro Decina [Tue, 15 May 2012 10:07:11 +0000 (10:07 +0000)]
libdce: fix refcounting in init/deinit

5 years agoSet HDVICP2_PARAMS.resetControlAddress dynamically based on chipset_id
Rob Clark [Fri, 11 May 2012 23:19:19 +0000 (18:19 -0500)]
Set HDVICP2_PARAMS.resetControlAddress dynamically based on chipset_id

It isn't enough that we use the correct address.. HDVICP2 needs to as
well.

5 years agoAdd XDM_MEMTYPE_BO_OFFSET
Alessandro Decina [Wed, 9 May 2012 18:47:17 +0000 (18:47 +0000)]
Add XDM_MEMTYPE_BO_OFFSET

XDM_MEMTYPE_BO_OFFSET can be used in VIDDEC3_process outBufs to
signal that a buffer descriptor denotes an offset to the bo
passed in the first descriptor. Useful for example to decode NV12
into a single bo.

5 years agoAdd dce_get_fd() to get the drm fd
Alessandro Decina [Wed, 9 May 2012 18:45:35 +0000 (18:45 +0000)]
Add dce_get_fd() to get the drm fd

This is needed to be able to share the fd opened by dce_init

5 years agomemsrv: update RCM MemMgr_Alloc params
Alessandro Decina [Tue, 20 Mar 2012 16:29:52 +0000 (17:29 +0100)]
memsrv: update RCM MemMgr_Alloc params

Update to reflect a change in RCM MemMgr_Alloc params. The old
GLP1.4 compatible layout is kept if MEMMGR_1_4 is defined.

5 years agoResurrect MemMgr RCM support.
Alessandro Decina [Tue, 6 Mar 2012 14:57:53 +0000 (15:57 +0100)]
Resurrect MemMgr RCM support.

5 years agoupdate firmware image
Rob Clark [Fri, 3 Feb 2012 17:17:33 +0000 (11:17 -0600)]
update firmware image

5 years agoadd dynamic buffer relocation support
Rob Clark [Fri, 3 Feb 2012 17:17:00 +0000 (11:17 -0600)]
add dynamic buffer relocation support

5 years agoUpdate firmware image
Rob Clark [Thu, 2 Feb 2012 00:55:06 +0000 (18:55 -0600)]
Update firmware image

5 years agoMulti-OMAP support
Rob Clark [Thu, 2 Feb 2012 00:54:49 +0000 (18:54 -0600)]
Multi-OMAP support

Configure base addresses, dividers, etc, based on OMAP variant.

5 years agoWorkaround for bootup crash when AMMU is enabled
Rob Clark [Thu, 2 Feb 2012 00:43:47 +0000 (18:43 -0600)]
Workaround for bootup crash when AMMU is enabled

Work-around for .const loading issues with MPEG4/VC1 codecs.. move AMMU
tables out of .const into .txt so that they have valid data when AMMU
is programmed (which happens before cinit initializes rw sections..
which is what .const becomes due to rw var mistakenly placed on .const

5 years agocleanup cfg file
Rob Clark [Thu, 2 Feb 2012 00:40:37 +0000 (18:40 -0600)]
cleanup cfg file

Some of this is handled by IpcCommon.cfg.xs.. remove redundant and/or
unneeded bits.

5 years agoFix potential crash at bootup
Rob Clark [Mon, 30 Jan 2012 20:03:37 +0000 (14:03 -0600)]
Fix potential crash at bootup

Don't immediately take ivahd out of reset at boot.

5 years agoUpdate firmware image
Rob Clark [Thu, 26 Jan 2012 17:31:07 +0000 (11:31 -0600)]
Update firmware image

5 years agoadd connect message
Rob Clark [Thu, 26 Jan 2012 15:37:28 +0000 (09:37 -0600)]
add connect message

Connect message sets debug log level (so firmware does not have to be
rebuilt to enable logging), and chipset-id (eventually to be used to
handle different base addresses for different generations of OMAP,
to avoid the need for different firmware images in some cases).

5 years agoremove test
Rob Clark [Sun, 16 Oct 2011 20:57:25 +0000 (15:57 -0500)]
remove test

Moving test to omapdrmtest tree, to be able to re-use display and other
utility code for displaying video directly with drm plane (overlay) or
with dri2 video.

The v4l2/camera util code and fill pattern generation should also make
it easier to add an encoder test in the future.

5 years agoducati: update for only core0 (sysm3) builds
Rob Clark [Thu, 26 Jan 2012 15:37:15 +0000 (09:37 -0600)]
ducati: update for only core0 (sysm3) builds

Currently upstream remoteproc/rpmsg only supports first core.  Since
we don't really need both cores, just move everything over to first
core.  Requires 'adjust memory maps to move everything over to core0'
commit in sysbios-rpmsg tree.

5 years agobegin porting linux/client side
Rob Clark [Thu, 26 Jan 2012 20:00:05 +0000 (14:00 -0600)]
begin porting linux/client side

No longer are there syslink or memmgr userspace libs.  Instead libdrm
and libdrm_omap are utilized.

5 years agoducati: add compile time flag to disable requesting slpm_APPM3 if DCE_REQUEST_APPM3==0
Alessandro Decina [Thu, 8 Dec 2011 11:07:19 +0000 (12:07 +0100)]
ducati: add compile time flag to disable requesting slpm_APPM3 if DCE_REQUEST_APPM3==0

Helps integrating DCE in firmware images where slpm_APPM3 is already acquired.

5 years agoFix proxy init/deinit refcount
Alessandro Decina [Thu, 3 Nov 2011 04:22:05 +0000 (05:22 +0100)]
Fix proxy init/deinit refcount

Fixes crashes when using more than one engine

5 years agoRework the resource cleanup code
Alessandro Decina [Thu, 3 Nov 2011 04:19:39 +0000 (05:19 +0100)]
Rework the resource cleanup code

Fixes m3 crashes when cleaning up for processes that have both encoders and
decoders instantiated

6 years agoComment out some HDVICP_Reset code that causes hangs switching codec instances.
Alessandro Decina [Wed, 2 Nov 2011 01:23:40 +0000 (02:23 +0100)]
Comment out some HDVICP_Reset code that causes hangs switching codec instances.

Fixes hangs when transcoding or using different decoders/encoders in the same
pipeline.

6 years agobase_image: load mpeg4enc codec
Alessandro Decina [Fri, 21 Oct 2011 10:46:41 +0000 (12:46 +0200)]
base_image: load mpeg4enc codec

6 years ago..and install the mpeg4enc header
Alessandro Decina [Fri, 21 Oct 2011 10:02:38 +0000 (12:02 +0200)]
..and install the mpeg4enc header

6 years agoAdd mpeg4enc header
Alessandro Decina [Fri, 21 Oct 2011 09:57:01 +0000 (11:57 +0200)]
Add mpeg4enc header

6 years agodce_app_m3.cfg: uncomment use of ti.omap.deh.Deh again
Alessandro Decina [Thu, 20 Oct 2011 15:59:00 +0000 (17:59 +0200)]
dce_app_m3.cfg: uncomment use of ti.omap.deh.Deh again

6 years agoWorkaround for encoders that need getBufferFxn != NULL
Alessandro Decina [Thu, 20 Oct 2011 15:54:59 +0000 (17:54 +0200)]
Workaround for encoders that need getBufferFxn != NULL

6 years agodce-test: link to libtimemmgr
Alessandro Decina [Thu, 20 Oct 2011 15:49:03 +0000 (17:49 +0200)]
dce-test: link to libtimemmgr

6 years agoAdd h264enc header
Alessandro Decina [Wed, 19 Oct 2011 11:13:39 +0000 (13:13 +0200)]
Add h264enc header

6 years agoAdd VIDENC2 headers
Alessandro Decina [Wed, 19 Oct 2011 11:13:18 +0000 (13:13 +0200)]
Add VIDENC2 headers

6 years agoInitial VIDENC2 implementation
Alessandro Decina [Thu, 6 Oct 2011 14:53:29 +0000 (16:53 +0200)]
Initial VIDENC2 implementation