Lines Matching +full:non +full:- +full:negative
1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
3 * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved.
11 #include <linux/dma-mapping.h>
366 /* ena_com_mmio_reg_read_request_init - Init the mmio reg read mechanism
373 * @return - 0 on success, negative value on failure.
377 /* ena_com_set_mmio_read_mode - Enable/disable the indirect mmio reg read mechanism
384 /* ena_com_mmio_reg_read_request_write_dev_addr - Write the mmio reg read return
390 /* ena_com_mmio_reg_read_request_destroy - Destroy the mmio reg read mechanism
395 /* ena_com_admin_init - Init the admin and the async queues
402 * @return - 0 on success, negative value on failure.
407 /* ena_com_admin_destroy - Destroy the admin and the async events queues.
416 /* ena_com_dev_reset - Perform device FLR to the device.
420 * @return - 0 on success, negative value on failure.
425 /* ena_com_create_io_queue - Create io queue.
427 * @ctx - create context structure
431 * @return - 0 on success, negative value on failure.
436 /* ena_com_destroy_io_queue - Destroy IO queue with the queue id - qid.
438 * @qid - the caller virtual queue id.
442 /* ena_com_get_io_handlers - Return the io queue handlers
444 * @qid - the caller virtual queue id.
445 * @io_sq - IO submission queue handler
446 * @io_cq - IO completion queue handler.
448 * @return - 0 on success, negative value on failure.
454 /* ena_com_admin_aenq_enable - ENAble asynchronous event notifications
461 /* ena_com_set_admin_running_state - Set the state of the admin queue
468 /* ena_com_get_admin_running_state - Get the admin queue state
473 * @return - current polling mode (enable/disable)
477 /* ena_com_set_admin_polling_mode - Set the admin completion queue polling mode
485 /* ena_com_set_admin_auto_polling_mode - Enable autoswitch to polling mode
496 /* ena_com_admin_q_comp_intr_handler - admin queue interrupt handler
502 * @note: Should be called after MSI-X interrupt.
506 /* ena_com_aenq_intr_handler - AENQ interrupt handler
514 /* ena_com_abort_admin_commands - Abort all the outstanding admin commands.
523 /* ena_com_wait_for_abort_completion - Wait for admin commands abort.
530 /* ena_com_validate_version - Validate the device parameters
538 * @return - 0 on success negative value otherwise.
542 /* ena_com_get_link_params - Retrieve physical link parameters.
547 * like speed, auto-negotiation and full duplex support.
549 * @return - 0 on Success negative value otherwise.
554 /* ena_com_get_dma_width - Retrieve physical dma address width the device
560 * @return: > 0 on Success and negative value otherwise.
564 /* ena_com_set_aenq_config - Set aenq groups configurations
570 * @return: 0 on Success and negative value otherwise.
574 /* ena_com_get_dev_attr_feat - Get device features
578 * @return: 0 on Success and negative value otherwise.
583 /* ena_com_get_dev_basic_stats - Get device basic statistics
587 * @return: 0 on Success and negative value otherwise.
592 /* ena_com_get_eni_stats - Get extended network interface statistics
596 * @return: 0 on Success and negative value otherwise.
601 /* ena_com_set_dev_mtu - Configure the device mtu.
605 * @return: 0 on Success and negative value otherwise.
609 /* ena_com_get_offload_settings - Retrieve the device offloads capabilities
613 * @return: 0 on Success and negative value otherwise.
618 /* ena_com_rss_init - Init RSS
626 * @return: 0 on Success and negative value otherwise.
630 /* ena_com_rss_destroy - Destroy rss
637 /* ena_com_get_current_hash_function - Get RSS hash function
645 /* ena_com_fill_hash_function - Fill RSS hash function
657 * @return: 0 on Success and negative value otherwise.
663 /* ena_com_set_hash_function - Flush the hash function and it dependencies to
672 * @return: 0 on Success and negative value otherwise.
676 /* ena_com_get_hash_function - Retrieve the hash function from the device.
685 * @return: 0 on Success and negative value otherwise.
690 /* ena_com_get_hash_key - Retrieve the hash key
699 * @return: 0 on Success and negative value otherwise.
702 /* ena_com_fill_hash_ctrl - Fill RSS hash control
712 * @return: 0 on Success and negative value otherwise.
718 /* ena_com_set_hash_ctrl - Flush the hash control resources to the device.
725 * @return: 0 on Success and negative value otherwise.
729 /* ena_com_get_hash_ctrl - Retrieve the hash control from the device.
739 * @return: 0 on Success and negative value otherwise.
745 /* ena_com_set_default_hash_ctrl - Set the hash control to a default
753 * @return: 0 on Success and negative value otherwise.
757 /* ena_com_indirect_table_fill_entry - Fill a single entry in the RSS
760 * @entry_idx - indirection table entry.
761 * @entry_value - redirection value
767 * @return: 0 on Success and negative value otherwise.
772 /* ena_com_indirect_table_set - Flush the indirection table to the device.
778 * @return: 0 on Success and negative value otherwise.
782 /* ena_com_indirect_table_get - Retrieve the indirection table from the device.
791 * @return: 0 on Success and negative value otherwise.
795 /* ena_com_allocate_host_info - Allocate host info resources.
798 * @return: 0 on Success and negative value otherwise.
802 /* ena_com_allocate_debug_area - Allocate debug area.
804 * @debug_area_size - debug area size.
806 * @return: 0 on Success and negative value otherwise.
811 /* ena_com_delete_debug_area - Free the debug area resources.
818 /* ena_com_delete_host_info - Free the host info resources.
825 /* ena_com_set_host_attributes - Update the device with the host
829 * @return: 0 on Success and negative value otherwise.
833 /* ena_com_create_io_cq - Create io completion queue.
835 * @io_cq - io completion queue handler
839 * @return - 0 on success, negative value on failure.
844 /* ena_com_destroy_io_cq - Destroy io completion queue.
846 * @io_cq - io completion queue handler
850 * @return - 0 on success, negative value on failure.
855 /* ena_com_execute_admin_command - Execute admin command
866 * @return - 0 on success, negative value on failure.
874 /* ena_com_init_interrupt_moderation - Init interrupt moderation
877 * @return - 0 on success, negative value on failure.
881 /* ena_com_interrupt_moderation_supported - Return if interrupt moderation
884 * @return - supported or not.
888 /* ena_com_update_nonadaptive_moderation_interval_tx - Update the
889 * non-adaptive interval in Tx direction.
893 * @return - 0 on success, negative value on failure.
898 /* ena_com_update_nonadaptive_moderation_interval_rx - Update the
899 * non-adaptive interval in Rx direction.
903 * @return - 0 on success, negative value on failure.
908 /* ena_com_get_nonadaptive_moderation_interval_tx - Retrieve the
909 * non-adaptive interval in Tx direction.
912 * @return - interval in usec
916 /* ena_com_get_nonadaptive_moderation_interval_rx - Retrieve the
917 * non-adaptive interval in Rx direction.
920 * @return - interval in usec
924 /* ena_com_config_dev_mode - Configure the placement policy of the device.
936 return ena_dev->adaptive_coalescing; in ena_com_get_adaptive_moderation_enabled()
941 ena_dev->adaptive_coalescing = true; in ena_com_enable_adaptive_moderation()
946 ena_dev->adaptive_coalescing = false; in ena_com_disable_adaptive_moderation()
949 /* ena_com_update_intr_reg - Prepare interrupt register
962 intr_reg->intr_control = 0; in ena_com_update_intr_reg()
963 intr_reg->intr_control |= rx_delay_interval & in ena_com_update_intr_reg()
966 intr_reg->intr_control |= in ena_com_update_intr_reg()
971 intr_reg->intr_control |= ENA_ETH_IO_INTR_REG_INTR_UNMASK_MASK; in ena_com_update_intr_reg()
979 size = bounce_buf_ctrl->buffer_size; in ena_com_get_next_bounce_buffer()
980 buffers_num = bounce_buf_ctrl->buffers_num; in ena_com_get_next_bounce_buffer()
982 buf = bounce_buf_ctrl->base_buffer + in ena_com_get_next_bounce_buffer()
983 (bounce_buf_ctrl->next_to_use++ & (buffers_num - 1)) * size; in ena_com_get_next_bounce_buffer()
985 prefetchw(bounce_buf_ctrl->base_buffer + in ena_com_get_next_bounce_buffer()
986 (bounce_buf_ctrl->next_to_use & (buffers_num - 1)) * size); in ena_com_get_next_bounce_buffer()