RE: OMAP3 DSPBridge review

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

 



Hi Trilok,
          Thanks for your comments. Please see my following comments.

> > -- We call dma_alloc_coherent API to guarantee the contiguous and
> > uncached memory region allocation for the shared memory region
between
> > MPU and DSP.
> 
> Yes, I do understand this, but I was more inclined towards getting the
> big chunk of this memory at boottime, and managing them through
> mempool APIs. Mempool APIs provides the callback for reserve and
> unreserve. Please check Nokia dspgateway or better
> arch/arm/plat-omap/mmu.c {kmem_reserve/unreserve}.

------ dma_alloc_coherent API is called only once in Bridge during
initialization to allocate memory for IPC purpose, and there are no
dynamic allocations there after from this allocated memory pool. I think
as there is no memory management within this memory pool, I don't see a
reason to move to new API. 


> Meanwhile I hope TI
> provides the GIT tree setup for this dspbridge driver, so that TI
> doesn't have to release their changes in tarball fashion, and other
> open-source developers can also look into the changes which TI is
> doing easily and contribute.

------ We are currently working on the GIT tree and should be available
in the coming months. 

Thank you,
Best regards,
Hari

> -----Original Message-----
> From: Trilok Soni [mailto:soni.trilok@xxxxxxxxx]
> Sent: Saturday, May 10, 2008 10:14 AM
> To: Kanigeri, Hari
> Cc: linux-omap@xxxxxxxxxxxxxxx
> Subject: Re: OMAP3 DSPBridge review
> 
> Hi Hari,
> 
> On Tue, May 6, 2008 at 4:59 AM, Kanigeri, Hari <h-kanigeri2@xxxxxx>
wrote:
> > Trilok,
> >
> >       Please see my below responses to your questions.
> >
> >
> >> > There is un-necessary "linux" directory inside mpu_driver source
> >> > codes. e.g src/osal/linux etc. I hope we are writing this code
for
> >> > Linux kernel only. > >
> >
> > -- This will be removed in coming releases.
> >
> >> > src/osal/linux
> >> >  - As the name suggest for directory it is OS Abstraction layer
for
> >> > Linux. I don't see any need for this at all. In Linux kernel, we
> > follow > > approach of directly calling the provided functions and
not
> > to further
> >> > wrap it until necessary.
> >> >
> >
> > -- OSAL is a combination of OS Abstraction and utilities. It is
possible
> > to create a new folder called utilities and move certain modules
there.
> > The other modules do more than just abstracting the OS function
calls.
> > They do certain level of processing before calling kernel functions.
To
> > start off we will start moving out the code that is not OS specific
to a
> > separate folder
> >
> >> > src/osal/kfile.c
> >> > - Don't use KENREL_VERSION comparision check unless very much
> > necessary, > > always try to keep driver in sync in latest kernel
> > version instead.
> >> > - Again there are wrappers for file reading functions provided by
> > kernel.
> >> >- If this functions are only used for doff loader, then moving it
to
> >> >outside kernel space, then we can get away with this functions.
> >> >
> >
> > -- I agree. The check for KERNEL_VERSION will be removed in the
coming
> > releases.
> > We are investigating about moving the doff loader outside the kernel
> > space. I suggest we start a separate discussion for this. And if we
move
> > out of kernel space, then probably we can remove the kfile.c file.
> >
> >> > src/osal/mem.c
> >
> >> > - I see here that you guys are maintaining the pool of memory
> > allocated > > with dma_alloc_coherent, you guys should have used
> > existing mempool apis > > instead, look at dspgw code for example.
> >> >
> >
> > -- We call dma_alloc_coherent API to guarantee the contiguous and
> > uncached memory region allocation for the shared memory region
between
> > MPU and DSP.
> 
> Yes, I do understand this, but I was more inclined towards getting the
> big chunk of this memory at boottime, and managing them through
> mempool APIs. Mempool APIs provides the callback for reserve and
> unreserve. Please check Nokia dspgateway or better
> arch/arm/plat-omap/mmu.c {kmem_reserve/unreserve}.
> 
> As we are on this path, it would be great if TI converts to MMU and
> Mailbox framework we have in OMAP git.
> 
> ...
> >>  >
> > -- The tasklet is scheduled when MPU receives message from DSP.
There is
> > a possibility that while the tasklet is running, the DSP might
interrupt
> > MPU resulting in the scheduling of a new tasklet. So, instead of
waiting
> > till the new tasklet is scheduled to run to process this new
message, we
> > make use of the number of tasklets scheduled counters that are
> > incremented in the ISR to process the new messages. (refer to
> > DPC_DeferredProcedure function in dpc.c)
> 
> I would be able to do more code walkthrough and tests, once I have
> OMAP3 beagle or any other OMAP3 based board. Meanwhile I hope TI
> provides the GIT tree setup for this dspbridge driver, so that TI
> doesn't have to release their changes in tarball fashion, and other
> open-source developers can also look into the changes which TI is
> doing easily and contribute.
> 
> --
> ---Trilok Soni
> http://triloksoni.wordpress.com
--
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