2012-04-07 00:38:03 +04:00
/*
* Copyright 2012 Tilera Corporation . All Rights Reserved .
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation , version 2.
*
* This program is distributed in the hope that it will be useful , but
* WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE , GOOD TITLE or
* NON INFRINGEMENT . See the GNU General Public License for
* more details .
*/
/* This file is machine-generated; DO NOT EDIT! */
# include "gxio/iorpc_mpipe.h"
struct alloc_buffer_stacks_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_alloc_buffer_stacks ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_buffer_stacks_param temp ;
struct alloc_buffer_stacks_param * params = & temp ;
params - > count = count ;
params - > first = first ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_ALLOC_BUFFER_STACKS ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_alloc_buffer_stacks ) ;
struct init_buffer_stack_aux_param {
union iorpc_mem_buffer buffer ;
unsigned int stack ;
unsigned int buffer_size_enum ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_init_buffer_stack_aux ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
void * mem_va , size_t mem_size ,
unsigned int mem_flags , unsigned int stack ,
unsigned int buffer_size_enum )
{
int __result ;
unsigned long long __cpa ;
pte_t __pte ;
struct init_buffer_stack_aux_param temp ;
struct init_buffer_stack_aux_param * params = & temp ;
__result = va_to_cpa_and_pte ( mem_va , & __cpa , & __pte ) ;
if ( __result ! = 0 )
return __result ;
params - > buffer . kernel . cpa = __cpa ;
params - > buffer . kernel . size = mem_size ;
params - > buffer . kernel . pte = __pte ;
params - > buffer . kernel . flags = mem_flags ;
params - > stack = stack ;
params - > buffer_size_enum = buffer_size_enum ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_INIT_BUFFER_STACK_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_init_buffer_stack_aux ) ;
struct alloc_notif_rings_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_alloc_notif_rings ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_notif_rings_param temp ;
struct alloc_notif_rings_param * params = & temp ;
params - > count = count ;
params - > first = first ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_ALLOC_NOTIF_RINGS ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_alloc_notif_rings ) ;
struct init_notif_ring_aux_param {
union iorpc_mem_buffer buffer ;
unsigned int ring ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_init_notif_ring_aux ( gxio_mpipe_context_t * context , void * mem_va ,
2012-04-07 00:38:03 +04:00
size_t mem_size , unsigned int mem_flags ,
unsigned int ring )
{
int __result ;
unsigned long long __cpa ;
pte_t __pte ;
struct init_notif_ring_aux_param temp ;
struct init_notif_ring_aux_param * params = & temp ;
__result = va_to_cpa_and_pte ( mem_va , & __cpa , & __pte ) ;
if ( __result ! = 0 )
return __result ;
params - > buffer . kernel . cpa = __cpa ;
params - > buffer . kernel . size = mem_size ;
params - > buffer . kernel . pte = __pte ;
params - > buffer . kernel . flags = mem_flags ;
params - > ring = ring ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_INIT_NOTIF_RING_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_init_notif_ring_aux ) ;
struct request_notif_ring_interrupt_param {
union iorpc_interrupt interrupt ;
unsigned int ring ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_request_notif_ring_interrupt ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
int inter_x , int inter_y ,
int inter_ipi , int inter_event ,
unsigned int ring )
{
struct request_notif_ring_interrupt_param temp ;
struct request_notif_ring_interrupt_param * params = & temp ;
params - > interrupt . kernel . x = inter_x ;
params - > interrupt . kernel . y = inter_y ;
params - > interrupt . kernel . ipi = inter_ipi ;
params - > interrupt . kernel . event = inter_event ;
params - > ring = ring ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_REQUEST_NOTIF_RING_INTERRUPT ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_request_notif_ring_interrupt ) ;
struct enable_notif_ring_interrupt_param {
unsigned int ring ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_enable_notif_ring_interrupt ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int ring )
{
struct enable_notif_ring_interrupt_param temp ;
struct enable_notif_ring_interrupt_param * params = & temp ;
params - > ring = ring ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_ENABLE_NOTIF_RING_INTERRUPT ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_enable_notif_ring_interrupt ) ;
struct alloc_notif_groups_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_alloc_notif_groups ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_notif_groups_param temp ;
struct alloc_notif_groups_param * params = & temp ;
params - > count = count ;
params - > first = first ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_ALLOC_NOTIF_GROUPS ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_alloc_notif_groups ) ;
struct init_notif_group_param {
unsigned int group ;
gxio_mpipe_notif_group_bits_t bits ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_init_notif_group ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int group ,
gxio_mpipe_notif_group_bits_t bits )
{
struct init_notif_group_param temp ;
struct init_notif_group_param * params = & temp ;
params - > group = group ;
params - > bits = bits ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_INIT_NOTIF_GROUP ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_init_notif_group ) ;
struct alloc_buckets_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_alloc_buckets ( gxio_mpipe_context_t * context , unsigned int count ,
2012-04-07 00:38:03 +04:00
unsigned int first , unsigned int flags )
{
struct alloc_buckets_param temp ;
struct alloc_buckets_param * params = & temp ;
params - > count = count ;
params - > first = first ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_ALLOC_BUCKETS ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_alloc_buckets ) ;
struct init_bucket_param {
unsigned int bucket ;
MPIPE_LBL_INIT_DAT_BSTS_TBL_t bucket_info ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_init_bucket ( gxio_mpipe_context_t * context , unsigned int bucket ,
2012-04-07 00:38:03 +04:00
MPIPE_LBL_INIT_DAT_BSTS_TBL_t bucket_info )
{
struct init_bucket_param temp ;
struct init_bucket_param * params = & temp ;
params - > bucket = bucket ;
params - > bucket_info = bucket_info ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_INIT_BUCKET ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_init_bucket ) ;
struct alloc_edma_rings_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_alloc_edma_rings ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_edma_rings_param temp ;
struct alloc_edma_rings_param * params = & temp ;
params - > count = count ;
params - > first = first ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_ALLOC_EDMA_RINGS ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_alloc_edma_rings ) ;
struct init_edma_ring_aux_param {
union iorpc_mem_buffer buffer ;
unsigned int ring ;
unsigned int channel ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_init_edma_ring_aux ( gxio_mpipe_context_t * context , void * mem_va ,
2012-04-07 00:38:03 +04:00
size_t mem_size , unsigned int mem_flags ,
unsigned int ring , unsigned int channel )
{
int __result ;
unsigned long long __cpa ;
pte_t __pte ;
struct init_edma_ring_aux_param temp ;
struct init_edma_ring_aux_param * params = & temp ;
__result = va_to_cpa_and_pte ( mem_va , & __cpa , & __pte ) ;
if ( __result ! = 0 )
return __result ;
params - > buffer . kernel . cpa = __cpa ;
params - > buffer . kernel . size = mem_size ;
params - > buffer . kernel . pte = __pte ;
params - > buffer . kernel . flags = mem_flags ;
params - > ring = ring ;
params - > channel = channel ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_INIT_EDMA_RING_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_init_edma_ring_aux ) ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_commit_rules ( gxio_mpipe_context_t * context , const void * blob ,
2012-04-07 00:38:03 +04:00
size_t blob_size )
{
const void * params = blob ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params , blob_size ,
GXIO_MPIPE_OP_COMMIT_RULES ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_commit_rules ) ;
struct register_client_memory_param {
unsigned int iotlb ;
HV_PTE pte ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_register_client_memory ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned int iotlb , HV_PTE pte ,
unsigned int flags )
{
struct register_client_memory_param temp ;
struct register_client_memory_param * params = & temp ;
params - > iotlb = iotlb ;
params - > pte = pte ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_REGISTER_CLIENT_MEMORY ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_register_client_memory ) ;
struct link_open_aux_param {
_gxio_mpipe_link_name_t name ;
unsigned int flags ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_link_open_aux ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
_gxio_mpipe_link_name_t name , unsigned int flags )
{
struct link_open_aux_param temp ;
struct link_open_aux_param * params = & temp ;
params - > name = name ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_LINK_OPEN_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_link_open_aux ) ;
struct link_close_aux_param {
int mac ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_link_close_aux ( gxio_mpipe_context_t * context , int mac )
2012-04-07 00:38:03 +04:00
{
struct link_close_aux_param temp ;
struct link_close_aux_param * params = & temp ;
params - > mac = mac ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_LINK_CLOSE_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_link_close_aux ) ;
2013-08-01 19:36:42 +04:00
struct link_set_attr_aux_param {
int mac ;
uint32_t attr ;
int64_t val ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_link_set_attr_aux ( gxio_mpipe_context_t * context , int mac ,
2013-08-01 19:36:42 +04:00
uint32_t attr , int64_t val )
{
struct link_set_attr_aux_param temp ;
struct link_set_attr_aux_param * params = & temp ;
params - > mac = mac ;
params - > attr = attr ;
params - > val = val ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_LINK_SET_ATTR_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_link_set_attr_aux ) ;
2012-04-07 00:38:03 +04:00
struct get_timestamp_aux_param {
uint64_t sec ;
uint64_t nsec ;
uint64_t cycles ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_get_timestamp_aux ( gxio_mpipe_context_t * context , uint64_t * sec ,
uint64_t * nsec , uint64_t * cycles )
2012-04-07 00:38:03 +04:00
{
int __result ;
struct get_timestamp_aux_param temp ;
struct get_timestamp_aux_param * params = & temp ;
__result =
hv_dev_pread ( context - > fd , 0 , ( HV_VirtAddr ) params , sizeof ( * params ) ,
GXIO_MPIPE_OP_GET_TIMESTAMP_AUX ) ;
* sec = params - > sec ;
* nsec = params - > nsec ;
* cycles = params - > cycles ;
return __result ;
}
EXPORT_SYMBOL ( gxio_mpipe_get_timestamp_aux ) ;
struct set_timestamp_aux_param {
uint64_t sec ;
uint64_t nsec ;
uint64_t cycles ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_set_timestamp_aux ( gxio_mpipe_context_t * context , uint64_t sec ,
2012-04-07 00:38:03 +04:00
uint64_t nsec , uint64_t cycles )
{
struct set_timestamp_aux_param temp ;
struct set_timestamp_aux_param * params = & temp ;
params - > sec = sec ;
params - > nsec = nsec ;
params - > cycles = cycles ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_SET_TIMESTAMP_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_set_timestamp_aux ) ;
struct adjust_timestamp_aux_param {
int64_t nsec ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_adjust_timestamp_aux ( gxio_mpipe_context_t * context , int64_t nsec )
2012-04-07 00:38:03 +04:00
{
struct adjust_timestamp_aux_param temp ;
struct adjust_timestamp_aux_param * params = & temp ;
params - > nsec = nsec ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_ADJUST_TIMESTAMP_AUX ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_adjust_timestamp_aux ) ;
2013-08-01 19:36:42 +04:00
struct config_edma_ring_blks_param {
unsigned int ering ;
unsigned int max_blks ;
unsigned int min_snf_blks ;
unsigned int db ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_config_edma_ring_blks ( gxio_mpipe_context_t * context ,
2013-08-01 19:36:42 +04:00
unsigned int ering , unsigned int max_blks ,
unsigned int min_snf_blks , unsigned int db )
{
struct config_edma_ring_blks_param temp ;
struct config_edma_ring_blks_param * params = & temp ;
params - > ering = ering ;
params - > max_blks = max_blks ;
params - > min_snf_blks = min_snf_blks ;
params - > db = db ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_CONFIG_EDMA_RING_BLKS ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_config_edma_ring_blks ) ;
2013-09-16 21:52:45 +04:00
struct adjust_timestamp_freq_param {
int32_t ppb ;
} ;
int gxio_mpipe_adjust_timestamp_freq ( gxio_mpipe_context_t * context , int32_t ppb )
{
struct adjust_timestamp_freq_param temp ;
struct adjust_timestamp_freq_param * params = & temp ;
params - > ppb = ppb ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_MPIPE_OP_ADJUST_TIMESTAMP_FREQ ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_adjust_timestamp_freq ) ;
2012-04-07 00:38:03 +04:00
struct arm_pollfd_param {
union iorpc_pollfd pollfd ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_arm_pollfd ( gxio_mpipe_context_t * context , int pollfd_cookie )
2012-04-07 00:38:03 +04:00
{
struct arm_pollfd_param temp ;
struct arm_pollfd_param * params = & temp ;
params - > pollfd . kernel . cookie = pollfd_cookie ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_ARM_POLLFD ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_arm_pollfd ) ;
struct close_pollfd_param {
union iorpc_pollfd pollfd ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_close_pollfd ( gxio_mpipe_context_t * context , int pollfd_cookie )
2012-04-07 00:38:03 +04:00
{
struct close_pollfd_param temp ;
struct close_pollfd_param * params = & temp ;
params - > pollfd . kernel . cookie = pollfd_cookie ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_CLOSE_POLLFD ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_close_pollfd ) ;
struct get_mmio_base_param {
HV_PTE base ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_get_mmio_base ( gxio_mpipe_context_t * context , HV_PTE * base )
2012-04-07 00:38:03 +04:00
{
int __result ;
struct get_mmio_base_param temp ;
struct get_mmio_base_param * params = & temp ;
__result =
hv_dev_pread ( context - > fd , 0 , ( HV_VirtAddr ) params , sizeof ( * params ) ,
GXIO_MPIPE_OP_GET_MMIO_BASE ) ;
* base = params - > base ;
return __result ;
}
EXPORT_SYMBOL ( gxio_mpipe_get_mmio_base ) ;
struct check_mmio_offset_param {
unsigned long offset ;
unsigned long size ;
} ;
2013-09-16 21:52:45 +04:00
int gxio_mpipe_check_mmio_offset ( gxio_mpipe_context_t * context ,
2012-04-07 00:38:03 +04:00
unsigned long offset , unsigned long size )
{
struct check_mmio_offset_param temp ;
struct check_mmio_offset_param * params = & temp ;
params - > offset = offset ;
params - > size = size ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_MPIPE_OP_CHECK_MMIO_OFFSET ) ;
}
EXPORT_SYMBOL ( gxio_mpipe_check_mmio_offset ) ;