forked from Minki/linux
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>
This commit is contained in:
parent
62a8c3a32e
commit
266aa856f2
@ -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 */
|
||||
|
@ -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"
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user