7 years agoUpdate the JPEGV Decoder header file to sync with the codec header file in the ipumm... master
Update the JPEGV Decoder header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Update the MPEG2 Decoder header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Update the VC1 Video Decoder header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Update the MPEG4 Encoder header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Update the MPEG4 Decoder header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Update the H264 Encoder codec header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Update the H264 Decoder codec header file to sync with the codec header file in the ipumm release
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
DEBIAN: debianization
Enable KPI profiler
This should be done more in the XDC ways, really...
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
This should be done more in the XDC ways, really...
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Revert "PM: implementing PM on DCE side"
This reverts commit ff8487cb15d5042137dd6715e34c749c72ce3e72.
This reverts commit ff8487cb15d5042137dd6715e34c749c72ce3e72.
Revert "PM: adding suspend/resume support"
This reverts commit d1faa2d41b844297afaa2e891ad1c79999e995cc.
This reverts commit d1faa2d41b844297afaa2e891ad1c79999e995cc.
Hack! Increase DCE stack
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Increase systemHeap size
This is necessary to decode more streams in parallel.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
This is necessary to decode more streams in parallel.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
OMAP5: Adjust IVA addresses for ES2
v2:
- We switch to dynamic address computation for all CM_IVAHD registers. This, to
avoid ifdef.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
v2:
- We switch to dynamic address computation for all CM_IVAHD registers. This, to
avoid ifdef.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
gitignore
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Add OMAP5 buildplatform to the baseimage
Build now generates both OMAP4 and OMAP5 baseimages in the mean time.
As syslink is impacted by OMAP4/5 compile-time selection, we need to build one
baseimage for each OMAP type right now.
We can still dream and aim for a single firmware image with runtime OMAP
selection, but we don't hold our breath until we are there :)
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Build now generates both OMAP4 and OMAP5 baseimages in the mean time.
As syslink is impacted by OMAP4/5 compile-time selection, we need to build one
baseimage for each OMAP type right now.
We can still dream and aim for a single firmware image with runtime OMAP
selection, but we don't hold our breath until we are there :)
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Integrate PSI KPI profiler
This is PSI KPI profiler integration into the DCE image, take 3 (and a half ;)
It is now off by default.
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>
This is PSI KPI profiler integration into the DCE image, take 3 (and a half ;)
It is now off by default.
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>
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>
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>
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>
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>
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.
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.
gitignore
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
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>
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>
Get rid of more UP core0 stuff
Remove leftovers in .bld
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Remove leftovers in .bld
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
dce_ipu.cfg: actually the latest ducatimm is now using its own .cfg file
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.
Let's try to load using all decoder names.
dce_ipu.cfg: Removed JPEG encoder, not provided in ducati firmware
Removed dce_core0.cfg, no more used with SMP DSP/BIOS
Cleaned up .gitignore
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'
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'
Removed HDVICP library, no more used by codecs
Makefile.am: add version information
Removed header files for codecs not available in ducati firmware: VP6, VP7 and RealVideo
Refreshed Makefile.am based on the new Ducati headers
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'
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'
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()
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()
Expose more APIs in the ih264enc.h header
ducati: get rid of un-needed #include
we don't depend on resmgr... cleaning up..
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
we don't depend on resmgr... cleaning up..
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
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.
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.
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.
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.
add wayland support
Support to authenticate with wayland server.
Support to authenticate with wayland server.
split X11 auth out into libdce-x11.c
To keep things getting from getting out of hand when we add
authentication for wayland.
To keep things getting from getting out of hand when we add
authentication for wayland.
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>
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>
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.
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.
Fix MPEG4VDEC codec name
Signed-off-by: Xavier Boudet <x-boudet@ti.com>
Signed-off-by: Xavier Boudet <x-boudet@ti.com>
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.
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.
Using new XDAIS with XDM_MOVEBUFS support
XDAIS 7.23.00.06 includes XDM_MOVEBUFS. headers are updated.
XDAIS 7.23.00.06 includes XDM_MOVEBUFS. headers are updated.
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)
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)
mpeg4 codec: add path to independent codec too
Signed-off-by: Hervé Fache <h-fache@ti.com>
Signed-off-by: Hervé Fache <h-fache@ti.com>
Define DCE_RPC_CODEC_GET_VERSION
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.
This reverts commit 80ed45a4f71ecae0f3b872d8b2ce781afc1fec76.
This switched mpeg4dec to mpeg4vdec, which is wrong for the codec
version we're currently targeting at least.
libdce: translate data buffer address
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.
The codec has had that added, and we need to have the correct size
in order to allocate the struct.
dist ti/sdo/codecs/h264enc/ih264enc.h
ducati: add missing videnc2_control prototype
Update h264enc header
Matches DEV.500.V.H264AVC.E.IVAHD.01.00.05.00
Matches DEV.500.V.H264AVC.E.IVAHD.01.00.05.00
Add the IDRFrameInterval field to the IH264ENC_Params struct
Add ih264enc.h header
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>
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>
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>
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>
baseimage: add codecs
Fix mpeg4vdec name, add H264SVC enc/dec.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Fix mpeg4vdec name, add H264SVC enc/dec.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
ducati: set VIDENC2_DynamicParams::getBufferFxn to non-NULL
Needed to make the h264 encoder work.
Needed to make the h264 encoder work.
impeg4vdec.h: update header
Matches MPEG4VDEC_TI.DEV.500.V.MPEG4.D.IVAHD.ASP.01.00.06.00
Matches MPEG4VDEC_TI.DEV.500.V.MPEG4.D.IVAHD.ASP.01.00.06.00
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.
Merge -s ours eaa18193f189fc2376c4c00ac21f14b7e82e3277 switching
master to the rpmsg version. The syslink code (old master), is
now in the syslink2 branch.
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>
v3: Display encoder version, too (untested).
v2: larger string buffer, makes it work with h264dec.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Respond to sample ping
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Fix comments
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Support SMP
- Fix SMP define
- Enable use of smp platforms with $FOR_SMP environment variable.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
- Fix SMP define
- Enable use of smp platforms with $FOR_SMP environment variable.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Ignore lib and baseimage
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Merge remote-tracking branch 'rob/rpmsg' into rpmsg
libdce: fix refcounting in init/deinit
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.
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.
Add dce_get_fd() to get the drm fd
This is needed to be able to share the fd opened by dce_init
This is needed to be able to share the fd opened by dce_init
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>
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>
ducati: reports mem stats on codec create/delete instead of each buffer alloc
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
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>
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>
ducati: removed un-needed references to sysbios-rpmsg old rsc table
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
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>
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>
ducati: filter out un-necessary profiles in config.bld
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
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
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
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>
This is now taken care by rpmsg after moving to 1.20+
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
ducati: initial build conf support for SMP BIOS
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
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>
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>
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>
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>
Add download link for compiler
Only call reloc when reloc_len is non-zero
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
libdce: fix refcounting in init/deinit
Set HDVICP2_PARAMS.resetControlAddress dynamically based on chipset_id
It isn't enough that we use the correct address.. HDVICP2 needs to as
well.
It isn't enough that we use the correct address.. HDVICP2 needs to as
well.
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.
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.
Add dce_get_fd() to get the drm fd
This is needed to be able to share the fd opened by dce_init
This is needed to be able to share the fd opened by dce_init
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.
Update to reflect a change in RCM MemMgr_Alloc params. The old
GLP1.4 compatible layout is kept if MEMMGR_1_4 is defined.
Resurrect MemMgr RCM support.
update firmware image
add dynamic buffer relocation support
Update firmware image
Multi-OMAP support
Configure base addresses, dividers, etc, based on OMAP variant.
Configure base addresses, dividers, etc, based on OMAP variant.
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
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
cleanup cfg file
Some of this is handled by IpcCommon.cfg.xs.. remove redundant and/or
unneeded bits.
Some of this is handled by IpcCommon.cfg.xs.. remove redundant and/or
unneeded bits.
Fix potential crash at bootup
Don't immediately take ivahd out of reset at boot.
Don't immediately take ivahd out of reset at boot.
Update firmware image
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).
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).