summaryrefslogtreecommitdiff
path: root/drivers/staging/tidspbridge/include/dspbridge/rmm.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/tidspbridge/include/dspbridge/rmm.h')
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/rmm.h156
1 files changed, 0 insertions, 156 deletions
diff --git a/drivers/staging/tidspbridge/include/dspbridge/rmm.h b/drivers/staging/tidspbridge/include/dspbridge/rmm.h
deleted file mode 100644
index f7a4dc8ecb4f..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/rmm.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * rmm.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * This memory manager provides general heap management and arbitrary
- * alignment for any number of memory segments, and management of overlay
- * memory.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef RMM_
-#define RMM_
-
-/*
- * ======== rmm_addr ========
- * DSP address + segid
- */
-struct rmm_addr {
- u32 addr;
- s32 segid;
-};
-
-/*
- * ======== rmm_segment ========
- * Memory segment on the DSP available for remote allocations.
- */
-struct rmm_segment {
- u32 base; /* Base of the segment */
- u32 length; /* Size of the segment (target MAUs) */
- s32 space; /* Code or data */
- u32 number; /* Number of Allocated Blocks */
-};
-
-/*
- * ======== RMM_Target ========
- */
-struct rmm_target_obj;
-
-/*
- * ======== rmm_alloc ========
- *
- * rmm_alloc is used to remotely allocate or reserve memory on the DSP.
- *
- * Parameters:
- * target - Target returned from rmm_create().
- * segid - Memory segment to allocate from.
- * size - Size (target MAUS) to allocate.
- * align - alignment.
- * dsp_address - If reserve is FALSE, the location to store allocated
- * address on output, otherwise, the DSP address to
- * reserve.
- * reserve - If TRUE, reserve the memory specified by dsp_address.
- * Returns:
- * 0: Success.
- * -ENOMEM: Memory allocation on GPP failed.
- * -ENXIO: Cannot "allocate" overlay memory because it's
- * already in use.
- * Requires:
- * RMM initialized.
- * Valid target.
- * dsp_address != NULL.
- * size > 0
- * reserve || target->num_segs > 0.
- * Ensures:
- */
-extern int rmm_alloc(struct rmm_target_obj *target, u32 segid, u32 size,
- u32 align, u32 *dsp_address, bool reserve);
-
-/*
- * ======== rmm_create ========
- * Create a target object with memory segments for remote allocation. If
- * seg_tab == NULL or num_segs == 0, memory can only be reserved through
- * rmm_alloc().
- *
- * Parameters:
- * target_obj: - Location to store target on output.
- * seg_tab: - Table of memory segments.
- * num_segs: - Number of memory segments.
- * Returns:
- * 0: Success.
- * -ENOMEM: Memory allocation failed.
- * Requires:
- * RMM initialized.
- * target_obj != NULL.
- * num_segs == 0 || seg_tab != NULL.
- * Ensures:
- * Success: Valid *target_obj.
- * Failure: *target_obj == NULL.
- */
-extern int rmm_create(struct rmm_target_obj **target_obj,
- struct rmm_segment seg_tab[], u32 num_segs);
-
-/*
- * ======== rmm_delete ========
- * Delete target allocated in rmm_create().
- *
- * Parameters:
- * target - Target returned from rmm_create().
- * Returns:
- * Requires:
- * RMM initialized.
- * Valid target.
- * Ensures:
- */
-extern void rmm_delete(struct rmm_target_obj *target);
-
-/*
- * ======== rmm_free ========
- * Free or unreserve memory allocated through rmm_alloc().
- *
- * Parameters:
- * target: - Target returned from rmm_create().
- * segid: - Segment of memory to free.
- * dsp_address: - Address to free or unreserve.
- * size: - Size of memory to free or unreserve.
- * reserved: - TRUE if memory was reserved only, otherwise FALSE.
- * Returns:
- * Requires:
- * RMM initialized.
- * Valid target.
- * reserved || segid < target->num_segs.
- * reserve || [dsp_address, dsp_address + size] is a valid memory range.
- * Ensures:
- */
-extern bool rmm_free(struct rmm_target_obj *target, u32 segid, u32 dsp_addr,
- u32 size, bool reserved);
-
-/*
- * ======== rmm_stat ========
- * Obtain memory segment status
- *
- * Parameters:
- * segid: Segment ID of the dynamic loading segment.
- * mem_stat_buf: Pointer to allocated buffer into which memory stats are
- * placed.
- * Returns:
- * TRUE: Success.
- * FALSE: Failure.
- * Requires:
- * segid < target->num_segs
- * Ensures:
- */
-extern bool rmm_stat(struct rmm_target_obj *target, enum dsp_memtype segid,
- struct dsp_memstat *mem_stat_buf);
-
-#endif /* RMM_ */