diff options
author | jimharris <jimharris@FreeBSD.org> | 2013-03-26 21:05:15 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2013-03-26 21:05:15 +0000 |
commit | 894007a2dc6397a81f0829d18bfc54c1b83dbdb2 (patch) | |
tree | 08af5fe67c1a7a9bec416ce574e4dd84fc488a98 /sys/dev/nvme/nvme_private.h | |
parent | 79d7c4eec2fd77c96bb69d6b27e64aa33b66786f (diff) | |
download | FreeBSD-src-894007a2dc6397a81f0829d18bfc54c1b83dbdb2.zip FreeBSD-src-894007a2dc6397a81f0829d18bfc54c1b83dbdb2.tar.gz |
When an asynchronous event request is completed, automatically fetch the
specified log page.
This satisfies the spec condition that future async events of the same type
will not be sent until the associated log page is fetched.
Sponsored by: Intel
Reviewed by: carl
Diffstat (limited to 'sys/dev/nvme/nvme_private.h')
-rw-r--r-- | sys/dev/nvme/nvme_private.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index 624ae11..53d403e 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -104,6 +104,9 @@ MALLOC_DECLARE(M_NVME); #define NVME_MIN_TIMEOUT_PERIOD (5) #define NVME_MAX_TIMEOUT_PERIOD (120) +/* Maximum log page size to fetch for AERs. */ +#define NVME_MAX_AER_LOG_SIZE (4096) + #ifndef CACHE_LINE_SIZE #define CACHE_LINE_SIZE (64) #endif @@ -126,6 +129,9 @@ struct nvme_async_event_request { struct nvme_controller *ctrlr; struct nvme_request *req; + struct nvme_completion cpl; + uint32_t log_page_size; + uint8_t log_page_buffer[NVME_MAX_AER_LOG_SIZE]; }; struct nvme_tracker { |