RE: dspbridge and the omapl1x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ben,

Re-replying with Netiquette ... I apologize for my earlier e-mail.

> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Hari Kanigeri
> Sent: Thursday, August 12, 2010 5:06 AM
> To: Ben Gardiner
> Cc: Ramos Falcon, Ernesto; Uribe de Leon, Armando; Menon, Nishanth;
> KulikovVasiliy; Sapiens, Rene; AndyShevchenko; FelipeContreras; Ramirez
> Luna, Omar; OhadBen-Cohen; linux-omap@xxxxxxxxxxxxxxx; Uppal, Deepali
> Subject: Re: dspbridge and the omapl1x
> 
> Ben,
> 
> On Wed, Aug 11, 2010 at 2:25 PM, Ben Gardiner
> <bengardiner@xxxxxxxxxxxxxx> wrote:
> > Hello Hari,
> >
> > On Wed, Aug 11, 2010 at 12:55 PM, Hari Kanigeri
> <hari.kanigeri@xxxxxxxxx> wrote:
> >> Ben,
> >>
> >>> Yes, dynamic memory management. With DSP Link on the OMAPL138 the
> >>> memory allocated to the DSP must be specified as a 'hole' in Linux
> >>> memory at boot-time [1[2][3]. It seems (perhaps this is wishful
> >>> thinking) that dspbridge does not have this limitation.
> >>
> >> DSPBridge doesn't has this requirement.
> >
> > Thank you for confirming.
One thing I would like to mention is that the DMM feature does require the slave DSP to have an MMU. The OMAPL1xx devices do not have MMU for the DSP. DMM cannot be implemented without the DSP having an MMU. Hence, even if you ported DSPBridge to OMAPL1xx devices, you could not make use of the DMM feature.
> >
> >>> Also dynamic application loading. With DSP Link it is possible to run
> >>> multiple linux processes concurrently communicating with DSP tasks but
> >>> the image loaded and executed on the DSP side must contain the code
> >>> for all of the tasks at load time [4]. It seems that dspbridge does
> >>> not have this limitation.
You are correct that dynamic linking and loading is a feature that is available in DSPBridge, and which is missing in DSPLink, which could work on OMAPL1xx if you ported DSPBridge to OMAPL1xx
> >>>
> >>> I am very interested in learning details about both dsplink and
> >>> dspbridge; please reply with more details or corrections as you see
> >>> fit.
> >>
> >> DSPBridge and DSPLink IPCs are for 2 different purposes. So before you
> >> make a switch to one of the IPC, I would recommend to you to make sure
> >> your requirements are met.
> >> To check the differences between DSPBridge and DSPLink, please check
> >> this email thread contributed by Richard W.
> >> http://linux.omap.com/pipermail/linux-omap-open-source/2007-
> May/009850.html.
> >
> > Good point. Thank you for making that clear to me. And for the link to
> > the post, I'm regret that I missed that in my initial research.
> 
> No problem.
> 
> > I'm
> > starting to think that maybe a direct comparison between DSPLink and
> > dspbridge is not a fair one.
> >
> Yes, as you mentioned in your earlier email it's not Apples to Apples
> comparison.
> 
> >> We are working on making some of core functionalities such as DMM,
> >> resource Management,  reset Management of co-processors generic for
> >> any IPC to use. So if DSPLink is missing DMM functionality then it
> >> should be just the matter of DSPLink adapting to this.
> >
> > I don't get what you're trying to say here, sorry. Would DSPLink be
> > one of the IPCs for which the 'core functionalities' could be adapted?
> 
> May be let's re-visit this point when the RFC is send on my above
> mentioned features.
> 
> > Could you explain an example of how DMM being made generic for any IPC
> > to use could be applied to DSPLink?
> 
> Basically today the Dynamic memory management is handled by DSPBridge.
> So the userspace clients talk to DSPBridge, and DSPBridge in turn
> talks to IOMMU to map the user passed Buffers. DSPBridge is managing
> the virtual address space of DSP in this case.
> So basically where we are going is replacing DSPBridge's DMM module
> with a generic Kernel module that can handle the DMM for any given
> number of Co-Processors. OMAP3 has only Co-Processor, where as OMAP4
> has 2 Co-Processors. The solution should be generic to handle any
> number of Devices.
> I will try to send an RFC of this implementation and I would love to
> get feedback from you.
> 
> In case if you want to get some information on how the Dynamic memory
> mapping works, you can refer pages 12-15 of this presentation
> https://gforge.ti.com/gf/download/docmanfileversion/17/674/OMAP3430_Bridge
> _overview.pdf
> 
> >
> >> I am not aware of the official word from T.I to support dspbridge on
> >> OMAP1, but as the community you will have the support in case you want
> >> to go with dspbridge option.
> >>
> >> On a high level, this is what needs to be done to provide support for
> OMAP1.
> >>
> >> 1. Adapt to iommu. Add support if the support is not present for OMAP1.
> >>
> >> 2. Adapt to mailbox
> >>
> >> 3. Reset and Power management adaptation for OMAP1.
> >
> > Thanks for the roadmap. This doesn't sound too daunting, but that
> > could be because I am ignorant of the details. :)
> 
> I forgot to add item 4. "Surprises" :)
> 
> 
> >
> > I'm still not sure about the iommu features required by dspbridge, I
> > will need to look into this. But 2+3 sound like they could be provided
> > by DSPLink itself. Would it be sane to put dspbridge on top of
> > DSPLink? Just to sound it out, the DSP-side base image could be
> > DSPBios + DSPLink (DSP-side) and the ARM-side would be made of
> > dspbridge where the IPC is DSP Link 'compatible'. This could avoid a
> > rewrite of the DSP-side of dspbridge maybe?
> 
> Probably over-kill to get the features you want.
iommu could not be adapted for OMAPL1xx since it abstracts the DSP MMU, which is non-existent on OMAPL1xx devices.

Also, OMAPL1xx devices do not use mailbox interrupts. They have a different type of IPC interrupt, which is not mailbox. So a different kind of abstraction would be required to be able to use either mailbox or this different IPC interrupt.

> 
> >
> 
> Thank youi,
> Best regards,
> Hari
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Regards,
Mugdha
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux