[PATCHv2 0/3] hwmem: Hardware memory driver
kmpark at infradead.org
Thu Mar 10 02:48:51 UTC 2011
CCed updated Michal email address,
One note, As Michal moved to google, Marek is works on CMA. We are
also studying the hwmem and GEM.
On Wed, Mar 9, 2011 at 9:18 PM, <johan.xx.mossberg at stericsson.com> wrote:
> Hello everyone,
> The following patchset implements a "hardware memory driver". The
> main purpose of hwmem is:
> * To allocate buffers suitable for use with hardware. Currently
> this means contiguous buffers.
> * To synchronize the caches for the allocated buffers. This is
> achieved by keeping track of when the CPU uses a buffer and when
> other hardware uses the buffer, when we switch from CPU to other
> hardware or vice versa the caches are synchronized.
> * To handle sharing of allocated buffers between processes i.e.
> import, export.
> Hwmem is available both through a user space API and through a
> kernel API.
> Here at ST-Ericsson we use hwmem for graphics buffers. Graphics
> buffers need to be contiguous due to our hardware, are passed
> between processes (usually application and window manager)and are
> part of usecases where performance is top priority so we can't
> afford to synchronize the caches unecessarily.
> Additions in v2:
> * Bugfixes
> * Added the possibility to map hwmem buffers in the kernel through
> * Moved mach specific stuff to mach.
> Best regards
> Johan Mossberg
> Consultant at ST-Ericsson
> Johan Mossberg (3):
> hwmem: Add hwmem (part 1)
> hwmem: Add hwmem (part 2)
> hwmem: Add hwmem to ux500
> arch/arm/mach-ux500/Makefile | 2 +-
> arch/arm/mach-ux500/board-mop500.c | 1 +
> arch/arm/mach-ux500/dcache.c | 266 +++++++++
> arch/arm/mach-ux500/devices.c | 31 ++
> arch/arm/mach-ux500/include/mach/dcache.h | 26 +
> arch/arm/mach-ux500/include/mach/devices.h | 1 +
> drivers/misc/Kconfig | 1 +
> drivers/misc/Makefile | 1 +
> drivers/misc/hwmem/Kconfig | 7 +
> drivers/misc/hwmem/Makefile | 3 +
> drivers/misc/hwmem/cache_handler.c | 510 ++++++++++++++++++
> drivers/misc/hwmem/cache_handler.h | 61 +++
> drivers/misc/hwmem/hwmem-ioctl.c | 455 ++++++++++++++++
> drivers/misc/hwmem/hwmem-main.c | 799 ++++++++++++++++++++++++++++
> include/linux/hwmem.h | 536 +++++++++++++++++++
> 15 files changed, 2699 insertions(+), 1 deletions(-)
> create mode 100644 arch/arm/mach-ux500/dcache.c
> create mode 100644 arch/arm/mach-ux500/include/mach/dcache.h
> create mode 100644 drivers/misc/hwmem/Kconfig
> create mode 100644 drivers/misc/hwmem/Makefile
> create mode 100644 drivers/misc/hwmem/cache_handler.c
> create mode 100644 drivers/misc/hwmem/cache_handler.h
> create mode 100644 drivers/misc/hwmem/hwmem-ioctl.c
> create mode 100644 drivers/misc/hwmem/hwmem-main.c
> create mode 100644 include/linux/hwmem.h
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo at kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=mailto:"dont at kvack.org"> email at kvack.org </a>
More information about the linaro-dev