Linux-libre 3.11-gnu
[librecmc/linux-libre.git] / arch / tile / gxio / iorpc_mpipe_info.c
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_mpipe_info.h"
17
18
19 struct enumerate_aux_param {
20         _gxio_mpipe_link_name_t name;
21         _gxio_mpipe_link_mac_t mac;
22 };
23
24 int gxio_mpipe_info_enumerate_aux(gxio_mpipe_info_context_t * context,
25                                   unsigned int idx,
26                                   _gxio_mpipe_link_name_t * name,
27                                   _gxio_mpipe_link_mac_t * mac)
28 {
29         int __result;
30         struct enumerate_aux_param temp;
31         struct enumerate_aux_param *params = &temp;
32
33         __result =
34             hv_dev_pread(context->fd, 0, (HV_VirtAddr) params, sizeof(*params),
35                          (((uint64_t) idx << 32) |
36                           GXIO_MPIPE_INFO_OP_ENUMERATE_AUX));
37         *name = params->name;
38         *mac = params->mac;
39
40         return __result;
41 }
42
43 EXPORT_SYMBOL(gxio_mpipe_info_enumerate_aux);
44
45 struct get_mmio_base_param {
46         HV_PTE base;
47 };
48
49 int gxio_mpipe_info_get_mmio_base(gxio_mpipe_info_context_t * context,
50                                   HV_PTE *base)
51 {
52         int __result;
53         struct get_mmio_base_param temp;
54         struct get_mmio_base_param *params = &temp;
55
56         __result =
57             hv_dev_pread(context->fd, 0, (HV_VirtAddr) params, sizeof(*params),
58                          GXIO_MPIPE_INFO_OP_GET_MMIO_BASE);
59         *base = params->base;
60
61         return __result;
62 }
63
64 EXPORT_SYMBOL(gxio_mpipe_info_get_mmio_base);
65
66 struct check_mmio_offset_param {
67         unsigned long offset;
68         unsigned long size;
69 };
70
71 int gxio_mpipe_info_check_mmio_offset(gxio_mpipe_info_context_t * context,
72                                       unsigned long offset, unsigned long size)
73 {
74         struct check_mmio_offset_param temp;
75         struct check_mmio_offset_param *params = &temp;
76
77         params->offset = offset;
78         params->size = size;
79
80         return hv_dev_pwrite(context->fd, 0, (HV_VirtAddr) params,
81                              sizeof(*params),
82                              GXIO_MPIPE_INFO_OP_CHECK_MMIO_OFFSET);
83 }
84
85 EXPORT_SYMBOL(gxio_mpipe_info_check_mmio_offset);