33 #if !defined __ANDROID__ && !defined _MSC_VER
34 #include "../build/xcoder_auto_headers.h"
42 #define NI_LOGAN_NVME_IDENTITY_CMD_DATA_SZ 4096
198 typedef struct _ni_logan_nvme_user_io
212 }ni_logan_nvme_user_io_t;
214 typedef struct _ni_logan_nvme_passthrough_cmd
234 }ni_logan_nvme_passthrough_cmd_t;
236 typedef ni_logan_nvme_passthrough_cmd_t ni_logan_nvme_admin_cmd_t;
238 #define NVME_IOCTL_ID _IO('N', 0x40)
239 #define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, ni_logan_nvme_admin_cmd_t)
240 #define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, ni_logan_nvme_user_io_t)
241 #define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, ni_logan_nvme_passthrough_cmd_t)
242 #define NVME_IOCTL_RESET _IO('N', 0x44)
243 #define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45)
244 #define NVME_IOCTL_RESCAN _IO('N', 0x46)
249 typedef struct _ni_logan_nvme_completion_result
255 uint16_t ui16CommandId;
257 }ni_logan_nvme_completion_result_t, *p_ni_logan_nvme_completion_result_t;
260 #define NI_LOGAN_NO_CHECK_TS_NVME_CMD_OP (-1)
380 #if (PLATFORM_ENDIANESS == NI_BIG_ENDIAN_PLATFORM)
381 static inline uint64_t ni_logan_htonll(uint64_t val)
388 return ((((uint64_t)htonl((val)&0xFFFFFFFFUL)) << 32) | htonl((uint32_t)((val) >> 32)));
391 static inline uint64_t ni_logan_ntohll(uint64_t val)
398 return ((((uint64_t)ntohl((val)&0xFFFFFFFFUL)) << 32) | ntohl((uint32_t)((val) >> 32)));
401 static inline uint32_t ni_logan_htonl(uint32_t val)
405 static inline uint16_t ni_logan_htons(uint16_t val)
409 static inline uint32_t ni_logan_ntohl(uint32_t val)
413 static inline uint16_t ni_logan_ntohs(uint16_t val)
418 static inline uint64_t ni_logan_ntohll(uint64_t val)
422 static inline uint64_t ni_logan_htonll(uint64_t val)
426 static inline uint32_t ni_logan_htonl(uint32_t val)
430 static inline uint16_t ni_logan_htons(uint16_t val)
434 static inline uint32_t ni_logan_ntohl(uint32_t val)
438 static inline uint16_t ni_logan_ntohs(uint16_t val)
444 #define WRITE_INSTANCE_SET_DW2_SUBFRAME_IDX(dst, size) (dst = (size & 0xFFFFFFFFUL))
445 #define WRITE_INSTANCE_SET_DW3_SUBFRAME_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
447 #define CREATE_SESSION_SET_DW10_SUBTYPE(dst) (dst = (nvme_open_xcoder_create_session & 0xFFFFUL))
448 #define CREATE_SESSION_SET_DW11_INSTANCE(dst, instance) (dst = (instance & 0xFFFFUL))
449 #define CREATE_SESSION_SET_DW12_DEC_CID(dst, cid) (dst = (cid & 0xFFFFUL))
451 #define CREATE_SESSION_SET_DW12_ENC_CID_FRWIDTH(dst, cid, width) (dst = (((width << 16) & 0xFFFF0000UL) | (cid & 0xFFFFUL)))
452 #define CREATE_SESSION_SET_DW13_ENC_FRHIGHT(dst, hight) (dst = (hight & 0xFFFFUL))
453 #define CREATE_SESSION_SET_DW14_MODEL_LOAD(dst, load) (dst = (load & 0xFFFFFFFFUL))
454 #define CREATE_SESSION_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
456 #define DESTROY_SESSION_SET_DW10_INSTANCE(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_close_xcoder_destroy_session & 0xFFFFUL)))
458 #define READ_INSTANCE_SET_DW10_SUBTYPE(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_write_xcoder_write_instance & 0xFFFFUL)))
459 #define READ_INSTANCE_SET_DW11_INSTANCE(dst, instance) (dst = (instance & 0xFFFFUL))
460 #define READ_INSTANCE_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
462 #define WRITE_INSTANCE_SET_DW10_SUBTYPE(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_write_xcoder_write_instance & 0xFFFFUL)))
463 #define WRITE_INSTANCE_SET_DW11_INSTANCE(dst, instance) (dst = (instance & 0xFFFFUL))
464 #define WRITE_INSTANCE_SET_DW11_PAGEOFFSET(dst, pageoffset) (dst = (((pageoffset << 16) | dst)))
465 #define WRITE_INSTANCE_SET_DW12_ISHWDESC(dst, ishwdesc) (dst = (ishwdesc & 0xFFFFUL))
466 #define WRITE_INSTANCE_SET_DW12_FRAMEINSTID(dst, fid) (dst = (0xFFFFUL & dst) | ((fid<<16) & 0xFFFF0000UL))
467 #define WRITE_INSTANCE_SET_DW14_YUV_BYTEOFFSET(dst, byteoffset) (dst = (byteoffset & 0xFFFFFFFFUL))
468 #define WRITE_INSTANCE_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
470 #define QUERY_SESSION_SET_DW10_SUBTYPE(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_query_xcoder_query_session & 0xFFFFUL)))
471 #define QUERY_SESSION_SET_DW11_INSTANCE(dst, instance) (dst = (instance & 0xFFFFUL))
472 #define QUERY_SESSION_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
474 #define QUERY_INSTANCE_SET_DW10_SUBTYPE(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_query_xcoder_query_instance & 0xFFFFUL)))
475 #define QUERY_INSTANCE_SET_DW11_INSTANCE_STATUS(dst, instance) (dst = (((nvme_query_xcoder_instance_get_status << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
476 #define QUERY_INSTANCE_SET_DW11_INSTANCE_STREAM_INFO(dst, instance) (dst = (((nvme_query_xcoder_instance_get_stream_info << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
477 #define QUERY_INSTANCE_SET_DW11_INSTANCE_END_OF_OUTPUT(dst, instance) (dst = (((nvme_query_xcoder_instance_get_end_of_output << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
479 #define QUERY_INSTANCE_SET_DW11_INSTANCE_BUF_INFO(dst, rw_type, inst_type) (dst = (((rw_type << 16) & 0xFFFF0000UL) | (inst_type & 0xFFFFUL)))
481 #define QUERY_INSTANCE_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
483 #define QUERY_GENERAL_SET_DW10_SUBTYPE(dst) (dst = ( (nvme_query_xcoder_query_general & 0xFFFFUL)))
484 #define QUERY_GENERAL_SET_DW11_INSTANCE_STATUS(dst, instance) (dst = (((nvme_query_xcoder_general_get_status << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
485 #define CONFIG_SESSION_SET_DW10_SESSION_ID(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_config_xcoder_config_session & 0xFFFFUL)))
486 #define CONFIG_SESSION_SET_DW11_SUBTYPE(dst, subtype) (dst = (((0 << 16) & 0xFFFF0000UL) | (subtype & 0xFFFFUL)))
487 #define CONFIG_SESSION_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
490 #define CONFIG_INSTANCE_SET_DW10_SUBTYPE(dst, sid) (dst = (((sid << 16) & 0xFFFF0000UL) | (nvme_config_xcoder_config_instance & 0xFFFFUL)))
491 #define CONFIG_INSTANCE_SET_DW11_SOS(dst, instance) (dst = (((nvme_config_xcoder_config_set_sos << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
492 #define CONFIG_INSTANCE_SET_DW11_EOS(dst, instance) (dst = (((nvme_config_xcoder_config_set_eos << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
493 #define CONFIG_INSTANCE_SET_DW11_ENC_PARAMS(dst, instance) (dst = (((nvme_config_xcoder_config_set_enc_params << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
494 #define CONFIG_INSTANCE_SET_DW11_ENC_FRAME_PARAMS(dst, instance) (dst = (((nvme_config_xcoder_config_set_enc_frame_params << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
495 #define CONFIG_INSTANCE_SET_DW11_FLUSH(dst, instance) (dst = (((nvme_config_xcoder_config_flush << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
496 #define CONFIG_INSTANCE_SET_DW11_UPDATE_PARAMS(dst, instance) (dst = (((nvme_config_xcoder_config_update_enc_params << 16) & 0xFFFF0000UL) | (instance & 0xFFFFUL)))
497 #define CONFIG_INSTANCE_SET_DW15_SIZE(dst, size) (dst = (size & 0xFFFFFFFFUL))
510 uint32_t xcoder_type,
532 int32_t ni_logan_nvme_send_admin_pass_through_command(ni_device_handle_t fd, ni_logan_nvme_passthrough_cmd_t* cmd);
541 int32_t ni_logan_nvme_send_io_pass_through_command(ni_device_handle_t fd, ni_logan_nvme_passthrough_cmd_t* cmd);
546 #define NI_LOGAN_DATA_BUFFER_LEN 4096
547 #define LBA_BIT_OFFSET 12
550 #define NI_LOGAN_SUB_BIT_OFFSET 4
551 #define NI_LOGAN_OP_BIT_OFFSET 8
552 #define NI_LOGAN_INSTANCE_TYPE_OFFSET 18
553 #define NI_LOGAN_SESSION_ID_OFFSET 19
554 #define NI_LOGAN_HW_DESC_OFFSET 26
556 #define MBs(xMB) ((xMB)*1024*1024)
557 #define MBs_to_4k(xMB) ((xMB)*1024*1024/4096)
559 #define START_OFFSET_IN_4K MBs_to_4k(512)
561 #define CTL_OFFSET_IN_4K(op,sub,subtype) (START_OFFSET_IN_4K+(((op)<<NI_LOGAN_OP_BIT_OFFSET) + \
562 ((sub)<<NI_LOGAN_SUB_BIT_OFFSET)+subtype))
563 #define RD_OFFSET_IN_4K (START_OFFSET_IN_4K + MBs_to_4k(128))
564 #define WR_OFFSET_IN_4K (RD_OFFSET_IN_4K + MBs_to_4k(128))
565 #define HIGH_OFFSET_IN_4K(hw,sid,instance) (((hw<<(NI_LOGAN_HW_DESC_OFFSET-NI_LOGAN_INSTANCE_TYPE_OFFSET))|((sid & 0x7FUL)<<1)|(instance))<<NI_LOGAN_INSTANCE_TYPE_OFFSET)
566 #define GAP(opcode) ((opcode) - nvme_admin_cmd_xcoder_open)
567 #define WR_METADATA_OFFSET_IN_4K (WR_OFFSET_IN_4K + MBs_to_4k(128) + MBs_to_4k(11))
571 #define WRITE_INSTANCE_W(hw,sid,instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + WR_OFFSET_IN_4K
574 #define WRITE_METADATA_W(hw,sid, instance) HIGH_OFFSET_IN_4K(hw,sid, instance) + WR_METADATA_OFFSET_IN_4K
577 #define READ_INSTANCE_R(hw,sid,instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + RD_OFFSET_IN_4K
581 #define IDENTIFY_DEVICE_R HIGH_OFFSET_IN_4K(0,0,0) + CTL_OFFSET_IN_4K(GAP(0xD7), 1, 0)
584 #define OPEN_GET_SID_R(hw, instance) HIGH_OFFSET_IN_4K(hw,0,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_open), \
585 nvme_open_xcoder_create_session,2)
586 #define OPEN_SESSION_W(hw, sid,instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_open), \
587 nvme_open_xcoder_create_session,0)
590 #define CLOSE_SESSION_R(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_close), \
591 nvme_close_xcoder_destroy_session,0)
594 #define QUERY_SESSION_R(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
595 nvme_query_xcoder_query_session,0)
596 #define QUERY_INSTANCE_STATUS_R(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
597 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_get_status)
598 #define QUERY_INSTANCE_CUR_STATUS_INFO_R(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
599 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_get_current_status)
600 #define QUERY_INSTANCE_STREAM_INFO_R(hw, sid,instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
601 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_get_stream_info)
602 #define QUERY_INSTANCE_RBUFF_SIZE_R(hw, sid, instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
603 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_read_buf_size)
604 #define QUERY_INSTANCE_WBUFF_SIZE_R(hw, sid, instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
605 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_write_buf_size)
606 #define QUERY_INSTANCE_UPLOAD_ID_R(hw, sid, instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
607 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_upload_idx)
608 #define QUERY_INSTANCE_ACQUIRE_BUF(hw, sid, instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
609 nvme_query_xcoder_query_instance,nvme_query_xcoder_instance_acquire_buf)
610 #define QUERY_GENERAL_GET_STATUS_R(instance) HIGH_OFFSET_IN_4K(0,0,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
611 nvme_query_xcoder_query_general,nvme_query_xcoder_general_get_status)
612 #define QUERY_INSTANCE_DEBUG_INFO_R(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
613 nvme_query_xcoder_query_instance,nvme_query_xcoder_config_get_sub_inst_debug_info)
614 #define QUERY_INSTANCE_DEBUG_DATA_R(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_query), \
615 nvme_query_xcoder_query_instance,nvme_query_xcoder_config_get_sub_inst_debug_data)
619 #define CONFIG_INSTANCE_SetSOS_W(hw,sid,instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
620 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_set_sos)
621 #define CONFIG_INSTANCE_SetEOS_W(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
622 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_set_eos)
623 #define CONFIG_INSTANCE_SetFlush_W(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
624 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_set_flush)
625 #define CONFIG_INSTANCE_SetEncPara_W(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
626 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_set_enc_params)
627 #define CONFIG_INSTANCE_UpdateEncPara_W(sid,instance) HIGH_OFFSET_IN_4K(0,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
628 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_update_enc_params)
629 #define CONFIG_INSTANCE_SetPktSize_W(hw,sid,instance) HIGH_OFFSET_IN_4K(hw,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
630 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_set_dec_packet_size)
631 #define CONFIG_INSTANCE_InitFramePool_W(sid,instance) HIGH_OFFSET_IN_4K(1,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
632 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_init_buf_params)
633 #define CONFIG_INSTANCE_RecycleBuf_W(sid,instance) HIGH_OFFSET_IN_4K(1,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
634 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_recycle_buf_params)
635 #define CONFIG_INSTANCE_FrameIdx_W(sid,instance) HIGH_OFFSET_IN_4K(1,sid,instance) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
636 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_read_frame_idx)
639 #define CONFIG_SESSION_KeepAlive_W(sid) HIGH_OFFSET_IN_4K(0,sid,0) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
640 nvme_config_xcoder_config_session,nvme_config_xcoder_config_session_keep_alive)
642 #define CONFIG_SESSION_KeepAliveTimeout_W(sid) HIGH_OFFSET_IN_4K(0,sid,0) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
643 nvme_config_xcoder_config_session,nvme_config_xcoder_config_session_keep_alive_timeout)
645 #define CONFIG_SESSION_Read_W(sid) HIGH_OFFSET_IN_4K(0,sid,0) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
646 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_session_read)
648 #define CONFIG_SESSION_Write_W(sid) HIGH_OFFSET_IN_4K(0,sid,0) + CTL_OFFSET_IN_4K(GAP(nvme_admin_cmd_xcoder_config), \
649 nvme_config_xcoder_config_instance,nvme_config_xcoder_config_session_write)
652 ni_event_handle_t event_handle,
658 ni_event_handle_t event_handle,
Common NETINT definitions used by all modules.
#define NI_LOGAN_MAX_DEVICE_NAME_LEN
enum _nvme_query_xcoder_subtype nvme_query_xcoder_subtype_t
enum _nvme_query_xcoder_general_subtype nvme_query_xcoder_general_subtype_t
_nvme_query_xcoder_subtype
@ nvme_query_xcoder_query_session
@ nvme_query_xcoder_query_instance
@ nvme_query_xcoder_query_general
int ni_logan_nvme_enumerate_devices(char ni_logan_devices[][NI_LOGAN_MAX_DEVICE_NAME_LEN], int max_handles)
prints a report on detected nvme devices
enum _nvme_close_xcoder_subtype nvme_close_xcoder_subtype_t
_ni_logan_nvme_admin_opcode
@ nvme_admin_cmd_create_cq
@ nvme_admin_cmd_identify
@ nvme_admin_cmd_async_event
@ nvme_admin_cmd_set_features
@ nvme_admin_cmd_xcoder_config
@ nvme_admin_cmd_ns_attach
@ nvme_admin_cmd_abort_cmd
@ nvme_admin_cmd_xcoder_open
@ nvme_admin_cmd_xcoder_query
@ nvme_admin_cmd_xcoder_read
@ nvme_admin_cmd_xcoder_identity
@ nvme_admin_cmd_delete_cq
@ nvme_admin_cmd_activate_fw
@ nvme_admin_cmd_xcoder_close
@ nvme_admin_cmd_format_nvm
@ nvme_admin_cmd_delete_sq
@ nvme_admin_cmd_download_fw
@ nvme_admin_cmd_xcoder_write
@ nvme_admin_cmd_get_log_page
@ nvme_admin_cmd_create_sq
@ nvme_admin_cmd_security_send
@ nvme_admin_cmd_get_features
@ nvme_admin_cmd_xcoder_connect
@ nvme_admin_cmd_security_recv
_nvme_write_xcoder_subtype
@ nvme_write_xcoder_write_instance
ni_logan_retcode_t ni_logan_nvme_check_error_code(int rc, ni_logan_nvme_admin_opcode_t opcode, uint32_t xcoder_type, uint32_t hw_id, int32_t *inst_id)
Check f/w error return code, and if it's a fatal one return NI_LOGAN_RETCODE_FAILURE....
_nvme_config_xcoder_config_session_subtype
@ nvme_config_xcoder_config_session_read
@ nvme_config_xcoder_config_session_keep_alive
@ nvme_config_xcoder_config_session_write
@ nvme_config_xcoder_config_session_keep_alive_timeout
_nvme_query_xcoder_instance_subtype
@ nvme_query_xcoder_instance_get_status
@ nvme_query_xcoder_instance_write_buf_size
@ nvme_query_xcoder_instance_read_buf_size
@ nvme_query_xcoder_instance_get_stream_info
@ nvme_query_xcoder_instance_upload_idx
@ nvme_query_xcoder_instance_get_current_status
@ nvme_query_xcoder_config_get_sub_inst_debug_info
@ nvme_query_xcoder_config_get_sub_inst_debug_data
@ nvme_query_xcoder_instance_acquire_buf
_nvme_query_xcoder_general_subtype
@ nvme_query_xcoder_general_get_status
_nvme_query_xcoder_session_subtype
@ nvme_query_xcoder_session
enum _nvme_query_xcoder_instance_subtype nvme_query_xcoder_instance_subtype_t
enum _ni_logan_nvme_admin_opcode ni_logan_nvme_admin_opcode_t
enum _nvme_config_xcoder_config_session_subtype nvme_config_xcoder_config_session_subtype_t
int32_t ni_logan_nvme_send_write_cmd(ni_device_handle_t handle, ni_event_handle_t event_handle, void *p_data, uint32_t data_len, uint32_t lba)
Compose a io write command.
_nvme_open_xcoder_subtype
@ nvme_open_xcoder_create_session
_nvme_config_xcoder_subtype
@ nvme_config_xcoder_config_session
@ nvme_config_xcoder_config_instance
struct _ni_logan_nvme_write_complete_dw0_t ni_logan_nvme_write_complete_dw0_t
enum _nvme_write_xcoder_subtype nvme_write_xcoder_subtype_t
enum _nvme_query_xcoder_session_subtype nvme_query_xcoder_session_subtype_t
struct _ni_logan_nvme_id_power_state ni_logan_nvme_id_power_state_t
_nvme_config_xcoder_config_instance_subtype
@ nvme_config_xcoder_config_set_flush
@ nvme_config_xcoder_config_set_enc_params
@ nvme_config_xcoder_config_init_buf_params
@ nvme_config_xcoder_config_set_sos
@ nvme_config_xcoder_config_set_eos
@ nvme_config_xcoder_config_set_dec_packet_size
@ nvme_config_xcoder_config_read_frame_idx
@ nvme_config_xcoder_config_recycle_buf_params
int32_t ni_logan_nvme_send_read_cmd(ni_device_handle_t handle, ni_event_handle_t event_handle, void *p_data, uint32_t data_len, uint32_t lba)
Compose a io read command.
enum _nvme_read_xcoder_subtype nvme_read_xcoder_subtype_t
enum _nvme_config_xcoder_subtype nvme_config_xcoder_subtype_t
struct _ni_logan_nvme_identity ni_logan_nvme_identity_t
enum _nvme_config_xcoder_config_instance_subtype nvme_config_xcoder_config_instance_subtype_t
_nvme_close_xcoder_subtype
@ nvme_close_xcoder_destroy_session
_nvme_read_xcoder_subtype
@ nvme_read_xcoder_read_instance
uint32_t ni_logan_nvme_result_t
enum _nvme_open_xcoder_subtype nvme_open_xcoder_subtype_t
uint8_t ui8ActiveWorkScale
uint16_t hw1_max_video_width
uint8_t hw2_video_profile
uint8_t xcoder_num_h264_decoder_hw
uint8_t xcoder_num_h264_encoder_hw
uint8_t hw3_max_number_of_contexts
uint16_t hw2_max_video_width
uint16_t hw0_max_video_height
uint16_t hw3_max_video_height
uint16_t hw3_min_video_height
uint8_t aui8Rsvd540[1508]
uint8_t hw1_max_number_of_contexts
uint16_t hw1_min_video_width
uint8_t fw_commit_time[26]
uint8_t xcoder_num_h265_decoder_hw
uint8_t aui8FwLoaderRev[8]
uint8_t fw_commit_hash[41]
uint8_t hw0_max_1080p_fps
uint16_t hw1_max_video_height
uint8_t hw2_max_1080p_fps
uint8_t fw_repo_info_padding[9]
uint8_t hw0_max_number_of_contexts
uint8_t fw_branch_name[256]
uint8_t hw1_max_1080p_fps
uint8_t hw3_max_1080p_fps
uint8_t xcoder_reserved[11]
ni_logan_nvme_id_power_state_t asPsd[32]
uint8_t aui8TotalRawCap[8]
uint16_t hw2_min_video_height
uint16_t hw0_min_video_height
uint16_t hw3_max_video_width
uint16_t hw3_min_video_width
uint16_t hw1_min_video_height
uint16_t hw0_max_video_width
uint8_t hw0_video_profile
uint8_t hw3_video_profile
uint16_t hw0_min_video_width
uint16_t hw2_min_video_width
uint8_t xcoder_num_h265_encoder_hw
uint16_t hw2_max_video_height
uint8_t hw1_video_profile
uint8_t hw2_max_number_of_contexts