SlideShare uma empresa Scribd logo
The DSP/BIOS Bridge

Víctor Manuel Jáquez Leal
Igalia

06 February 2010

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

1 / 41
The TI OMAP3 processor

I

The TI OMAP3 processor

P

The DSP/BIOS Bridge

Q

The ingredients

R

Future

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

2 / 41
The TI OMAP3 processor

Parallel computing

Serial computing is now dead.
€—r—llel ™omputing @whi™h st—rted more th—n RH ye—rs —goA is —
revolution th—t is now upon us

Programming for serial computing is already dicult
€rogr—mming for p—r—llel ™omputing will only ex—™er˜—te this di0™ulty
por p—r—llelism to su™™eed it must produ™e ˜etter perform—n™eD
e0™ien™y —nd reli—˜ility

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

2 / 41
The TI OMAP3 processor

OMAP 3530/20

720 MHz ARM Cortex A8
520 MHz TMS320C64x+ DSP
POWERVR SGX Graphics Accelerator

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

3 / 41
The TI OMAP3 processor

Devices and boards using OMAP3

There are a lot!

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

4 / 41
The TI OMAP3 processor

The C64x+ DSP

Digital Signal Processor
ƒpe™i—lized mi™ropro™essor
por f—st exe™ution of digit—l sign—l pro™essing
vow power ™onsumption

Digital Signal Processing
we—surement —nd (ltering of ™ontinuous re—lEworld —n—log sign—ls
eudioD videoD spee™hD —re ex—mples of those sign—ls

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

5 / 41
The DSP/BIOS Bridge

DSP-GPP parallel computing

Features to control the DSP
Mechanisms to communicate with DSP
Enabling parallel processing for multimedia acceleration

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

6 / 41
The DSP/BIOS Bridge

Available drivers

dsp-gateway
heveloped ˜y xoki— for the w—emo snternet „—˜lets
st works on ywe€I —nd ywe€P
st9s produ™tion re—dy
st9s used on the xoki— xVHH —nd xVIH
st follows vinux st—nd—rds —nd it9s ™lose to upstre—m —™™ept—n™e
„here9s ™ode for ywe€Q ˜ut it h—sn9t ˜een thoroughly tested

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

7 / 41
The DSP/BIOS Bridge

Available drivers

dsp-bridge
yrigin—lly developed ˜y „s
st still doesn9t meet vinux st—nd—rds —lthough there h—s ˜een — lot of
progress
ynly the e‚w side is —v—il—˜le —s open sour™eY the hƒ€ side is
™ompletely ™losed

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

8 / 41
The DSP/BIOS Bridge

Available drivers

dsp-link
e slimmer version of the dspE˜ridge
elso developed ˜y „s
st supports — wide v—riety of devi™es @h—†in™iD ywe€PD ywe€QD et™A
„he kernel driver doesn9t meet the vinux kernel ™oding ™onventions
„he sour™es h—ven9t ˜een su˜mitted for reviewD —nd it is not ™urrently
pl—nned to ˜e merged into upstre—m kernels

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

9 / 41
The DSP/BIOS Bridge

DSP/BIOS Bridge

General Architecture

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

10 / 41
The DSP/BIOS Bridge

Architecture

It is designed for one GPP and one or more attached DSPs
„he q€€ is ™onsidered the m—ster or host pro™essor
„he —tt—™hed hƒ€s —re pro™essing resour™es th—t ™—n ˜e used ˜y
—ppli™—tions running on the q€€

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

11 / 41
The DSP/BIOS Bridge

Architecture

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

12 / 41
The DSP/BIOS Bridge

Architecture

The Bridge supplies a link between a GPP program and a DSP task
The communication link is partitioned into two types:
wess—ging @shortD (xedElength p—™ketsAX por p—ssing ™ontrol —nd st—tus
inform—tion
h—t— stre—ming @multipleD l—rge ˜u'ersAX for stre—ming re—lEtime d—t—

Each sub-link operates independently
A GPP client can specify what inputs and outputs a DSP task uses

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

13 / 41
The DSP/BIOS Bridge

GPP Sopftware Architecture

The GPP OS see the DSP just as another peripheral device
root@beagleboard:~# ls -la /dev/DspBridge
crw-rw---- 1 root root 251, 0 Jan 1 2000 /dev/DspBridge

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

14 / 41
The DSP/BIOS Bridge

DSP Software Architecture

From the DSP/BIOS perspective, the bridge provides
e devi™eEindependent stre—ming sGy @ƒ„‚wA interf—™e
e mess—ging interf—™e @xyhiA
e ‚esour™e w—n—ger @‚wA ƒerver

The task environment is established by the RM Server

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

15 / 41
The DSP/BIOS Bridge

Components

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

16 / 41
The DSP/BIOS Bridge

Components (GPP)

Resource Manager
hyn—mi™—lly inst—nti—ting hƒ€ resour™es
wonitoring hƒ€ resour™es
hyn—mi™—lly lo—ding hƒ€ ™ode —s needed
smplementing poli™ies for m—n—ging hƒ€ resour™es

Platform Manager
ƒt—ti™—lly lo—ding — ˜—se ™ode im—ge for the hƒ€
ƒt—rting —nd stopping the hƒ€
smplementing d—t— stre—ming

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

17 / 41
The DSP/BIOS Bridge

Components (GPP)

OS adaptation layer
DSP link driver for low level communication
A dynamic conguration database (DCD) stores conguration
information

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

18 / 41
The DSP/BIOS Bridge

Components (DSP)

DSP/BIOS communicates with the GPP via the link driver
On top of the DSP/BIOS sits the Resource Manager (RM) Server
hyn—mi™—lly ™re—teD exe™ute —nd destroy hƒ€ pro™essing nodes under
‚esour™e w—n—ger ™ontrol
‚outing mess—ges ˜etween the q€€ —nd individu—l nodes
eltering t—sk priorities
‚esponding to ‚esour™e w—n—ger ™on(gur—tion ™omm—nds
ƒt—tus queries

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

19 / 41
The DSP/BIOS Bridge

Components (DSP)

DSP task nodes
„hey —re sep—r—te exe™ution thre—ds running on the hƒ€
„hey implement ™ontrol or sign—l pro™essing —lgorithms
„hey ™ommuni™—te with one —notherD —nd with the q€€

via short xed length messages and/or device-independent stream I/O.

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

20 / 41
The DSP/BIOS Bridge

GPP Side interface

Manager
…sed to o˜t—in hƒ€ pro™essor —nd m—nipul—te node ™on(gur—tion
inform—tion

Processor
…sed to m—nipul—te hƒ€ pro™essor o˜je™tsD whi™h represent p—rti™ul—r
hƒ€ su˜systems linked to the q€€
€ro™essor o˜je™ts —re used to ™re—teD exe™ute —nd delete nodes on —
p—rti™ul—r hƒ€ su˜system
es hƒ€Gfsyƒ fridge ™lients m—ke pro™essor e€s ™—llsD the
™orresponding hƒ€ pro™essor will tr—nsition ˜etween — set of
preEde(ned st—tesF

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

21 / 41
The DSP/BIOS Bridge

GPP Side interface

Node
…sed to m—nipul—te node o˜je™tsD whi™h represent ™ontrol —nd sign—l
pro™essing elements running on — p—rti™ul—r hƒ€

Stream
…sed to m—nipul—te stre—m o˜je™tsD whi™h represent logi™—l ™h—nnels for
stre—ming d—t— ˜etween the q€€ —nd nodes on — p—rti™ul—r hƒ€

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

22 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Load the device driver
root@beagleboard:~# lsmod
Module
Size Used by
dspbridge
729 0
bridgedriver
187569 1

Load a base image to the DSP
~# cat /etc/modprobe.d/bridgedriver.conf
options bridgedriver base_img=/lib/dsp/baseimage.dof

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

23 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Open a handle to the DSP/BIOS Bridge device
dsp •h— ndle a dsp•open @ A Y
i f @ dsp •h—n dle ` H A {
p r • e r r @ 4 f — i l e d t o open hƒ€4 A Y
r e t u r n − IY
}

Reserve GPP-side resources for controlling a particular DSP
i f @ 3 d s p • — t t — ™ h @ dsp•h—ndle D H D x…vv D 8p r o ™ A A {
p r • e r r @ 4 dsp — t t — ™ h f — i l e d 4 A Y
r e t a − IY
goto l e — v e Y
}
Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

24 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Allocate DSP node for the selected processor
const dsp•uuid•t u u i d a
{ H xIP—Q™Q™I D H xdHIS D H xIIdR D H x W f D H xTW D
{ H xHH D H x™H D H x R f D H xQ— D H xSW D H x — e } } Y
i f @ 3 d s p • n o d e • — l l o ™ — t e @ dsp•h—ndle D p r o™ D 8u u i d D
x…vv D x…vv D 8node A A {
p r • e r r @ 4 dsp node — l l o ™ — t e f — i l e d 4 A Y
r e t u r n x…vv Y
}

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

25 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Create the node on the DSP
i f @ 3 dsp•node•™re—te @ dsp•h—ndle D node A A {
p r • e r r @ 4 dsp node ™ r e — t e f — i l e d 4 A Y
r e t u r n x…vv Y
}

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

26 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Launch the task node into their execute phase
i f @ 3 dsp•node•run @ dsp•h—ndle D node A A {
p r • e r r @ 4 dsp node r u n f — i l e d 4 A Y
return f — l s e Y
}

yn™e the t—sk is runningD the q€€ ™lient ™—n stre—m d—t— ˜u'ers
toGfrom the t—sk —s well —s ex™h—nge short mess—ges with the t—sk

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

27 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Stream data to/from DSP tasks
„he q€€ ™lient then —llo™—tes d—t— ˜u'ers for the stre—m

If the buer are already pre-allocated, the GPP client can prepare the
buers for the stream
yn™e —llo™—ted —nd prep—red

They can be used to submit buers to a stream
Submitting a data buer to a stream will not block GPP thread
execution.
They can request a buer back from a stream
Requesting a buer back from the stream may cause the GPP thread
to block

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

28 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Exchange messages with DSP nodes
i f @ 3 dsp•send•mess—ge @ dsp•h—ndle D node D I D H D H A A {
p r • e r r @ 4 dsp node p u t mess—ge f — i l e d 4 A Y
continue Y
}
i f @ dsp•node•get•mess—ge @ dsp•h—ndle D node D8msg D H A A
p r i n t f @ 4 € i n g X s d 7d wsg 7d wem 7d’n4 D
msg F ™md D msg F —rg•I D msg F —rg•P A Y

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

29 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Terminate DSP nodes
i f @ 3 dsp•node•termin—te @ dsp•h—ndle D node D
8e x i t • s t — t u s A A {
p r • e r r @ 4 dsp node t e r m i n — t e f — i l e d X 7l x 4 D
exit•st—tus AY
return f — l s e Y
}

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

30 / 41
The DSP/BIOS Bridge

Sequence for nodes controlling

Delete DSP nodes
i f @ 3 dsp•node•free @ dsp•h—ndle D node A A {
p r • e r r @ 4 dsp node f r e e f — i l e d 4 A Y
return f — l s e Y
}

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

31 / 41
The ingredients

The kernel

DSP/BIOS Bridge driver is not in Linus' branch yet
Neither in linux-omap's main branch
httpXGGgitFkernelForgGcpalinuxGkernelGgitGtmlindGlinuxEom—pE
PFTFgitY—ashortlogYharefsGhe—dsGdsp˜ridge
httpXGGdevFom—pzoomForgGcpatidsp˜ridgeGkernelE
dsp˜ridgeFgitY—ashortlogYharefsGhe—dsGdsp˜ridge
httpXGGgitoriousForgG£
felipe™GlinuxEom—pGfelipe™

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

32 / 41
The ingredients

The GPP libraries

TI dbapi
httpXGGdevFom—pzoomForgGcpatidsp˜ridgeGusersp—™eE
dsp˜ridgeFgitY—asumm—ry

dsp_bridge
httpXGGgithu˜F™omGfelipe™GgstEdsp

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

33 / 41
The ingredients

Applications

Samples
httpXGGgithu˜F™omGfelipe™GdspEdummy
httpXGGgitoriousForgGvj—quezE˜e—gle˜o—rdGdspEs—mples

Applications
httpXGGm—emoFgitoriousForgGm—emoEmultimedi—GdspEtools
httpXGGgithu˜F™omGfelipe™GgstEdsp

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

34 / 41
The ingredients

Socket Nodes

Samples
httpXGGdevFom—pzoomForgGcpatidsp˜ridgeGusersp—™eE
dsp˜ridgeFgitY—asumm—ry

Multimedia
€—rt of ypenweˆ
httpsXGGgforgeFtiF™omGgfGproje™tGopenm—xGfrsG
httpXGG™odeFentropyw—veF™omGgitcpaleonor—FgitY—atree

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

35 / 41
The ingredients

C64x+ toolchain

Free as beer
Compiler
httpsXGGwwwE
—FtiF™omGdownlo—dsGsds•supportG„sgodegener—tion„oolsGdownlo—dFhtm

DSP/BIOS (libraries)

httpXGGsoftw—reE
dlFtiF™omGdspsGdsps•registered•swGsdo•s˜Gt—rget™ontentG˜iosGindexFhtm

dobuild tools
€—rt of the usersp—™eEdsp˜ridge p—™k—ge

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

36 / 41
The ingredients

All together

Marmita
yi re™ipes overl—y
st is — work in progress
ynly tested in the fe—gle˜o—rd @rev fTA
winim—l im—ge @IHw˜A
httpXGGgitoriousForgGvj—quezE˜e—gle˜o—rdGm—rmit—

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

37 / 41
The ingredients

Marmita

It's based on Angstrom distribution
Provides recipes for
felipe™9s kernel PFTFQP

DSS2
dspbridge
gstEdsp
dspEtools
dspEs—mples
li˜˜ridge @dsp˜ridge e€sA
li˜omxEti

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

38 / 41
Future

OMAP4

DSP/BIOS Bridge will be deprecated :(
syslink is the new thing

ARM M3 1GHz dual core (Ducati)
DSP TMS320C64x (Tesla)
ARM A9 1GHz dual core

http://dev.omapzoom.org/?p=tisyslink/kernel-syslink.git;a=summary

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

39 / 41
Future

The trend

More cores
More processing units
More heterogeneity
MORE COMPLEXITY

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

40 / 41
Future

Thank you

Questions?

Víctor Manuel Jáquez Leal (Igalia)

The DSP/BIOS Bridge

06 February 2010

41 / 41

Mais conteúdo relacionado

Mais de Igalia

To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerIgalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in MesaIgalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera LinuxIgalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVMIgalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesIgalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webIgalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersIgalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Igalia
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic APIIgalia
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepIgalia
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESMIgalia
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...Igalia
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023Igalia
 
On-going challenges in the Raspberry Pi driver stack – XDC 2023
On-going challenges in the Raspberry Pi driver stack – XDC 2023On-going challenges in the Raspberry Pi driver stack – XDC 2023
On-going challenges in the Raspberry Pi driver stack – XDC 2023Igalia
 

Mais de Igalia (20)

To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic API
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by Step
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESM
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023
 
On-going challenges in the Raspberry Pi driver stack – XDC 2023
On-going challenges in the Raspberry Pi driver stack – XDC 2023On-going challenges in the Raspberry Pi driver stack – XDC 2023
On-going challenges in the Raspberry Pi driver stack – XDC 2023
 

Último

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 

Último (20)

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 

ARM and DSP talking to each other in OMAP3: the dspbridge (FOSDEM 2010)

  • 1. The DSP/BIOS Bridge Víctor Manuel Jáquez Leal Igalia 06 February 2010 Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 1 / 41
  • 2. The TI OMAP3 processor I The TI OMAP3 processor P The DSP/BIOS Bridge Q The ingredients R Future Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 2 / 41
  • 3. The TI OMAP3 processor Parallel computing Serial computing is now dead. €—r—llel ™omputing @whi™h st—rted more th—n RH ye—rs —goA is — revolution th—t is now upon us Programming for serial computing is already dicult €rogr—mming for p—r—llel ™omputing will only ex—™er˜—te this di0™ulty por p—r—llelism to su™™eed it must produ™e ˜etter perform—n™eD e0™ien™y —nd reli—˜ility Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 2 / 41
  • 4. The TI OMAP3 processor OMAP 3530/20 720 MHz ARM Cortex A8 520 MHz TMS320C64x+ DSP POWERVR SGX Graphics Accelerator Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 3 / 41
  • 5. The TI OMAP3 processor Devices and boards using OMAP3 There are a lot! Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 4 / 41
  • 6. The TI OMAP3 processor The C64x+ DSP Digital Signal Processor ƒpe™i—lized mi™ropro™essor por f—st exe™ution of digit—l sign—l pro™essing vow power ™onsumption Digital Signal Processing we—surement —nd (ltering of ™ontinuous re—lEworld —n—log sign—ls eudioD videoD spee™hD —re ex—mples of those sign—ls Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 5 / 41
  • 7. The DSP/BIOS Bridge DSP-GPP parallel computing Features to control the DSP Mechanisms to communicate with DSP Enabling parallel processing for multimedia acceleration Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 6 / 41
  • 8. The DSP/BIOS Bridge Available drivers dsp-gateway heveloped ˜y xoki— for the w—emo snternet „—˜lets st works on ywe€I —nd ywe€P st9s produ™tion re—dy st9s used on the xoki— xVHH —nd xVIH st follows vinux st—nd—rds —nd it9s ™lose to upstre—m —™™ept—n™e „here9s ™ode for ywe€Q ˜ut it h—sn9t ˜een thoroughly tested Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 7 / 41
  • 9. The DSP/BIOS Bridge Available drivers dsp-bridge yrigin—lly developed ˜y „s st still doesn9t meet vinux st—nd—rds —lthough there h—s ˜een — lot of progress ynly the e‚w side is —v—il—˜le —s open sour™eY the hƒ€ side is ™ompletely ™losed Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 8 / 41
  • 10. The DSP/BIOS Bridge Available drivers dsp-link e slimmer version of the dspE˜ridge elso developed ˜y „s st supports — wide v—riety of devi™es @h—†in™iD ywe€PD ywe€QD et™A „he kernel driver doesn9t meet the vinux kernel ™oding ™onventions „he sour™es h—ven9t ˜een su˜mitted for reviewD —nd it is not ™urrently pl—nned to ˜e merged into upstre—m kernels Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 9 / 41
  • 11. The DSP/BIOS Bridge DSP/BIOS Bridge General Architecture Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 10 / 41
  • 12. The DSP/BIOS Bridge Architecture It is designed for one GPP and one or more attached DSPs „he q€€ is ™onsidered the m—ster or host pro™essor „he —tt—™hed hƒ€s —re pro™essing resour™es th—t ™—n ˜e used ˜y —ppli™—tions running on the q€€ Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 11 / 41
  • 13. The DSP/BIOS Bridge Architecture Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 12 / 41
  • 14. The DSP/BIOS Bridge Architecture The Bridge supplies a link between a GPP program and a DSP task The communication link is partitioned into two types: wess—ging @shortD (xedElength p—™ketsAX por p—ssing ™ontrol —nd st—tus inform—tion h—t— stre—ming @multipleD l—rge ˜u'ersAX for stre—ming re—lEtime d—t— Each sub-link operates independently A GPP client can specify what inputs and outputs a DSP task uses Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 13 / 41
  • 15. The DSP/BIOS Bridge GPP Sopftware Architecture The GPP OS see the DSP just as another peripheral device root@beagleboard:~# ls -la /dev/DspBridge crw-rw---- 1 root root 251, 0 Jan 1 2000 /dev/DspBridge Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 14 / 41
  • 16. The DSP/BIOS Bridge DSP Software Architecture From the DSP/BIOS perspective, the bridge provides e devi™eEindependent stre—ming sGy @ƒ„‚wA interf—™e e mess—ging interf—™e @xyhiA e ‚esour™e w—n—ger @‚wA ƒerver The task environment is established by the RM Server Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 15 / 41
  • 17. The DSP/BIOS Bridge Components Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 16 / 41
  • 18. The DSP/BIOS Bridge Components (GPP) Resource Manager hyn—mi™—lly inst—nti—ting hƒ€ resour™es wonitoring hƒ€ resour™es hyn—mi™—lly lo—ding hƒ€ ™ode —s needed smplementing poli™ies for m—n—ging hƒ€ resour™es Platform Manager ƒt—ti™—lly lo—ding — ˜—se ™ode im—ge for the hƒ€ ƒt—rting —nd stopping the hƒ€ smplementing d—t— stre—ming Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 17 / 41
  • 19. The DSP/BIOS Bridge Components (GPP) OS adaptation layer DSP link driver for low level communication A dynamic conguration database (DCD) stores conguration information Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 18 / 41
  • 20. The DSP/BIOS Bridge Components (DSP) DSP/BIOS communicates with the GPP via the link driver On top of the DSP/BIOS sits the Resource Manager (RM) Server hyn—mi™—lly ™re—teD exe™ute —nd destroy hƒ€ pro™essing nodes under ‚esour™e w—n—ger ™ontrol ‚outing mess—ges ˜etween the q€€ —nd individu—l nodes eltering t—sk priorities ‚esponding to ‚esour™e w—n—ger ™on(gur—tion ™omm—nds ƒt—tus queries Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 19 / 41
  • 21. The DSP/BIOS Bridge Components (DSP) DSP task nodes „hey —re sep—r—te exe™ution thre—ds running on the hƒ€ „hey implement ™ontrol or sign—l pro™essing —lgorithms „hey ™ommuni™—te with one —notherD —nd with the q€€ via short xed length messages and/or device-independent stream I/O. Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 20 / 41
  • 22. The DSP/BIOS Bridge GPP Side interface Manager …sed to o˜t—in hƒ€ pro™essor —nd m—nipul—te node ™on(gur—tion inform—tion Processor …sed to m—nipul—te hƒ€ pro™essor o˜je™tsD whi™h represent p—rti™ul—r hƒ€ su˜systems linked to the q€€ €ro™essor o˜je™ts —re used to ™re—teD exe™ute —nd delete nodes on — p—rti™ul—r hƒ€ su˜system es hƒ€Gfsyƒ fridge ™lients m—ke pro™essor e€s ™—llsD the ™orresponding hƒ€ pro™essor will tr—nsition ˜etween — set of preEde(ned st—tesF Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 21 / 41
  • 23. The DSP/BIOS Bridge GPP Side interface Node …sed to m—nipul—te node o˜je™tsD whi™h represent ™ontrol —nd sign—l pro™essing elements running on — p—rti™ul—r hƒ€ Stream …sed to m—nipul—te stre—m o˜je™tsD whi™h represent logi™—l ™h—nnels for stre—ming d—t— ˜etween the q€€ —nd nodes on — p—rti™ul—r hƒ€ Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 22 / 41
  • 24. The DSP/BIOS Bridge Sequence for nodes controlling Load the device driver root@beagleboard:~# lsmod Module Size Used by dspbridge 729 0 bridgedriver 187569 1 Load a base image to the DSP ~# cat /etc/modprobe.d/bridgedriver.conf options bridgedriver base_img=/lib/dsp/baseimage.dof Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 23 / 41
  • 25. The DSP/BIOS Bridge Sequence for nodes controlling Open a handle to the DSP/BIOS Bridge device dsp •h— ndle a dsp•open @ A Y i f @ dsp •h—n dle ` H A { p r • e r r @ 4 f — i l e d t o open hƒ€4 A Y r e t u r n − IY } Reserve GPP-side resources for controlling a particular DSP i f @ 3 d s p • — t t — ™ h @ dsp•h—ndle D H D x…vv D 8p r o ™ A A { p r • e r r @ 4 dsp — t t — ™ h f — i l e d 4 A Y r e t a − IY goto l e — v e Y } Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 24 / 41
  • 26. The DSP/BIOS Bridge Sequence for nodes controlling Allocate DSP node for the selected processor const dsp•uuid•t u u i d a { H xIP—Q™Q™I D H xdHIS D H xIIdR D H x W f D H xTW D { H xHH D H x™H D H x R f D H xQ— D H xSW D H x — e } } Y i f @ 3 d s p • n o d e • — l l o ™ — t e @ dsp•h—ndle D p r o™ D 8u u i d D x…vv D x…vv D 8node A A { p r • e r r @ 4 dsp node — l l o ™ — t e f — i l e d 4 A Y r e t u r n x…vv Y } Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 25 / 41
  • 27. The DSP/BIOS Bridge Sequence for nodes controlling Create the node on the DSP i f @ 3 dsp•node•™re—te @ dsp•h—ndle D node A A { p r • e r r @ 4 dsp node ™ r e — t e f — i l e d 4 A Y r e t u r n x…vv Y } Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 26 / 41
  • 28. The DSP/BIOS Bridge Sequence for nodes controlling Launch the task node into their execute phase i f @ 3 dsp•node•run @ dsp•h—ndle D node A A { p r • e r r @ 4 dsp node r u n f — i l e d 4 A Y return f — l s e Y } yn™e the t—sk is runningD the q€€ ™lient ™—n stre—m d—t— ˜u'ers toGfrom the t—sk —s well —s ex™h—nge short mess—ges with the t—sk Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 27 / 41
  • 29. The DSP/BIOS Bridge Sequence for nodes controlling Stream data to/from DSP tasks „he q€€ ™lient then —llo™—tes d—t— ˜u'ers for the stre—m If the buer are already pre-allocated, the GPP client can prepare the buers for the stream yn™e —llo™—ted —nd prep—red They can be used to submit buers to a stream Submitting a data buer to a stream will not block GPP thread execution. They can request a buer back from a stream Requesting a buer back from the stream may cause the GPP thread to block Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 28 / 41
  • 30. The DSP/BIOS Bridge Sequence for nodes controlling Exchange messages with DSP nodes i f @ 3 dsp•send•mess—ge @ dsp•h—ndle D node D I D H D H A A { p r • e r r @ 4 dsp node p u t mess—ge f — i l e d 4 A Y continue Y } i f @ dsp•node•get•mess—ge @ dsp•h—ndle D node D8msg D H A A p r i n t f @ 4 € i n g X s d 7d wsg 7d wem 7d’n4 D msg F ™md D msg F —rg•I D msg F —rg•P A Y Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 29 / 41
  • 31. The DSP/BIOS Bridge Sequence for nodes controlling Terminate DSP nodes i f @ 3 dsp•node•termin—te @ dsp•h—ndle D node D 8e x i t • s t — t u s A A { p r • e r r @ 4 dsp node t e r m i n — t e f — i l e d X 7l x 4 D exit•st—tus AY return f — l s e Y } Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 30 / 41
  • 32. The DSP/BIOS Bridge Sequence for nodes controlling Delete DSP nodes i f @ 3 dsp•node•free @ dsp•h—ndle D node A A { p r • e r r @ 4 dsp node f r e e f — i l e d 4 A Y return f — l s e Y } Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 31 / 41
  • 33. The ingredients The kernel DSP/BIOS Bridge driver is not in Linus' branch yet Neither in linux-omap's main branch httpXGGgitFkernelForgGcpalinuxGkernelGgitGtmlindGlinuxEom—pE PFTFgitY—ashortlogYharefsGhe—dsGdsp˜ridge httpXGGdevFom—pzoomForgGcpatidsp˜ridgeGkernelE dsp˜ridgeFgitY—ashortlogYharefsGhe—dsGdsp˜ridge httpXGGgitoriousForgG£ felipe™GlinuxEom—pGfelipe™ Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 32 / 41
  • 34. The ingredients The GPP libraries TI dbapi httpXGGdevFom—pzoomForgGcpatidsp˜ridgeGusersp—™eE dsp˜ridgeFgitY—asumm—ry dsp_bridge httpXGGgithu˜F™omGfelipe™GgstEdsp Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 33 / 41
  • 36. The ingredients Socket Nodes Samples httpXGGdevFom—pzoomForgGcpatidsp˜ridgeGusersp—™eE dsp˜ridgeFgitY—asumm—ry Multimedia €—rt of ypenweˆ httpsXGGgforgeFtiF™omGgfGproje™tGopenm—xGfrsG httpXGG™odeFentropyw—veF™omGgitcpaleonor—FgitY—atree Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 35 / 41
  • 37. The ingredients C64x+ toolchain Free as beer Compiler httpsXGGwwwE —FtiF™omGdownlo—dsGsds•supportG„sgodegener—tion„oolsGdownlo—dFhtm DSP/BIOS (libraries) httpXGGsoftw—reE dlFtiF™omGdspsGdsps•registered•swGsdo•s˜Gt—rget™ontentG˜iosGindexFhtm dobuild tools €—rt of the usersp—™eEdsp˜ridge p—™k—ge Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 36 / 41
  • 38. The ingredients All together Marmita yi re™ipes overl—y st is — work in progress ynly tested in the fe—gle˜o—rd @rev fTA winim—l im—ge @IHw˜A httpXGGgitoriousForgGvj—quezE˜e—gle˜o—rdGm—rmit— Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 37 / 41
  • 39. The ingredients Marmita It's based on Angstrom distribution Provides recipes for felipe™9s kernel PFTFQP DSS2 dspbridge gstEdsp dspEtools dspEs—mples li˜˜ridge @dsp˜ridge e€sA li˜omxEti Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 38 / 41
  • 40. Future OMAP4 DSP/BIOS Bridge will be deprecated :( syslink is the new thing ARM M3 1GHz dual core (Ducati) DSP TMS320C64x (Tesla) ARM A9 1GHz dual core http://dev.omapzoom.org/?p=tisyslink/kernel-syslink.git;a=summary Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 39 / 41
  • 41. Future The trend More cores More processing units More heterogeneity MORE COMPLEXITY Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 40 / 41
  • 42. Future Thank you Questions? Víctor Manuel Jáquez Leal (Igalia) The DSP/BIOS Bridge 06 February 2010 41 / 41