From: Ohad Ben-Cohen <ohad@wizery.com>
To: linux-omap@vger.kernel.org
Cc: Felipe Contreras <felipe.contreras@gmail.com>,
Ivan Gomez Castellanos <ivan.gomez@ti.com>,
Kanigeri Hari <h-kanigeri2@ti.com>,
Omar Ramirez Luna <omar.ramirez@ti.com>,
Guzman Lugo Fernando <x0095840@ti.com>,
Menon Nishanth <nm@ti.com>, Hiroshi Doyu <Hiroshi.DOYU@nokia.com>,
Ohad Ben-Cohen <ohad@wizery.com>
Subject: [PATCH v2 0/7] DSPBRIDGE: fix mem+cache API issues
Date: Mon, 24 May 2010 19:05:11 +0300 [thread overview]
Message-ID: <1274717118-15226-1-git-send-email-ohad@wizery.com> (raw)
This patchset introduces an approach to eliminate the direct calls
to follow_page and to the low level cache APIs.
The patchset works by caching the page information while memory
is mapped, and then using that information later when needed
instead of calling follow_page. The low level cache API is then replaced
by standard DMA API.
Changes from v1:
* The DMM layer is enhanced to support caching of the required
mapping and page information (inside dmm map objects).
(the result: less code!)
* Two new ioctls were added, PROC_BEGINDMA and PROC_ENDDMA.
These ioctls accepts a general direction argument, so dspbridge
now supports all three possible (FROM, TO & BIDI) DMA directions.
* The old flush & inv ioctls were not removed; they have been
implemented using the new DMA functions (with the appropriate
direction). IOW, existing applications should still work as before.
* mem_flush_cache is removed, since low-level cache operations are
not needed anymore.
* Patches were rebased on top of 7fd5c51c2753cedc095bfa20d433da1bb1e865a5.
* Minor cleanups
Notes:
1. The global bridge device struct is used by adding an 'extern'
to proc. This issue should be handled in a different patch series
(the struct should not be global. instead, it should be accessible
to the dspbridge code via one of the context objects. This way we
will also be able to transform pr_* prints to dev_* prints).
2. The patchset was tested with the bridge testsuite and the dmm sample
application running on ZOOM2 / 2.6.33.
Many thanks to Felipe Contreras for the thorough review, comments
and testing, and for Ivan Gomez Castellanos for thorough testing
of multiple scenarios.
Thanks,
Ohad.
---
If you want, you can also reach me at < ohadb at ti dot com >.
Ohad Ben-Cohen (7):
DSPBRIDGE: enhance dmm_map_object
DSPBRIDGE: maintain mapping and page info
DSPBRIDGE: do not call follow_page
DSPBRIDGE: do not use low level cache manipulation API
DSPBRIDGE: remove mem_flush_cache
DSPBRIDGE: add dspbridge API to mark end of DMA
DSPBRIDGE: add new PROC_BEGINDMA and PROC_ENDDMA ioctls
arch/arm/plat-omap/include/dspbridge/drv.h | 32 +-
.../arm/plat-omap/include/dspbridge/dspapi-ioctl.h | 9 +
arch/arm/plat-omap/include/dspbridge/dspapi.h | 2 +
arch/arm/plat-omap/include/dspbridge/dspdefs.h | 3 +-
arch/arm/plat-omap/include/dspbridge/proc.h | 29 ++
drivers/dsp/bridge/core/io_sm.c | 11 +-
drivers/dsp/bridge/core/tiomap3430.c | 9 +-
drivers/dsp/bridge/pmgr/dspapi.c | 34 ++-
drivers/dsp/bridge/rmgr/drv.c | 33 --
drivers/dsp/bridge/rmgr/proc.c | 404 ++++++++++++++++----
10 files changed, 427 insertions(+), 139 deletions(-)
next reply other threads:[~2010-05-24 16:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-24 16:05 Ohad Ben-Cohen [this message]
2010-05-24 16:05 ` [PATCH v2 1/7] DSPBRIDGE: enhance dmm_map_object Ohad Ben-Cohen
2010-05-24 16:05 ` [PATCH v2 2/7] DSPBRIDGE: maintain mapping and page info Ohad Ben-Cohen
2010-05-26 9:50 ` Ohad Ben-Cohen
2010-05-24 16:05 ` [PATCH v2 3/7] DSPBRIDGE: do not call follow_page Ohad Ben-Cohen
2010-05-24 16:05 ` [PATCH v2 4/7] DSPBRIDGE: do not use low level cache manipulation API Ohad Ben-Cohen
2010-05-24 16:05 ` [PATCH v2 5/7] DSPBRIDGE: remove mem_flush_cache Ohad Ben-Cohen
2010-05-24 16:05 ` [PATCH v2 6/7] DSPBRIDGE: add dspbridge API to mark end of DMA Ohad Ben-Cohen
2010-05-24 16:05 ` [PATCH v2 7/7] DSPBRIDGE: add new PROC_BEGINDMA and PROC_ENDDMA ioctls Ohad Ben-Cohen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1274717118-15226-1-git-send-email-ohad@wizery.com \
--to=ohad@wizery.com \
--cc=Hiroshi.DOYU@nokia.com \
--cc=felipe.contreras@gmail.com \
--cc=h-kanigeri2@ti.com \
--cc=ivan.gomez@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=nm@ti.com \
--cc=omar.ramirez@ti.com \
--cc=x0095840@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).