328 lines
		
	
	
	
		
			8.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			328 lines
		
	
	
	
		
			8.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * 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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_alloc_asids(gxio_trio_context_t * context, unsigned int count,
							 | 
						||
| 
								 | 
							
											  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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_alloc_memory_maps(gxio_trio_context_t * context,
							 | 
						||
| 
								 | 
							
												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);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct alloc_pio_regions_param {
							 | 
						||
| 
								 | 
							
									unsigned int count;
							 | 
						||
| 
								 | 
							
									unsigned int first;
							 | 
						||
| 
								 | 
							
									unsigned int flags;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_alloc_pio_regions(gxio_trio_context_t * context,
							 | 
						||
| 
								 | 
							
												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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_init_pio_region_aux(gxio_trio_context_t * context,
							 | 
						||
| 
								 | 
							
												  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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_init_memory_map_mmu_aux(gxio_trio_context_t * context,
							 | 
						||
| 
								 | 
							
												      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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_get_port_property(gxio_trio_context_t * context,
							 | 
						||
| 
								 | 
							
												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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_config_legacy_intr(gxio_trio_context_t * context, int inter_x,
							 | 
						||
| 
								 | 
							
												 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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_config_msi_intr(gxio_trio_context_t * context, int inter_x,
							 | 
						||
| 
								 | 
							
											      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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_set_mps_mrs(gxio_trio_context_t * context, uint16_t mps,
							 | 
						||
| 
								 | 
							
											  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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_force_rc_link_up(gxio_trio_context_t * context, unsigned int mac)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_force_ep_link_up(gxio_trio_context_t * context, unsigned int mac)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_get_mmio_base(gxio_trio_context_t * context, HV_PTE *base)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int gxio_trio_check_mmio_offset(gxio_trio_context_t * context,
							 | 
						||
| 
								 | 
							
												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);
							 |