| #
a6a8d6a1 |
| 22-Jun-2021 |
Bin Meng <bmeng.cn@gmail.com> |
UPSTREAM: nvme: Move block dev creation from uclass post_probe() to driver probe()
At present the block device creation happens in the NVMe uclass driver post_probe() phase. In preparation to suppor
UPSTREAM: nvme: Move block dev creation from uclass post_probe() to driver probe()
At present the block device creation happens in the NVMe uclass driver post_probe() phase. In preparation to support multiple namespaces, we should issue namespace identify before creating block devices but that touches the underlying hardware hence it is not appropriate to do such in the uclass driver post_probe(). Let's move it to driver probe() phase instead.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> (cherry picked from commit 84344258f23fb9ac5abe7383c909f8606ac767b6) Change-Id: I1e7b1e499982355a47ea4c2de301c6885f551c36
show more ...
|
| #
18aa5a41 |
| 22-Aug-2017 |
Bin Meng <bmeng.cn@gmail.com> |
nvme: Get rid of the global variable nvme_info
At present the NVMe uclass driver uses a global variable nvme_info to store global information like namespace id, and NVMe controller driver's priv str
nvme: Get rid of the global variable nvme_info
At present the NVMe uclass driver uses a global variable nvme_info to store global information like namespace id, and NVMe controller driver's priv struct has a blk_dev_start that is used to calculate the namespace id based on the global information from nvme_info.
This is not a good design in the DM world and can be replaced with the following changes:
- Encode the namespace id in the NVMe block device name during the NVMe uclass post probe - Extract the namespace id from the device name during the NVMe block device probe - Let BLK uclass calculate the devnum for us by passing -1 to blk_create_devicef() as the devnum
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| #
d5b7ee9c |
| 22-Aug-2017 |
Bin Meng <bmeng.cn@gmail.com> |
nvme: Use blk_create_devicef() API
The codes in nvme_uclass_post_probe() can be replaced to call the blk_create_devicef() API directly.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
|
| #
982388ea |
| 03-Aug-2017 |
Zhikang Zhang <zhikang.zhang@nxp.com> |
nvme: Add NVM Express driver support
NVM Express (NVMe) is a register level interface that allows host software to communicate with a non-volatile memory subsystem. This interface is optimized for e
nvme: Add NVM Express driver support
NVM Express (NVMe) is a register level interface that allows host software to communicate with a non-volatile memory subsystem. This interface is optimized for enterprise and client solid state drives, typically attached to the PCI express interface.
This adds a U-Boot driver support of devices that follow the NVMe standard [1] and supports basic read/write operations.
Tested with a 400GB Intel SSD 750 series NVMe card with controller id 8086:0953.
[1] http://www.nvmexpress.org/resources/specifications/
Signed-off-by: Zhikang Zhang <zhikang.zhang@nxp.com> Signed-off-by: Wenbin Song <wenbin.song@nxp.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|