Commit 266aa856 authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman

Staging: sep: handle the memrar stuff in the headers

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 62a8c3a3
...@@ -95,6 +95,7 @@ struct RAR_buffer { ...@@ -95,6 +95,7 @@ struct RAR_buffer {
dma_addr_t bus_address; dma_addr_t bus_address;
}; };
#if defined(CONFIG_MRST_RAR_HANDLER)
/** /**
* rar_reserve() - reserve RAR buffers * rar_reserve() - reserve RAR buffers
* @buffers: array of RAR_buffers where type and size of buffers to * @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, ...@@ -149,7 +150,25 @@ extern size_t rar_release(struct RAR_buffer *buffers,
extern size_t rar_handle_to_bus(struct RAR_buffer *buffers, extern size_t rar_handle_to_bus(struct RAR_buffer *buffers,
size_t count); 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 /* __KERNEL__ */
#endif /* _MEMRAR_H */ #endif /* _MEMRAR_H */
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
#include <linux/connector.h> #include <linux/connector.h>
#include <linux/cn_proc.h> #include <linux/cn_proc.h>
#include "../memrar/memrar.h"
#include "sep_driver_hw_defs.h" #include "sep_driver_hw_defs.h"
#include "sep_driver_config.h" #include "sep_driver_config.h"
#include "sep_driver_api.h" #include "sep_driver_api.h"
......
...@@ -230,138 +230,5 @@ held by the proccess (struct file) */ ...@@ -230,138 +230,5 @@ held by the proccess (struct file) */
/* the token that defines the data pool pointers address */ /* the token that defines the data pool pointers address */
#define SEP_EXT_CACHE_ADDR_VAL_TOKEN 0xBABABABA #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 */ #endif /* SEP DRIVER CONFIG */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment