iPXE
mlx_pci_priv.h
Go to the documentation of this file.
00001 #ifndef STUB_MLXUTILS_INCLUDE_PRIVATE_PCIPRIV_H_
00002 #define STUB_MLXUTILS_INCLUDE_PRIVATE_PCIPRIV_H_
00003 
00004 /*
00005  * Copyright (C) 2015 Mellanox Technologies Ltd.
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License as
00009  * published by the Free Software Foundation; either version 2 of the
00010  * License, or any later version.
00011  *
00012  * This program is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00020  * 02110-1301, USA.
00021  */
00022 
00023 FILE_LICENCE ( GPL2_OR_LATER );
00024 
00025 #include "../../include/public/mlx_pci.h"
00026 #include "../../include/public/mlx_utils.h"
00027 
00028 mlx_status
00029 mlx_pci_init_priv(
00030                         IN mlx_utils *utils
00031                         );
00032 
00033 mlx_status
00034 mlx_pci_teardown_priv(
00035                         IN mlx_utils *utils
00036                         );
00037 
00038 mlx_status
00039 mlx_pci_read_priv(
00040                         IN mlx_utils *utils,
00041                         IN mlx_pci_width width,
00042                         IN mlx_uint32 offset,
00043                         IN mlx_uintn count,
00044                         OUT mlx_void *buffer
00045                         );
00046 
00047 mlx_status
00048 mlx_pci_write_priv(
00049                         IN mlx_utils *utils,
00050                         IN mlx_pci_width width,
00051                         IN mlx_uint32 offset,
00052                         IN mlx_uintn count,
00053                         IN mlx_void *buffer
00054                         );
00055 
00056 mlx_status
00057 mlx_pci_mem_read_priv(
00058                                 IN mlx_utils *utils,
00059                                 IN mlx_pci_width width,
00060                                 IN mlx_uint8 bar_index,
00061                                 IN mlx_uint64 offset,
00062                                 IN mlx_uintn count,
00063                                 OUT mlx_void *buffer
00064                                 );
00065 
00066 mlx_status
00067 mlx_pci_mem_write_priv(
00068                                 IN mlx_utils *utils,
00069                                 IN mlx_pci_width width,
00070                                 IN mlx_uint8 bar_index,
00071                                 IN mlx_uint64 offset,
00072                                 IN mlx_uintn count,
00073                                 IN mlx_void *buffer
00074                                 );
00075 
00076 
00077 #endif /* STUB_MLXUTILS_INCLUDE_PRIVATE_PCIPRIV_H_ */