2012-04-07 16:53: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_trio.h"
struct alloc_asids_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_alloc_asids ( gxio_trio_context_t * context , unsigned int count ,
2012-04-07 16:53:03 -04:00
unsigned int first , unsigned int flags )
{
struct alloc_asids_param temp ;
struct alloc_asids_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_TRIO_OP_ALLOC_ASIDS ) ;
}
EXPORT_SYMBOL ( gxio_trio_alloc_asids ) ;
struct alloc_memory_maps_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_alloc_memory_maps ( gxio_trio_context_t * context ,
2012-04-07 16:53:03 -04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_memory_maps_param temp ;
struct alloc_memory_maps_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_TRIO_OP_ALLOC_MEMORY_MAPS ) ;
}
EXPORT_SYMBOL ( gxio_trio_alloc_memory_maps ) ;
2013-08-02 12:55:15 -04:00
struct alloc_scatter_queues_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_alloc_scatter_queues ( gxio_trio_context_t * context ,
2013-08-02 12:55:15 -04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_scatter_queues_param temp ;
struct alloc_scatter_queues_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_TRIO_OP_ALLOC_SCATTER_QUEUES ) ;
}
EXPORT_SYMBOL ( gxio_trio_alloc_scatter_queues ) ;
2012-04-07 16:53:03 -04:00
struct alloc_pio_regions_param {
unsigned int count ;
unsigned int first ;
unsigned int flags ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_alloc_pio_regions ( gxio_trio_context_t * context ,
2012-04-07 16:53:03 -04:00
unsigned int count , unsigned int first ,
unsigned int flags )
{
struct alloc_pio_regions_param temp ;
struct alloc_pio_regions_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_TRIO_OP_ALLOC_PIO_REGIONS ) ;
}
EXPORT_SYMBOL ( gxio_trio_alloc_pio_regions ) ;
struct init_pio_region_aux_param {
unsigned int pio_region ;
unsigned int mac ;
uint32_t bus_address_hi ;
unsigned int flags ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_init_pio_region_aux ( gxio_trio_context_t * context ,
2012-04-07 16:53:03 -04:00
unsigned int pio_region , unsigned int mac ,
uint32_t bus_address_hi , unsigned int flags )
{
struct init_pio_region_aux_param temp ;
struct init_pio_region_aux_param * params = & temp ;
params - > pio_region = pio_region ;
params - > mac = mac ;
params - > bus_address_hi = bus_address_hi ;
params - > flags = flags ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_TRIO_OP_INIT_PIO_REGION_AUX ) ;
}
EXPORT_SYMBOL ( gxio_trio_init_pio_region_aux ) ;
struct init_memory_map_mmu_aux_param {
unsigned int map ;
unsigned long va ;
uint64_t size ;
unsigned int asid ;
unsigned int mac ;
uint64_t bus_address ;
unsigned int node ;
unsigned int order_mode ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_init_memory_map_mmu_aux ( gxio_trio_context_t * context ,
2012-04-07 16:53:03 -04:00
unsigned int map , unsigned long va ,
uint64_t size , unsigned int asid ,
unsigned int mac , uint64_t bus_address ,
unsigned int node ,
unsigned int order_mode )
{
struct init_memory_map_mmu_aux_param temp ;
struct init_memory_map_mmu_aux_param * params = & temp ;
params - > map = map ;
params - > va = va ;
params - > size = size ;
params - > asid = asid ;
params - > mac = mac ;
params - > bus_address = bus_address ;
params - > node = node ;
params - > order_mode = order_mode ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) ,
GXIO_TRIO_OP_INIT_MEMORY_MAP_MMU_AUX ) ;
}
EXPORT_SYMBOL ( gxio_trio_init_memory_map_mmu_aux ) ;
struct get_port_property_param {
struct pcie_trio_ports_property trio_ports ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_get_port_property ( gxio_trio_context_t * context ,
2012-04-07 16:53:03 -04:00
struct pcie_trio_ports_property * trio_ports )
{
int __result ;
struct get_port_property_param temp ;
struct get_port_property_param * params = & temp ;
__result =
hv_dev_pread ( context - > fd , 0 , ( HV_VirtAddr ) params , sizeof ( * params ) ,
GXIO_TRIO_OP_GET_PORT_PROPERTY ) ;
* trio_ports = params - > trio_ports ;
return __result ;
}
EXPORT_SYMBOL ( gxio_trio_get_port_property ) ;
struct config_legacy_intr_param {
union iorpc_interrupt interrupt ;
unsigned int mac ;
unsigned int intx ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_config_legacy_intr ( gxio_trio_context_t * context , int inter_x ,
2012-04-07 16:53:03 -04:00
int inter_y , int inter_ipi , int inter_event ,
unsigned int mac , unsigned int intx )
{
struct config_legacy_intr_param temp ;
struct config_legacy_intr_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 - > mac = mac ;
params - > intx = intx ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_TRIO_OP_CONFIG_LEGACY_INTR ) ;
}
EXPORT_SYMBOL ( gxio_trio_config_legacy_intr ) ;
struct config_msi_intr_param {
union iorpc_interrupt interrupt ;
unsigned int mac ;
unsigned int mem_map ;
uint64_t mem_map_base ;
uint64_t mem_map_limit ;
unsigned int asid ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_config_msi_intr ( gxio_trio_context_t * context , int inter_x ,
2012-04-07 16:53:03 -04:00
int inter_y , int inter_ipi , int inter_event ,
unsigned int mac , unsigned int mem_map ,
uint64_t mem_map_base , uint64_t mem_map_limit ,
unsigned int asid )
{
struct config_msi_intr_param temp ;
struct config_msi_intr_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 - > mac = mac ;
params - > mem_map = mem_map ;
params - > mem_map_base = mem_map_base ;
params - > mem_map_limit = mem_map_limit ;
params - > asid = asid ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_TRIO_OP_CONFIG_MSI_INTR ) ;
}
EXPORT_SYMBOL ( gxio_trio_config_msi_intr ) ;
struct set_mps_mrs_param {
uint16_t mps ;
uint16_t mrs ;
unsigned int mac ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_set_mps_mrs ( gxio_trio_context_t * context , uint16_t mps ,
2012-04-07 16:53:03 -04:00
uint16_t mrs , unsigned int mac )
{
struct set_mps_mrs_param temp ;
struct set_mps_mrs_param * params = & temp ;
params - > mps = mps ;
params - > mrs = mrs ;
params - > mac = mac ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_TRIO_OP_SET_MPS_MRS ) ;
}
EXPORT_SYMBOL ( gxio_trio_set_mps_mrs ) ;
struct force_rc_link_up_param {
unsigned int mac ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_force_rc_link_up ( gxio_trio_context_t * context , unsigned int mac )
2012-04-07 16:53:03 -04:00
{
struct force_rc_link_up_param temp ;
struct force_rc_link_up_param * params = & temp ;
params - > mac = mac ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_TRIO_OP_FORCE_RC_LINK_UP ) ;
}
EXPORT_SYMBOL ( gxio_trio_force_rc_link_up ) ;
struct force_ep_link_up_param {
unsigned int mac ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_force_ep_link_up ( gxio_trio_context_t * context , unsigned int mac )
2012-04-07 16:53:03 -04:00
{
struct force_ep_link_up_param temp ;
struct force_ep_link_up_param * params = & temp ;
params - > mac = mac ;
return hv_dev_pwrite ( context - > fd , 0 , ( HV_VirtAddr ) params ,
sizeof ( * params ) , GXIO_TRIO_OP_FORCE_EP_LINK_UP ) ;
}
EXPORT_SYMBOL ( gxio_trio_force_ep_link_up ) ;
struct get_mmio_base_param {
HV_PTE base ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_get_mmio_base ( gxio_trio_context_t * context , HV_PTE * base )
2012-04-07 16:53: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_TRIO_OP_GET_MMIO_BASE ) ;
* base = params - > base ;
return __result ;
}
EXPORT_SYMBOL ( gxio_trio_get_mmio_base ) ;
struct check_mmio_offset_param {
unsigned long offset ;
unsigned long size ;
} ;
2013-09-16 13:52:45 -04:00
int gxio_trio_check_mmio_offset ( gxio_trio_context_t * context ,
2012-04-07 16:53: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_TRIO_OP_CHECK_MMIO_OFFSET ) ;
}
EXPORT_SYMBOL ( gxio_trio_check_mmio_offset ) ;