diff options
author | Alan Cox <alan@linux.intel.com> | 2010-11-24 19:33:55 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-29 11:17:27 -0800 |
commit | 266aa856f2c3aeddadd2fcf186d119af10539c3e (patch) | |
tree | e680c768b26a07314be4e186e9ba1b601dab01ed | |
parent | 62a8c3a32e4143812ed8e0f3783ef1ea40dc87e4 (diff) |
Staging: sep: handle the memrar stuff in the headers
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/staging/memrar/memrar.h | 19 | ||||
-rw-r--r-- | drivers/staging/sep/sep_driver.c | 2 | ||||
-rw-r--r-- | drivers/staging/sep/sep_driver_config.h | 133 |
3 files changed, 21 insertions, 133 deletions
diff --git a/drivers/staging/memrar/memrar.h b/drivers/staging/memrar/memrar.h index 0b735b827c09..0feb73b94c91 100644 --- a/drivers/staging/memrar/memrar.h +++ b/drivers/staging/memrar/memrar.h @@ -95,6 +95,7 @@ struct RAR_buffer { dma_addr_t bus_address; }; +#if defined(CONFIG_MRST_RAR_HANDLER) /** * rar_reserve() - reserve RAR buffers * @buffers: array of RAR_buffers where type and size of buffers to @@ -149,7 +150,25 @@ extern size_t rar_release(struct RAR_buffer *buffers, extern size_t rar_handle_to_bus(struct RAR_buffer *buffers, size_t count); +#else +extern inline size_t rar_reserve(struct RAR_buffer *buffers, size_t count) +{ + return 0; +} + +extern inline size_t rar_release(struct RAR_buffer *buffers, size_t count) +{ + return 0; +} + +extern inline size_t rar_handle_to_bus(struct RAR_buffer *buffers, + size_t count) +{ + return 0; +} + +#endif /* MRST_RAR_HANDLER */ #endif /* __KERNEL__ */ #endif /* _MEMRAR_H */ diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c index 8a1ff861b135..b2cf553da341 100644 --- a/drivers/staging/sep/sep_driver.c +++ b/drivers/staging/sep/sep_driver.c @@ -59,6 +59,8 @@ #include <linux/connector.h> #include <linux/cn_proc.h> +#include "../memrar/memrar.h" + #include "sep_driver_hw_defs.h" #include "sep_driver_config.h" #include "sep_driver_api.h" diff --git a/drivers/staging/sep/sep_driver_config.h b/drivers/staging/sep/sep_driver_config.h index cfda86f2aaff..b96045f178cd 100644 --- a/drivers/staging/sep/sep_driver_config.h +++ b/drivers/staging/sep/sep_driver_config.h @@ -230,138 +230,5 @@ held by the proccess (struct file) */ /* the token that defines the data pool pointers address */ #define SEP_EXT_CACHE_ADDR_VAL_TOKEN 0xBABABABA -/* rar handler */ -#ifndef CONFIG_MRST_RAR_HANDLER - -/* This stub header is for non Moorestown driver only */ - -/* - * @struct RAR_stat - * - * @brief This structure is used for @c RAR_HANDLER_STAT ioctl and for - * @c RAR_get_stat() user space wrapper function. - */ -struct RAR_stat { - /* Type of RAR memory (e.g., audio vs. video) */ - __u32 type; - - /* - * Total size of RAR memory region. - */ - __u32 capacity; - - /* Size of the largest reservable block. */ - __u32 largest_block_size; -}; - - -/* - * @struct RAR_block_info - * - * @brief The argument for the @c RAR_HANDLER_RESERVE @c ioctl. - * - */ -struct RAR_block_info { - /* Type of RAR memory (e.g., audio vs. video) */ - __u32 type; - - /* Requested size of a block to be reserved in RAR. */ - __u32 size; - - /* Handle that can be used to refer to reserved block. */ - __u32 handle; -}; - -/* - * @struct RAR_buffer - * - * Structure that contains all information related to a given block of - * memory in RAR. It is generally only used when retrieving bus - * addresses. - * - * @note This structure is used only by RAR-enabled drivers, and is - * not intended to be exposed to the user space. - */ -struct RAR_buffer { - /* Structure containing base RAR buffer information */ - struct RAR_block_info info; - - /* Buffer bus address */ - __u32 bus_address; -}; - - -#define RAR_IOCTL_BASE 0xE0 - -/* Reserve RAR block. */ -#define RAR_HANDLER_RESERVE _IOWR(RAR_IOCTL_BASE, 0x00, struct RAR_block_info) - -/* Release previously reserved RAR block. */ -#define RAR_HANDLER_RELEASE _IOW(RAR_IOCTL_BASE, 0x01, __u32) - -/* Get RAR stats. */ -#define RAR_HANDLER_STAT _IOWR(RAR_IOCTL_BASE, 0x02, struct RAR_stat) - - -/* -------------------------------------------------------------- */ -/* Kernel Side RAR Handler Interface */ -/* -------------------------------------------------------------- */ - -/* - * @function rar_reserve - * - * @brief Reserve RAR buffers. - * - * This function will reserve buffers in the restricted access regions - * of given types. - * - * @return Number of successfully reserved buffers. - * Successful buffer reservations will have the corresponding - * @c bus_address field set to a non-zero value in the - * given @a buffers vector. - */ -#define rar_reserve(a, b) ((size_t)NULL) - -/* - * @function rar_release - * - * @brief Release RAR buffers retrieved through call to - * @c rar_reserve() or @c rar_handle_to_bus(). - * - * This function will release RAR buffers that were retrieved through - * a call to @c rar_reserve() or @c rar_handle_to_bus() by - * decrementing the reference count. The RAR buffer will be reclaimed - * when the reference count drops to zero. - * - * @return Number of successfully released buffers. - * Successful releases will have their handle field set to - * zero in the given @a buffers vector. - */ -#define rar_release(a, b) ((size_t)NULL) - -/* - * @function rar_handle_to_bus - * - * @brief Convert a vector of RAR handles to bus addresses. - * - * This function will retrieve the RAR buffer bus addresses, type and - * size corresponding to the RAR handles provided in the @a buffers - * vector. - * - * @return Number of successfully converted buffers. - * The bus address will be set to @c 0 for unrecognized - * handles. - * - * @note The reference count for each corresponding buffer in RAR will - * be incremented. Call @c rar_release() when done with the - * buffers. - */ -#define rar_handle_to_bus(a, b) ((size_t)NULL) - -#else /* using rear memrar */ - -#include "../memrar/memrar.h" - -#endif /* MEMRAR */ #endif /* SEP DRIVER CONFIG */ |