class NandProtocolClient
Defined at line 103 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
Public Members
static const uint32_t kProtocolId
Public Methods
void NandProtocolClient ()
Defined at line 108 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void NandProtocolClient (const nand_protocol_t * proto)
Defined at line 110 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void NandProtocolClient (zx_device_t * parent)
Defined at line 113 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void NandProtocolClient (zx_device_t * parent, const char * fragment_name)
Defined at line 124 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
zx_status_t CreateFromDevice (zx_device_t * parent, NandProtocolClient * result)
Create a NandProtocolClient from the given parent device + "fragment".
If ZX_OK is returned, the created object will be initialized in |result|.
Defined at line 138 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
zx_status_t CreateFromDevice (zx_device_t * parent, const char * fragment_name, NandProtocolClient * result)
Create a NandProtocolClient from the given parent device.
If ZX_OK is returned, the created object will be initialized in |result|.
Defined at line 153 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void GetProto (nand_protocol_t * proto)
Defined at line 165 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
bool is_valid ()
Defined at line 169 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void clear ()
Defined at line 172 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void Query (nand_info_t * out_info, uint64_t * out_nand_op_size)
Obtains the parameters of the nand device and the required
size of |NandOperation|. The |NandOperation| submitted via Queue() must have
`nand_op_size - sizeof(NandOperation)` bytes available at the end of the
structure for the use of the driver.
Defined at line 181 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
void Queue (nand_operation_t * op, nand_queue_callback callback, void * cookie)
Submits an IO request for processing. Success or failure will be reported
via the callback. The callback may be called before the Queue() method returns.
Should return ZX_ERR_IO *only* when error occurred due to underlying hardware.
When the hardware is not able to correct all bitflips for a page, the
driver should return ZX_ERR_IO_DATA_INTEGRITY.
Defined at line 190 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h
zx_status_t GetFactoryBadBlockList (uint32_t * out_bad_blocks_list, size_t bad_blocks_count, size_t * out_bad_blocks_actual)
Gets the list of bad erase blocks, as reported by the nand manufacturer.
This should only be called before writing any data to the nand, and the
returned data should be saved somewhere else, along blocks that become
bad after they've been in use.
Defined at line 198 of file fidling/gen/sdk/banjo/fuchsia.hardware.nand/fuchsia.hardware.nand/banjo/cpp/fuchsia/hardware/nand/cpp/banjo.h