Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1/*
  2 * Copyright 2012 Tilera Corporation. All Rights Reserved.
  3 *
  4 *   This program is free software; you can redistribute it and/or
  5 *   modify it under the terms of the GNU General Public License
  6 *   as published by the Free Software Foundation, version 2.
  7 *
  8 *   This program is distributed in the hope that it will be useful, but
  9 *   WITHOUT ANY WARRANTY; without even the implied warranty of
 10 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
 11 *   NON INFRINGEMENT.  See the GNU General Public License for
 12 *   more details.
 13 */
 14
 15/* This file is machine-generated; DO NOT EDIT! */
 16#include "gxio/iorpc_trio.h"
 17
 18struct alloc_asids_param {
 19	unsigned int count;
 20	unsigned int first;
 21	unsigned int flags;
 22};
 23
 24int gxio_trio_alloc_asids(gxio_trio_context_t *context, unsigned int count,
 25			  unsigned int first, unsigned int flags)
 26{
 27	struct alloc_asids_param temp;
 28	struct alloc_asids_param *params = &temp;
 29
 30	params->count = count;
 31	params->first = first;
 32	params->flags = flags;
 33
 34	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
 35			     sizeof(*params), GXIO_TRIO_OP_ALLOC_ASIDS);
 36}
 37
 38EXPORT_SYMBOL(gxio_trio_alloc_asids);
 39
 40
 41struct alloc_memory_maps_param {
 42	unsigned int count;
 43	unsigned int first;
 44	unsigned int flags;
 45};
 46
 47int gxio_trio_alloc_memory_maps(gxio_trio_context_t *context,
 48				unsigned int count, unsigned int first,
 49				unsigned int flags)
 50{
 51	struct alloc_memory_maps_param temp;
 52	struct alloc_memory_maps_param *params = &temp;
 53
 54	params->count = count;
 55	params->first = first;
 56	params->flags = flags;
 57
 58	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
 59			     sizeof(*params), GXIO_TRIO_OP_ALLOC_MEMORY_MAPS);
 60}
 61
 62EXPORT_SYMBOL(gxio_trio_alloc_memory_maps);
 63
 64struct alloc_scatter_queues_param {
 65	unsigned int count;
 66	unsigned int first;
 67	unsigned int flags;
 68};
 69
 70int gxio_trio_alloc_scatter_queues(gxio_trio_context_t *context,
 71				   unsigned int count, unsigned int first,
 72				   unsigned int flags)
 73{
 74	struct alloc_scatter_queues_param temp;
 75	struct alloc_scatter_queues_param *params = &temp;
 76
 77	params->count = count;
 78	params->first = first;
 79	params->flags = flags;
 80
 81	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
 82			     sizeof(*params),
 83			     GXIO_TRIO_OP_ALLOC_SCATTER_QUEUES);
 84}
 85
 86EXPORT_SYMBOL(gxio_trio_alloc_scatter_queues);
 87
 88struct alloc_pio_regions_param {
 89	unsigned int count;
 90	unsigned int first;
 91	unsigned int flags;
 92};
 93
 94int gxio_trio_alloc_pio_regions(gxio_trio_context_t *context,
 95				unsigned int count, unsigned int first,
 96				unsigned int flags)
 97{
 98	struct alloc_pio_regions_param temp;
 99	struct alloc_pio_regions_param *params = &temp;
100
101	params->count = count;
102	params->first = first;
103	params->flags = flags;
104
105	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
106			     sizeof(*params), GXIO_TRIO_OP_ALLOC_PIO_REGIONS);
107}
108
109EXPORT_SYMBOL(gxio_trio_alloc_pio_regions);
110
111struct init_pio_region_aux_param {
112	unsigned int pio_region;
113	unsigned int mac;
114	uint32_t bus_address_hi;
115	unsigned int flags;
116};
117
118int gxio_trio_init_pio_region_aux(gxio_trio_context_t *context,
119				  unsigned int pio_region, unsigned int mac,
120				  uint32_t bus_address_hi, unsigned int flags)
121{
122	struct init_pio_region_aux_param temp;
123	struct init_pio_region_aux_param *params = &temp;
124
125	params->pio_region = pio_region;
126	params->mac = mac;
127	params->bus_address_hi = bus_address_hi;
128	params->flags = flags;
129
130	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
131			     sizeof(*params), GXIO_TRIO_OP_INIT_PIO_REGION_AUX);
132}
133
134EXPORT_SYMBOL(gxio_trio_init_pio_region_aux);
135
136
137struct init_memory_map_mmu_aux_param {
138	unsigned int map;
139	unsigned long va;
140	uint64_t size;
141	unsigned int asid;
142	unsigned int mac;
143	uint64_t bus_address;
144	unsigned int node;
145	unsigned int order_mode;
146};
147
148int gxio_trio_init_memory_map_mmu_aux(gxio_trio_context_t *context,
149				      unsigned int map, unsigned long va,
150				      uint64_t size, unsigned int asid,
151				      unsigned int mac, uint64_t bus_address,
152				      unsigned int node,
153				      unsigned int order_mode)
154{
155	struct init_memory_map_mmu_aux_param temp;
156	struct init_memory_map_mmu_aux_param *params = &temp;
157
158	params->map = map;
159	params->va = va;
160	params->size = size;
161	params->asid = asid;
162	params->mac = mac;
163	params->bus_address = bus_address;
164	params->node = node;
165	params->order_mode = order_mode;
166
167	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
168			     sizeof(*params),
169			     GXIO_TRIO_OP_INIT_MEMORY_MAP_MMU_AUX);
170}
171
172EXPORT_SYMBOL(gxio_trio_init_memory_map_mmu_aux);
173
174struct get_port_property_param {
175	struct pcie_trio_ports_property trio_ports;
176};
177
178int gxio_trio_get_port_property(gxio_trio_context_t *context,
179				struct pcie_trio_ports_property *trio_ports)
180{
181	int __result;
182	struct get_port_property_param temp;
183	struct get_port_property_param *params = &temp;
184
185	__result =
186	    hv_dev_pread(context->fd, 0, (HV_VirtAddr) params, sizeof(*params),
187			 GXIO_TRIO_OP_GET_PORT_PROPERTY);
188	*trio_ports = params->trio_ports;
189
190	return __result;
191}
192
193EXPORT_SYMBOL(gxio_trio_get_port_property);
194
195struct config_legacy_intr_param {
196	union iorpc_interrupt interrupt;
197	unsigned int mac;
198	unsigned int intx;
199};
200
201int gxio_trio_config_legacy_intr(gxio_trio_context_t *context, int inter_x,
202				 int inter_y, int inter_ipi, int inter_event,
203				 unsigned int mac, unsigned int intx)
204{
205	struct config_legacy_intr_param temp;
206	struct config_legacy_intr_param *params = &temp;
207
208	params->interrupt.kernel.x = inter_x;
209	params->interrupt.kernel.y = inter_y;
210	params->interrupt.kernel.ipi = inter_ipi;
211	params->interrupt.kernel.event = inter_event;
212	params->mac = mac;
213	params->intx = intx;
214
215	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
216			     sizeof(*params), GXIO_TRIO_OP_CONFIG_LEGACY_INTR);
217}
218
219EXPORT_SYMBOL(gxio_trio_config_legacy_intr);
220
221struct config_msi_intr_param {
222	union iorpc_interrupt interrupt;
223	unsigned int mac;
224	unsigned int mem_map;
225	uint64_t mem_map_base;
226	uint64_t mem_map_limit;
227	unsigned int asid;
228};
229
230int gxio_trio_config_msi_intr(gxio_trio_context_t *context, int inter_x,
231			      int inter_y, int inter_ipi, int inter_event,
232			      unsigned int mac, unsigned int mem_map,
233			      uint64_t mem_map_base, uint64_t mem_map_limit,
234			      unsigned int asid)
235{
236	struct config_msi_intr_param temp;
237	struct config_msi_intr_param *params = &temp;
238
239	params->interrupt.kernel.x = inter_x;
240	params->interrupt.kernel.y = inter_y;
241	params->interrupt.kernel.ipi = inter_ipi;
242	params->interrupt.kernel.event = inter_event;
243	params->mac = mac;
244	params->mem_map = mem_map;
245	params->mem_map_base = mem_map_base;
246	params->mem_map_limit = mem_map_limit;
247	params->asid = asid;
248
249	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
250			     sizeof(*params), GXIO_TRIO_OP_CONFIG_MSI_INTR);
251}
252
253EXPORT_SYMBOL(gxio_trio_config_msi_intr);
254
255
256struct set_mps_mrs_param {
257	uint16_t mps;
258	uint16_t mrs;
259	unsigned int mac;
260};
261
262int gxio_trio_set_mps_mrs(gxio_trio_context_t *context, uint16_t mps,
263			  uint16_t mrs, unsigned int mac)
264{
265	struct set_mps_mrs_param temp;
266	struct set_mps_mrs_param *params = &temp;
267
268	params->mps = mps;
269	params->mrs = mrs;
270	params->mac = mac;
271
272	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
273			     sizeof(*params), GXIO_TRIO_OP_SET_MPS_MRS);
274}
275
276EXPORT_SYMBOL(gxio_trio_set_mps_mrs);
277
278struct force_rc_link_up_param {
279	unsigned int mac;
280};
281
282int gxio_trio_force_rc_link_up(gxio_trio_context_t *context, unsigned int mac)
283{
284	struct force_rc_link_up_param temp;
285	struct force_rc_link_up_param *params = &temp;
286
287	params->mac = mac;
288
289	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
290			     sizeof(*params), GXIO_TRIO_OP_FORCE_RC_LINK_UP);
291}
292
293EXPORT_SYMBOL(gxio_trio_force_rc_link_up);
294
295struct force_ep_link_up_param {
296	unsigned int mac;
297};
298
299int gxio_trio_force_ep_link_up(gxio_trio_context_t *context, unsigned int mac)
300{
301	struct force_ep_link_up_param temp;
302	struct force_ep_link_up_param *params = &temp;
303
304	params->mac = mac;
305
306	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
307			     sizeof(*params), GXIO_TRIO_OP_FORCE_EP_LINK_UP);
308}
309
310EXPORT_SYMBOL(gxio_trio_force_ep_link_up);
311
312struct get_mmio_base_param {
313	HV_PTE base;
314};
315
316int gxio_trio_get_mmio_base(gxio_trio_context_t *context, HV_PTE *base)
317{
318	int __result;
319	struct get_mmio_base_param temp;
320	struct get_mmio_base_param *params = &temp;
321
322	__result =
323	    hv_dev_pread(context->fd, 0, (HV_VirtAddr) params, sizeof(*params),
324			 GXIO_TRIO_OP_GET_MMIO_BASE);
325	*base = params->base;
326
327	return __result;
328}
329
330EXPORT_SYMBOL(gxio_trio_get_mmio_base);
331
332struct check_mmio_offset_param {
333	unsigned long offset;
334	unsigned long size;
335};
336
337int gxio_trio_check_mmio_offset(gxio_trio_context_t *context,
338				unsigned long offset, unsigned long size)
339{
340	struct check_mmio_offset_param temp;
341	struct check_mmio_offset_param *params = &temp;
342
343	params->offset = offset;
344	params->size = size;
345
346	return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
347			     sizeof(*params), GXIO_TRIO_OP_CHECK_MMIO_OFFSET);
348}
349
350EXPORT_SYMBOL(gxio_trio_check_mmio_offset);