NVIDIA mNAND library part specific operations header file
Description: This file declares the private interface in mnand library for using mNAND with encapsulation of different vendor commands for health related information.
Definition in file nvmnand_part_ops.h.
Go to the source code of this file.
Data Structures | |
struct | __mnand_operations |
mNAND part/vendor specific operation block More... | |
Typedefs | |
typedef MNAND_STATUS(* | __mnand_open) (struct __mnand_chip *chip) |
"Opening" the mNAND chip. More... | |
typedef MNAND_STATUS(* | __mnand_close) (struct __mnand_chip *chip) |
"Closing" (aka releasing) the mNAND chip. More... | |
typedef MNAND_STATUS(* | __mnand_update_block_info) (struct __mnand_chip *chip) |
Updating the list of block info(if supported by the chip) inside mNAND chip handle. More... | |
typedef MNAND_STATUS(* | __mnand_update_summary) (struct __mnand_chip *chip) |
Updating the summary info inside mNAND chip handle. More... | |
typedef MNAND_STATUS(* | __mnand_update_smart_summary) (struct __mnand_chip *chip) |
Updating the smart summary info inside mNAND chip handle. More... | |
typedef MNAND_STATUS(* | __mnand_check_eol) (struct __mnand_chip *chip, MNAND_EOL_STATUS *eol_status) |
Checking EOL status – check EOL status from device and update status. More... | |
typedef MNAND_STATUS(* | __mnand_send_refresh) (struct __mnand_chip *chip, int cached, uint8_t block_type, int num_blocks, uint32_t rfsh_unit_time_us, mnand_refresh_progress *progress) |
Send "refresh" command to the mNAND chip. More... | |
typedef MNAND_STATUS(* | __mnand_get_rfsh_progress) (struct __mnand_chip *chip, double *rfsh_progress) |
Extract refresh progress from the mNAND chip. More... | |
typedef struct __mnand_operations | mnand_operations |
typedef MNAND_STATUS(* __mnand_check_eol) (struct __mnand_chip *chip, MNAND_EOL_STATUS *eol_status) |
Checking EOL status – check EOL status from device and update status.
chip | - the mNAND chip handle to be updated |
eol_status | - EOL status (MNAND_EOL_DETECTED = EOL set) |
MNAND_OK,success | |
else | problem with operation |
Definition at line 97 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_close) (struct __mnand_chip *chip) |
"Closing" (aka releasing) the mNAND chip.
This function needs to be called last to free up any resources and data structures allocated in open
mnand_open and mnand_close to be used in pair.
chip | - the mNAND chip handle to be used |
MNAND_OK,success | |
else | problem with operation |
Definition at line 55 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_get_rfsh_progress) (struct __mnand_chip *chip, double *rfsh_progress) |
Extract refresh progress from the mNAND chip.
chip | - the mNAND chip handle to be used |
rfsh_progress | - current refresh progress (in percentage) as obtained from the device. 100% means all the blocks in the device is refreshed once. Similarly, 200% means all block in the device is refreshed twice and so on. |
MNAND_OK,success | |
else | problem with operation |
Definition at line 132 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_open) (struct __mnand_chip *chip) |
"Opening" the mNAND chip.
This function needs to be called first to identify the mNAND device and update device related content including dev_type, desc, refresh_available, summary_available, storage_type and refresh properties(rfsh_properties) specific to this chip. Allocates memory if needed to be used in later functions. For properties not supported initialize appropriately by setting flag to 0 and pointers to NULL.
mnand_open and mnand_close to be used in pair.
chip | - the mNAND chip handle to be initialized |
MNAND_OK,success | |
else | problem with operation |
Definition at line 42 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_send_refresh) (struct __mnand_chip *chip, int cached, uint8_t block_type, int num_blocks, uint32_t rfsh_unit_time_us, mnand_refresh_progress *progress) |
Send "refresh" command to the mNAND chip.
The purpose is to force data rotation to improve the data retention.
chip | - the mNAND chip handle to be used |
cached | - specifies if mNAND device cached is enabled or not so that special handling can be done of the device if needed. |
block_type | - which region (SLC/MLC) to be Refreshed (if supported) |
num_blocks | - number of blocks to be refreshed |
rfsh_unit_time_us | - time for which refresh operation is allowed to execute(optional) |
progress | - refresh progress (obtained from device) |
MNAND_OK,success | |
else | problem with operation |
Definition at line 116 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_update_block_info) (struct __mnand_chip *chip) |
Updating the list of block info(if supported by the chip) inside mNAND chip handle.
chip | - the mNAND chip handle to be updated |
MNAND_OK,success | |
else | problem with operation |
Definition at line 66 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_update_smart_summary) (struct __mnand_chip *chip) |
Updating the smart summary info inside mNAND chip handle.
chip | - the mNAND chip handle to be updated |
MNAND_OK,success | |
else | problem with operation |
Definition at line 86 of file nvmnand_part_ops.h.
typedef MNAND_STATUS(* __mnand_update_summary) (struct __mnand_chip *chip) |
Updating the summary info inside mNAND chip handle.
chip | - the mNAND chip handle to be updated |
MNAND_OK,success | |
else | problem with operation |
Definition at line 76 of file nvmnand_part_ops.h.
typedef struct __mnand_operations mnand_operations |
Definition at line 148 of file nvmnand_part_ops.h.