1# Copyright (c) 2022 Intel Corporation 2# SPDX-License-Identifier: Apache-2.0 3 4menuconfig NVME 5 bool "NVMe disk" 6 depends on PCIE 7 select PCIE_MSI_X 8 select PCIE_MSI_MULTI_VECTOR 9 help 10 NVMe disk(s) might be present on the system through PCIe, enable this 11 driver to support these. It will enable MSI-X and MSI multi-vector 12 support 13 14if NVME 15 16config NVME_ADMIN_ENTRIES 17 int "Number of admin queue entries" 18 range 2 4096 19 default 256 20 help 21 This sets the amount of allocated admin queue entries. 22 Do not touch this unless you know what you are doing. 23 24config NVME_IO_QUEUES 25 int "Number of IO queues" 26 range 1 65536 27 default 1 28 help 29 This sets the amount of allocated I/O queues. 30 Do not touch this unless you know what you are doing. 31 32config NVME_IO_ENTRIES 33 int "Number of IO queue entries" 34 range 2 65536 35 default 256 36 help 37 This sets the amount of allocated IO queue entries. 38 Do not touch this unless you know what you are doing. 39 40config NVME_RETRY_COUNT 41 int "Retry count" 42 default 2 43 help 44 This sets the amount of possible retries per-request. 45 Do not touch this unless you know what you are doing. 46 47config NVME_REQUEST_TIMEOUT 48 int "Timeout period for NVMe request" 49 range 5 120 50 default 5 51 help 52 This sets the waiting time for a request to succeed. 53 Do not touch this unless you know what you are doing. 54 55config NVME_PRP_PAGE_SIZE 56 hex "NVMe PRP Page Size" 57 default MMU_PAGE_SIZE if MMU 58 default 0x1000 59 help 60 Set the PRP page size. If MMU is enabled, this will default to the MMU page size. 61 62config NVME_PRP_LIST_AMOUNT 63 int "Number of allocated PRP list" 64 default 2 65 help 66 This sets the amount of pre-allocated PRP list. Each list 67 can be used in a NVMe command to address memory where to 68 read or write data. Each PRP list is of page size be careful 69 on this number as it may take a sensible amount of memory. 70 71config NVME_MAX_NAMESPACES 72 int "Maximum namespace to allocate" 73 range 1 16 74 default 1 75 help 76 This sets the maximum namespace to allocate. Note that there may 77 be much less to be actually instantiated at runtime. 78 This option can be used to reduce the memory usage a bit then. 79 80config NVME_INT_PRIORITY 81 int "Interrupt priority" 82 default 2 83 help 84 Interrupt priority used for the MSI-X generated interrupts. 85 86module = NVME 87module-str = nvme 88source "subsys/logging/Kconfig.template.log_config" 89 90endif # NVME 91