]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressHci.h
MdeModulePkg: Move/Replace NvmExpressHci.h definitions to Nvme.h.
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / NvmExpressDxe / NvmExpressHci.h
CommitLineData
eb290d02
FT
1/** @file\r
2 NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows\r
3 NVM Express specification.\r
4\r
e79bed78 5 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
754b489b 6 Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>\r
eb290d02
FT
7 This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which accompanies this distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php.\r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14\r
15**/\r
16\r
17#ifndef _NVME_HCI_H_\r
18#define _NVME_HCI_H_\r
19\r
20#define NVME_BAR 0\r
21\r
eb290d02
FT
22//\r
23// Offset from the beginning of private data queue buffer\r
24//\r
25#define NVME_ASQ_BUF_OFFSET EFI_PAGE_SIZE\r
26\r
27/**\r
28 Initialize the Nvm Express controller.\r
29\r
30 @param[in] Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.\r
31\r
32 @retval EFI_SUCCESS The NVM Express Controller is initialized successfully.\r
33 @retval Others A device error occurred while initializing the controller.\r
34\r
35**/\r
36EFI_STATUS\r
37NvmeControllerInit (\r
38 IN NVME_CONTROLLER_PRIVATE_DATA *Private\r
39 );\r
40\r
41/**\r
42 Get identify controller data.\r
43\r
44 @param Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.\r
45 @param Buffer The buffer used to store the identify controller data.\r
46\r
47 @return EFI_SUCCESS Successfully get the identify controller data.\r
48 @return EFI_DEVICE_ERROR Fail to get the identify controller data.\r
49\r
50**/\r
51EFI_STATUS\r
52NvmeIdentifyController (\r
53 IN NVME_CONTROLLER_PRIVATE_DATA *Private,\r
54 IN VOID *Buffer\r
55 );\r
56\r
57/**\r
58 Get specified identify namespace data.\r
59\r
60 @param Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.\r
61 @param NamespaceId The specified namespace identifier.\r
62 @param Buffer The buffer used to store the identify namespace data.\r
63\r
64 @return EFI_SUCCESS Successfully get the identify namespace data.\r
65 @return EFI_DEVICE_ERROR Fail to get the identify namespace data.\r
66\r
67**/\r
68EFI_STATUS\r
69NvmeIdentifyNamespace (\r
70 IN NVME_CONTROLLER_PRIVATE_DATA *Private,\r
71 IN UINT32 NamespaceId,\r
72 IN VOID *Buffer\r
73 );\r
74\r
eb290d02
FT
75#endif\r
76\r