Blame view
include/nvme.h
3.05 KB
83d290c56 SPDX: Convert all... |
1 |
/* SPDX-License-Identifier: GPL-2.0+ */ |
982388eaa nvme: Add NVM Exp... |
2 3 4 |
/* * Copyright (C) 2017 NXP Semiconductors * Copyright (C) 2017 Bin Meng <bmeng.cn@gmail.com> |
982388eaa nvme: Add NVM Exp... |
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
*/ #ifndef __NVME_H__ #define __NVME_H__ struct nvme_dev; /** * nvme_identify - identify controller or namespace capabilities and status * * This issues an identify command to the NVMe controller to return a data * buffer that describes the controller or namespace capabilities and status. * * @dev: NVMe controller device * @nsid: 0 for controller, namespace id for namespace to identify * @cns: 1 for controller, 0 for namespace * @dma_addr: dma buffer address to store the identify result * @return: 0 on success, -ETIMEDOUT on command execution timeout, * -EIO on command execution fails */ int nvme_identify(struct nvme_dev *dev, unsigned nsid, unsigned cns, dma_addr_t dma_addr); /** * nvme_get_features - retrieve the attributes of the feature specified * * This retrieves the attributes of the feature specified. * * @dev: NVMe controller device * @fid: feature id to provide data * @nsid: namespace id the command applies to * @dma_addr: data structure used as part of the specified feature * @result: command-specific result in the completion queue entry * @return: 0 on success, -ETIMEDOUT on command execution timeout, * -EIO on command execution fails */ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, dma_addr_t dma_addr, u32 *result); /** * nvme_set_features - specify the attributes of the feature indicated * * This specifies the attributes of the feature indicated. * * @dev: NVMe controller device * @fid: feature id to provide data * @dword11: command-specific input parameter * @dma_addr: data structure used as part of the specified feature * @result: command-specific result in the completion queue entry * @return: 0 on success, -ETIMEDOUT on command execution timeout, * -EIO on command execution fails */ int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11, dma_addr_t dma_addr, u32 *result); /** * nvme_scan_namespace - scan all namespaces attached to NVMe controllers * * This probes all registered NVMe uclass device drivers in the system, * and tries to find all namespaces attached to the NVMe controllers. * * @return: 0 on success, -ve on error */ int nvme_scan_namespace(void); |
f6aa61d59 nvme: Add show ro... |
69 70 71 72 73 74 75 76 77 78 |
/** * nvme_print_info - print detailed NVMe controller and namespace information * * This prints out detailed human readable NVMe controller and namespace * information which is very useful for debugging. * * @udev: NVMe controller device * @return: 0 on success, -EIO if NVMe identify command fails */ int nvme_print_info(struct udevice *udev); |
c50b2883d nvme: add accesso... |
79 80 81 82 83 84 85 86 87 88 89 |
/** * nvme_get_namespace_id - return namespace identifier * * This returns the namespace identifier. * * @udev: NVMe controller device * @ns_id: Place where to put the name space identifier * @eui64: Place where to put the IEEE Extended Unique Identifier * @return: 0 on success, -ve on error */ int nvme_get_namespace_id(struct udevice *udev, u32 *ns_id, u8 *eui64); |
982388eaa nvme: Add NVM Exp... |
90 |
#endif /* __NVME_H__ */ |